所有的数据库,不管是物理的还是逻辑的,都必须首先被创建为物理备用数据库。用来创建备用数据库的工具有:RMAN,数据卫士代理,Oracle 网格控制。必须在主服务器和备用服务器上都进行操作。然而,无论你打算创建多少个备用服务器,在主数据库上的步骤只需要执行一次。Oracle 11g RMAN 提供了一个简单的命令用来创建备用数据库并同时备份该数据库。创建物理备用服务器一步一步跟我学,在主服务器上完成以下步骤:
select FORCE_LOGGING from v$database; it培训机构
alter database force logging;
强制所有修改都会记录日志,即便某些可能设置为不记录日志的对象也会被记录日志。
配置重做传输认证;使用远程登录口令文件。
添加备用服务器日志文件给主服务器。为使应用到主服务器的重做日志可以应用到备用服务器,备用服务器上的日志需要与主服务器的日志一样大,或者比主服务器日志更大。
alter database add standby logfile '/u...' size 50M;
设置主服务器上的初始化参数:
DB_NAME =
DB_UNIQUE_NAME (即便备用服务器变成了主服务器,该参数也不会改变。)
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;
主服务器和备用服务器已经创建好了,现在应该进行验证。