错误描述,在DBCA创建ASM单实例数据库到86%进度时,报错
PRCR-1079 : Failed to start resource .testdb.db
ORA-12547: TNS:lost contact
在网上查了一下多是
grid用户下$ORACLE_HOME/bin/oracle 和 oracle用户下 $ORACLE_HOME/bin/oracle 的所属组必须为oinstall. 权限为6751
改完之后,但再次DBCA建库,仍然报那三个错误,发现oracle用户下 $ORACLE_HOME/bin/oracle 所属组又被改为 asmadmin :
[oracle@db2 bin]$ ls -lrt oracle
-r-xr-s--x 1 oracleasmadmin 210824714 May 17 04:36 oracle
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我的解决办法
首先su - oracle
[oracle@oel11g ~]$ export ORACLE_SID=TESTDB
[oracle@oel11g ~]$ sqlplus / as sysdba
SQL>startup nomount;
SQL>alter database mount ;
SQL>alter database open;
之所以我要分步启动数据,是要看看数据库是否创建完成。随后还真将数据库完整打开了。证明数据库创建过程没有错误。错误应该出在启动环节。
随后我设想:
网上大部分人说要将grid用户下$ORACLE_HOME/bin/oracle 和 oracle用户下 $ORACLE_HOME/bin/oracle 的所属组必须为oinstall. 权限为6751
我也测试了一下,确实可以将数据库启动。所以修改权限的过程是赋予grid用户启动数据库的权限。
但是还是会有报错 :ORA-12547: TNS:lost contact
处理这个问题就简单很多了
一般出现ORA-12547: TNS:lost contact问题多是丢包造成的。可能缺失了libaio-0.3.105-2.i386.rpm
使用rpm -q指令检测
[root@oel11g ~]# rpm -q libaio-0.3.106
libaio-0.3.106-3.2
如果没有便挂载磁盘安装
[root@oel11g ~]# ls libaio*
libaio-0.3.106-2.i386.rpm
libaio-devel-0.3.105-2.i386.rpm
[root@oel11g ~]# rpm -ivh libaio-0.3.106-2.i386.rpm
Preparing... ########################################### [100%]
1:libaio ########################################### [100%][root@oel11g ~]#
如果已安装了libaio包,那很可能是没有配置环境变量
[root@oel11g ~]# su - grid
[grid@oel11g ~]$ vi .bash_profile
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib ··················添加这一行
[grid@oel11g ~]$ . .bash_profile
当然oracle用户也需要有LD_LIBRARY_PATH变量,我们要确保变量配置成功。
[grid@oel11g ~]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.DG01.dg ora....up.type ONLINE ONLINE oel11g
ora....ER.lsnr ora....er.type ONLINE ONLINE oel11g
ora.asm ora.asm.type ONLINE ONLINE oel11g
ora.cssd ora.cssd.type ONLINE ONLINE oel11g
ora.diskmon ora....on.type ONLINE ONLINE oel11g
ora.testdb.db ora....se.type ONLINE ONLINE oel11g
[grid@oel11g ~]$
解决完成。。
《··good luck··》
jhon_lee