Oracle 11g R2 Active Dataguard 主庫增加表空間的處理方法
阿新 • • 發佈:2019-01-04
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的,但向下版情況還不是很清楚
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] 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] 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的,但向下版情況還不是很清楚