Oracle12c Data Guard搭建手册(七)

2015-02-02 20:33:57 · 作者: · 浏览: 47
------------------------ ---------- 2 PDB$SEED READ ONLY NO 3 PCNDBA READ ONLY NO

备库是只读的。


--查看主库:

SQL> select log_mode,open_mode ,database_role from v$database;



LOG_MODE OPEN_MODE DATABASE_ROLE

------------ ------------------------------------

ARCHIVELOG READ WRITE PRIMARY



--备库:

SQL> select log_mode,open_mode ,database_role from v$database;



LOG_MODE OPEN_MODE DATABASE_ROLE

------------ ------------------------------------

ARCHIVELOG READ ONLY PHYSICAL STANDBY





--启动real-time apply:

SQL> alter database recover managedstandby database using current logfile disconnect from session;

Database altered.



SQL> select open_mode from v$database;



OPEN_MODE

--------------------

READ ONLY WITH APPLY




14 验证DG

--在主库创建一个table:



SQL> alter session set container=pcndba;

Session altered.



SQL> create table cndba as select * fromdba_users;

create table cndba as select * fromdba_users

*

ERROR at line 1:

ORA-01109: database not open





SQL> show pdbs



CON_ID CON_NAME OPEN MODE RESTRICTED

---------- ---------------------------------------- ----------

3 PCNDBA MOUNTED

SQL> alter database open;

Database altered.



SQL> create table cndba as select * fromdba_users;

Table created.



SQL> alter system switch logfile;

alter system switch logfile

*

ERROR at line 1:

ORA-65040: operation not allowed fromwithin a pluggable database

注意:这里可以看到,对于12c的库,日志的切换只能在CDB中进行,也就是我们前面讲的,DG 是在CDB 级别进行的。

SQL> alter system switch logfile;

System altered.

备库查询:

SQL> select count(1) from cndba;

select count(1) from cndba

*

ERROR at line 1:

ORA-00942: table or view does not exist


提示表不存在,实际上,我们是在PDB里创建的,切换到对应的PDB下,就可以查询到了:

SQL> alter session container=pcndba;

alter session container=pcndba

*

ERROR at line 1:

ORA-00922: missing or invalid option





SQL> alter session set container=pcndba;

Session altered.



SQL> select count(1) from cndba;



COUNT(1)

----------

36

?