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


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

一、實驗目的

(1)掌握Oracle數據表空間的管理。
(2)掌握數據表空間不同狀態時對數據操作的影響。

二、實驗環境

Oracle 11g

三、實驗內容

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

SQL> create tablespace BOOKTBS1 data'空間地址' size 50M;


①PS:如何查詢自己的表空間信息(表空間絕對地址)輸入 select name from v$datafile; 即可。

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

SQL> create tablespace BOOKTBS2 datafile'空間地址'size 10m extent management local uniform size 1m segment space management manual;

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

SQL> create temporary tablespace temp02 tempfile'空間地址'size 10m extent management local uniform size 5m;

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

SQL> alter tablespace temp tablespace group tempgroup; SQL> alter tablespace temp02 tablespace group tempgroup;

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

SQL> create undo tablespace undo02 datafile'空間地址' size 20m;

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

SQL> alter tablespace BOOKTBS1 add datafile '空間地址' size 50m;

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

SQL> create undo tablespace BOOKTBS2 datafile '空間地址' size 10m autoextend on next 5m maxsize 100m;

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

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

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

SQL> alter tablespace BOOKTBS1 offline; SQL> insert into test values(2,'s row');

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

SQL> alter tablespace BOOKTBS1 online; SQL> insert into test values(2,'s row');

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

SQL> alter tablespace BOOKTBS1 read only; SQL> insert into test values(3,'t row');

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

SQL> alter tablespace BOOKTBS1 read write; SQL> insert into test values(3,'t row');

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

SQL> alter database default tablespace BOOKTBS1; SQL> alter database default temporary tablespace tempgroup;

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

SQL> host copy users空間地址 其他的同上


②PS:如果輸入(alter tablespace users begin bacup;)回車出現 ORA-01123:無法啟動聯機備份;未啟用介質恢復。
解決辦法步驟如下:
(①)管理員身份登錄

SQL>conn / as sysdba

(②)關閉數據庫實例

SQL>shutdown immediate

(③)打開數據庫到mount階段

SQL>startup mount

(④)更改數據庫歸檔模式

SQL> alter database archivelog;

(⑤)啟動數據庫

SQL>alter databsae open;

(⑥)進行表空間備份

SQL> alter tablespace users begin backup;

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

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

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

SQL> select tablespace_name,file_name from dba_data_files;

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

SQL> drop tablespace BOOKTBS2 including contents and datafiles;


免責聲明!

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



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