
CentOS 7.9 下安装Oracle 11gR2(图形化)
CentOS 7.9 下安装Oracle 11gR2(图形化)
安装环境:
系统:CentOS7.4 4核4G 磁盘50G
Oracle软件版本:
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
一、下载Oracle
官方下载地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
官网下载需要登陆Oracle账号,没有的可以注册一个。
这里我分享一个百度云盘的下载链接(只有64位的):https://pan.baidu.com/s/1hjRj4M7v9WxsAoSyWCiqCQ?pwd=9351 提取码:9351
二、关闭安全措施
1.关闭防火墙:systemctl stop firewalld(由于是测试环境,为了方便,将防火墙关闭。但是,在正式的生产环境,千万不要这样做。)
当然我们也可以不关闭防火墙,只需要开放1521端口(oracle默认是1521端口,如果你修改为其它的端口了,这里就要开放对应的端口)
firewall-cmd --zone=public --add-port=1521/tcp --permanent //放开1521端口
firewall-cmd --reload //在不改变状态的条件下重新加载防火墙配置文件
其他常用命令:
查看防火墙的状态:systemctl status firewalld
启动防火墙服务:systemctl start firewalld
禁用防火墙:systemctl disable firewalld
重载配置文件:firewall-cmd --reload
查看已经开放的端口:firewall-cmd --list-ports
2.关闭selinux(需重启生效)
selinux提供了很多Linux的系统安全措施,演示系统中,将其关闭,方便操作。需要注意的是,在正式生产环境下,千万不要这样做。
执行命令getenforce(或者sestatus -v)查看selinux的状态,初始安装的CentOS7是打开状态。
vim /etc/selinux/config,修改SELINUX的值为disabled
修改了之后需要重启服务器,selinux才能生效(这一步非常重要),重启后可以通过getenforce(或者sestatus -v)命令来查看,值一定要disabled才行。
[root@oracle~]$ sestatus -v
SELinux status: disabled
三、创建运行oracle数据库的用户和用户组
[root@oracle~]$ groupadd oinstall
[root@oracle~]$ groupadd dba
[root@oracle~]$ useradd -g oinstall -g dba -m oracle
[root@oracle~]$ echo 1 | passwd --stdin oracle
更改用户 oracle 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@oracle~]$ id oracle
uid=1000(oracle) gid=1001(dba) 组=1001(dba)
4.修改操作系统标识:
这一步是因为oracle默认不支持在centos上安装。
查看/etc下的redhat-release:
[root@oracle~]$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
# 把它修改为redhat-7。
[root@oracle~]$ vim /etc/redhat-release
redhat-7
5.安装oracle所需要依赖的包:
[root@oracle~]$ yum -y install binutils* compat-libcap1* compat-libstdc++* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* libaio-devel* libgcc* libstdc++* libstdc++-devel* libXi* libXtst* make* sysstat* elfutils* unixODBC*
四、修改oracle用户限制
执行vim /etc/security/limits.conf命令,编辑**/etc/security/limits.conf**文件,修改操作系统对oracle用户资源的限制。在该文件中添加如下行:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
要使limits.conf文件配置生效,必须要确保pam_limits.so文件被加入到启动文件中。
编辑文件:vim /etc/pam.d/login,加入以下语句:
session required pam_limits.so
编辑 /etc/profile ,输入命令:vim /etc/profile,按i键进入编辑模式,将下列内容加入该文件。
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
五、调整内核参数
要求配置:
编辑/etc/sysctl.conf文件,设置相关参数的系统默认值。如果该文件中已有相关参数的设置,则确保参数值不小于如下对应值;如果还没有相关参数的设置,则按照如下格式添加相应的参数设置行。
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744 #设置最大打开文件数
fs.aio-max-nr = 1048576
kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmmax = 2147483648 #最大共享内存的段大小
kernel.shmmni = 4096 #整个系统共享内存端的最大数
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576
要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入:sysctl -p 显示如下:
六、创建数据库软件目录和数据文件存放目录(目录的位置,根据自己的情况来定),并改变相应的权限
[root@oracle~]$ mkdir -p /data/oracle #oracle安装目录
[root@oracle~]$ mkdir -p /data/oraInventory #oracle配置文件目录
[root@oracle~]$ mkdir -p /data/database #oracle软件包解压目录
[root@oracle~]$ cd /data
[root@oracle/data]$ ll
总用量 0
drwxr-xr-x. 2 root root 6 2月 23 11:24 database
drwxr-xr-x. 2 root root 6 2月 23 11:24 oracle
drwxr-xr-x. 2 root root 6 2月 23 11:24 oraInventory
[root@oracle/data]$ chown -R oracle:oinstall /data/oracle #将以上目录的权限赋给oinstall组中的oracle用户
[root@oracle/data]$ chown -R oracle:oinstall /data/oraInventory
[root@oracle/data]$ chown -R oracle:oinstall /data/database
[root@oracle/data]$ ll
总用量 0
drwxr-xr-x. 2 oracle oinstall 6 2月 23 11:24 database
drwxr-xr-x. 2 oracle oinstall 6 2月 23 11:24 oracle
drwxr-xr-x. 2 oracle oinstall 6 2月 23 11:24 oraInventory
七、配置oracle用户的环境变量
1.切换到新创建的oracle用户下:su oracle
2.输入命令:vim /home/oracle/.bash_profile
3.按i进入编辑模式,增加以下内容
export ORACLE_BASE=/data/oracle #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle数据库路径
export ORACLE_SID=orcl #oracle启动数据库实例名
export ORACLE_TERM=xterm #xterm窗口模式安装
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量
export LANG=C #防止安装过程出现乱码
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致
====================================================================
#如果安装的时候界面都是乱码,可以替换如下
export NLS_LANG=AMERICAN_AMERICA.UTF8
export LANG=en_US.UTF8
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
export PATH
4.切回root,执行以下命令使配置生效:source /home/oracle/.bash_profile,让配置立即生效。
八、安装Oracle
1.使用Xftp将下载好的Oracle安装文件上传到CentOs上去,我这里放到了/home/oracle目录下
2.使用unzip命令解压oracle安装文件,如下:
[root@oracle oracle]# yum install -y unzip zip
[root@oracle oracle]# unzip linux.x64_11gR2_database_1of2.zip -d /data/database/
[root@oracle oracle]# unzip linux.x64_11gR2_database_2of2.zip -d /data/database/
[root@oracle oracle]# chown -R oracle:oinstall /data/database/database/
3.解压完成后进入其解压后的目录database,使用ls命令可以查看解压后database所包含的文件,如下图:
4.Xmanager实现图像映射
# 安装依赖
[root@oracle/data/database]$ yum -y install libglvnd-glx && yum -y groupinstall Fonts
# 配置环境变量
[root@oracle/data/database]$ vim /etc/profile
export DISPLAY=10.0.0.66:0.0
# 使环境变量生效
[root@oracle/data/database]$ source /etc/profile
5.执行安装,输入命令:./runInstaller -jreLoc /usr/lib/jvm/jre-1.8.0(我直接使用命令./runInstaller安装时会出现提示框显示不完全的问题)
[root@oracle/data/database]$ su oracle # 切换到oracle用户
[oracle@oracle database]$ pwd
/data/database
[oracle@oracle database]$ ll
total 16
drwxr-xr-x. 12 root root 203 Aug 17 2009 doc
drwxr-xr-x. 4 root root 223 Aug 15 2009 install
drwxrwxr-x. 2 root root 61 Aug 15 2009 response
drwxr-xr-x. 2 root root 34 Aug 15 2009 rpm
-rwxr-xr-x. 1 root root 3226 Aug 15 2009 runInstaller
drwxrwxr-x. 2 root root 29 Aug 15 2009 sshsetup
drwxr-xr-x. 14 root root 4096 Aug 15 2009 stage
-rw-r--r--. 1 root root 5402 Aug 18 2009 welcome.html
[oracle@oracle database]$ ./runInstaller
Starting Oracle Universal Installer...
(安装过程中如果出现问题,可以参考:https://blog.csdn.net/qq_32786873/article/details/82257870)
6.取消选中这个界面上的I wish to receive security updates via My Oracle Support复选框,点击Next
7.在Select Installation Option(选择安装选项)界面上,选择Install database software only选项,点击Next
Create and configure a database(创建和配置数据库) 这个选项是默认的安装选项,它安装Oracle RAC二进制文件,并根据预先配置的模板创建一个数据库。这个选项对于初学者非常有用,因为Oracle为不同类型的工作量提供了不同模板,如用于OLTP和决策支持系统的不同模板。
Install database software only(仅安装数据库软件) 这个选项在集群中的所有服务器上安装Oracle RAC软件。数据库管理员大多使用这一选项,这样,在安装了Oracle RAC二进制文件之后,他们可以使用数据库配置助手来创建数据库,从而拥有更大的灵活性。
Upgrade an existing database(升级已有数据库) 这一选项对集群中的已有Oracle RAC数据库进行升级。
8.在Grid Installation Options(网格安装选项)界面上,可以选择以下2种选项之一:
Single instance database installation(单实例数据库安装) 这一选项允许仅在本地节点上安装单实例数据库软件。
Real Application Clusters database installation(Oracle RAC数据库安装) 这一选项允许在集群中的选定节点上选择和安装Oracle RAC二进制文件。
在这个界面上,选择Single instance database installation选项,点击Next
9.在Select Product Languages界面,选择安装语言(默认情况下选择英文),点击Next
10.在Select Database Edition(选择数据库版本)界面,选择企业版,点击Next
11.在Specify Installation Location界面,为Oracle Base和Software Location指定存储位置,点击Next
12.选择清单目录、指定清单组名称,点击Next
13.在Privileged Operating System Groups界面,从提供的值列表中选择数据库管理员和数据库操作员操作系统组,点击Next
14.使用root账户安装缺少的包,那个OS Kernel Parameter.semmi不用管:
[root@localhost ~]# yum -y install libaio* glibc* compat-libstdc++-* libaio-devel-* libgcc-* libstdc++-* unixODBC-* unixODBC-devel* pdksh-*
安装完之后,再去oracle图形界面中check again:
check again的结果还是有错,这是因为系统中已经安装了高版本,比检测的版本高,无法识别,所以此处我们选择右上角的ignore all:
当所有包都安装完成后,点击"Check Again"
可以看到还是有错,有些系统报错是因为现有的包的版本比检测的要高,Oracle 11g check的时候不识别高版本lib包,我们把右上角的"Ignore All"勾选上,然后点击Next
15.在Summary界面,点击Finish
15.安装过程需要点时间,我们耐心等候,安装完成后点击close,结束
安装中出现报错:
先在root下查看一下/usr/lib64下是否有libc.a:
[root@oracle~]$ ll /usr/lib64/libc.a
-rw-r--r--. 1 root root 5105516 5月 19 2022 /usr/lib64/libc.a
修改**/data/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk**这个文件:
[root@oracle/data/oracle/product/11.2.0/db_1/ctx/lib]$ vim /data/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
# 替换为:
ctxhx: $(CTXHXOBJ)
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/libc.a
保存退出。
然后在oracle图形界面中retry一下,又报错误:
解决方法:
进入ORACLE_HOME下:
[root@oracle~]$ cd /data/oracle/product/11.2.0/db_1/sysman/lib/
[root@oracle/data/oracle/product/11.2.0/db_1/sysman/lib]$ vim ins_emagent.mk +190
185 #===========================
186 # emdctl
187 #===========================
188
189 $(SYSMANBIN)emdctl:
190 $(MK_EMAGENT_NMECTL) -lnnz11
如图:
保存退出。
用 root 用户执行上述两个脚本:
[root@oracle~]$ sh /data/oraInventory/orainstRoot.sh
Changing permissions of /data/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /data/oraInventory to dba.
The execution of the script is complete.
[root@oracle~]$ sh /data/oracle/product/11.2.0/db_1/root.sh
Running Oracle 11g root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /data/oracle/product/11.2.0/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
[root@oracle~]$
到这一步就安装成功了。。。
九、创建一个数据库实例
创建监听:
以oracle账户执行:
[oracle@oracle ~]$ netca
这时监听界面启动:
然后以oracle身份查看监听状态:
[oracle@oracle ~]$ lsnrctl status
说明监听没有启动。
启动监听:
[oracle@oracle ~]$ lsnrctl start
启动成功。
以Oracle用户进入到ORACLE_HOME下:
[oracle@oracle ~]$ cd /data/oracle/product/11.2.0/db_1/bin
进入bin目录下执行:
[oracle@oracle bin]$ ./dbca
进入到oracle实例安装界面:
设置所有账户使用相同密码,这个密码要和最开始创建的oracle用户身份的登陆密码一样:
设置密码不符合规则:
重新设置。
开始创建数据库:
解锁需要使用的用户。也可以直接exit。
数据库创建成功后,通过如下命令进行测试:
测试成功。
至此,Linux 下安装oracle 数据库的过程已完成。
- 感谢你赐予我前进的力量