CentOS 7下安装部署Oracle11g图文教程
一、 安装环境:
Linux系统: | CentOS 7 64位 |
Oracle: | Oracle11gR2 64位 |
二、系统要求:
系统要求 | 说明 |
内存 | 必须高于1G的物理内存 |
交换空间 | 一般为内存的2倍,例如1G的内存可以设置swap3G大小 |
硬盘 | 5G以上 |
三、系统核心参数配置:
在Root用户下执行以下步骤:
3.1 安装前验证
内存最小1G,推荐2G或者更高。
# grep MemTotal /proc/meminfo
# free
内存为1-2g,swap是内存的1.5倍左右。
# grep SwapTotal /proc/meminfo
验证相关包是否安装。
# rpm -qa binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers glibc-static kernel-headers pdksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel libstdc++-static make numactl-devel sysstat unixODBC unixODBC-devel
yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers glibc-static ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat kernel-headers pdksh libgomp libstdc++-static numactl-devel unixODBC unixODBC-devel
3.2 创建组和用户
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba -m oracle
echo oracle | passwd --stdin oracle
3.3 创建数据库软件目录和数据文件存放目录
目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:
mkdir /home/oracle/app
mkdir /home/oracle/app/oracle
mkdir /home/oracle/app/oradata
mkdir /home/oracle/app/oracle/product
更改目录属主为Oracle用户所有,输入命令:
chown -R oracle:oinstall /home/oracle/app
3.4 关闭并禁用防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
3.5 关闭selinux
vi /etc/selinux/config
SELINUX=disabled
3.6 配置内核参数
配置要求,配置大于系统数据需要配置更改,否则不需要配置:
vi /etc/sysctl.conf
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
使配置生效
/sbin/sysctl -p
3.7 对oracle用户设置限制,提高软件运行性能
vi /etc/security/limits.conf 修改
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
3.8 配置oracle用户的环境变量
首先,切换到新创建的oracle用户下,
输入:su – oracle ,然后直接在输入 : vi .bash_profile
按i编辑 .bash_profile,进入编辑模式,增加以下内容:
umask 022
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
source /home/oracle/.bash_profile
3.9 编辑profile文件
vi /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
3.8 修改hosts文件
vi /etc/hosts
10.10.11.124 localhost
3.9 修改login文件,
输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。
session required /lib/security/pam_limits.so
session required pam_limits.so
四、安装oracle
接下来的步骤都在主机上进行。
4.1 上传并解压安装包
上传使用tftp工具上传到/opt目录(没有要求一定要放这个目录哈,个人习惯)
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
4.2 修改cvu_prereq.xml
文件路径:/opt/database/stage/cvu
修改之前先备份一下,养成好习惯哈
cp cvu_prereq.xml cvu_prereq.xml.bak
使用perl命令,将文件中的i386字段修改为i686
perl -p -i -e "s/i386/i686/g" cvu_prereq.xml
4.3 开始安装数据库
安装之前建议重启一下主机
路径:/opt/database
#为了避免安装过程出现乱码,输入命令:
export.UTF-8
./runInstaller
Y
4.4 出现图示问题解决方法
/lib64/libstdc++.so中memcpy@GLIBC_2.4找不到。
问题:glibc是2.17的库,连接找的是2.14的库。
解决办法:改成静态链接。
查看 /usr/lib64/libc.a是否存在。
修改oracle安装目录下:$ORACLE_HOME/ctx/lib/ins_ctx.m
文件路径:/home/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib
修改文件内容:
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
改为:
ctxhx: $(CTXHXOBJ)
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/libc.a
然后点击retry通过。
4.5 出现下列问题解决方法
问题:undefinied reference symbol’B_DestroyKeyObject’,查看日志,实际就是没有找到nnz11这个库。 解决办法: 修改$ORACLE_HOME/sysman/lib/ins_emagent
$(MK_EMAGENT_NMECTL)
修改为:
$(MK_EMAGENT_NMECTL) -lnnz11
然后点击retry通过。
文件路径:/home/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/lib
4.6 按图示运行两个脚本
五、数据库建库
还是在oracle用户的图形界面oracle用户中,新开启一个终端,直接输入命令dbca会弹出如下界面。我们这里采用定制数据库。
输入统一密码(也可以分别设置其密码)
数据库存放位置,我这里采用默认
不指定快速恢复和归档
去掉不常用的模块
内存分配及指定字符集
经过漫长的等待,当看到此界面,说明oracle建库完成
可以用sqlplus来检验下,新开启一个命令窗口,输入sqlplus,然后输入用户名和密码,可以测试下,这里就不做过多的介绍了。
六、配置监听及本地网络服务
在oracle用户的图形界面oracle用户中,新开启一个终端,输入命令netca 会弹出如下界面。
创建监听服务(充当oracle服务器,让别的oracle客户端连接本oracle服务器)
配置本地网络服务名(充当oracle客户端,连接别的oracle服务器)
输入oracle服务器的ip地址
选中测试
看到此界面说明测试成功(如果不成功,请查看网络是否畅通,所连接的oracle服务器是否启动,监听是否启动等原因)
为你所设置的本地网络服务名起个名字
七、测试
查看oracle服务是否启动
# lsof -i:1521
这样oracle服务器安装配置基本就完成了。
监听:lsnrctl status
查看实例信息:
首先登陆数据:
#su – oracle
#sqlplus / as sysdba
#select * from v$instance;