记一次linux静默安装oracle加手工建库
静默安装
参考:http://www.cnblogs.com/colmeluna/p/5686142.html
实际安装中:
1.跳过了第二步设定交换区空间
2.安装完成后没有提示执行orainstRoot.sh,只有root.sh
3.注意在/etc/pam.d/login中配置的路径/lib/security/pam_limits.so,如果是64位系统,需修改为/lib64/security/pam_limits.so
如果不小心没设置,会导致重启后无法登录,报module is unknown。解决方法:
1.设置从光盘启动,参考:https://jingyan.baidu.com/article/b907e627d3f4d546e7891cc0.html
2.emergency模式启动并修改/etc/pam.d/login,参考:http://blog.csdn.net/yjk13703623757/article/details/54599641
建库
参考:http://www.cnblogs.com/jyzhao/p/4635826.html
实际建库中:
1.只执行了第二步,手工建库部分
2.创建文件:
cp /usr/local/oracle/product/11.2.0/db_1/dbs/init.ora /usr/local/oracle/product/11.2.0/db_1/dbs/initorcl.ora
修改ORACLE_BASE为/usr/local/oracle
修改memory_target=1800M【我的虚拟机设置的4G内存,/dev/shm的大小约为2G,oracle的最大内存不可大于2G】,参考:https://blog.csdn.net/sunny05296/article/details/56495599
3.创建目录:
mkdir -p /usr/local/oracle/flash_recovery_area mkdir -p /usr/local/oracle/admin/orcl/adump mkdir -p /usr/local/oradata/orcl
4.修改建库脚本中文件存放路径 /opt/app/oracle/oradata/crnophq -> /usr/local/oradata/orcl
5.修改数据库名 crnophq -> orcl
6.修复建库脚本执行错误 ORA-30012: undo tablespace 'UNDOTBS1' does not exist or of wrong type,
修改 UNDO TABLESPACE undotbs -> UNDO TABLESPACE UNDOTBS1
参考:http://blog.csdn.net/tw7752/article/details/44453585?locationNum=3)
7.执行建库脚本
注意:
1.在启动数据库时会报找不到控制文件,正常现象,因为只安装了数据库软件还未建库,执行建库脚本后控制文件就会生成了
2.如果建库时有报错,修改后再次启动会提示控制文件已存在,删掉再启动就可以
rm -f /usr/local/oracle/product/11.2.0/db_1/dbs/ora_control1 rm -f /usr/local/oracle/product/11.2.0/db_1/dbs/ora_control2
配置监听
创建监听文件
cp /usr/local/oracle/product/11.2.0/db_1/network/admin/samples/listener.ora /usr/local/oracle/product/11.2.0/db_1/network/admin/listener.ora
配置监听地址和SID
SID_LIST_LISTENER = ( SID_LIST = ( SID_DESC = (GLOBAL_DBNAME = orcl) (ORACLE_HOME = /usr/local/oracle/product/11.2.0/db_1) (SID_NAME = orcl) ) ) LISTENER = ( DESCRIPTION = ( ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.199.129)(PORT = 1521) ) )
注意:用光标逐行检查下,必须是一个字符的空格,否则会报错
启动监听:lnsrctl start
客户端连接,success!
Tips:
1.sqlplus中退格键处理,.bash_profile中加上stty erase ^H
2.xshell文件上传,yum install lrzsz,上传:rz
3.lnsrctl记不住,全拼:listener control,这样好记
4.监听里配置的实例名大小写敏感,ORCL客户端会连不上