Oracle Data Guard_启动和关闭物理备库

启动时应用重做日志,关闭时取消重做日志:

 

8.1 Starting Up and Shutting Down a Physical Standby Database

This section describes the SQL*Plus statements used to start up and shut down a physical standby database.

 

8.1.1 Starting Up a Physical Standby Database

8.1.1 启动物理备库
 

To start a physical standby database, use SQL*Plus to connect to the database with administrator privileges, and then use either the SQL*Plus STARTUP or STARTUP MOUNT statement. When used on a physical standby database:

  • The STARTUP statement starts the database, mounts the database as a physical standby database, and opens the database for read-only access.

  • The STARTUP MOUNT statement starts and mounts the database as a physical standby database, but does not open the database.

Once mounted, the database can receive archived redo data from the primary database. You then have the option of either starting Redo Apply or real-time apply, or opening the database for read-only access.

一旦数据库装载后,数据库就能从主库接收归档重做日志。然后,你可以选择启用应用重做或者实时应用,再或者以只读方式打开数据库来访问。

For example:

  1. Start and mount the physical standby database:

    SQL> STARTUP MOUNT;
  2. Start Redo Apply or real-time apply:

    To start Redo Apply, issue the following statement:

    SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE
      2> DISCONNECT FROM SESSION;

    #########################################################################
    Sat Mar 29 11:48:57 2014
    ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION
    Sat Mar 29 11:48:57 2014
    Attempt to start background Managed Standby Recovery process (PRODSTD)
    MRP0 started with pid=54, OS id=3158
    Sat Mar 29 11:48:57 2014
    MRP0: Background Managed Standby Recovery process started (PRODSTD)
    Managed Standby Recovery not using Real Time Apply
    Media Recovery Waiting for thread 1 sequence 29
    Sat Mar 29 11:49:03 2014
    Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION

    ############################################################################

    To start real-time apply, issue the following statement:

    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE
      2> USING CURRENT LOGFILE;

On the primary database, query the RECOVERY_MODE column in the V$ARCHIVE_DEST_STATUS view, which displays the standby database's operation as MANAGED_RECOVERY for Redo Apply and MANAGED REAL TIME APPLY for real-time apply.

在主库上,你可以查询V$ARCHIVE_DEST_STATUS的RECOVERY_MODE列,可以显示出备库的操作是MANAGED_RECOVERY 重做应用还是MANAGED REAL TIME APPLY实时应用。

 

See Section 6.3 for information about Redo Apply, Section 6.2.1 for information about real-time apply, and Section 8.2 for information about opening a physical standby database for read-only or read/write access.

 

Note:

When you first start Redo Apply on a newly created physical standby database that has not yet received any redo data from the primary database, an ORA-01112 message may be returned. This indicates that Redo Apply is unable to determine the starting sequence number for media recovery. If this occurs, you must either manually retrieve and register an archived redo log file on the standby database, or wait for the automatic archiving to occur before restarting Redo Apply.
当你在一个新创建的物理备库上第一次应用重做时,主库并没有归档日志传输到备库来,于是报错ORA-01112.这意味着重做应用无法为介质恢复提供一个日志序号。如果这个情况发生,你必须手动在备库上生成一个归档日志,或者在重做应用之前自动归档。

8.1.2 Shutting Down a Physical Standby Database

To shut down a physical standby database and stop Redo Apply, use the SQL*Plus SHUTDOWN statement. Control is not returned to the session that initiates a database shutdown until shutdown is complete.

关闭物理备库以及关闭重做应用,使用SHUTDOWN 语句。

If the primary database is up and running, defer the destination on the primary database and perform a log switch before shutting down the standby database.

如果主库正在运行,在主数据库上推迟目的地以及在关闭备库之前先执行日志切换。

To stop Redo Apply before shutting down the database, use the following steps:

在关闭数据库之前要先停止重做应用,使用一下步骤:

  1. Issue the following query to find out if the standby database is performing Redo Apply or real-time apply. If the MRP0 or MRP process exists, then the standby database is applying redo.

    1.通过如下查询找出备库是在重做应用还是实时应用,如果MRP0或者MRP进程存在,那么备库正在应用重做。

    SQL> SELECT PROCESS, STATUS FROM V$MANAGED_STANDBY;

    ###############################################################################
    PROCESS   STATUS
    --------- ------------
    ARCH      CONNECTED
    ARCH      CONNECTED
    MRP0      WAIT_FOR_LOG
    RFS       IDLE
    RFS       IDLE
    ###############################################################################
  2. If Redo Apply is running, cancel it as shown in the following example:

    2.如果重做应用正在运行,用如下例子来取消它。

    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

    ###############################################################################
    Sat Mar 29 11:49:40 2014
    ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL
    Sat Mar 29 11:49:42 2014
    MRP0: Background Media Recovery cancelled with status 16037
    Sat Mar 29 11:49:42 2014
    Errors in file /u01/app/oracle/admin/PRODSTD/bdump/prodstd_mrp0_3158.trc:
    ORA-16037: user requested cancel of managed recovery operation
    Recovery interrupted!
    Sat Mar 29 11:49:43 2014
    Waiting for MRP0 pid 3158 to terminate
    Waiting for MRP0 pid 3158 to terminate
    Waiting for MRP0 pid 3158 to terminate
    Sat Mar 29 11:49:45 2014
    Errors in file /u01/app/oracle/admin/PRODSTD/bdump/prodstd_mrp0_3158.trc:
    ORA-16037: user requested cancel of managed recovery operation
    Sat Mar 29 11:49:45 2014
    MRP0: Background Media Recovery process shutdown (PRODSTD)
    Sat Mar 29 11:49:46 2014
    Managed Standby Recovery Canceled (PRODSTD)
    Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL

    取消日志应用之后,即没有MRP0的进程了。
    ###############################################################################
  3. Shut down the standby database.

    3.关闭备库。

    SQL> SHUTDOWN IMMEDIATE;
原文地址:https://www.cnblogs.com/hzcya1995/p/13315864.html