您的位置:首页 > 数据库

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

2009-02-16 17:08 489 查看
(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 中
指定日志: {=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'
指定日志: {=suggested | filename | AUTO | CANCEL}
cancel
介质恢复已取消。
SQL> alter database open;
数据库已更改。
SQL> select name from v$tempfile;
NAME
--------------------------------------------------------------------------------
D:/STANDBY2/TEMP01.DBF
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: