1、很多安装不成功都是版本未对应,所以老规矩,先上版本号:
cat /etc/centos-release
显示信息,如下
CentOS Linux release 7.6.1810 (Core)
2、创建oracle用户与组,最好组名与用户名不要换,后面很多地方包括自启动都要用到
groupadd oinstall
groupadd dba
useradd -g oinstall -g dba -m oracle
passwd oracle
id oracle
3、为oracle创建安装安装目录并授权
mkdir -p /usr/local/oracle
mkdir -p /usr/local/oraInventory
chown -R oracle:oinstall /usr/local/oracle
chown -R oracle:oinstall /usr/local/oraInventory
4、修改/home/oracle/.bash_profile
vi /home/oracle/.bash_profile
添加如下内容
# ORACLE_BASE与上面授权的安装目录对应即可
export ORACLE_BASE=/usr/local/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_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 LANG=C
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
使配置立即生效
source /home/oracle/.bash_profile
5、对oracle用户进行限制 据说为了提高软件运行性能,需要对oracle用户设置限制。对,进行限制,提高性能?别问我,我也不懂……
vi /etc/security/limits.conf
添加如下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
6、修改/etc/pam.d/login
vi /etc/pam.d/login
添加如下内容
session required pam_limits.so
7、修改/etc/profile
vi /etc/profile
添加如下内容
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -u 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
8、修改OS系统标识 oracle老大哥说了,俺不支持CentOS……没办法,骗下她吧……
vi /etc/redhat-release
将原信息注释,并添加如下内容
redhat-7
9、修改内核参数
vi /etc/sysctl.conf
添加如下内容
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
kernel.shmmax = 2079272960
kernel.shmmni = 4096
fs.aio-max-nr = 1048576
立即生效吧,阿门~
sysctl -p
10、将IP地址与主机名进行映射
# 查看主机名
hostname
修改/etc/hosts
vi /etc/hosts
添加如下内容
10.5.25.104 hadoop
11、安装依赖软件包
yum install -y gcc libaio glibc.i686 compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf-devel glibc-devel glibc-headers gcc-c++ libaio-devel libaio-devel.i686 libgcc.i686 libstdc++ libstdc++.i686 unixODBC unixODBC.i686 unixODBC-devel unixODBC-devel.i686 ksh
就这些吧,其实还需要安装几个i386的包,不想装,我一64位的系统干毛装32位的包,拒装……,安装过程中会弹出两个错误,但可以绕过,而且也没发现影响使用……
12、解压并对安装源目录进行授权
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
chown -R oracle:oinstall /opt/database
13、重启,使用oracle用户进行登录(不要用root登录再su oracle)进行安装
/opt/database/runInstaller -jreLoc /usr/lib/jvm/jre-1.8.0
不指一下jre路径弹出窗无法展开……
(1)勾掉下面的选框
(2)不要修改安装目录(刚刚配置的权限)
(3)清单目录与所属组
(4)不要修改SID,刚才设置过
(5)忽略未安装包
vi /usr/local/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk
通过/$(CTXHXOBJ)进行查找,并且将
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
修改为
ctxhx: $(CTXHXOBJ)
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a
点击[Retry]
(2)/usr/local/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk中的错误
vi /usr/local/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk
通过/$(MK_EMAGENT_NMECTL)进行查找,并且将
$(MK_EMAGENT_NMECTL)
修改为
$(MK_EMAGENT_NMECTL) -lnnz11
点击[Retry]
15、安装完成后,按提示执行脚本
/usr/local/oraInventory/orainstRoot.sh
/usr/local/oracle/product/11.2.0/dbhome_1/root.sh
16、在防火墙放行1521端口,并重新加载防火墙
sudo firewall-cmd --zone=public --add-port=1521/tcp --permanent
sudo firewall-cmd --reload