duplicate报ORA-01017权限问题

duplicate报ORA-01017权限问题

 

环境:

OS:RedHat EnterPrise Linux 5.8 x64

Cluster:Oracle Grid 11.2.0.4

Database:Oracle Database EnterPrise 11.2.0.4

Archive:RAC+DG

         今天在配置DG的过程中,前期环境都已经准备好了,就差最后一步将RAC数据duplicate到standby端,可是蹊跷的事情就在这一步发生了,尝试几次都无法将数据duplicate过去,当然我尝试通过拷贝rman备份到对端也无法完毕恢复,死活就报ORA-01017错误,经过几个小时的努力,问题终于也算是得到了比較好的解决。例如以下:

 

故障现象

rmantarget sys/[email protected] auxiliary sys/[email protected]

RecoveryManager: Release 11.2.0.4.0 - Production on Mon May 26 16:14:36 2014

Copyright(c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connectedto target database: JETDB (DBID=2170518470)
connectedto auxiliary database: JETDB (not mounted)

RMAN>duplicate target database for standby from active database nofilenamecheck ;

Startingrestore at 26-MAY-14
usingtarget database control file instead of recovery catalog
allocatedchannel: ORA_DISK_1
channelORA_DISK_1: SID=416 device type=DISK

channelORA_DISK_1: restoring control file
RMAN-00571:===========================================================
RMAN-00569:=============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571:===========================================================
RMAN-03002:failure of restore command at 05/26/2014 16:14:54
ORA-19870:error while restoring backup piece /DBBackup/Phycal/stdb_cntl_0fp98vq2_1_1.bkp
ORA-19504:failed to create file "+DATA001/jetdb/controlfile/control01.ctl"
ORA-17502:ksfdcre:3 Failed to create file +DATA001/jetdb/controlfile/control01.ctl
ORA-15001:diskgroup "DATA001" does not exist or is not mounted
ORA-15055:unable to connect to ASM instance
ORA-01017:invalid username/password; logon denied

问题分析:

1、  从上面告警日志来看,ORA-01017能够非常明显看出是因为权限问题导致。

随即,我们開始检查备库的password文件,$ORACLE_HOME/dbs/orapw{SID}是存在的。

[[email protected] dbs]$ ll$ORACLE_HOME/dbs/orapw*
-rw-r----- 1 oracle oinstall 1536 May 2617:49 /DBSoft/oracle/product/11.2.4/dbhome_1/dbs/orapwstandby

2、  这个时候我们应该查看的是数据库的alter告警文件:

Errorsin file/DBSoft/oracle/diag/rdbms/standby/standby/trace/standby_asmb_11087.trc  (incident=24130):
ORA-00600:internal error code, arguments: [OSDEP_INTERNAL], [], [], [], [], [], [], [],[], [], [], []
ORA-27302:failure occurred at: skfnbeqOpenI
Incidentdetails in:/DBSoft/oracle/diag/rdbms/standby/standby/incident/incdir_24130/standby_asmb_11087_i24130.trc
UseADRCI or Support Workbench to package the incident.
See Note411.1 at My Oracle Support for error and packaging details.
ORA-00210:cannot open the specified control file
ORA-00202:control file: '+DATA001/jetdb/controlfile/control01.ctl'
ORA-17503:ksfdopn:2 Failed to open file +DATA001/jetdb/controlfile/control01.ctl
ORA-15001:diskgroup "DATA001" does not exist or is not mounted
ORA-15055:unable to connect to ASM instance
ORA-15055:unable to connect to ASM instance
ORA-00600:internal error code, arguments: [OSDEP_INTERNAL], [], [], [], [], [], [], [],[], [], [], []
ORA-27302:failure occurred at: skfnbeqOpenI
ORA-1013signalled during: ALTER DATABASE  MOUNT...
Mon May26 16:31:34 2014

从告警文件里我们能够非常明显的看出是ASM磁盘有问题。进入进入grid用户下用srvctl命令检查
asm状态:

[[email protected]~]$ srvctl status asm
ASM isrunning on standby

SQL>select name,state,free_mb from v$asm_diskgroup;

NAME       STATE          FREE_MB
--------------------- ----------
DATA001    MOUNTED         121112
ARC001     MOUNTED         122483
BAK001     MOUNTED         122826

结果看来ASM也是没有问题的,那么唯一的出问题的地方可能就是Oracle哪里配置的问题。

3、这个时候我们应该先看看会不会是权限的问题:

[[email protected] ~]# id oracle
uid=501(oracle) gid=504(oinstall)groups=504(oinstall) ,505(dba)
[[email protected] ~]# id grid
uid=500(grid) gid=504(oinstall) groups=504(oinstall),503(asmadmin),506(asmdba),507(asmoper)

到这里,我们发现问题可能出如今权限上。

oracle没有asmdba权限,随即加入上就可以。

[[email protected]~]# usermod -G 503,506 oracle
[[email protected]~]# id oracle
uid=501(oracle)gid=504(oinstall) groups=504(oinstall),503(asmadmin),505(dba),506(asmdba)

我们能够看到例如以下。再次运行duplicate。成功:

[[email protected]~]$ rman target sys/[email protected] auxiliary sys/[email protected]

RecoveryManager: Release 11.2.0.4.0 - Production on Mon May 26 17:48:39 2014

Copyright(c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

connectedto target database: JETDB (DBID=2170518470)
connectedto auxiliary database: JETDB (not mounted)

RMAN>duplicate target database for standby from active database nofilenamecheck;

StartingDuplicate Db at 26-MAY-14
usingtarget database control file instead of recovery catalog
allocatedchannel: ORA_AUX_DISK_1
channelORA_AUX_DISK_1: SID=122 device type=DISK

contentsof Memory Script:
{
   backup as copy reuse
   targetfile '/DBSoft/oracle/product/11.2.4/dbhome_1/dbs/orapwjetdb1' auxiliaryformat
 '/DBSoft/oracle/product/11.2.4/dbhome_1/dbs/orapwstandby'   ;
}
executingMemory Script

Startingbackup at 26-MAY-14
allocatedchannel: ORA_DISK_1
channelORA_DISK_1: SID=14 instance=jetdb1 device type=DISK
Finishedbackup at 26-MAY-14

contentsof Memory Script:
{
   backup as copy current controlfile forstandby auxiliary format '+DATA001/jetdb/controlfile/control01.ctl';
}
executingMemory Script

Startingbackup at 26-MAY-14
usingchannel ORA_DISK_1
channelORA_DISK_1: starting datafile copy
copyingstandby control file
outputfile name=+BAK001/rman/snapcf_jetdb1.f tag=TAG20140526T174956 RECID=11STAMP=848598598
channelORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finishedbackup at 26-MAY-14

contentsof Memory Script:
{
   sql clone 'alter database mount standbydatabase';
}
executingMemory Script

sqlstatement: alter database mount standby database
RMAN-05529:WARNING: DB_FILE_NAME_CONVERT resulted in invalid ASM names; names changed todisk group only.

contentsof Memory Script:
{
   set newname for tempfile  1 to
 "+data001";
   switch clone tempfile all;
   set newname for datafile  1 to
 "+data001";
   set newname for datafile  2 to
 "+data001";
   set newname for datafile  3 to
 "+data001";
   set newname for datafile  4 to
 "+data001";
   set newname for datafile  5 to
 "+data001";
   backup as copy reuse
   datafile 1 auxiliary format
 "+data001"   datafile
 2 auxiliary format
 "+data001"   datafile
 3 auxiliary format
 "+data001"   datafile
 4 auxiliary format
 "+data001"   datafile
 5 auxiliary format
 "+data001"   ;
   sql 'alter system archive log current';
}
executingMemory Script

executingcommand: SET NEWNAME

renamedtempfile 1 to +data001 in control file

executingcommand: SET NEWNAME

executingcommand: SET NEWNAME

executingcommand: SET NEWNAME

executingcommand: SET NEWNAME

executingcommand: SET NEWNAME

Startingbackup at 26-MAY-14
usingchannel ORA_DISK_1
channelORA_DISK_1: starting datafile copy
inputdatafile file number=00001 name=+DATA001/jetdb/datafile/system.268.848240089
outputfile name=+DATA001/standby/datafile/system.257.848598605 tag=TAG20140526T175005
channelORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
channelORA_DISK_1: starting datafile copy
inputdatafile file number=00002 name=+DATA001/jetdb/datafile/sysaux.260.848240091
outputfile name=+DATA001/standby/datafile/sysaux.258.848598619 tag=TAG20140526T175005
channelORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
channelORA_DISK_1: starting datafile copy
inputdatafile file number=00003 name=+DATA001/jetdb/datafile/undotbs1.263.848240091
outputfile name=+DATA001/standby/datafile/undotbs1.259.848598627tag=TAG20140526T175005
channelORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
channelORA_DISK_1: starting datafile copy
inputdatafile file number=00005 name=+DATA001/jetdb/datafile/undotbs2.264.848240331
outputfile name=+DATA001/standby/datafile/undotbs2.260.848598627tag=TAG20140526T175005
channelORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
channelORA_DISK_1: starting datafile copy
inputdatafile file number=00004 name=+DATA001/jetdb/datafile/users.267.848240091
outputfile name=+DATA001/standby/datafile/users.261.848598629 tag=TAG20140526T175005
channelORA_DISK_1: datafile copy complete, elapsed time: 00:00:02
Finishedbackup at 26-MAY-14

sqlstatement: alter system archive log current

contentsof Memory Script:
{
   switch clone datafile all;
}
executingMemory Script

datafile1 switched to datafile copy
inputdatafile copy RECID=11 STAMP=848598635 filename=+DATA001/standby/datafile/system.257.848598605
datafile2 switched to datafile copy
inputdatafile copy RECID=12 STAMP=848598635 file name=+DATA001/standby/datafile/sysaux.258.848598619
datafile3 switched to datafile copy
inputdatafile copy RECID=13 STAMP=848598635 filename=+DATA001/standby/datafile/undotbs1.259.848598627
datafile4 switched to datafile copy
inputdatafile copy RECID=14 STAMP=848598635 file name=+DATA001/standby/datafile/users.261.848598629
datafile5 switched to datafile copy
inputdatafile copy RECID=15 STAMP=848598635 filename=+DATA001/standby/datafile/undotbs2.260.848598627
FinishedDuplicate Db at 26-MAY-14
时间: 2024-08-05 11:16:49

duplicate报ORA-01017权限问题的相关文章

plsql 连接oralce数据库,报ora 12557 tns 协议适配器不可加载错误

使用plsql 连接oracle 数据库报ora 12557 错误: 解决方案: 1:首先确保服务中的service以及监听器都开启 2:F:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN下的tnsnames配置文件中的字符串连接是否配置 这个路径根据你的oracle安装路径有关 3:如果还是不行,删除注册表里面的环境变量oracle_home,默认只想路径 cmd——rededit—— HKEY_LOCAL_MECHINE——S

js报错“没有权限”

今天碰到的一个问题,简单总结下: sign.aspx中的JS代码: function Sign() { parent.SetValue("",""); parent.setSignDate(); } 执行到parent.setSignDate();时JS报错“没有权限”.都是同一个JS里的方法,怎么SetValue()没错,setSignDate()出错? 代码改成 function Sign() { parent.setSignDate(); parent.Set

关于oracle 11g导出数据时 报 ORA 1455错误的处理

由于导出的该用户的表可能存在空数据表,那么可能就会出现此其异常. 首先: 查看: SQL>show parameter deferred_segment_creation; 如果为TRUE,则将该参数改为FALSE: 在sqlplus中,执行如下命令: SQL>alter system set deferred_segment_creation=false; 然后: 可以针对数据表.索引.物化视图等手工分配Extent SQL>Select 'alter table '||table_n

npm报错没有权限

在npm install经常会报错没有权限 这个时候需要清除一下缓存 npm cache clean --force 原文地址:https://www.cnblogs.com/anxiaoyu/p/8688131.html

hadoop命令报错:权限问题

root用户执行hadoop命令报错: [[email protected] conf]# hadoop fs -ls /user/ [INFO] 17:50:42 main [RetryInvocationHandler]Exception while invoking getFileInfo of class ClientNamenodeProtocolTranslatorPB over vmocdp127.test.com/172.16.145.127:8020. Trying to fa

flume采集启动报错,权限不够

18/04/18 16:47:12 WARN source.EventReader: Could not find file: /home/hadoop/king/flume/103104/data/HD20180417213353.data java.io.FileNotFoundException: /home/hadoop/king/flume/103104/trackerDir/.flumespool-main.meta (Permission denied) at java.io.Fi

ORACLE同义词源库锁表导致目标库删除操作报ora 02055 02049 02063 06512

故障现象:目标库执行存储过程过程中报ora 02055 02049 02063 06512错误 排查过程:1.查询该存储过程的110行只是简单的删除动作 2.通过如下SQL语句查死锁,未见任何死锁SELECT 'alter system kill session '||chr(39)||l.session_id||','||s.serial#||chr(39)||'immediate;', l.session_id sid,s.serial#,l.locked_mode,l.oracle_use

ABP 用swagger UI测试API报401无权限访问问题

问题描述: 当我们用swagger UI对Web API 进行测试时报401错误 我们点开GET /api/services/app/Role/GetAll,输入参数 点击Try it out!按钮,报401错误 原因和解决方案 查看右上角有个红色感叹号的图标 点击查看原因是访问API需要输入授权token值进行验证,token值是后台根据登录用户动态生成的,如何获取呢? 解决方案,我们可以直接登录客户端查看访问API的token值即可 我以admin登录成功后,F12 查看浏览器访问后台tok

解决Oracle在scott用户下创建视图(VIEW)权限不足的方法

问题描述:在scott用户下创建视图的时候,报错:权限不足.(其他用户以此类推)解决方法: 以dba用户登录 [sql] view plain copy print? sqlplus / as sysdba 赋予scott用户创建VIEW的权限 [sql] view plain copy print? grant create view to scott 以scott用户登录oracle [sql] view plain copy print? conn scott/tiger 创建视图成功 [