Tag: Database

  • RMAN Duplicate With Same Database Name and Same Directory Structure

    Overview


    Oracle Recovery Manager (RMAN) provides a comprehensive foundation for efficiently backing up and recovering the Oracle databases, it provides a common interface, via command line and Enterprise Manager, for backup tasks across different host operating systems, automates administration of your backup strategies.
    Environment Details
    Target (Source) details
    Database Name
    prod
    Hostname
    Snsm-linux02
    Ip Address
    172.16.110.18
    OS
    Linux
    Version
    x86_64
    Datafile Location
    /data2/prod
    Backup Location
    /backup/rman_backup
    Tns details:
    PROD =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.110.18)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = prod)
        )
      )
    Destination (Auxiliary) details:
    Database Name
    Prod
    Hostname
    Nsm-linux01
    Ip Address
    172.16.110.16
    OS
    Linux
    Version
    x86_64
    Datafile Location
    /data2/prod
    Backup Location
    /backup/rman_backup
    Tns details:
    DUP =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.110.16)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = dup)
        )
      )

    Pre-requisites

    • Oracle net configuration
    • Both target and destination server should have tns entries
    • Static listener registration on auxiliary site
    • Service should be register on aux listener
    • Password files from target database
    • Sqlnet.ora should have correct parameters
    • Target database should be running through spfile
    • Check connectivity between target and destination server
    Steps on target (source) server

    • Put tns entry of auxiliary database into target $ORACLE_HOME/network/admin directory
    [oracle@Snsm-linux02 admin]$ cd /data2/app/oracle/product/11.2.0/network/admin
    [oracle@Snsm-linux02 admin]$ vi tnsnames.ora
    DUP =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.110.16)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = dup)
        )
      )
    [oracle@Snsm-linux02 admin]$ tnsping dup
    TNS Ping Utility for Linux: Version 11.2.0.1.0 – Production on 01-APR-2015 12:34:19
    Copyright (c) 1997, 2009, Oracle.  All rights reserved.
    Used parameter files:
    /data2/app/oracle/product/11.2.0/network/admin/sqlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.110.16)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED)
    (SERVICE_NAME = dup)))
    OK (0 msec)
    •  Check database whether it is running in archive log mode.
    SQL> select name, open_mode, log_mode from v$database;
    NAME       OPEN_MODE            LOG_MODE
    ———- ——————– —————
    PROD       READ WRITE           ARCHIVELOG
    • Check database is running from spfile.
    SQL> select value from v$parameter where name=’spfile’;
    VALUE
    —————————————————————–
    /data2/app/oracle/product/11.2.0/dbs/spfileprod.ora
    or
    SQL> show parameter pfile
    NAME                                 TYPE                              VALUE
    ———————————— ——————————— ——————————
    spfile                               string                            /data2/app/oracle/product/11.2
                                                                           .0/dbs/spfileprod.ora
    • Create pfile from spfile.
    SQL> create pfile=’/backup/rman_backup/initprod.ora’ from spfile;
    File created.
    • Create password file.
    [oracle@Snsm-linux02 dbs]$ pwd
    /data2/app/oracle/product/11.2.0/dbs
    [oracle@Snsm-linux02 dbs]$orapwd file=orapwprod password=oracle
    • Copy the password file and init file to destination $ORACLE_HOME/dbs directory using scp or ftp
    scp orapwprod oracle@172.16.110.18:/data2/app/oracle/product/11.2.0/dbs/
    scp /backup/rman_backup/initprod.ora oracle@172.16.110.18:/data2/app/oracle/product/11.2.0/dbs/
    Steps on destination server
    • Put static listener entry into listener.ora file in $ORACLE_HOME/network/admin directory.
    [oracle@Nsm-linux01 admin]$ cd /data2/app/oracle/product/11.2.0/network/admin
    [oracle@Nsm-linux01 admin]$
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = dup)
          (ORACLE_HOME = /data2/app/oracle/product/11.2.0)
          (SID_NAME = prod)
        )
      )
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.110.16)(PORT = 1521))
        )
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )
    Here global_name is nothing but service name and sid_name is instance name
    Now reload the listener and check the services
    [oracle@Nsm-linux01 admin]$ lsnrctl
    LSNRCTL for Linux: Version 11.2.0.1.0 – Production on 01-APR-2015 12:46:41
    Copyright (c) 1991, 2009, Oracle.  All rights reserved.
    Welcome to LSNRCTL, type “help” for information.
    LSNRCTL> reload
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.110.16)(PORT=1521)))
    The command completed successfully
    LSNRCTL> services
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.110.16)(PORT=1521)))
    Services Summary…
    Service “dup” has 1 instance(s).
      Instance “prod”, status UNKNOWN, has 1 handler(s) for this service…
        Handler(s):
          “DEDICATED” established:0 refused:0
             LOCAL SERVER
    Service “prod” has 1 instance(s).
          “DEDICATED” established:0 refused:0 state:ready
             LOCAL SERVER
    The command completed successfully
    • Put Tns entry for target (source) database in $ORACLE_HOME/network/admin directory
    [oracle@Nsm-linux01 admin]$ vi tnsnames.ora
    PROD =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.110.18)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = prod)
        )
      )
    [oracle@Nsm-linux01 admin]$ tnsping prod
    TNS Ping Utility for Linux: Version 11.2.0.1.0 – Production on 01-APR-2015 12:49:28
    Copyright (c) 1997, 2009, Oracle.  All rights reserved.
    Used parameter files:
    /data2/app/oracle/product/11.2.0/network/admin/sqlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.110.18)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED)
    (SERVICE_NAME = prod)))
    OK (10 msec)
    • Create the directory structure same as target(source) server.
    [oracle@Nsm-linux01 admin]$ mkdir -p /data2/prod
    [oracle@Nsm-linux01 admin]$ mkdir -p /backup/archive
    • Set the oracle Sid and start the instance in no mount stage.
    [oracle@Nsm-linux01 admin]$ export ORACLE_SID=prod
    [oracle@Nsm-linux01 admin]$ sqlplus
    SQL*Plus: Release 11.2.0.1.0 Production on Wed Apr 1 12:54:37 2015
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
    Enter user-name: sys as sysdba
    Enter password:
    Connected to an idle instance.
    SQL> startup nomount
    ORACLE instance started.
    Total System Global Area 1152450560 bytes
    Fixed Size                  2212696 bytes
    Variable Size             335547560 bytes
    Database Buffers          805306368 bytes
    Redo Buffers                9383936 bytes
    SQL>
    • Now connect to Rman
    [oracle@Nsm-linux01 admin]$ rman target sys/oracle@prod auxiliary sys/oracle@dup
    Recovery Manager: Release 11.2.0.1.0 – Production on Wed Apr 1 12:56:39 2015
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    connected to target database: PROD (DBID=284539893)
    connected to auxiliary database: PROD (not mounted)
    RMAN>
    • Issue the command to duplicate the database

    RMAN> DUPLICATE TARGET DATABASE TO prod FROM ACTIVE DATABASE NOFILENAMECHECK;
    Starting Duplicate Db at 01-APR-15
    using target database control file instead of recovery catalog
    allocated channel: ORA_AUX_DISK_1
    channel ORA_AUX_DISK_1: SID=63 device type=DISK
    Following is the output.
    contents of Memory Script:
    {
       sql clone “alter system set  db_name =
    ”PROD” comment=
    ”Modified by RMAN duplicate” scope=spfile”;
       sql clone “alter system set  db_unique_name =
    ”PROD” comment=
    ”Modified by RMAN duplicate” scope=spfile”;
       shutdown clone immediate;
       startup clone force nomount
       backup as copy current controlfile auxiliary format  ‘/data2/prod/control01.ctl’;
       restore clone controlfile to  ‘/data2/prod/control02.ctl’ from
    ‘/data2/prod/control01.ctl’;
       alter clone database mount;
    }
    executing Memory Script
    sql statement: alter system set  db_name =  ”PROD” comment= ”Modified by RMAN duplicate” scope=spfile
    sql statement: alter system set  db_unique_name =  ”PROD” comment= ”Modified by RMAN duplicate” scope=spfile
    Oracle instance shut down
    Oracle instance started
    Total System Global Area    1152450560 bytes
    Fixed Size                     2212696 bytes
    Variable Size                335547560 bytes
    Database Buffers             805306368 bytes
    Redo Buffers                   9383936 bytes
    Starting backup at 01-APR-15
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=76 device type=DISK
    channel ORA_DISK_1: starting datafile copy
    copying current control file
    output file name=/data2/app/oracle/product/11.2.0/dbs/snapcf_prod.f tag=TAG20150401T124940 RECID=4 STAMP=875882981
    channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
    Finished backup at 01-APR-15
    Starting restore at 01-APR-15
    allocated channel: ORA_AUX_DISK_1
    channel ORA_AUX_DISK_1: SID=63 device type=DISK
    channel ORA_AUX_DISK_1: copied control file copy
    Finished restore at 01-APR-15
    database mounted
    contents of Memory Script:
    {
       set newname for datafile  1 to
    “/data2/prod/system01.dbf”;
       set newname for datafile  2 to
    “/data2/prod/sysaux01.dbf”;
       set newname for datafile  3 to
    “/data2/prod/undotbs01.dbf”;
       set newname for datafile  4 to
    “/data2/prod/users01.dbf”;
       set newname for datafile  5 to
    “/data2/prod/example01.dbf”;
       backup as copy reuse
       datafile  1 auxiliary format
    “/data2/prod/system01.dbf”   datafile
    2 auxiliary format
    “/data2/prod/sysaux01.dbf”   datafile
    3 auxiliary format
    “/data2/prod/undotbs01.dbf”   datafile
    4 auxiliary format
    “/data2/prod/users01.dbf”   datafile
    5 auxiliary format
    “/data2/prod/example01.dbf”   ;
       sql ‘alter system archive log current’;
    }
    executing Memory Script
    executing command: SET NEWNAME
    executing command: SET NEWNAME
    executing command: SET NEWNAME
    executing command: SET NEWNAME
    executing command: SET NEWNAME
    Starting backup at 01-APR-15
    using channel ORA_DISK_1
    channel ORA_DISK_1: starting datafile copy
    input datafile file number=00001 name=/data2/prod/system01.dbf
    output file name=/data2/prod/system01.dbf tag=TAG20150401T124955
    channel ORA_DISK_1: datafile copy complete, elapsed time: 00:01:15
    channel ORA_DISK_1: starting datafile copy
    input datafile file number=00002 name=/data2/prod/sysaux01.dbf
    output file name=/data2/prod/sysaux01.dbf tag=TAG20150401T124955
    channel ORA_DISK_1: datafile copy complete, elapsed time: 00:01:05
    channel ORA_DISK_1: starting datafile copy
    input datafile file number=00005 name=/data2/prod/example01.dbf
    output file name=/data2/prod/example01.dbf tag=TAG20150401T124955
    channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
    channel ORA_DISK_1: starting datafile copy
    input datafile file number=00003 name=/data2/prod/undotbs01.dbf
    output file name=/data2/prod/undotbs01.dbf tag=TAG20150401T124955
    channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
    channel ORA_DISK_1: starting datafile copy
    input datafile file number=00004 name=/data2/prod/users01.dbf
    output file name=/data2/prod/users01.dbf tag=TAG20150401T124955
    channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
    Finished backup at 01-APR-15
    sql statement: alter system archive log current
    contents of Memory Script:
    {
       backup as copy reuse
       archivelog like  “/backup/archive/1_116_872701561.dbf” auxiliary format
    “/backup/archive/1_116_872701561.dbf”   ;
       catalog clone archivelog  “/backup/archive/1_116_872701561.dbf”;
       switch clone datafile all;
    }
    executing Memory Script
    Starting backup at 01-APR-15
    using channel ORA_DISK_1
    channel ORA_DISK_1: starting archived log copy
    input archived log thread=1 sequence=116 RECID=112 STAMP=875883160
    output file name=/backup/archive/1_116_872701561.dbf RECID=0 STAMP=0
    channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:03
    Finished backup at 01-APR-15
    cataloged archived log
    archived log file name=/backup/archive/1_116_872701561.dbf RECID=112 STAMP=875883644
    datafile 1 switched to datafile copy
    input datafile copy RECID=4 STAMP=875883644 file name=/data2/prod/system01.dbf
    datafile 2 switched to datafile copy
    input datafile copy RECID=5 STAMP=875883644 file name=/data2/prod/sysaux01.dbf
    datafile 3 switched to datafile copy
    input datafile copy RECID=6 STAMP=875883645 file name=/data2/prod/undotbs01.dbf
    datafile 4 switched to datafile copy
    input datafile copy RECID=7 STAMP=875883645 file name=/data2/prod/users01.dbf
    datafile 5 switched to datafile copy
    input datafile copy RECID=8 STAMP=875883645 file name=/data2/prod/example01.dbf
    contents of Memory Script:
    {
       set until scn  4529390;
       recover
       clone database
        delete archivelog
       ;
    }
    executing Memory Script
    executing command: SET until clause
    Starting recover at 01-APR-15
    using channel ORA_AUX_DISK_1
    starting media recovery
    archived log for thread 1 with sequence 116 is already on disk as file /backup/archive/1_116_872701561.dbf
    archived log file name=/backup/archive/1_116_872701561.dbf thread=1 sequence=116
    media recovery complete, elapsed time: 00:00:02
    Finished recover at 01-APR-15
    contents of Memory Script:
    {
       shutdown clone immediate;
       startup clone nomount;
       sql clone “alter system set  db_name =
    ”PROD” comment=
    ”Reset to original value by RMAN” scope=spfile”;
       sql clone “alter system reset  db_unique_name scope=spfile”;
       shutdown clone immediate;
       startup clone nomount;
    }
    executing Memory Script
    database dismounted
    Oracle instance shut down
    connected to auxiliary database (not started)
    Oracle instance started
    Total System Global Area    1152450560 bytes
    Fixed Size                     2212696 bytes
    Variable Size                335547560 bytes
    Database Buffers             805306368 bytes
    Redo Buffers                   9383936 bytes
    sql statement: alter system set  db_name =  ”PROD” comment= ”Reset to original value by RMAN” scope=spfile
    sql statement: alter system reset  db_unique_name scope=spfile
    Oracle instance shut down
    connected to auxiliary database (not started)
    Oracle instance started
    Total System Global Area    1152450560 bytes
    Fixed Size                     2212696 bytes
    Variable Size                335547560 bytes
    Database Buffers             805306368 bytes
    Redo Buffers                   9383936 bytes
    sql statement: CREATE CONTROLFILE REUSE SET DATABASE “PROD” RESETLOGS ARCHIVELOG
      MAXLOGFILES     16
      MAXLOGMEMBERS      3
      MAXDATAFILES      100
      MAXINSTANCES     8
      MAXLOGHISTORY      292
    LOGFILE
      GROUP  1 ( ‘/data2/prod/redo01.log’ ) SIZE 50 M  REUSE,
      GROUP  2 ( ‘/data2/prod/redo02.log’ ) SIZE 50 M  REUSE,
      GROUP  3 ( ‘/data2/prod/redo03.log’ ) SIZE 50 M  REUSE
    DATAFILE
      ‘/data2/prod/system01.dbf’
    CHARACTER SET WE8MSWIN1252
    contents of Memory Script:
    {
       set newname for tempfile  1 to
    “/data2/prod/temp01.dbf”;
       switch clone tempfile all;
       catalog clone datafilecopy  “/data2/prod/sysaux01.dbf”,
    “/data2/prod/undotbs01.dbf”,
    “/data2/prod/users01.dbf”,
    “/data2/prod/example01.dbf”;
       switch clone datafile all;
    }
    executing Memory Script
    executing command: SET NEWNAME
    renamed tempfile 1 to /data2/prod/temp01.dbf in control file
    cataloged datafile copy
    datafile copy file name=/data2/prod/sysaux01.dbf RECID=1 STAMP=875883671
    cataloged datafile copy
    datafile copy file name=/data2/prod/undotbs01.dbf RECID=2 STAMP=875883671
    cataloged datafile copy
    datafile copy file name=/data2/prod/users01.dbf RECID=3 STAMP=875883671
    cataloged datafile copy
    datafile copy file name=/data2/prod/example01.dbf RECID=4 STAMP=875883672
    datafile 2 switched to datafile copy
    input datafile copy RECID=1 STAMP=875883671 file name=/data2/prod/sysaux01.dbf
    datafile 3 switched to datafile copy
    input datafile copy RECID=2 STAMP=875883671 file name=/data2/prod/undotbs01.dbf
    datafile 4 switched to datafile copy
    input datafile copy RECID=3 STAMP=875883671 file name=/data2/prod/users01.dbf
    datafile 5 switched to datafile copy
    input datafile copy RECID=4 STAMP=875883672 file name=/data2/prod/example01.dbf
    contents of Memory Script:
    {
       Alter clone database open resetlogs;
    }
    executing Memory Script
    database opened
    Finished Duplicate Db at 01-APR-15
     Issues which we have faced are as follows              

    Everything has went well listener services were also worked fine, RMAN connectivity from auxiliary server also fine using net service name but  When issue the duplicate database command from RMAN> prompt it has thrown following error.
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of Duplicate Db command at 03/31/2015 16:01:01
    RMAN-03015: error occurred in stored script Memory Script
    RMAN-03009: failure of backup command on ORA_DISK_1 channel at 03/31/2015 16:01:01
    ORA-17629: Cannot connect to the remote database server
    ORA-17627: ORA-12154: TNS:could not resolve the connect identifier specified
    ORA-17629: Cannot connect to the remote database server
    Then we have searched for solutions, we get one MOS note 1144273.1
    This note gives some idea like causes and solutions from that we have checked in our databases on destination server there are wrong parameters in sqlnet.ora then we have corrected the sqlnet.ora file as follows
    [oracle@Nsm-linux01 admin]$ cat sqlnet.ora
    # sqlnet.ora Network Configuration File: /data2/app/oracle/product/11.2.0/network/admin/sqlnet.ora
    # Generated by Oracle configuration tools.
    SQLNET.AUTHENTICATION_SERVICES = (NTS,NONE)
    #NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
    ADR_BASE = /data2/app/oracle
    Now we have executed again, this time we get different error, check below.
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of Duplicate Db command at 03/31/2015 16:23:02
    RMAN-03015: error occurred in stored script Memory Script
    RMAN-03009: failure of backup command on ORA_DISK_1 channel at 03/31/2015 16:23:02
    ORA-17628: Oracle error 19505 returned by remote Oracle server
    After dig out the error we get to know that there is no directory structure is available on destination server to accommodate data files and control  Files, we have created the directory structure and execute the duplicate command again, this time has successful.
     Additionally there is one more MOS note for known issues while duplicating RMAN. 1366290.1





    Conclusion

    In the above article, we have learned that Active Duplication using Rman utility with same database name and same directory structure, and we have faced some errors and their work around.

    BY
    Name: Omer
    Designation: Senior Database Engineer
    Organization: Netsoftmate IT Solutions.
    Email: info@netsoftmate.com

    Avast logo
    This email has been checked for viruses by Avast antivirus software.
    www.avast.com

  • Rename Oracle ASM Disk Group On Exadata

    When Oracle ACS build Exadata Database Machine, they use the OEDA file that you sent them over for Exadata Install. The Exadata is built with default ASM Disk Group name DATAC1, RECOC1 & DBFS_DG. If you want to rename the DATAC1 and RECOC1 to something different to match your Organization standards you can do that by using the Oracle renamedg utility. The number Database version required to rename an ASM Disk Group is 11.2.


    In this article we will demonstrate how to rename ASM Disk Group on Exadata Database Machine running Oracle Database 11.2


    Here we want to change the following ASM Disk Group Names:
    DATAC1 to DATA
    RECOC1 to RECO


    Steps to rename ASM Disk Group


    • Get the Database version

    ORACLE_SID = [+ASM1] ? dbm011
    The Oracle base remains unchanged with value /u01/app/oracle


    [oracle@dm01db01 ~]$ sqlplus / as sysdba


    SQL*Plus: Release 11.2.0.4.0 Production on Thu May 24 16:36:34 2018
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.


    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
    With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
    Data Mining and Real Application Testing options


    SQL> select * from v$version;


    BANNER
    ——————————————————————————–
    Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
    PL/SQL Release 11.2.0.4.0 – Production
    CORE    11.2.0.4.0      Production
    TNS for Linux: Version 11.2.0.4.0 – Production
    NLSRTL Version 11.2.0.4.0 – Production

    • Connect to asmcmd and make a note of the Disk Group Names

    [oracle@dm01db01 ~]$ . oraenv


    ORACLE_SID = [oracle] ? +ASM1
    The Oracle base has been set to /u01/app/oracle


    [oracle@dm01db01 ~]$ asmcmd -p


    ASMCMD [+] > lsdg
    State    Type    Rebal  Sector  Block       AU   Total_MB    Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
    MOUNTED  HIGH    N         512   4096  4194304  272154624  271558968          6479872        88359698              0             N  DATAC1/
    MOUNTED  HIGH    N         512   4096  4194304    2404640    2402468            68704          777921              0             Y  DBFS_DG/
    MOUNTED  NORMAL  N         512   4096  4194304   45389568   45386648           540352        22423148              0             N  RECOC1/

    • Check the versions

    ASMCMD [+] > lsct
    DB_Name  Status     Software_Version  Compatible_version  Instance_Name  Disk_Group
    +ASM     CONNECTED        11.2.0.4.0          11.2.0.4.0  +ASM1          DBFS_DG
    DBM01    CONNECTED        11.2.0.4.0          11.2.0.4.0  dbm011         DATAC1

    • Check the database status

    [oracle@dm01db01 ~]$ srvctl status database -d dbm01
    Instance dbm011 is running on node dm01db01
    Instance dbm012 is running on node dm01db02
    Instance dbm013 is running on node dm01db03
    Instance dbm014 is running on node dm01db04

    • Make a note of the control files, Datafiles, Redo logfiles before stopping the database.

    SQL> select name from v$controlfile;
    SQL> select name from v$datafile;
    SQL> select member from v$logfile;
    SQL> select * from v$block_change_tracking;

    • Stop database database

    [oracle@dm01db01 ~]$ srvctl stop database -d dbm01


    [oracle@dm01db01 ~]$ srvctl status database -d dbm01
    Instance dbm011 is not running on node dm01db01
    Instance dbm012 is not running on node dm01db02
    Instance dbm013 is not running on node dm01db03
    Instance dbm014 is not running on node dm01db04

    • Umount the ASM disk group(s) that you want to rename. Connect to ASM command prompt and umount the disk group. umount the disk group from all nodes.

    ASMCMD [+] > umount DATAC1


    ASMCMD [+] > umount RECOC1


    ASMCMD [+] > lsdg
    State    Type  Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
    MOUNTED  HIGH  N         512   4096  4194304   2404640  2402468            68704          777921              0             Y  DBFS_DG/


    Note: If you don’t stop the databases using ASM disk group you will get the following error message:


    ASMCMD [+] > umount DATAC1
    ORA-15032: not all alterations performed
    ORA-15027: active use of diskgroup “DATAC1” precludes its dismount (DBD ERROR: OCIStmtExecute)


    *** Repeat the above steps on all the remaining nodes in the Cluster***


    [oracle@dm01db01 ~]$ ssh dm01db02
    Last login: Thu May 17 15:23:31 2018 from dm01db01


    [oracle@dm01db02 ~]$ . oraenv
    ORACLE_SID = [oracle] ? +ASM2
    The Oracle base has been set to /u01/app/oracle


    [oracle@dm01db02 ~]$ asmcmd lsdg
    State    Type    Rebal  Sector  Block       AU   Total_MB    Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
    MOUNTED  HIGH    N         512   4096  4194304  272154624  271558968          6479872        88359698              0             N  DATAC1/
    MOUNTED  HIGH    N         512   4096  4194304    2404640    2402468            68704          777921              0             Y  DBFS_DG/
    MOUNTED  NORMAL  N         512   4096  4194304   45389568   45385040           540352        22422344              0             N  RECOC1/


    [oracle@dm01db02 ~]$ asmcmd umount DATAC1


    [oracle@dm01db02 ~]$ asmcmd umount RECOC1


    [oracle@dm01db02 ~]$ asmcmd lsdg
    State    Type  Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
    MOUNTED  HIGH  N         512   4096  4194304   2404640  2402468            68704          777921              0             Y  DBFS_DG/


    [oracle@dm01db01 ~]$ ssh dm01db03
    Last login: Thu May 17 15:23:31 2018 from dm01db01


    [oracle@dm01db03 ~]$ . oraenv
    ORACLE_SID = [oracle] ? +ASM3
    The Oracle base has been set to /u01/app/oracle


    [oracle@dm01db03 ~]$ asmcmd umount DATAC1


    [oracle@dm01db03 ~]$ asmcmd umount RECOC1


    [oracle@dm01db03 ~]$ asmcmd lsdg
    State    Type  Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
    MOUNTED  HIGH  N         512   4096  4194304   2404640  2402468            68704          777921              0             Y  DBFS_DG/


    [oracle@dm01db01 ~]$ ssh dm01db04
    Last login: Thu May 17 15:23:31 2018 from dm01db01


    [oracle@dm01db04 ~]$ . oraenv
    ORACLE_SID = [oracle] ? +ASM4
    The Oracle base has been set to /u01/app/oracle


    [oracle@dm01db04 ~]$ asmcmd umount DATAC1


    [oracle@dm01db04 ~]$ asmcmd umount RECOC1


    [oracle@dm01db04 ~]$ asmcmd lsdg
    State    Type  Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
    MOUNTED  HIGH  N         512   4096  4194304   2404640  2402468            68704          777921              0             Y  DBFS_DG/

    • Verify that renamedg is in PATH

    [oracle@dm01db01 ~]$ which renamedg
    /u01/app/11.2.0.4/grid/bin/renamedg

    • As owner of the Grid Infrastruture software execute the renamdg command. Here the owner of GI home is ‘oracle’ user. First I am renaming DATAC1 disk group to DATA

    [oracle@dm01db01 ~]$ renamedg phase=both dgname=DATAC1 newdgname=DATA verbose=true


    NOTE: No asm libraries found in the system
    Parsing parameters..
    Parameters in effect:


             Old DG name       : DATAC1
             New DG name       : DATA
             Phases            :
                     Phase 1
                     Phase 2
             Discovery str      : (null)
             Clean              : TRUE
             Raw only           : TRUE
    renamedg operation: phase=both dgname=DATAC1 newdgname=DATA verbose=true
    Executing phase 1
    Discovering the group
    Performing discovery with string:
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_02_dm01cel01 with disk number:74 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_11_dm01cel01 with disk number:83 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_07_dm01cel01 with disk number:79 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_04_dm01cel01 with disk number:76 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_05_dm01cel01 with disk number:77 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_10_dm01cel01 with disk number:82 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_06_dm01cel01 with disk number:78 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_03_dm01cel01 with disk number:75 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_00_dm01cel01 with disk number:72 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_08_dm01cel01 with disk number:80 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_01_dm01cel01 with disk number:73 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_09_dm01cel01 with disk number:81 and timestamp (33068591 612262912)



    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_09_dm01cel07 with disk number:69 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_03_dm01cel07 with disk number:63 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_06_dm01cel07 with disk number:66 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_08_dm01cel07 with disk number:68 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_04_dm01cel07 with disk number:64 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_07_dm01cel07 with disk number:67 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_01_dm01cel07 with disk number:61 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_05_dm01cel07 with disk number:65 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_02_dm01cel07 with disk number:62 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_00_dm01cel07 with disk number:60 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_11_dm01cel07 with disk number:71 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_10_dm01cel07 with disk number:70 and timestamp (33068591 612262912)
    Checking for hearbeat…
    Re-discovering the group
    Performing discovery with string:
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_02_dm01cel01 with disk number:74 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_11_dm01cel01 with disk number:83 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_07_dm01cel01 with disk number:79 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_04_dm01cel01 with disk number:76 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_05_dm01cel01 with disk number:77 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_10_dm01cel01 with disk number:82 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_06_dm01cel01 with disk number:78 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_03_dm01cel01 with disk number:75 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_00_dm01cel01 with disk number:72 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_08_dm01cel01 with disk number:80 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_01_dm01cel01 with disk number:73 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/DATAC1_CD_09_dm01cel01 with disk number:81 and timestamp (33068591 612262912)



    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_09_dm01cel07 with disk number:69 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_03_dm01cel07 with disk number:63 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_06_dm01cel07 with disk number:66 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_08_dm01cel07 with disk number:68 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_04_dm01cel07 with disk number:64 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_07_dm01cel07 with disk number:67 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_01_dm01cel07 with disk number:61 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_05_dm01cel07 with disk number:65 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_02_dm01cel07 with disk number:62 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_00_dm01cel07 with disk number:60 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_11_dm01cel07 with disk number:71 and timestamp (33068591 612262912)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/DATAC1_CD_10_dm01cel07 with disk number:70 and timestamp (33068591 612262912)
    Checking if the diskgroup is mounted or used by CSS
    Checking disk number:74
    Checking disk number:83
    Checking disk number:79
    Checking disk number:76
    Checking disk number:77
    Checking disk number:82
    Checking disk number:78
    Checking disk number:75
    Checking disk number:72
    Checking disk number:80
    Checking disk number:73
    Checking disk number:81
    Checking disk number:69
    Checking disk number:63
    Checking disk number:66
    Checking disk number:68
    Checking disk number:64
    Checking disk number:67
    Checking disk number:61
    Checking disk number:65
    Checking disk number:62
    Checking disk number:60


    Generating configuration file..
    Completed phase 1
    Executing phase 2
    Looking for o/192.168.10.9;192.168.10.10/DATAC1_CD_02_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/DATAC1_CD_11_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/DATAC1_CD_07_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/DATAC1_CD_04_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/DATAC1_CD_05_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/DATAC1_CD_10_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/DATAC1_CD_06_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/DATAC1_CD_03_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/DATAC1_CD_00_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/DATAC1_CD_08_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/DATAC1_CD_01_dm01cel01
    Modifying the header


    Modifying the header
    Completed phase 2
    Terminating kgfd context 0x7f9d346240a0

    • Now rename RECOC1 ASM disk group to RECO using renamdg command

    [oracle@dm01db01 ~]$ renamedg phase=both dgname=RECOC1 newdgname=RECO verbose=true


    NOTE: No asm libraries found in the system
    Parsing parameters..
    Parameters in effect:


             Old DG name       : RECOC1
             New DG name       : RECO
             Phases            :
                     Phase 1
                     Phase 2
             Discovery str      : (null)
             Clean              : TRUE
             Raw only           : TRUE
    renamedg operation: phase=both dgname=RECOC1 newdgname=RECO verbose=true
    Executing phase 1
    Discovering the group
    Performing discovery with string:
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_03_dm01cel01 with disk number:75 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_04_dm01cel01 with disk number:76 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_05_dm01cel01 with disk number:77 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_00_dm01cel01 with disk number:72 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_10_dm01cel01 with disk number:82 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_07_dm01cel01 with disk number:79 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_02_dm01cel01 with disk number:74 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_01_dm01cel01 with disk number:73 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_11_dm01cel01 with disk number:83 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_08_dm01cel01 with disk number:80 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_09_dm01cel01 with disk number:81 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_06_dm01cel01 with disk number:78 and timestamp (33068591 628813824)


    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_01_dm01cel07 with disk number:61 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_08_dm01cel07 with disk number:68 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_06_dm01cel07 with disk number:66 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_11_dm01cel07 with disk number:71 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_10_dm01cel07 with disk number:70 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_05_dm01cel07 with disk number:65 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_00_dm01cel07 with disk number:60 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_03_dm01cel07 with disk number:63 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_09_dm01cel07 with disk number:69 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_07_dm01cel07 with disk number:67 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_02_dm01cel07 with disk number:62 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_04_dm01cel07 with disk number:64 and timestamp (33068591 628813824)
    Checking for hearbeat…
    Re-discovering the group
    Performing discovery with string:
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_03_dm01cel01 with disk number:75 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_04_dm01cel01 with disk number:76 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_05_dm01cel01 with disk number:77 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_00_dm01cel01 with disk number:72 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_10_dm01cel01 with disk number:82 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_07_dm01cel01 with disk number:79 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_02_dm01cel01 with disk number:74 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_01_dm01cel01 with disk number:73 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_11_dm01cel01 with disk number:83 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_08_dm01cel01 with disk number:80 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_09_dm01cel01 with disk number:81 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.9;192.168.10.10/RECOC1_CD_06_dm01cel01 with disk number:78 and timestamp (33068591 628813824)


    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_01_dm01cel07 with disk number:61 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_08_dm01cel07 with disk number:68 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_06_dm01cel07 with disk number:66 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_11_dm01cel07 with disk number:71 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_10_dm01cel07 with disk number:70 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_05_dm01cel07 with disk number:65 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_00_dm01cel07 with disk number:60 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_03_dm01cel07 with disk number:63 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_09_dm01cel07 with disk number:69 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_07_dm01cel07 with disk number:67 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_02_dm01cel07 with disk number:62 and timestamp (33068591 628813824)
    Identified disk OSS::o/192.168.10.21;192.168.10.22/RECOC1_CD_04_dm01cel07 with disk number:64 and timestamp (33068591 628813824)


    Checking if the diskgroup is mounted or used by CSS
    Checking disk number:75
    Checking disk number:76
    Checking disk number:77
    Checking disk number:72
    Checking disk number:82
    Checking disk number:79
    Checking disk number:74
    Checking disk number:73
    Checking disk number:83
    Checking disk number:80
    Checking disk number:81
    Checking disk number:78
    Checking disk number:61
    Checking disk number:68
    Checking disk number:66
    Checking disk number:71
    Checking disk number:70
    Checking disk number:65
    Checking disk number:60
    Checking disk number:63
    Checking disk number:69
    Checking disk number:67
    Checking disk number:62
    Checking disk number:64
    Checking disk number:49


    Generating configuration file..
    Completed phase 1
    Executing phase 2
    Looking for o/192.168.10.9;192.168.10.10/RECOC1_CD_03_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/RECOC1_CD_04_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/RECOC1_CD_05_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/RECOC1_CD_00_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/RECOC1_CD_10_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/RECOC1_CD_07_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/RECOC1_CD_02_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/RECOC1_CD_01_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/RECOC1_CD_11_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/RECOC1_CD_08_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/RECOC1_CD_09_dm01cel01
    Modifying the header
    Looking for o/192.168.10.9;192.168.10.10/RECOC1_CD_06_dm01cel01
    Modifying the header


    Modifying the header
    Completed phase 2
    Terminating kgfd context 0x7f8d42f6c0a0

    • Mount the DATA and RECO ASM disk groups on all the nodes.

    [oracle@dm01db01 ~]$ asmcmd -p


    ASMCMD [+] > lsdg
    State    Type  Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
    MOUNTED  HIGH  N         512   4096  4194304   2404640  2402468            68704          777921              0             Y  DBFS_DG/


    ASMCMD [+] > mount DATA


    ASMCMD [+] > mount RECO


    ASMCMD [+] > lsdg
    State    Type    Rebal  Sector  Block       AU   Total_MB    Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
    MOUNTED  HIGH    N         512   4096  4194304  272154624  271558968          6479872        88359698              0             N  DATA/
    MOUNTED  HIGH    N         512   4096  4194304    2404640    2402468            68704          777921              0             Y  DBFS_DG/
    MOUNTED  NORMAL  N         512   4096  4194304   45389568   45385040           540352        22422344              0             N  RECO/


    *** Repeat the above steps on all the remaning compute nodes in the Cluster***


    Note: 

    • renamedg utility cannot rename the associated ASM/Grid disk disk name
    • renamedg utility cannot rename/update the control files, datafiles, redo log files and any other files that reference ASM DG for all databases



    Steps to rename control files, datafiles, redo log files and other database files


    • Update SPFILE location

    [oracle@dm01db01 ~]$ cd $ORACLE_HOME/dbs


    [oracle@dm01db01 dbs]$ cat initdbm011.ora
    SPFILE=’+DATAC1/dbm01/spfiledbm01.ora’


    [oracle@dm01db01 dbs]$ vi initdbm011.ora


    [oracle@dm01db01 dbs]$ cat initdbm011.ora
    SPFILE=’+DATA/dbm01/spfiledbm01.ora’


    [oracle@dm01db01 dbs]$ scp initdbm011.ora dm01db02:/u01/app/oracle/product/11.2.0.4/dbhome/dbs/initdbm012.ora
    initdbm011.ora                                                                                                                                             100%   42     0.0KB/s   00:00


    [oracle@dm01db01 dbs]$ scp initdbm011.ora dm01db03:/u01/app/oracle/product/11.2.0.4/dbhome/dbs/initdbm013.ora
    initdbm011.ora                                                                                                                                             100%   42     0.0KB/s   00:00


    [oracle@dm01db01 dbs]$ scp initdbm011.ora dm01db04:/u01/app/oracle/product/11.2.0.4/dbhome/dbs/initdbm014.ora
    initdbm011.ora                                                                                                                                             100%   42     0.0KB/s   00:00

    • Update control file location

    [oracle@dm01db01 dbs]$ . oraenv
    ORACLE_SID = [dbm011] ?
    The Oracle base remains unchanged with value /u01/app/oracle


    [oracle@dm01db01 dbs]$ sqlplus / as sysdba


    SQL*Plus: Release 11.2.0.4.0 Production on Fri May 25 10:17:49 2018
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.
    Connected to an idle instance.


    SQL> startup nomount;
    ORACLE instance started.


    Total System Global Area 2.5655E+10 bytes
    Fixed Size                  2265224 bytes
    Variable Size            4160753528 bytes
    Database Buffers         2.1341E+10 bytes
    Redo Buffers              151113728 bytes


    SQL> show parameter control_files


    NAME                                 TYPE        VALUE
    ———————————— ———– ——————————
    control_files                        string      +DATAC1/dbm01/controlfile/current.256.976374731


    SQL> alter system set control_files=’+DATA/dbm01/controlfile/current.256.976374731′ scope=spfile;


    System altered.


    SQL> shutdown immediate;
    ORA-01507: database not mounted




    ORACLE instance shut down.
    SQL> startup mount
    ORACLE instance started.


    Total System Global Area 2.5655E+10 bytes
    Fixed Size                  2265224 bytes
    Variable Size            4160753528 bytes
    Database Buffers         2.1341E+10 bytes
    Redo Buffers              151113728 bytes
    Database mounted.


    SQL> select name from v$controlfile;


    NAME
    ——————————————————————————–
    +DATA/dbm01/controlfile/current.256.976374731

    • Update datafile and redo log file locations

    SQL> select name from v$datafile;


    NAME
    ——————————————————————————–
    +DATAC1/dbm01/datafile/system.259.976374739
    +DATAC1/dbm01/datafile/sysaux.260.976374743
    +DATAC1/dbm01/datafile/undotbs1.261.976374745
    +DATAC1/dbm01/datafile/undotbs2.263.976374753
    +DATAC1/dbm01/datafile/undotbs3.264.976374755
    +DATAC1/dbm01/datafile/undotbs4.265.976374757
    +DATAC1/dbm01/datafile/users.266.976374757


    7 rows selected.


    SQL> select member from v$logfile;


    MEMBER
    ——————————————————————————–
    +DATAC1/dbm01/onlinelog/group_1.257.976374733
    +DATAC1/dbm01/onlinelog/group_2.258.976374735
    +DATAC1/dbm01/onlinelog/group_7.267.976375073
    +DATAC1/dbm01/onlinelog/group_8.268.976375075
    +DATAC1/dbm01/onlinelog/group_5.269.976375079
    +DATAC1/dbm01/onlinelog/group_6.270.976375083
    +DATAC1/dbm01/onlinelog/group_3.271.976375085
    +DATAC1/dbm01/onlinelog/group_4.272.976375087
    +DATAC1/dbm01/onlinelog/group_9.274.976375205
    +DATAC1/dbm01/onlinelog/group_10.275.976375209
    +DATAC1/dbm01/onlinelog/group_11.276.976375211
    +DATAC1/dbm01/onlinelog/group_12.277.976375215
    +DATAC1/dbm01/onlinelog/group_13.278.976375217
    +DATAC1/dbm01/onlinelog/group_14.279.976375219
    +DATAC1/dbm01/onlinelog/group_15.280.976375223
    +DATAC1/dbm01/onlinelog/group_16.281.976375225


    16 rows selected.


    SQL> alter database rename file ‘+DATAC1/dbm01/datafile/system.259.976374739’ to ‘+DATA/dbm01/datafile/system.259.976374739’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/datafile/sysaux.260.976374743’ to ‘+DATA/dbm01/datafile/sysaux.260.976374743’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/datafile/undotbs1.261.976374745’ to ‘+DATA/dbm01/datafile/undotbs1.261.976374745’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/datafile/undotbs2.263.976374753’ to ‘+DATA/dbm01/datafile/undotbs2.263.976374753’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/datafile/undotbs3.264.976374755’ to ‘+DATA/dbm01/datafile/undotbs3.264.976374755’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/datafile/undotbs4.265.976374757’ to ‘+DATA/dbm01/datafile/undotbs4.265.976374757’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/datafile/users.266.976374757’ to ‘+DATA/dbm01/datafile/users.266.976374757’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/onlinelog/group_1.257.976374733’  to ‘+DATA/dbm01/onlinelog/group_1.257.976374733’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/onlinelog/group_2.258.976374735’  to ‘+DATA/dbm01/onlinelog/group_2.258.976374735’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/onlinelog/group_7.267.976375073’  to ‘+DATA/dbm01/onlinelog/group_7.267.976375073’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/onlinelog/group_8.268.976375075’  to ‘+DATA/dbm01/onlinelog/group_8.268.976375075’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/onlinelog/group_5.269.976375079’  to ‘+DATA/dbm01/onlinelog/group_5.269.976375079’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/onlinelog/group_6.270.976375083’  to ‘+DATA/dbm01/onlinelog/group_6.270.976375083’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/onlinelog/group_3.271.976375085’  to ‘+DATA/dbm01/onlinelog/group_3.271.976375085’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/onlinelog/group_4.272.976375087’  to ‘+DATA/dbm01/onlinelog/group_4.272.976375087’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/onlinelog/group_9.274.976375205’  to ‘+DATA/dbm01/onlinelog/group_9.274.976375205’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/onlinelog/group_10.275.976375209’ to ‘+DATA/dbm01/onlinelog/group_10.275.976375209’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/onlinelog/group_11.276.976375211’ to ‘+DATA/dbm01/onlinelog/group_11.276.976375211’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/onlinelog/group_12.277.976375215’ to ‘+DATA/dbm01/onlinelog/group_12.277.976375215’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/onlinelog/group_13.278.976375217’ to ‘+DATA/dbm01/onlinelog/group_13.278.976375217’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/onlinelog/group_14.279.976375219’ to ‘+DATA/dbm01/onlinelog/group_14.279.976375219’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/onlinelog/group_15.280.976375223’ to ‘+DATA/dbm01/onlinelog/group_15.280.976375223’;


    Database altered.


    SQL> alter database rename file ‘+DATAC1/dbm01/onlinelog/group_16.281.976375225’ to ‘+DATA/dbm01/onlinelog/group_16.281.976375225’;


    Database altered.

    • Verify the datafiles and redo log files names

    SQL> select name from v$datafile;


    NAME
    ——————————————————————————–
    +DATA/dbm01/datafile/system.259.976374739
    +DATA/dbm01/datafile/sysaux.260.976374743
    +DATA/dbm01/datafile/undotbs1.261.976374745
    +DATA/dbm01/datafile/undotbs2.263.976374753
    +DATA/dbm01/datafile/undotbs3.264.976374755
    +DATA/dbm01/datafile/undotbs4.265.976374757
    +DATA/dbm01/datafile/users.266.976374757


    7 rows selected.


    SQL> select member from v$logfile;


    MEMBER
    ——————————————————————————–
    +DATA/dbm01/onlinelog/group_1.257.976374733
    +DATA/dbm01/onlinelog/group_2.258.976374735
    +DATA/dbm01/onlinelog/group_7.267.976375073
    +DATA/dbm01/onlinelog/group_8.268.976375075
    +DATA/dbm01/onlinelog/group_5.269.976375079
    +DATA/dbm01/onlinelog/group_6.270.976375083
    +DATA/dbm01/onlinelog/group_3.271.976375085
    +DATA/dbm01/onlinelog/group_4.272.976375087
    +DATA/dbm01/onlinelog/group_9.274.976375205
    +DATA/dbm01/onlinelog/group_10.275.976375209
    +DATA/dbm01/onlinelog/group_11.276.976375211
    +DATA/dbm01/onlinelog/group_12.277.976375215
    +DATA/dbm01/onlinelog/group_13.278.976375217
    +DATA/dbm01/onlinelog/group_14.279.976375219
    +DATA/dbm01/onlinelog/group_15.280.976375223
    +DATA/dbm01/onlinelog/group_16.281.976375225


    16 rows selected.

    • Update block change tracking file location

    SQL> alter database rename file ‘+DATAC1/dbm01/changetracking/ctf.282.976375227’ to ‘+DATA/dbm01/changetracking/ctf.282.976375227’;


    Database altered.


    SQL> select * from v$block_change_tracking;


    STATUS
    ———-
    FILENAME
    ——————————————————————————–
         BYTES
    ———-
    ENABLED
    +DATA/dbm01/changetracking/ctf.282.976375227
      11599872

    • Update OMF related parameters

    SQL> show parameter db_create_online_log_dest_1


    NAME                                 TYPE        VALUE
    ———————————— ———– ——————————
    db_create_online_log_dest_1          string      +DATAC1


    SQL> alter system set db_create_online_log_dest_1=’+DATA’;


    System altered.


    SQL> show parameter db_create_online_log_dest_1


    NAME                                 TYPE        VALUE
    ———————————— ———– ——————————
    db_create_online_log_dest_1          string      +DATA

    • Update Fast Recovery Area location

    SQL> show parameter db_recovery_file_dest


    NAME                                 TYPE        VALUE
    ———————————— ———– ——————————
    db_recovery_file_dest                string      +RECOC1
    db_recovery_file_dest_size           big integer 20425000M


    SQL> alter system set db_recovery_file_dest=’+RECO’;


    System altered.


    SQL> show parameter db_recovery_file_dest


    NAME                                 TYPE        VALUE
    ———————————— ———– ——————————
    db_recovery_file_dest                string      +RECO
    db_recovery_file_dest_size           big integer 20425000M

    • Shutdown the database

    SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> exit

    • Update the database configuration

    [oracle@dm01db01 dbs]$ srvctl config database -d dbm01
    Database unique name: dbm01
    Database name: dbm01
    Oracle home: /u01/app/oracle/product/11.2.0.4/dbhome
    Oracle user: oracle
    Spfile: +DATAC1/dbm01/spfiledbm01.ora
    Domain:
    Start options: open
    Stop options: immediate
    Database role: PRIMARY
    Management policy: AUTOMATIC
    Server pools: dbm01
    Database instances: dbm011,dbm012,dbm013,dbm014
    Disk Groups: DATAC1,RECOC1,DATA
    Mount point paths:
    Services:
    Type: RAC
    Database is administrator managed


    [oracle@dm01db01 dbs]$ srvctl modify database -p +DATA/dbm01/spfiledbm01.ora -a DATA,RECO -d dbm01


    [oracle@dm01db01 dbs]$ srvctl config database -d dbm01
    Database unique name: dbm01
    Database name: dbm01
    Oracle home: /u01/app/oracle/product/11.2.0.4/dbhome
    Oracle user: oracle
    Spfile: +DATA/dbm01/spfiledbm01.ora
    Domain:
    Start options: open
    Stop options: immediate
    Database role: PRIMARY
    Management policy: AUTOMATIC
    Server pools: dbm01
    Database instances: dbm011,dbm012,dbm013,dbm014
    Disk Groups: DATA,RECO
    Mount point paths:
    Services:
    Type: RAC
    Database is administrator managed

    • Start the database and verify

    [oracle@dm01db01 dbs]$ srvctl start database -d dbm01


    [oracle@dm01db01 dbs]$ srvctl status database -d dbm01
    Instance dbm011 is running on node dm01db01
    Instance dbm012 is running on node dm01db02
    Instance dbm013 is running on node dm01db03
    Instance dbm014 is running on node dm01db04


    [oracle@dm01db01 dbs]$ sqlplus / as sysdba


    SQL*Plus: Release 11.2.0.4.0 Production on Fri May 25 10:40:34 2018
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.


    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
    With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
    Data Mining and Real Application Testing options


    SQL> select name, open_mode,database_role from gv$database;


    NAME      OPEN_MODE            DATABASE_ROLE
    ——— ——————– —————-
    DBM01     READ WRITE           PRIMARY
    DBM01     READ WRITE           PRIMARY
    DBM01     READ WRITE           PRIMARY
    DBM01     READ WRITE           PRIMARY


    ORACLE_SID = [+ASM1] ? dbm011
    The Oracle base remains unchanged with value /u01/app/oracle


    [oracle@dm01db01 ~]$ sqlplus / as sysdba


    SQL*Plus: Release 11.2.0.4.0 Production on Thu May 24 16:36:34 2018
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.


    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
    With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
    Data Mining and Real Application Testing options


    SQL> select * from v$version;


    BANNER
    ——————————————————————————–
    Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
    PL/SQL Release 11.2.0.4.0 – Production
    CORE    11.2.0.4.0      Production
    TNS for Linux: Version 11.2.0.4.0 – Production
    NLSRTL Version 11.2.0.4.0 – Production




    [oracle@dm01db01 ~]$ . oraenv


    ORACLE_SID = [oracle] ? +ASM1
    The Oracle base has been set to /u01/app/oracle


    [oracle@dm01db01 ~]$ asmcmd -p


    ASMCMD [+] > lsdg
    State    Type    Rebal  Sector  Block       AU   Total_MB    Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
    MOUNTED  HIGH    N         512   4096  4194304  272154624  271558968          6479872        88359698              0             N  DATAC1/
    MOUNTED  HIGH    N         512   4096  4194304    2404640    2402468            68704          777921              0             Y  DBFS_DG/
    MOUNTED  NORMAL  N         512   4096  4194304   45389568   45386648           540352        22423148              0             N  RECOC1/


    ASMCMD [+] > lsct
    DB_Name  Status     Software_Version  Compatible_version  Instance_Name  Disk_Group
    +ASM     CONNECTED        11.2.0.4.0          11.2.0.4.0  +ASM1          DBFS_DG
    DBM01    CONNECTED        11.2.0.4.0          11.2.0.4.0  dbm011         DATAC1


    [oracle@dm01db01 ~]$ srvctl status database -d dbm01
    Instance dbm011 is running on node dm01db01
    Instance dbm012 is running on node dm01db02
    Instance dbm013 is running on node dm01db03
    Instance dbm014 is running on node dm01db04




    Conclusion


    In this article we have learned how to rename an ASM Disk group on Exadata running Oracle Database 11.2. Starting with Oracle Database 11.2 you can use the renamedg command to rename an ASM Disk Group. renamedg utility cannot rename the associated ASM/Grid disk disk name. Also renamedg cannot rename/update the control files, datafiles, redo log files and any other files that reference ASM DG for all databases. You must update database files manually after renaming ASM disk groups.

  • Oracle Exadata Database Machine Health Check – Exachk 18c

    Oracle has released Exachk utility 18c on May 18th, 2018. Let’s quickly check if there are differences in Exachk 18c or it is similar to Exachk 12c.


    Download latest Exachk 18c utility from MOS note:
    Oracle Exadata Database Machine exachk or HealthCheck (Doc ID 1070954.1)


    Changes in Exachk 18.2 can be found at:
    https://docs.oracle.com/cd/E96145_01/OEXUG/changes-in-this-release-18-2-0.htm#OEXUG-GUID-88FCFBC6-C647-47D3-898C-F4C712117B8B


    Steps to Execute Exachk 18c on Exadata Database Machine



    Download the latest Exachk from MOS note. Here I am downloading Exachk 18c.

    Download Completed

    Using WinSCP copy the exachk.zip file to Exadata Compute node

    Copy completed. List the Exachk file on Compute node

    Unzip the Exachk zip file

    Verify Exachk version

    Execute Exachk Health by running the following command

    Exachk execution completed

    Review the Exachk report and take necessary action


    Conclusion
    In this article we have learned how to execute Oracle Exadata Database Machine health Check using Exachk 18c. Using Exachk 18c is NO different than it’s previous releases.

  • SCN Based RMAN backup in nohup

    In this article, I would like to demonstrate how to create a shell script to perform an RMAN SCN based backup and execute in background. 



    Tip: Scripting is a powerful tool to automate and execute jobs in background.


    Below example shows how to perform an SCN based RMAN Incremental backup using 4 Channels when we perform Roll-forward of Physical Standby.

    Step 1. Make a RMAN command file with RMAN Commands.


    Create a cmd script and include RMAN backup command.



    Get current SCN of Physical Standby and select a location to store RMAN backup files.


    SQL> column BYTES current_scn 99999999999999
    SQL> select current_scn from v$database;
    CURRENT_SCN
    ———–
    7707430599033

    $ cd /orac01/orclprd_standby
    $ vi SCN_based_backup.cmd
    run
    {
    allocate channel t1 type disk ;
    allocate channel t2 type disk ;
    allocate channel t3 type disk ;
    allocate channel t4 type disk ;
    backup incremental from scn 7707430599033 database format ‘/ora01/orclprd_standby/stnd_backp_%U.bak’;
    release channel t1;
    release channel t2;
    release channel t3;
    release channel t4;
    }

    Step 2. Prepare shell script and include above .cmd RMAN



    $ vi rman_scn_based_incremental_bkup_for_standby.ksh
    #!/bin/ksh
    export ORACLE_SID=orclprd
    export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/db
    export PATH=$PATH1:$ORACLE_HOME/bin
    rman target /   msglog /ora01/orclprd_standby/rman_SCN_backup.log cmdfile=/ora01/orclprd/RMAN_SCN_backup_from_primary/SCN_ based_backup.cmd

    Step 3. Change permissions of above shell scripts



    $ chmod 755 rman_scn_based_incremental_bkup_for_standby

    Step 4. Start RMAN using nohup to run in background



    $ nohup ./rman_scn_based_incremental_bkup_for_standby &




    Monitor RMAN log


    $ tail -300f /ora01/orclprd_standby/rman_SCN_backup.log




    Conclusion:  In this article we have learned how to perform RMAN SCN based backup using Unix shell script. Incremental backup are very useful such as rolling forward an standby database.






    Author : Hameed