/proc/sys/kernel/shmmax
// 最大共享内存,官方文档建议是内存的1/2
// 我的服务器是8G内存,所以为8*1024*1024*1024-1
// 值为4294967295(8G内存/2)
shmmni
4096
/proc/sys/kernel/shmmni
# /sbin/sysctl -a | grep shmfile-max
6815744
/proc/sys/fs/file-max
# /sbin/sysctl -a | grep file-maxip_local_port_range
9000 65500
/proc/sys/net/ipv4/ip_local_port_range
# /sbin/sysctl -a | grep ip_local_port_rangermem_default
262144
/proc/sys/net/core/rmem_default
# /sbin/sysctl -a | grep rmem_defaultrmem_max
4194304
/proc/sys/net/core/rmem_max
# /sbin/sysctl -a | grep rmem_maxwmem_default
262144
/proc/sys/net/core/wmem_default
# /sbin/sysctl -a | grep wmem_default
wmem_max
1048576
/proc/sys/net/core/wmem_max
# /sbin/sysctl -a | grep wmem_max
aio-max-nr 1048576
# vi /etc/sysctl.conf
按照系统值对比添加:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall =3435973835
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
1.12 设置进程数和最大会话数
编辑文件:
# vi /etc/security/limits.conf 加入以下语句:
1 oracle soft nproc 2047 2 oracle hard nproc 16384 3 oracle soft nofile 1024 4 oracle hard nofile 65536 5 oracle soft stack 10240 6 oracle hard stack 10240
1.13 配置PAM
编辑文件:vi /etc/pam.d/login 加入以下语句:
session required pam_limits.so
(注意:根据最后一条session规则的注释,应该加在最后一条规则之前)2 安装
2.1 解压缩
将linuxamd64_12c_database_1of2.zip和linuxamd64_12c_database_2of2.zip移动到移动到/tmp目录下进行解压缩。
$ cd /opt/ora/tmp
$ unzip linuxamd64_12c_database_1of2.zip
$ unzip linuxamd64_12c_database_2of2.zip
2.2 安装
$ cd /opt/app/tmp/database/
$ ./runInstaller
2.3 报错
安装过程进行到80%多(所有文件复制完毕,并开始链接后), 报错
1)报错
ins_precomp.mk
INFO: /usr/bin/ld: <ORACLE_HOME>/lib//libnls12.a(lxhlang.o): undefined reference to symbol ‘__tls_get_addr@@GLIBC_2.3′
这是因为oracle安装文件自带的 库文件太老了
需要删除 {ORACLE_HOME}/lib/stubs 这个目录 (对于我的设置,就是 /opt/app/oracle/product/12.1.0/db_1/lib/stubs
cd /opt/app/oracle/product/12.1.0/db_1/lib
rm -rf stubs
2)在图形安装界面 点击Retry继续, 再次报错
ins_rdbms.mk
libclient12.a(kpue.o): undefined reference to symbol 'ons_subscriber_close'
....
libons.so: could not read symbols: Invalid operation
修改 rdbms/lib/ins_rdbms.mk 的 883行 和 901 行
879 $(PLSHPROF) : $(ALWAYS) $(PLSHPROF_DEPS) 880 $(SILENT)$(ECHO) 881 $(SILENT)$(ECHO) " - Linking hierarchical profiler utility (plshprof)" 882 $(RMF) $@ 883 $(PLSHPROF_LINKLINE) -lons .... 897 $(RMAN) : $(ALWAYS) $(RMAN_DEPS) 898 $(SILENT)$(ECHO) 899 $(SILENT)$(ECHO) " - Linking recovery manager (rman)" 900 $(RMF) $@ 901 $(RMAN_LINKLINE) -lons