为了进行数据库的升级使用tar命令备份了oracle文件夹,当进行oracle恢复的时候发现:
以oracle用户启动数据库,其可以以sid或者net service name的方式登陆数据库,而其他属
于dba组的user以同样的方式登陆数据库却报
ERROR:
ORA-01034: ORACLE not available
ORA-27123: unable to attach to shared memory segment
Linux Error: 13: Permission denied
感觉非常的诡异,明明启了数据库了.并没有对数据库的sga进行任何的改变.非常的奇怪.
后来搞了半天才发现
$ORACLE_HOME/bin/oracle的权限变了
利用oracle用户将其改为
chmod 6751 $ORACLE_HOME/bin/oracle
问题最终解决了.
分析: 其实问题的根源在于使用tar命令(cvf选项)进行文件备份的时候,恢复出来的
文件属性会发生一些变化,如原来的属性为:
-rwsr-s--x 1 oracle dba 49150550 May 10 2006 /ora/bin/oracle
在使用tar命令(xvf选项)进行恢复后就会变为:
-rwxr-x--x 1 oracle dba 49150550 May 10 2006 /ora/bin/oracle
这就是错误发生的源头.