CentOS7安装Orcale11gR2
环境
CentOS 7.6.1810
#uname -r
3.10.0-957.el7.x86_64
# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
安装依赖包
1、CentOS依赖包(不低于该版本)
binutils-2.23.52.0.1-12.el7.x86_64
compat-libcap1-1.10-3.el7.x86_64
compat-libstdc++-33-3.2.3-71.el7.i686
compat-libstdc++-33-3.2.3-71.el7.x86_64
gcc-4.8.2-3.el7.x86_64
gcc-c++-4.8.2-3.el7.x86_64
glibc-2.17-36.el7.i686
glibc-2.17-36.el7.x86_64
glibc-devel-2.17-36.el7.i686
glibc-devel-2.17-36.el7.x86_64
ksh
libaio-0.3.109-9.el7.i686
libaio-0.3.109-9.el7.x86_64
libaio-devel-0.3.109-9.el7.i686
libaio-devel-0.3.109-9.el7.x86_64
libgcc-4.8.2-3.el7.i686
libgcc-4.8.2-3.el7.x86_64
libstdc++-4.8.2-3.el7.i686
libstdc++-4.8.2-3.el7.x86_64
libstdc++-devel-4.8.2-3.el7.i686
libstdc++-devel-4.8.2-3.el7.x86_64
libXi-1.7.2-1.el7.i686
libXi-1.7.2-1.el7.x86_64
libXtst-1.2.2-1.el7.i686
libXtst-1.2.2-1.el7.x86_64
make-3.82-19.el7.x86_64
sysstat-10.1.5-1.el7.x86_64
unixODBC-2.3.1-6.el7.x86_64 or later
unixODBC-2.3.1-6.el7.i686 or later
unixODBC-devel-2.3.1-6.el7.x86_64 or later
unixODBC-devel-2.3.1-6.el7.i686 or later
用yum进行安装
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33 gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 elfutils-libelf-devel
检测是否31个包都有安装
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel elfutils-libelf-devel
2、添加主机名与IP对应记录
# vim /etc/hosts
192.168.50.74 jinyue.centos
3、创建用户组和用户
组(oinstall,dba,oracle,oper)
#/usr/sbin/groupadd oinstall
#/usr/sbin/groupadd dba
#/usr/sbin/useradd -g oinstall -G dba oracle
设置oracle用户密码
#passwd oracle
验证创建是否正确
# id oracle
uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)
4、配置内核参数
#vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 953985024 #最低:536870912,最大值:比物理内存小1个字节的值,建议超过物理内存的一半
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
修改后使之生效
#/sbin/sysctl -p
5、修改用户限制
#vim /etc/security/limits.conf
#在末尾添加
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240
6、创建目录
mkdir -p /data/app/
chown -R oracle:oinstall /data/app/
chmod -R 775 /data/app/
7、配置oracle用户得环境变量
在oracle用户下
[oracle@docker ~]$ vim ~/.bash_profile
export ORACLE_BASE=/data/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_HOME_LISTNER=$ORACLE_HOME
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=orclcentos
使之生效
source ~/.bash_profile
8、将安装包移动到/usr/local/src路径下
9、解压oracle软件
# unzip linux.x64_11gR2_database_1of2.zip
# unzip linux.x64_11gR2_database_2of2.zip
10、安装oracle
关闭selinux ,编辑 /etc/selinux/config文件,设置SELINUX= enforcing 为SELINUX=disabled
界面安装数据库
切换到root用户
#xhost +
正常返回:access control disabled,clients can connect from any host
切换到Oracle用户,192.168.50.76为安装XManager的客户端IP
$export DISPLAY=192.168.50.76:0.0
静默安装数据库
su oracle
cd /usr/local/src/oracle11gR2/database
./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /usr/local/src/oracle11gR2/oracle11gR2_install_db.rsp
出现问题:Exception in thread "main" java.lang.NoClassDefFoundError
解决方法:unset DISPLAY
11、提示ins_ctx.mk编译错误
再oracle用户下修改
/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) (11行)
修改为:
ctxhx: $(CTXHXOBJ)
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/libc.a
12、提示ins_emagent.mk编译错误
修改
/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk
(MK_EMAGENT_NMECTL) (190行)
修改为:
(MK_EMAGENT_NMECTL) -lnnz11
13.Linux下sqlplus不能使用光标箭头
下载rlwrap包: https://pkgs.org/download/rlwrap
通过Xftp上传至 /usr/local/src
下载最新的epel-release安装包:http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/e/
通过Xftp上传至 /usr/local/src
安装epel:
# rpm -Uvh epel-release-7-11.noarch.rpm
安装rlwrap
# yum install rlwrap
14、配置监听服务
$ ./netca -silent -responseFile /usr/local/src/oracle11gR2/database/response/netca.rsp
启动监听服务
/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start LISTENER
15、创建数据库
使用DBCA(Database Conifguration Assistan)创建数据库
/u01/app/oracle/product/11.2.0/dbhome_1/bin/
$ ./dbca
静默创建数据库
vi /etc/oratab
orcl:/app/oracle/product/11.2.0/dbhome_1:Y
cd /app/oracle/admin/orcl/scripts
./orcl.sh
./dbca -silent
./dbca -silent -createDatabase -responseFile /u01/app/oracle/oracle19c_dbca.rsp
16、启动数据库
启动实例
默认数据库建立后就启动了,如果服务器重新启动,那就要手工去启动它了,命令如下:(SID可在 $ORACLE_BASE/admin目录查看)
$export ORACLE_SID=orcl //设置要启动的数据库SID,区分大小写
$echo $ORACLE_SID
$sqlplus /nolog
sql>connect /as sysdba
sql>startup //shutdown停止数据库
17、启动监听
首先退出上面启动数据库的sql执行,用quit或者exit退到普通命令行上
$lsnrctl start //启用监听,如果监听名称不是默认这个,则启动您对应的监听名称
$lsnrctl stop //关闭监听
$lsnrctl status //监听状态
18、设置开机启动oracle实例
# vim /etc/oratab
修改为
orclcentos:/data/app/oracle/product/11.2.0/dbhome_1:Y
# chmod +x /etc/rc.d/rc.local
# vim /etc/rc.d/rc.local
添加
su oracle -lc "/data/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"
su oracle -lc "/data/app/oracle/product/11.2.0/dbhome_1/bin/dbstart"
完成建库后进行实例检查
ps -ef | grep ora_ | grep -v grep
查看监听状态
lsnrctl status
登录查看实例状态
sqlplus / as sysdba
select * from v$database;
常见问题
问题1、ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务
修改\data\oracle\product\11.2.0\db_1\network\admin\listener.ora中的localhost改为192.168.50.74
问题2、安装过程中弹出对话框显示不全
解决办法:对话框可能无法正常弹出,但是用鼠标可以拖开。