ITPub博客

首页 > 数据库 > Oracle > duplicate报ORA-01017权限问题

duplicate报ORA-01017权限问题

原创 Oracle 作者:wuweilong 时间:2014-05-26 22:29:57 2 删除 编辑

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错误,经过几个小时的努力,问题最终也算是得到了比较好的解决。如下: 

故障现象

  1. rman target sys/oracle@jetdb auxiliary sys/oracle@standby


    Recovery Manager: 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.
    connected to target database: JETDB (DBID=2170518470)
    connected to auxiliary database: JETDB (not mounted)


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


    Starting restore at 26-MAY-14
    using target database control file instead of recovery catalog
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=416 device type=DISK


    channel ORA_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可以很明显看出是由于权限问题导致。

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

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

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

  1. Errors in 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
    Incident details in: /DBSoft/oracle/diag/rdbms/standby/standby/incident/incdir_24130/standby_asmb_11087_i24130.trc
    Use ADRCI or Support Workbench to package the incident.
    See Note 411.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-1013 signalled during: ALTER DATABASE   MOUNT...
    Mon May 26 16:31:34 2014


从告警文件中我们可以很明显的看出是ASM磁盘有问题,进入进入grid用户下用srvctl命令检查 asm状态:


  1. [grid@standby~]$ srvctl status asm
  2. ASM isrunning on standby
  3.  
  4. SQL>select name,state,free_mb from v$asm_diskgroup;
  5.  
  6. NAME STATE FREE_MB
  7. --------------------- ----------
  8. DATA001 MOUNTED 121112
  9. ARC001 MOUNTED 122483
  10. BAK001 MOUNTED 122826
结果看来ASM也是没有问题的,那么唯一的出问题的地方可能就是Oracle哪里配置的问题。


 

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

  1. [root@standby ~]# id oracle
  2. uid=501(oracle) gid=504(oinstall)groups=504(oinstall) ,505(dba)
  3. [root@standby ~]# id grid
  4. uid=500(grid) gid=504(oinstall) groups=504(oinstall),503(asmadmin),506(asmdba),507(asmoper)
到这里,我们发现问题可能出现在权限上。
oracle没有asmdba权限,随即添加上即可。
  1. [root@standby~]# usermod -G 503,506 oracle
  2. [root@standby~]# id oracle
  3. uid=501(oracle)gid=504(oinstall) groups=504(oinstall),503(asmadmin),505(dba),506(asmdba)
我们可以看到如下,再次执行duplicate,成功:


  1. [oracle@standby ~]$ rman target sys/oracle@jetdb auxiliary sys/oracle@standby

     

    Recovery Manager: 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.

     

    connected to target database: JETDB (DBID=2170518470)

    connected to auxiliary database: JETDB (not mounted)

     

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

     

    Starting Duplicate Db at 26-MAY-14

    using target database control file instead of recovery catalog

    allocated channel: ORA_AUX_DISK_1

    channel ORA_AUX_DISK_1: SID=122 device type=DISK

     

    contents of Memory Script:

    {

       backup as copy reuse

       targetfile  '/DBSoft/oracle/product/11.2.4/dbhome_1/dbs/orapwjetdb1' auxiliary format

     '/DBSoft/oracle/product/11.2.4/dbhome_1/dbs/orapwstandby'   ;

    }

    executing Memory Script

     

    Starting backup at 26-MAY-14

    allocated channel: ORA_DISK_1

    channel ORA_DISK_1: SID=14 instance=jetdb1 device type=DISK

    Finished backup at 26-MAY-14

     

    contents of Memory Script:

    {

       backup as copy current controlfile for standby auxiliary format  '+DATA001/jetdb/controlfile/control01.ctl';

    }

    executing Memory Script

     

    Starting backup at 26-MAY-14

    using channel ORA_DISK_1

    channel ORA_DISK_1: starting datafile copy

    copying standby control file

    output file name=+BAK001/rman/snapcf_jetdb1.f tag=TAG20140526T174956 RECID=11 STAMP=848598598

    channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01

    Finished backup at 26-MAY-14

     

    contents of Memory Script:

    {

       sql clone 'alter database mount standby database';

    }

    executing Memory Script

     

    sql statement: alter database mount standby database

    RMAN-05529: WARNING: DB_FILE_NAME_CONVERT resulted in invalid ASM names; names changed to disk group only.

     

    contents of 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';

    }

    executing Memory Script

     

    executing command: SET NEWNAME

     

    renamed tempfile 1 to +data001 in control file

     

    executing command: SET NEWNAME

     

    executing command: SET NEWNAME

     

    executing command: SET NEWNAME

     

    executing command: SET NEWNAME

     

    executing command: SET NEWNAME

     

    Starting backup at 26-MAY-14

    using channel ORA_DISK_1

    channel ORA_DISK_1: starting datafile copy

    input datafile file number=00001 name=+DATA001/jetdb/datafile/system.268.848240089

    output file name=+DATA001/standby/datafile/system.257.848598605 tag=TAG20140526T175005

    channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15

    channel ORA_DISK_1: starting datafile copy

    input datafile file number=00002 name=+DATA001/jetdb/datafile/sysaux.260.848240091

    output file name=+DATA001/standby/datafile/sysaux.258.848598619 tag=TAG20140526T175005

    channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07

    channel ORA_DISK_1: starting datafile copy

    input datafile file number=00003 name=+DATA001/jetdb/datafile/undotbs1.263.848240091

    output file name=+DATA001/standby/datafile/undotbs1.259.848598627 tag=TAG20140526T175005

    channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01

    channel ORA_DISK_1: starting datafile copy

    input datafile file number=00005 name=+DATA001/jetdb/datafile/undotbs2.264.848240331

    output file name=+DATA001/standby/datafile/undotbs2.260.848598627 tag=TAG20140526T175005

    channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01

    channel ORA_DISK_1: starting datafile copy

    input datafile file number=00004 name=+DATA001/jetdb/datafile/users.267.848240091

    output file name=+DATA001/standby/datafile/users.261.848598629 tag=TAG20140526T175005

    channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:02

    Finished backup at 26-MAY-14

     

    sql statement: alter system archive log current

     

    contents of Memory Script:

    {

       switch clone datafile all;

    }

    executing Memory Script

     

    datafile 1 switched to datafile copy

    input datafile copy RECID=11 STAMP=848598635 file name=+DATA001/standby/datafile/system.257.848598605

    datafile 2 switched to datafile copy

    input datafile copy RECID=12 STAMP=848598635 file name=+DATA001/standby/datafile/sysaux.258.848598619

    datafile 3 switched to datafile copy

    input datafile copy RECID=13 STAMP=848598635 file name=+DATA001/standby/datafile/undotbs1.259.848598627

    datafile 4 switched to datafile copy

    input datafile copy RECID=14 STAMP=848598635 file name=+DATA001/standby/datafile/users.261.848598629

    datafile 5 switched to datafile copy

    input datafile copy RECID=15 STAMP=848598635 file name=+DATA001/standby/datafile/undotbs2.260.848598627

    Finished Duplicate Db at 26-MAY-14


 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/20674423/viewspace-1170557/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle ACE Associate; 12cOCM;11gOCM;MySQL OCP;PGCA;PGCE;KCA; KCP; 本人拥有十年以上运营商,广电传媒,能源,制造等行业DBA从业经验; 有着丰富的管理及运维经验,经历过国家级重点项目,省级标杆项目,新型试点项目

注册时间:2010-01-08

  • 博文量
    779
  • 访问量
    4931708