還原表空間系列命令之一

mengzhaoliang發表於2008-04-28

1 Oracle使用還原(回滾段)目的:
 1)事務回滾
 2)事務恢復
 3)保證資料的讀一致性

2 查還原段是否自啟動,所用表空間,保留的時間(秒)
SQL> l
  1  select name,value from v$parameter
  2* where name like '%undo%'
SQL> /

NAME                           VALUE
------------------------------ ------------------------------
undo_management                AUTO
undo_tablespace                UNDOTBS1
undo_retention                 900

3 查所有的還原表空間
SQL> select tablespace_name,status,contents
  2  from dba_tablespaces
  3  where contents='UNDO';

TABLESPACE_NAME                STATUS    CONTENTS
------------------------------ --------- ---------
UNDOTBS1                       ONLINE    UNDO

4 建立還原表空間
先查詢資料檔案所在位置
SQL> select name from v$datafile;

NAME
------------------------------
G:\ORACLE\PRODUCT\10.2.0\ORADA
TA\JXFGW\SYSTEM01.DBF

G:\ORACLE\PRODUCT\10.2.0\ORADA
TA\JXFGW\UNDOTBS01.DBF

G:\ORACLE\PRODUCT\10.2.0\ORADA
TA\JXFGW\SYSAUX01.DBF

G:\ORACLE\PRODUCT\10.2.0\ORADA
TA\JXFGW\USERS01.DBF
再建立還原表空間
SQL> create undo tablespace jinlian_undo
  2  datafile 'G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\jinlian_undo.dbf'
  3  size 20M;

表空間已建立。


5 查詢是否建立好
SQL> select tablespace_name,status,contents
  2  from dba_tablespaces
  3  where contents='UNDO';

TABLESPACE_NAME                STATUS    CONTENTS
------------------------------ --------- ---------
UNDOTBS1                       ONLINE    UNDO
JINLIAN_UNDO                   ONLINE    UNDO


6 為還原表空間增加一個資料檔案
SQL> alter tablespace jinlian_undo
  2  add datafile 'G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\jinlian2_undo.dbf'
  3  size 10M;

表空間已更改。


7 查還原表空間所對應的資料檔案
SQL> l
  1  select file_id,file_name,tablespace_name,bytes/1024/1024 MB
  2  from dba_data_files
  3*   where tablespace_name like 'JIN%'
SQL> /

   FILE_ID FILE_NAME
---------- -------------------------------------------------------
TABLESPACE_NAME                        MB
------------------------------ ----------
         8 G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\JINLIAN_UNDO.DBF
JINLIAN_UNDO                           20

         9 G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\JINLIAN2_UNDO.DB
           F
JINLIAN_UNDO                           10

 

8 查還原表空間的資料檔案是否可以自動擴充套件
SQL> l
  1  select file_id,file_name,tablespace_name,autoextensible
  2  from dba_data_files
  3*   where tablespace_name like 'JIN%'
SQL> /

   FILE_ID FILE_NAME
---------- -------------------------------------------------------
TABLESPACE_NAME                AUT
------------------------------ ---
         8 G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\JINLIAN_UNDO.DBF
JINLIAN_UNDO                   NO

         9 G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\JINLIAN2_UNDO.DB
           F
JINLIAN_UNDO                   NO


9 把資料檔案改成自動擴充套件
SQL> alter database
  2  datafile 'G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\JINLIAN2_UNDO.DBF'
  3  autoextend on;

資料庫已更改。


10 查詢是否自動擴充套件
SQL> select file_id,tablespace_name,file_name,autoextensible
  2  from dba_data_files
  3  where tablespace_name like 'JIN%';

   FILE_ID TABLESPACE_NAME
---------- ------------------------------
FILE_NAME                                               AUT
------------------------------------------------------- ---
         8 JINLIAN_UNDO
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\JINLIAN_UNDO.DBF NO

         9 JINLIAN_UNDO
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\JINLIAN2_UNDO.DB YES
F

 

 

 

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12778571/viewspace-255248/,如需轉載,請註明出處,否則將追究法律責任。

相關文章