1.环境:Primary Database: ning
Physical Standby Database: test
2.修改初始化参数dg_broker_start
SQL> alter system set dg_broker_start=true;
3.确认数据库使用的是spfile启动
站在用户的角度思考问题,与客户深入沟通,找到普兰网站设计与普兰网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、成都做网站、企业官网、英文网站、手机端网站、网站推广、申请域名、网站空间、企业邮箱。业务覆盖普兰地区。
4.启动DGMGRL
C:>dgmgrl
DGMGRL for 32-bit Windows: Version 10.2.0.1.0 - Production
Copyright (c) 2000, 2005, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
5.连接到Primary库DGMGRL> connect
Username: sys@ning
Password:
Connected.
6.创建配置
DGMGRL> create configuration 'DGTEST' as
> primary database is 'ning'
> connect identifier is ning;
Configuration "DGTEST" created with primary database "ning"
7.添加备用库
DGMGRL> add database 'test'
> as connect identifier is test
> maintained as physical;
Database "test" added
8.查看配置DGMGRL> show configuration
Configuration
Name: DGTEST
Enabled: NO
Protection Mode: MaxPerformance
Fast-Start Failover: DISABLED
Databases:
ning - Primary database
test - Physical standby database
Current status for "DGTEST": DISABLED
9.设置数据库属性
DGMGRL>edit database 'ning' set property 'LogArchiveFormat' = 'log_%t_%s_%r_%d.arc';
Property "LogArchiveFormat" updated
10.显示数据库属性
DGMGRL> show database verbose 'ning'
Database
Name: ning
Role: PRIMARY
Enabled: NO
Intended State: OFFLINE
Instance(s):
ning
Properties:
InitialConnectIdentifier = 'ning'
LogXptMode = 'ARCH'
Dependency = ''
DelayMins = '0'
Binding = 'OPTIONAL'
MaxFailure = '0'
MaxConnections = '1'
ReopenSecs = '300'
NetTimeout = '180'
LogShipping = 'ON'
PreferredApplyInstance = ''
ApplyInstanceTimeout = '0'
ApplyParallel = 'AUTO'
StandbyFileManagement = 'MANUAL'
ArchiveLagTarget = '0'
LogArchiveMaxProcesses = '2'
LogArchiveMinSucceedDest = '1'
DbFileNameConvert = ''
LogFileNameConvert = ''
FastStartFailoverTarget = ''
StatusReport = '(monitor)'
InconsistentProperties = '(monitor)'
InconsistentLogXptProps = '(monitor)'
SendQEntries = '(monitor)'
LogXptStatus = '(monitor)'
RecvQEntries = '(monitor)'
HostName = 'dgmis'
SidName = 'ning'
LocalListenerAddress = '(ADDRESS=(PROTOCOL=tcp)(HOST=dgmis)(PORT=
1521))'
StandbyArchiveLocation = 'e:oraclearch3ning'
AlternateLocation = ''
LogArchiveTrace = '0'
LogArchiveFormat = 'log_%t_%s_%r_%d.arc'
LatestLog = '(monitor)'
TopWaitEvents = '(monitor)'
Current status for "ning":
DISABLED
11.启用配置
DGMGRL> enable configuration
Enabled.
DGMGRL> enable database 'ning'
Enabled.
DGMGRL> enable database 'test'
Enabled.
12.检查数据库状态
DGMGRL> show database 'ning'
Database
Name: ning
Role: PRIMARY
Enabled: YES
Intended State: ONLINE
Instance(s):
ning
Current status for "ning":
SUCCESS
DGMGRL> show database 'test'
Database
Name: test
Role: PHYSICAL STANDBY
Enabled: YES
Intended State: ONLINE
Instance(s):
test
Current status for "test":
SUCCESS
DGMGRL> show configuration
Configuration
Name: DGTEST
Enabled: YES
Protection Mode: MaxPerformance
Fast-Start Failover: DISABLED
Databases:
ning - Primary database
test - Physical standby database
Current status for "DGTEST":
SUCCESS
13.修改Data Guard的保护模式
DGMGRL> edit configuration set protection mode as maxperformance;
Succeeded.
14.更改备用库到只读状态
DGMGRL> edit database test set state='read-only';
Succeeded.
15.停止主库到从库的日志传送DGMGRL> edit database ning set state='log-transport-off';
Succeeded.
16.将主库离线
DGMGRL> edit database ning set state='offline';
Operation requires shutdown of instance "ning" on database "ning"
Shutting down instance "ning"...
Database closed.
Database dismounted.
ORACLE instance shut down.
注:要将主库重新上线,需要先手动启动数据库,然后
DGMGRL> connect sys@ning
Password:
Connected.
DGMGRL> edit database ning set state='online';
Succeeded.
17.禁用配置
DGMGRL> disable configuration
Disabled.
18.禁用某个备用库DGMGRL> disable database 'test';
Disabled.
19.从配置中删除备用库
DGMGRL> remove database 'test'
Removed database "test" from the configuration
20.删除配置
DGMGRL> remove configuration
Removed configuration.
21.执行Switchover切换
DGMGRL> switchover to 'test';
Performing switchover NOW, please wait...
Operation requires shutdown of instance "ning" on database "ning"
Shutting down instance "ning"...
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
Operation requires shutdown of instance "test" on database "test"
Shutting down instance "test"...
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
Operation requires startup of instance "ning" on database "ning"
Starting instance "ning"...
ORACLE instance started.
Database mounted.
Operation requires startup of instance "test" on database "test"
ORACLE instance started.
Database mounted
Switchover succeeded. New primary is "test"
DGMGRL> show configuration
Configuration
Name: DGTEST
Enabled: YES
Protection Mode: MaxPerformance
Fast-Start Failover: DISABLED
Databases:
ning - Physical standby database
test - Primary database
Current status for "DGTEST":
SUCCESS
22.执行Failover切换
DGMGRL> FAILOVER TO "test";
23.生成数据库状态报告(如果你遇到Ora-16810时可以使用)
DGMGRL> show database 'ning' 'statusreport'
STATUS REPORT
INSTANCE_NAME SEVERITY ERROR_TEXT
附录:
ORA-16525: the Data Guard broker is not yet available请检查数据库的初始化参数dg_broker_start是否为true
ORA-16797: database is not using a server parameter file请检查数据库是否以spfile启动
ORA-16792: configuration property value is inconsistent with database setting
检查数据库的某些属性和数据的初始化参数设置是否一致,例如LogArchiveFormat属性和log_archive_format参数的设置是否一致
ORA-16505: site ID is invalid
检查该数据库是否处于enable状态