DB怪问题(请周总帮忙)
需求:安装BEPL的时候要求10gR2(10.2.0.3.0)数据库。并要求提供sys用户远程登陆。
数据库版本:10gR2(10.2.0.3.0) linux_x86_64
ORACLE_HOME=/d01/app/oracle/product/10.2.0/db_1
export ORACLE_HOME
ORACLE_SID=orcl
export ORACLE_SID
plsql developer ,以sys用户,sysdba角色连接 报错:ORA-01017
#数据库默认不允许sys用户以sysdba角色远程连接。
更改:
$ORACLE_HOME/bin/orapwd file=$ORACLE_HOME/dbs/orapworcl password=sys entries=16 force=y
chmod 4640 $ORACLE_HOME/dbs/orapworcl
vi initorcl.ora
添加:
REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE
#启动
$ORACLE_HOME/bin/sqlplus ‘/as sysdba’
>startup
#问题依旧。
>grant sysdba to system;
ERROR at line 1:
ORA-01994: GRANT failed: password file missing or disabled
#其实文件是存在的,但不知为何还报这样的错。
rm /tmp/stracedba.log
strace -f -o /tmp/stracedba.log $ORACLE_HOME/bin/sqlplus ‘/ as sysdba’
>startup
ptrace: umoven: Input/output error
Database opened.
SQL> ptrace: umoven: Input/output error
>grant sysdba to system;
Grant succeeded.
more /tmp/stracedba.log
/orapw
1636 stat(“/d01/app/oracle/product/10.2.0/db_1/dbs/orapworcl”, {st_mode=S_IFREG|0640, st_size=3072, …}) = 0
1636 stat(“/d01/app/oracle/product/10.2.0/db_1/dbs/orapworcl”, {st_mode=S_IFREG|0640, st_size=3072, …}) = 0
#可以找到。
#现象总结: strace方式启动数据库,能找到orapw文件。说明orapw文件存在且没错。但strace方式启动数据库不能自动注册listen,当然是不能作为正常数据库使用的。但是以正常方式启动数据库就报告password file missing or disabled。
这是什么原因?
关于作者:
昵称:商云方 档案信息:顾问, HAND张江技术中心 联系方式:你可以通过yunfang.shang@hand-china.com联系作者 点击查看商云方发表过的所有文章... 本文永久链接: http://blog.retailsolution.cn/archives/214 |
对本文的评价:
周总,我在Home的服务器中按如下步骤执行是成功的,没有报错误:
ORACLE_HOME=/d01/app/oracle/product/10.2.0/db_1
export ORACLE_HOME
ORACLE_SID=orcl
export ORACLE_SID
$ORACLE_HOME/bin/orapwd file=$ORACLE_HOME/dbs/orapworcl password=sys entries=16 force=y
chmod 4640 $ORACLE_HOME/dbs/orapworcl
vi initRETL.ora
$ORACLE_HOME/bin/sqlplus ‘/as sysdba’
SQL> startup
SQL> grant sysdba to system;
Grant succeeded.
张江服务器环境与Home环境的区别就是:
硬件不同
但linux软件版本一样,rpm装的都一样.
张江环境是从Home环境迁移过去的,是从home环境把整个/d01/app 打包后迁移过去的,使用到现在没有发现其他与home环境有不一样的异常,唯有这个password文件的问题上有差异,可能是什么原因?
硬件的差别在IO上主要是:
张江环境做的Raid 0
home环境没有raid
张江环境: DELL 2950
CPU : 4核
硬盘: 146G + 2*300G ( sas硬盘 15k转速度, 2*300做Raid0, /d01 被mount到这个raid 0上)
内存: 8G
Home环境: DELL 850E
CPU: P4 3.0 超线程(逻辑双核)
硬盘: 250G (sata硬盘,7.2k转速, 只有一块,无RAID, /d01是个目录)
内存: 4G
参考Note:730067.1
1. Shutdown the database and other processes related to the ORACLE_HOME
2. Navigate to $ORACLE_HOME/rdbms/lib
3. Take a backup of the current CONFIG.O and delete it :
mv config.o to config.o.bkp
4. Check the config.s or config.c to verify whether the name of the ‘dba’ and ‘oper’ groups are appropriate, if not correct them accordingly
5. MAke a new CONFIG.O by using the below command :
make -f ins_rdbms.mk config.o ioracle
6. Relink oracle
实际操作是:
1. make -f ins_rdbms.mk config.o ioracle
2. relink oracle
此错误与数据库迁移有关,问题已经解决,谢谢周总!