1. 程式人生 > >Oracle 11g R2 Active Dataguard 主庫增加表空間的處理方法

Oracle 11g R2 Active Dataguard 主庫增加表空間的處理方法

1.主庫新增新的表空間,備庫中的STANDBY_FILE_MANAGEMENT引數設定為AUTO
2.主庫:192.168.14.112
3.備庫: 192.168.14.111

檢視備庫是否為STANDBY_FILE_MANAGEMENT引數是否為AUTO

SQL> show parameter STANDBY_FILE_MANAGEMENT;

NAME                     TYPE     VALUE
------------------------------------ ----------- ----------
standby_file_management          string     auto

----------------------------------------------------------------------
#主庫建立表空間
SQL>create tablespace testabc01   
logging  
datafile '/u01/app/oracle/oradata/testabc01.dbf'
size 5m  
autoextend on  
next 10m maxsize 2048m  
extent management local;


#查詢主庫是否建立表空間成功
SQL> select name from v$datafile;

NAME
----------------------------------------------------------------------
/u01/app/oracle/oradata/pdb/system01.dbf
/u01/app/oracle/oradata/pdb/sysaux01.dbf
/u01/app/oracle/oradata/pdb/undotbs01.dbf
/u01/app/oracle/oradata/pdb/users01.dbf
/u01/app/oracle/oradata/pdb/example01.dbf
/u01/app/oracle/oradata/testabc01.dbf

6 rows selected.

-----------------------------------------------------------------------
#主庫切換歸檔
SQL> ALTER SYSTEM SWITCH LOGFILE;

#可以多次重複此命令,保證備庫快速建立相應表空間
=======================================================================
#查詢備庫是否執行相應主庫表空間建立命令

SQL> select name from v$datafile;

NAME
-----------------------------------------------------------------------
/u01/app/oracle/oradata/pdb/system01.dbf
/u01/app/oracle/oradata/pdb/sysaux01.dbf
/u01/app/oracle/oradata/pdb/undotbs01.dbf
/u01/app/oracle/oradata/pdb/users01.dbf
/u01/app/oracle/oradata/pdb/example01.dbf
/u01/app/oracle/oradata/testabc01.dbf

6 rows selected.

#刪除同步表空間

#主庫
SQL> DROP TABLESPACE testabc01 INCLUDING CONTENTS AND DATAFILES;
Tablespace dropped.

SQL> ALTER SYSTEM SWITCH LOGFILE;
System altered.

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/pdb/system01.dbf
/u01/app/oracle/oradata/pdb/sysaux01.dbf
/u01/app/oracle/oradata/pdb/undotbs01.dbf
/u01/app/oracle/oradata/pdb/users01.dbf
/u01/app/oracle/oradata/pdb/example01.dbf

#這裡進入主庫的目錄下發現testabc01表空間datafile檔案也已經消失了
[
[email protected]
~]$ cd /u01/app/oracle/oradata/pdb/
[[email protected] pdb]$ ls
control01.ctl  redo02.log         standbyredo05.log  sysaux01.dbf  undotbs01.dbf
example01.dbf  redo03.log         standbyredo06.log  system01.dbf  users01.dbf
redo01.log     standbyredo04.log  standbyredo07.log  temp01.dbf

=================================================================================
#檢視備庫情況
SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/pdb/system01.dbf
/u01/app/oracle/oradata/pdb/sysaux01.dbf
/u01/app/oracle/oradata/pdb/undotbs01.dbf
/u01/app/oracle/oradata/pdb/users01.dbf
/u01/app/oracle/oradata/pdb/example01.dbf

[
[email protected]
~]$ cd /u01/app/oracle/oradata/pdb/
[[email protected] pdb]$ ls
control01.ctl   redo02.log         standbyredo06.log  system01.dbf   undotbs01.dbf
control01.ctl1  redo03.log         standbyredo07.log  system01.dbf1  undotbs01.dbf1
example01.dbf   standbyredo04.log  sysaux01.dbf       temp01.dbf     users01.dbf
redo01.log      standbyredo05.log  sysaux01.dbf1      temp01.dbf1    users01.dbf1


==================================
步驟一:如果表空間上面有user請先刪除user

SQL> drop user ×× cascade

說明: 刪除了user,只是刪除了該user下的schema objects,是不會刪除相應的tablespace的。

步驟二:刪除tablespace

SQL> DROP TABLESPACE testabc01 INCLUDING CONTENTS AND DATAFILES;         
===================================

oracle 11g r2 dataguard同步表空間ok.

#這裡測試的是Oracle 11g R2 11.2.0.3 DataGuard   在以上的引數環境下是OK的,但向下版情況還不是很清楚