目的
(1) 掌握表空間的建立和管理操作。
(2) 掌握OEM下表空間的查看、修改等管理操作。
(3) 掌握數據文件的建立、修改、查看、刪除操作。
(4) 掌握控制文件、日志文件的建立、修改、查看、刪除操作。
要求
(1) 記錄表空間操作過程中基本操作界面。
(2) 記錄利用企業管理器對數據文件、日志文件和控制文件進行管理操作的界面。
(3) 記錄利用SQL*Plus使用語句管理表空間和各類文件的操作。
步驟:
(1)添加表空間。
① 利用企業管理器創建案例表空間“ygbx_tbs”,為表空間“ygbx_tbs”添加一個數據文件“ygbx001.dbf”,路徑為“f:\”,大小為10 MB。如果該數據文件已經存在,則被覆蓋,數據文件具有自動擴展屬性,每次增量為64 KB,最大值為50 MB。
1.在浏覽器的地址欄中輸入登陸oem的地址:https://localhost:1158/em
輸入用戶名和密碼如圖所示:
2. 點擊“server”,如圖所示
3.點擊如圖所示的Storage中的tablespaces
4.點擊頁面右邊的“create”進行創建表空間ygbx_tbs
並且添加數據文件“ygbx001.dbf”,路徑為“F:\oracle\”大小為10 MB,如果該數據文件已經存在,則被覆蓋,數據文件具有自動擴展屬性,每次增量為64 KB,最大值為50 MB。
5.創建成功,如圖所示:
② 利用命令行方式創建一個表空間“ygbx1_tbs”,為表空間“ygbx1_tbs”添加第1個數據文件“ygbx003.dbf”,路徑為“f:\oracle\”,大小為10 MB。如果該數據文件已經存在,則被覆蓋,數據文件具有自動擴展屬性,每次增量為128 KB,最大值為100 MB。第2個數據文件為“ygbx004.dbf”,路徑為“f:\oracle\”,大小為5 MB,沒有自動擴展屬性。
Sql>create tablespace ygbx1_tbs datafile 'F:\oracle\ygbx003.dbf'
size 10m reuse autoextend on next 128k maxsize 100m;
③ 利用企業管理器創建案例表空間“ygbx2_tbs”,為表空間“ygbx2_tbs”添加一個數據文件“ygbx005.dbf”,路徑為“f:\”,大小為10 MB。如果該數據文件已經存在,則被覆蓋,數據文件具有自動擴展屬性,每次增量為64 KB,最大值為50 MB。
注意:表空間在整個數據庫中是惟一的。
步驟如同(1),如圖為所建的表空間
(2) 修改表空間。
① 利用企業管理器修改剛剛創建的表空間“ygbx_tbs”,為表空間“ygbx_tbs”增加數據文件“ygbx002.dbf”,路徑為“f:\oracle\”,大小為10 MB。如果該數據文件已經存在,則被覆蓋,數據文件具有自動擴展屬性,每次增量為64 KB,最大值為50 MB,且將其修改為脫機狀態。
.查找到表空間ygbx_tbs然後在’Actions’ 中選中 add datafiles 點擊‘go’按鈕進行增加數據文件
2)注意如果要增加數據文件,表空間必須在聯機的狀態下進行操作
如上圖為增加數據文件成功後的頁面,
接下來查看表空間對應的信息如下圖所示:
② 利用命令行方式修改表空間“ygbx1_tbs”,為表空間“ygbx1_tbs”增加數據文件“ygbx006.dbf”,路徑為“f:\oracle\”,且將其修改為脫機狀態。
Sql>alter tablespace ygbx1_tbs add datafile ‘F:\oracle\ygbx006.dbf’ ;
Sql>alter database datafile 'F:\oracle\ygbx006.dbf' offline;
(3) 刪除表空間。
① 利用命令行方式刪除表空間“ygbx1_tbs”,同時刪除包含的數據文件。
首先使表空間脫機,然後刪除表空間和數據文件
Sql>alter tablespace ygbx1_tbs offline;
Sql>drop tablespace ygbx1_tbs including contents and datafiles;
② 利用企業管理器方式刪除表空間“ygbx2_tbs”,同時刪除包含的數據文件。
選中‘ygbx2_tbs’然後點中‘delete’進行刪除
(4) 數據文件操作。
① 利用企業管理器修改數據文件ygbx001.dbf的大小為20M。
首先進入datafiles 界面,然後修改數據文件’ygbx001.dbf’ 的file size為20m,如圖點中要修改的數據文件,然後進行編輯
如圖為修改數據文件的大小為20m,然後點擊’apply’生效,
② 利用SQL*Plus修改ygbx003.dbf數據文件的最大值為無限大。
Sql>alter tablespace datafile 'F:\oracle\ygbx003.dbf'maxsize unlimited;
Sql>alter tablespace ygbx_tbs drop datafile ‘F:\orace\ygbx002.dbf’
③ 利用SQL*Plus刪除ygbx002.dbf數據文件。
(5) 查看日志文件、控制文件。
① 利用企業管理器,查看數據庫的控制文件和日志文件,並對其進行管理。
以system的用戶登陸後,點擊server 再點擊storage下的controlfile進入如下界面
同時備份控制文件,如圖所示:
點擊‘ok’按鈕備份成功。
實驗小結:
1. 表空間的大小為該表空間中數據文件大小之和。一個表空間至少包含一個數據文件,一個數據文件只能屬於一個表空間。表空間邏輯存儲對象:永久段-->如表與索引。臨時段-->如臨時表數據與排序段。回滾段-->用於事物回滾或閃回內存的撤銷數據。
2. DATABASE:一個數據庫可劃分為多個稱為表空間的邏輯存儲單元。TABLESPACE:只能屬一個數據庫,包括一個或多個文件。SEGMENT:存在於表空間中,包含一個或多個區。EXTENT:由相鄰的數據塊的組成,這意味著每個區只能存在於一個數據文件中。BLOCK:是數據庫中最小的I/O單元,db_block_size
3. 本地管理表空間的優勢:a.不需要執行遞歸空間管理操作。b.不記錄數據字典表中的的空閒空間,可以減少爭用。c.可自動跟蹤相鄰的空閒空間無需合並空閒空間。d.系統自動確定本地管理區的大小。e.對區位圖進行更改不會生成還原信息,國為這些更改並不更新數據字典中的表(表空間限額信息等特殊情況除外)
4. 刪除沒有對象的表空間: drop tablespace 表空間名;
刪除有對象的表空間,但不刪除物理文件: drop tablespace表空間名including contents;
刪除有對象的表空間和刪除物理文件:drop tablespace表空間名including contents and datafiles cascadeconstraints;
5. 可以使用下面的PL/SQL程序,將任何字典管理的表空間轉換成為本地管理:
Executedbms_space_admin.tablespace_migrage_to_local(‘tablespacename’);
6. 從邏輯上講,數據存儲在段(通常是表)中;從物理上講,數據存儲在數據文件(datafile)中。表空間(tablespace)實體是二者的象,一個表空間可能包含多個段,並由多個數據文件組成。