• 18.2.2 在不同主机上使用用户管理备份建立物理备用数据库


    (1) 建立存放备用数据库相关的OS 目录

    (2) 建立例程服务

    (3) 配置监听程序和网络服务名

    (4) 准备主数据库参数文件

    (5) 准备备用数据库参数文件

    (6) 复制相关文件到备用主机

    (7) 启用备用数据库

    复制数据库所在的主机操作:

    C:\>mkdir d:\standby2

    C:\>mkdir d:\standby2\adump

    C:\>mkdir d:\standby2\bdump

    C:\>mkdir d:\standby2\cdump

    C:\>mkdir d:\standby2\udump

    C:\>mkdir d:\standby2\archive

    C:\>oradim -new -sid standby2 -syspwd orcl
    实例已创建。

    修改 listener.ora :

    (SID_DESC =
      (GLOBAL_DBNAME = standby2)
      (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
      (SID_NAME = standby2)
    )

    修改 tnsnames.ora :

    STANDBY2 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = testpc)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = standby2)
        )
      )

    主数据库所在的主机操作:

    修改 tnsnames.ora :

    STANDBY2 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = testpc)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = standby2)
        )
      )

    SQL> conn sys/orcl@demo as sysdba
    已连接。
    SQL> create pfile from spfile;

    文件已创建。

    修改主数据库的参数文件:

    *.db_unique_name='demo'
    *.fal_client='demo'
    *.fal_server='standby1,standby2'
    *.log_archive_dest_4='service=standby2 valid_for=(online_logfiles,primary_role) db_unique_name=standby2'
    *.log_archive_config='dg_config=(demo,standby1,standby2)'
    *.standby_file_management='auto'

    SQL> shutdown immediate
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> create spfile from pfile;

    文件已创建。

    SQL> create pfile='%oracle_home%\database\initstandby2.ora' from spfile;

    文件已创建。

    修改复制数据库的参数文件:

    audit_file_dest='D:\standby2\adump'
    control_files='d:\standby2\control01.ctl'
    background_dump_dest='D:\standby2\bdump'
    core_dump_dest='D:\standby2\cdump'
    db_unique_name='standby2'
    user_dump_dest='D:\standby2\udump'
    fal_client='standby2'
    fal_server='demo'
    log_archive_config='dg_config=(demo,standby1,standby2)'
    log_archive_dest_1='location=d:\standby2\archive valid_for=(all_logfiles,all_roles) db_unique_name=standby2'
    log_archive_dest_3='service=demo valid_for=(online_logfiles,primary_role) db_unique_name=demo'
    standby_file_management='auto'
    server_names=standby2
    instance_name=standby2
    db_file_name_convert='d:\demo','d:\standby2'
    log_file_name_convert='d:\demo','d:\standby2','c:\demo','d:\standby2'
    standby_archive_dest='d:\standby2\archive'

    SQL> create spfile='%oracle_home%\database\spfilestandby2.ora'
      2  from pfile='%oracle_home%\database\initstandby2.ora';

    文件已创建。

    SQL> alter database begin backup;

    数据库已更改。

    SQL> host copy D:\DEMO\SYSTEM01.DBF d:\backup
    已复制         1 个文件。

    SQL> host copy D:\DEMO\UNDOTBS01.DBF d:\backup
    已复制         1 个文件。

    SQL> host copy D:\DEMO\SYSAUX01.DBF d:\backup
    已复制         1 个文件。

    SQL> host copy D:\DEMO\USERS01.DBF d:\backup
    已复制         1 个文件。

    SQL> alter database end backup;

    数据库已更改。

    SQL> alter database create standby controlfile as 'd:\backup\control01.ctl';

    数据库已更改。

    SQL> host copy d:\backup\*.* \\testpc\standby2
    d:\backup\CONTROL01.CTL
    d:\backup\SYSAUX01.DBF
    d:\backup\SYSTEM01.DBF
    d:\backup\UNDOTBS01.DBF
    d:\backup\USERS01.DBF
    已复制         5 个文件。

    SQL> host copy %oracle_home%\database\spfilestandby2.ora \\testpc\oracle_home\da
    tabase\*.*

    已复制         1 个文件。

    SQL> alter system switch logfile;

    系统已更改。

    SQL> exit
    从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options 断开

    C:\>sqlplus sys/orcl@standby2 as sysdba

    SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 2月 16 16:47:05 2009

    Copyright (c) 1982, 2005, Oracle.  All rights reserved.

    已连接到空闲例程。

    SQL> startup mount
    ORACLE 例程已经启动。

    Total System Global Area  603979776 bytes
    Fixed Size                  1250380 bytes
    Variable Size             163580852 bytes
    Database Buffers          432013312 bytes
    Redo Buffers                7135232 bytes
    数据库装载完毕。
    SQL> select name from v$archived_log;

    NAME
    --------------------------------------------------------------------------------

    D:\STANDBY2\ARCHIVE\ARC00093_0674493001.001
    D:\STANDBY2\ARCHIVE\ARC00094_0674493001.001
    D:\STANDBY2\ARCHIVE\ARC00095_0674493001.001
    D:\STANDBY2\ARCHIVE\ARC00096_0674493001.001
    D:\STANDBY2\ARCHIVE\ARC00097_0674493001.001
    D:\STANDBY2\ARCHIVE\ARC00098_0674493001.001
    D:\STANDBY2\ARCHIVE\ARC00099_0674493001.001
    D:\STANDBY2\ARCHIVE\ARC00100_0674493001.001

    已选择8行。

    SQL> recover standby database until cancel
    ORA-00279: 更改 1844242 (在 02/16/2009 16:29:36 生成) 对于线程 1 是必需的
    ORA-00289: 建议: D:\STANDBY2\ARCHIVE\ARC00100_0674493001.001
    ORA-00280: 更改 1844242 (用于线程 1) 在序列 #100 中

    指定日志: {<RET>=suggested | filename | AUTO | CANCEL}

    ORA-00279: 更改 1844848 (在 02/16/2009 16:45:19 生成) 对于线程 1 是必需的
    ORA-00289: 建议: D:\STANDBY2\ARCHIVE\ARC00101_0674493001.001
    ORA-00280: 更改 1844848 (用于线程 1) 在序列 #101 中
    ORA-00278: 此恢复不再需要日志文件 'D:\STANDBY2\ARCHIVE\ARC00100_0674493001.001'

    指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
    cancel
    介质恢复已取消。
    SQL> alter database open;

    数据库已更改。

    SQL> select name from v$tempfile;

    NAME
    --------------------------------------------------------------------------------

    D:\STANDBY2\TEMP01.DBF

  • 相关阅读:
    PHP+shell实现多线程的方法
    【JavaScript】一个同步于本地时间的动态时间
    void 0 或者 undefined
    Android Activity间动画跳转
    如何申请微信公众平台接口測试帐号
    hdu 4862 KM算法 最小K路径覆盖的模型
    【Unity 3D】学习笔记三十三:游戏元素——天空盒子
    cocos2d-x-lua基础系列教程五(lua单例)
    技术走向管理一些思考(7)-激励成员
    Runtime.getRuntime().exec()----记录日志案例
  • 原文地址:https://www.cnblogs.com/yiwuya/p/3018976.html
Copyright © 2020-2023  润新知