逻辑设计就是把一种计划、
规划、设想通过视觉的形式通过概念、判断、推理、论证来理解和区分客观世界的思维传达出来的活动过程。逻辑设计比物理设计更理论化和抽象化,关注对象之间的逻辑关系,提供了更多系统和子系统的详细描述。
逻辑数据库
角色切换
1、把数据库切换到逻辑备数据库的角色。
SQL>ALTERDATABASECOMMITTOSWITCHOVERTOLOGICALSTANDBY;
2、停止远程的归档操作。
SQL>ALTERSYSTEMSETLOG_ARCHIVE_DEST_STATE_2=DEFERSCOPE=BOTH;
3、把其中的一个备库切换到主库的角色。
SQL>ALTERDATABASECOMMITTOSWITCHOVERTOPRIMARY;
4、打开远程归档操作。
SQL>ALTERSYSTEMSETLOG_ARCHIVE_DEST_STATE_2=ENABLESCOPE=BOTH;
5、在新的备库上创建到主数据库的连接。
创建连接
SQL>EXECUTEDBMS_LOGSTDBY.GUARD_BYPASS_ON;
SQL>CREATEDATABASELINKlocation1
2>CONNECTTOuser-nameIDENTIFIEDBYpasswordUSING'location1';
SQL>EXECUTEDBMS_LOGSTDBY.GUARD_BYPASS_OFF;
测试数据库连接
SQL>SELECT*FROMDBA_LOGSTDBY_PARAMETERS@location1;
6、打开SQL应用在新的备库上。
SQL>ALTERDATABASESTARTLOGICALSTANDBYAPPLYNEWPRIMARYlocation1;
7、主库上做日杂归档操作,并测试角色切换成功。
SQL>ALTERSYSTEMARCHIVELOGSTART;
SQL>ALTERSYSTEMSWITCHLOGFILE;
故障启动
如果DATAGUARD的主数据库不能够启动那么有必要把备库启动起来,暂时或者永久代替主库!
SQL>ALTERDATABASESTOPLOGICALSTANDBYAPPLY;
SQL>ALTERDATABASEACTIVATELOGICALSTANDBYDATABASE;
然后做数据库的恢复或者其他响应的操作或者是角色转换如上!
归档日志
如果DATAGUARD的主数据库的归档日志由于不确定不可以预测的原因使的归档日志不能够传到备库上!那么就需要手工添加注册到备库上!
确定丢失的归档日志
SQL>COLUMNFILE_NAMEFORMATa55;
SQL>SELECTTHREAD#,SEQUENCE#,FILE_NAMEFROMDBA_LOGSTDBY_LOGL
2>WHERENEXT_CHANGE#NOTIN
3>(SELECTFIRST_CHANGE#FROMDBA_LOGSTDBY_LOGWHEREL.THREAD#=THREAD#)
4>ORDERBYTHREAD#,SEQUENCE#;
THREAD#SEQUENCE#FILE_NAME
16/disk1/oracle/dbs/log-1292880008_6.arc
110/disk1/oracle/dbs/log-1292880008_10.arc
拷贝文件
注册不完整的归档日志
SQL>ALTERDATABASEREGISTERLOGICALLOGFILE
2>'/disk1/oracle/dbs/log-1292880008_7.arc';
Databasealtered.
SQL>ALTERDATABASEREGISTERLOGICALLOGFILE
2>'/disk1/oracle/dbs/log-1292880008_11.arc';
Databasealtered.
常用查询语句
1、查询数据库的角色。
Selectdatabase_rolefromv;
2、确定重做日志是否应用到备库上。
Selectapplied_scn,newest_scnfromdba_logstdby_progress;
3、确认重做数据的注册。
SELECTSEQUENCE#,FIRST_TIME,NEXT_TIME,DICT_BEGIN,DICT_ENDFROMDBA_LOGSTDBY_LOGORDERBYSEQUENCE#;
4、确认重做数据的应用。
SELECTNAME,VALUEFROMV='coordinatorstate';5,
dataguard访问模式selectguard_statusfromv;
其他管理
在逻辑备库上运行DDL语句SQL>ALTERDATABASESTOPLOGICALSTANDBYAPPLY;Databasealtered.SQL>EXECUTEDBMS_LOGSTDBY.GUARD_BYPASS_ON;PL/SQLproceduresuccessfullycompleted.SQL>ALTERTABLESCOTT.EMPADDCONSTRAINTEMPIDUNIQUE(EMPNO);Tablealtered.SQL>EXECUTEDBMS_LOGSTDBY.GUARD_BYPASS_OFF;PL/SQLproceduresuccessfullycompleted.SQL>ALTERDATABASESTARTLOGICALSTANDBYAPPLY;Databasealtered.2:在逻辑数据库上添加数据文件在主数据库上执行数据文件的添加或者修改的操作时候,如果备库上根本没有响应的路径或者没有符合的空间剩余,备库上的执行操作就会失败SQL>selectevent,status_code,statusfromdba_logstdby_events;SQL>EXECUTEDBMS_LOGSTDBY.GUARD_BYPASS。