rpm --import /etc/pki/rpm-gpg/RPM*
yum install -y --skip-broken compat-libstdc++* elfutils-libelf* gcc* glibc* kernel-headers* ksh* libaio* libgcc* libgomp* libstdc++* libXp* make-* sysstat* unixODBC* libXtst*
安装到link阶段百分之83的时候报
这个问题是比较复杂的,查询了很多资料也没有一个确切的回应。最后在网络上检索到一位前辈的解决之道。
首先点击ignore跳过步骤,后面就可以直接完成runInstaller脚本执行。在$ORACLE_HOME/bin目录下,修改oracle文件为oracle.bin。
创建文件oracle在相同目录,内容如下:
#!/bin/bash
export DISABLE_HUGETLBFS=1
exec $ORACLE_HOME/bin/oracle.bin $@
EOF
保存后使用chmod a+x oracle命令对文件进行权限修改。经过这种策略修改之后,Oracle后续的dbca过程创建数据库执行正常。
但是,在后台进程中也表现出点问题,我们通过ps –ef不能看到常见pmon等后台进程,只有oracle.bin的系列对象。
[root@CRSimpleLinux packages]# ps -ef | grep pmon
root 542 406 0 12:57 pts/1 00:00:00 grep pmon
[root@CRSimpleLinux packages]# ps -ef | grep oracle
root 326 32748 0 12:32 pts/0 00:00:00 su - oracle
oracle 327 326 0 12:32 pts/0 00:00:00 -bash
oracle 389 1 0 12:34 ? 00:00:00 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin (LOCAL=NO)
oracle 391 1 0 12:34 ? 00:00:00 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin (LOCAL=NO)
oracle 399 1 0 12:35 ? 00:00:00 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin (LOCAL=NO)
oracle 401 1 0 12:35 ? 00:00:00 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin (LOCAL=NO)
oracle 3172 1 0 May13 ? 00:00:02 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin
oracle 3181 1 0 May13 ? 00:00:00 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin
oracle 3183 1 0 May13 ? 00:00:01 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin
(篇幅原因,有省略……)
其余尚未发现兼容问题。
5、Memory Notification in alert log
安装完成后,监控alert log信息确定数据库运行正常。发现数据库日志中阶段性提示内存变动。
Mon May 12 19:39:09 2014
Memory Notification: Library Cache Object loaded into SGA
Heap size 3596K exceeds notification threshold (2048K)
KGL object name :XDB.XDbD/PLZ01TcHgNAgAIIegtw==
Mon May 12 19:39:09 2014
Memory Notification: Library Cache Object loaded into SGA
Heap size 3567K exceeds notification threshold (2048K)
Details in trace file /u01/app/oracle/admin/chinaredb/udump/chinaredb_ora_20268.trc
KGL object name :XDB.XDA8XlWX/h+P3gQFeMmGQWfg==
进入10g之后,一些内存、文件告警通知机制被引入到Oracle运行过程中。对一些性能关注点,如SGA对象、Swap使用,Oracle是有自己的控制机制的。一旦超过了设置阈值,就会在alert log中记录下来,提醒用户。
这个memory notification很简单,就是SGA中引入了比较大的library cache对象之后,就会自动写入进去,从性能上也没有什么大问题。如果需要解决就是修改内部的控制阈值,不要让提示过于频繁发生。
SQL> alter system set "_kgl_large_heap_warning_threshold"=8388608 scope=spfile ;
SQL> shutdown immediate
SQL> startup
内部参数_kgl_large_heap_warning_threshold就起到这个作用。修改参数后重新启动数据库,报错信息不再出现。