standby_file_management設定為manual,增加及删除表空間和資料檔案
sql> show parameter standby_file_management
name type value
------------------------------------ ----------- ------------------------------
standby_file_management string auto
sql> alter system set standby_file_management='manual' scope=both;
system altered.
standby_file_management string manual
sql>
a).增加新的表空間--primary 資料庫操作
sql>create tablespace mytest datafile '/u01/app/oracle/oradata/jytest/mytest01.dbf' size 20m
sql> select name from v$datafile;
name
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/jytest/system01.dbf
/u01/app/oracle/oradata/jytest/undotbs01.dbf
/u01/app/oracle/oradata/jytest/sysaux01.dbf
/u01/app/oracle/oradata/jytest/users01.dbf
/u01/app/oracle/oradata/jytest/hygeia01.dbf
/u01/app/oracle/oradata/jytest/mytest01.dbf
6 rows selected
切換日志
sql> alter system switch logfile;
system altered
b).驗證standby 庫--standby 資料庫操作
/u01/app/oracle/product/10.2.0/db/dbs/unnamed00006
6 rows selected.
sql> select name from v$tablespace;
------------------------------
system
undotbs1
sysaux
users
temp
hygeia
mytest
7 rows selected.
可以看到,表空間已經自動建立,但是,資料檔案卻被起了個怪名字,手工修改其與primary
資料庫保持一緻.
sql>alter database create datafile
'/u01/app/oracle/product/10.2.0/db/dbs/unnamed00006'
as '/u01/app/oracle/oradata/jytest/mytest01.dbf';
c).删除表空間--primary 資料庫操作
sql> drop tablespace mytest including contents and datafiles;
tablespace dropped
d).驗證standby 資料庫--standby 資料庫操作
資料還在啊。檢視alertjytest.log 檔案,發現如下
mrp0: background media recovery terminated with error 1274
mon dec 3 17:03:34 2012
重新開機redo 應用再來看看:
sql> alter database recover managed standby database disconnect from session;
database altered.
sql> select name from v$tablespace;
注意,既使你在primary 資料庫執行删除時加上了including 子句,在standby 資料庫仍然隻會
将表空間和資料檔案從資料字典中删除,你還需要手工删除表空間涉及的資料檔案。