Oracle數據庫邏輯存儲結構管理


1、實驗目的

(1)掌握Oracle數據庫表空間的管理

(2)掌握數據庫表空間不同狀態時對數據操作的影響

2、實驗環境

Windows 7家庭普通版。

Oracle11g

3、實驗要求

(1)分別創建永久性表空間、臨時性表空間、撤銷表空間。

(2)完成表空間的管理操作,包括修改表空間大小、修改表空間的可用性、修改表空間的讀/寫、表空間的備份、表空間信息查詢、刪除表空間。

4、實驗內容

(1)為BOOKSALES數據庫創建一個名為BOOKTBS1的永久性表空間,區采用自動擴展方式,段采用自動管理方式。

(2)為BOOKSALES數據庫創建一個名為BOOKTBS2的永久性表空間,區采用定制分配,每次分配大小為1MB,段采用手動管理方式。

(3)為BOOKSALES數據庫創建一個臨時表空間TEMP02。

(4)將BOOKSALES數據庫臨時表空間TEMP和TEMP02都放入臨時表空間組TEMPGROUP中。

(5)為BOOKSALES數據庫創建一個名為UNDO02的撤銷表空間,並設置為當前數據庫的在線撤銷表空間。

(6)為BOOKSALES數據庫的表空間BOOKTBS1添加一個大小為50MB的數據文件,以改變該表空間的大小。

(7)將BOOKSALES數據庫的表空間BOOKTBS2的數據文件修改為可以自動擴展,每次擴展5MB,最大容量為100MB。

(8)創建一個名為test的表,存儲於BOOKTBS1表空間中,向表中插入一條記錄。

(9)將BOOKSALES數據庫的BOOKTBS1表空間設置為脫機狀態,測試該表空間是否可以使用。

(10)將BOOKSALES數據庫的BOOKTBS1表空間設置為聯機狀態,測試該表空間是否可以使用。

(11)將BOOKSALES數據庫的BOOKTBS1表空間設置為只讀狀態,測試該表空間是否可以進行數據寫入操作。

(12)將BOOKSALES數據庫的BOOKTBS1表空間設置為讀寫狀態,測試該表空間是否可以進行數據讀寫操作。

(13)將BOOKSALES數據庫的BOOKTBS1設置為數據庫默認表空間,將臨時表空間組TEMPGROUP設置為數據庫的默認臨時表空間。

(14)分別備份BOOKSALES數據庫的USERS和BOOKTBS1、BOOKTBS3三個表空間。

(15)查詢BOOKSALES數據庫所有表空間及其狀態信息。

(16)查詢BOOKSALES數據庫所有表空間及其數據文件信息。

(17)刪除BOOKSALES數據庫BOOKTBS2表空間及其所有內容,同時刪除操作系統上的數據文件。

5、實驗過程與結果

(1)為BOOKSALES數據庫創建一個名為BOOKTBS1的永久性表空間,區采用自動擴展方式,段采用自動管理方式。(2)為BOOKSALES數據庫創建一個名為BOOKTBS2的永久性表空間,區采用定制分配,每次分配大小為1MB,段采用手動管理方式。(3)為BOOKSALES數據庫創建一個臨時表空間TEMP02。

 

SQL> create tablespace booktbs1 datafile

  2  'C:\OracleSQL\oradata\oral\test1_1.dbf' size 10M;

 

SQL> create tablespace booktbs2 datafile

  2  'C:\OracleSQL\oradata\oral\test1_2.dbf' size 10M

  3  extent management local uniform size 1M

  4  segment space management manual;

 

SQL> create temporary tablespace temp02 tempfile

  2  'C:\OracleSQL\oradata\oral\test1_3.dbf' size 10M

  3  extent management local uniform size 5M;

 

 

 

(4)將BOOKSALES數據庫臨時表空間TEMP和TEMP02都放入臨時表空間組TEMPGROUP中。

 

SQL> alter tablespace temp tablespace group TEMPGROUP;

 

SQL> alter tablespace temp02 tablespace group TEMPGROUP;

 

 

 

 

 

(5)為BOOKSALES數據庫創建一個名為UNDO02的撤銷表空間,並設置為當前數據庫的在線撤銷表空間。

 

SQL> create undo tablespace undo02 datafile

  2  'C:\OracleSQL\oradata\oral\test1_4.dbf' size 20M;

 

SQL> alter system set undo_tablespace=undo02;

 

 

 

 

 

(6)為BOOKSALES數據庫的表空間BOOKTBS1添加一個大小為50MB的數據文件,以改變該表空間的大小。

 

SQL> alter tablespace booktbs1 add datafile

  2  'C:\OracleSQL\oradata\oral\test1_6.dbf' size 50M;

 

 

 

 

 

(7)將BOOKSALES數據庫的表空間BOOKTBS2的數據文件修改為可以自動擴展,每次擴展5MB,最大容量為100MB。

 

SQL> alter database datafile

  2  'C:\OracleSQL\oradata\oral\test1_2.dbf'

  3  autoextend on next 5M maxsize 100M;

 

 

 

 

 

(8)創建一個名為test的表,存儲於BOOKTBS1表空間中,向表中插入一條記錄。

 

SQL> create table test(id number primary key,name char(20)) tablespace booktbs1;

 

SQL> insert into test values(1,'SALTFISHKING');

 

 

 

 

(9)將BOOKSALES數據庫的BOOKTBS1表空間設置為脫機狀態,測試該表空間是否可以使用。

 

SQL> alter tablespace booktbs1 offline;

 

 

 

 

 

(10)將BOOKSALES數據庫的BOOKTBS1表空間設置為聯機狀態,測試該表空間是否可以使用。

 

SQL> alter tablespace booktbs1 online;

                                            

 

 

 

(11)將BOOKSALES數據庫的BOOKTBS1表空間設置為只讀狀態,測試該表空間是否可以進行數據寫入操作。

 

SQL> alter tablespace booktbs1 read only;

 

 

 

 

 

(12)將BOOKSALES數據庫的BOOKTBS1表空間設置為讀寫狀態,測試該表空間是否可以進行數據讀寫操作。

 

SQL> alter tablespace booktbs1 read write;

 

 

 

 

 

 

 (13)將BOOKSALES數據庫的BOOKTBS1設置為數據庫默認表空間,將臨時表空間組TEMPGROUP設置為數據庫的默認臨時表空間。

 

SQL> alter database default tablespace booktbs1;

 

SQL> alter database default temporary tablespace TEMPGROUP;

 

 

 

 

   

(14)分別備份BOOKSALES數據庫的USERS和BOOKTBS1、BOOKTBS3三個表空間。

SQL> conn/as sysdba;

SQL> shutdown immediate;

SQL> startup mount;

SQL> alter database archivelog;

SQL> alter database open;

 

 

SQL> alter tablespace users begin backup;

SQL> host copy c:\oraclesql\oradata\oral\users01.dbf c:\oracle_log\users01.dbf;

SQL> alter tablespace users end backup;

 

SQL> alter tablespace booktbs1 begin backup;

SQL> host copy c:\oraclesql\oradata\oral\test1_1.dbf c:\oracle_log\test1_1.dbf

SQL> alter tablespace booktbs1 end backup;

 

SQL> alter tablespace booktbs3 begin backup;

SQL> host copy c:\oraclesql\oradata\oral\test1_9.dbf c:\oracle_log\test1_9.dbf

SQL> alter tablespace booktbs3 end backup;

 

 

 

 

  

BOOKSTBS3沒被創建,所以先創建后備份

 

 

 

 

(15)查詢BOOKSALES數據庫所有表空間及其狀態信息。

 

SQL> select tablespace_name,extent_management,allocation_type,contents from dba_tablespaces;

 

 

 

 

(16)查詢BOOKSALES數據庫所有表空間及其數據文件信息。

 

SQL> select tablespace_name,file_name from dba_data_files;

 

 

 

 

 

(17)刪除BOOKSALES數據庫BOOKTBS2表空間及其所有內容,同時刪除操作系統上的數據文件。

 

SQL> drop tablespace booktbs2 including contents and datafiles;

 

 

 

 

6、實驗遇到的問題及解決辦法

1.實驗中在執行備份操作的時候出現提示說權限不足。解決方法是conn/as sysdba;可以以超級管理員身份連接進行操作。

2.如果進入mount修改模式后登錄數據庫發現無法連接數據庫。解決方法是記得執行database open打開數據庫。

3.備份文件時如果出現拒絕訪問的提示。解決方法是以管理員身份運行SQL Plus。

 

沒有什么是比實驗記錄更能作為總結參考的了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM