Linux CentOS7 安装Oracle 11g R2 数据库详细步骤
开始之前先唠叨几句,前些天公司新购置了服务器,需要将公司内的Oracle数据迁移到阿里云上,迁移之前呢需要提前部署好Oracle数据库,为此呢,我就开始折腾Oracle 11g R2版本的数据库部署安装了,因为之前没装过,所以只能找度娘了,折腾我大半天时间终于搞定,下面呢主要是想记录下自己的心得,希望能给大家带来帮助
一、环境要求
系统环境:CentOS Linux release 7.6.1810 (Core)
Oracle版本:Oracle Database 11g R2(下载这两个包linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip)
Oracle软件的下载自己可以去官网下载,官网提供了不同版本的下载包,自己按需下载即可
二、前期准备
2.1 配置防火墙
防火墙的相关配置,可以参考另一篇博文:CentOS 6、CentOS 7系统设置防火墙及使用区别。这里建议开启防火墙,同时建1521端口加入防火墙策略,记住,修改防火墙策略后需要重启防火墙。注意,如果在安装的过程遇到中文乱码,可通过以下命令安装中文包:
2.2 修改Selinux配置
[root@micle ~]: sed -i 's#SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config
[root@micle ~]: sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config grep SELINUX=disabled /etc/selinux/config
[root@micle ~]: setenforce 0
[root@micle ~]: getenforce
2.3 创建Oracle用户和用户组
[root@micle ~] groupadd oinstall
[root@micle ~] groupadd dba
[root@micle ~] useradd -g oinstall -G dba -m oracle
[root@micle ~] passwd oracle
2.4 修改用户限制
执行vim /etc/security/limits.conf文件,修改操作系统对oracle用户资源的限制:
[root@micle ~] vim /etc/security/limits.conf
#oracle
oracle soft nproc 131072
oracle hard nproc 131072
oracle soft nofile 131072
oracle hard nofile 131072
oracle soft core unlimited
oracle hard core unlimited
oracle soft memlock 50000000
oracle hard memlock 50000000
2.5 修改Linux系统内核参数和资源限制
编辑/etc/sysctl.conf文件,设置相关参数的系统默认值,以下是我配置的相关参数,自己可以根据实际情况调整:
[root@micle ~] vim /etc/sysctl.conf
vm.swappiness = 0
net.ipv4.neigh.default.gc_stale_time = 120
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_synack_retries = 2
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
kernel.sysrq = 1
####oracle
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
2.6 yum安装依赖包
[root@micle ~] yum -y install binutils compat compat-libstdc gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
2.7 图形化界面安装环境准备
我这里选择的是通过VNC Server安装的,具体安装方式可以参考:CentOS 7部署vncserver,通过vncviewer远程查看图形界面
[root@micle ~] yum -y groupinstall "GNOME Desktop" "Graphical Administration Tools"
三、开始安装Oracle 11g R2
3.1 创建安装目录
我是打算安装在/ora/目录下,这个目录可以根据自己实际情况调整
[root@micle ~] mkdir -p /ora/oracle
[root@micle ~] unzip -d /ora/ linux.x64_11gR2_database_1of2.zip
[root@micle ~] unzip -d /ora/ linux.x64_11gR2_database_2of2.zip
[root@micle ~] chown -R oracle:oinstall /ora
[root@micle ~] chmod 775 -R /ora
3.2 配置环境变量
将ORACLE_HOME 设置为安装目录product下默认目录
[root@micle ~] vim /etc/profile
#oracle
export ORACLE_HOME=/ora/oracle/product/11.2.0/db_1
export ORACLE_SID=orcl
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
3.3 修改Oracle用户环境变量
[root@micle ~] vim /ora/oracle/.bash_profile
export ORACLE_BASE=/ora/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
3.4 图形化安装
以图形化界面开始安装Oracle数据库,安装步骤与Windows安装步骤类似
切换oracle用户,进入图形化桌面安装方式
[root@micle database]# cd /ora/database/
[root@micle database]# su - oracle //注意空格,不能少
上一次登录:五 4月 3 10:05:20 CST 2020pts/0 上
[oracle@oracle ~]$ ./runInstaller
去掉订阅邮件,此时会弹出警告提示,说你没有接受产品更新邮件推送,点“Yes” 就好,然后点下一步
选择默认创建和配置一个数据库,稍后再配置初始化数据,然后点下一步
这里当然选择服务器类型了,然后点下一步
选择单列数据库,然后点下一步
我默认选择典型安装,也可以选择高级安装,高级安装步骤和配置会多点,安装步骤更多,看自己实际需要
选择典型安装Oracle基本配置:最好保持和ORACLE_BASE&&ORACLE_HOME配置环境变量一致,点击yes
注意,这里会出现一个问题,尤其是在Linux图形界面安装时,信息提示框弹出被遮盖,我的解决办法是:Alt+D 解决
预安装先决条件检查:查看缺失的依赖包
检测后一般都会出现一些failed,因为有些包还没有安装,我们安装这些包就行,切记不要选择“Igrnore all”(全部忽略),不然你会后悔的
[root@micle database]# yum -y install libaio-0.3.105 compat-libstdc++-33-3.2.3 libgcc-3.4.6 libstdc++-3.4.6 unixODBC-2.2.11 unixODBC-devel-2.2.11 pdksh-5.2.14
点击"Check Again"后,之前提示包全部完成,剩下的可以忽略
直接下一步,在Summary界面,保持默认,点击Finish,开始安装
安装过程中,差不多需要15分钟左右,会有一些错误提示,没影响,选择continue和默认即可,这里可能又会出现该死的信息提示框显示不全问题,还是上面的解决方式:Alt+D 解决
安装完成后会提示需要执行两个sh脚本, 重新打开一个tab页,用root账户执行两个脚本完成所有安装步骤
登录root用户,到下面的两个目录下执行脚本即可。
[root@micle database]# cd /home/data/oraInventory/
[root@micle database]# ./orainstRoot.sh
[root@micle database]# cd /home/data/oracle/product/11.2.0/db_1
[root@micle database]# ./root.sh
到这里,Oracle的配置和安装基本完成了
Linux下的Oracle在安装结束后是处于运行状态的,端口号1521,服务名是前面环境变量配置的orcl
四、Oracle数据库创建
安装完并启动数据库监听后,就可以开始创建Oracle数据库了,具体创建方式以及数据导入导出,可以参照:oracle快速创建用户、imp/exp导入导出dmp文件