全部的数据库,无论是物理的仍是逻辑的,都必须首先被建立为物理备用数据库。用来建立备用数据库的工具备:RMAN,数据卫士代理,Oracle 网格控制。必须在主服务器和备用服务器上都进行操做。然而,不管你打算建立多少个备用服务器,在主数据库上的步骤只须要执行一次。Oracle 11g RMAN 提供了一个简单的命令用来建立备用数据库并同时备份该数据库。建立物理备用服务器一步一步跟我学,在主服务器上完成如下步骤: git
select FORCE_LOGGING from v$database; it培训机构 数据库
alter database force logging; 服务器
强制全部修改都会记录日志,即使某些可能设置为不记录日志的对象也会被记录日志。 网络
配置重作传输认证;使用远程登陆口令文件。 app
添加备用服务器日志文件给主服务器。为使应用到主服务器的重作日志能够应用到备用服务器,备用服务器上的日志须要与主服务器的日志同样大,或者比主服务器日志更大。 工具
alter database add standby logfile '/u...' size 50M; spa
设置主服务器上的初始化参数: 代理
DB_NAME = 日志
DB_UNIQUE_NAME (即使备用服务器变成了主服务器,该参数也不会改变。) server
CONTROL_FILES ## 控制文件。
LOG_ARCHIVE_CONFIG='dg_config=(DG01,DG02)'
LOG_ARCHIVE_DEST_1='LOCATION=/u01/oraarch/DG01' ## 本地归档目录。
LOG_ARCHIVE_DEST_2='service=DG01 ASYNC
VALID_FOR=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=DG01' ## 设置传输类型,用于物理备用服务器。
REMOTE_LOGIN_PASSWORDFILE = Exclusive
LOG_ARCHIVE_DEST_STATE_n
把主服务器设置为归档日志模式。
备用数据库的网络配置须要在主服务器和备用服务器上都进行配置。在两台服务器上使用 Oracle 网络管理器有助于完成该配置。(相关内容在第三章论述了)。在配置服务名时,对备用服务器使用“unique_db”名称。在两台服务器上都设置完监听和服务之后,验证一下复制过来的口令文件和 adump,bdump,闪回等等的目录是否已经被建立。
经过网络建立备用数据库,以 NOMOUNT 模式启动备用数据库。
在主服务器上,执行 RMAN 命令并以 sysdba 权限链接:
RMAN> connect auxiliary sys/password@DG02
RMAN> run {
allocate channel disk1 type disk;
allocate auxiliary channel stby type disk;
duplicate target database for standby from active database
spfile
parameter_value_convert 'DG01','DG02'
set db_unique_name='DG02'
set db_file_name_convert='/dg01/','/dg02/'
set log_file_name_convert='/dg01/','/dg02/'
set control_files='/u01/app/oradata/controlfiles/dg02.ctl'
set log_archive_max_processes='5'
set fal_client='dg02' ## FAL(提取归档日志)客户端,若是角色被切换的话会被使用。
set fal_server='dg01'
set standby_file_management='AUTO'
set log_archive_config='dg_config=(dg01,dg02)'
set log_archive_dest_1='service=dg01 ASYNC
valid_for=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=DG01' ;}
进入主服务器并切换日志文件:
在备用服务器上启动恢复进程:
SQLPLUS> alter database recover managed standby database using current logfile disconnect;
主服务器和备用服务器已经建立好了,如今应该进行验证。