sql> conn sys/xin as sysdba
已連線。
sql> set wrap off
sql> set linesize 100
1. 一些基本的操作
(1) 檢視表空間:
sql> select * from v$tablespace;
(2) 檢視資料檔案:
sql> select * from v$datafile;
(3) 檢視tablespace 和data files之間的對應關係(通過表空間的號連線在一起):
sql> select t1.name,t2.name
2 from v$tablespace t1, v$datafile t2
3 where t1.ts#=t2.ts#
4 ;
(4) 更改表空間
sql> alter tablespace users
2 add datafile 'e:/oracle/oradata/xiner/users02.dbf' size 10m;
表空間已更改。
2. 管理表空間
在oracle 裡將表空間分為系統表空間和非系統表空間。
(1) 系統表空間包括系統表,資料字典,以及系統回滾段等資訊。
檢視系統回滾段:
sql> select * from dba_rollback_segs;
(2) 非系統表空間用來分離段(分開臨時資料和永久性資料,索引和表放在不同的表空間等等)可以給系統的效能帶來
好處,同時可以控制分配給使用者的空間限額。
控制使用者對空間的使用:
sql> alter user hr
2 quota 10m on users;
使用者已更改。
(3) 如何建立表空間:(均表示可選)
create tablespace ***
[datafile '***']---omf時可以不指定
[size ***--kb,mb]
[extent management local/dictionary]
[default storage(***)]
dictionary-managed tablespaces在oracle 9i 裡已經不建議使用。
sql> create tablespace ice
2 datafile 'e:/oracle/oradata/xiner/ice.dbf' size 5m
3 extent management dictionary
4 default storage(
5 initial 100k
6 next 100k
7 pctincrease 10)
8 offline;
表空間已建立。
如果表空間管理指定為local型,則不能使用default storage。此時不會和資料字典表打交道,不會和系統表產生
資源爭用,也不會產生回滾資料(因為不涉及修改系統表),其次也不會有遞迴的資源爭用。
sql> create tablespace ice1
2 datafile 'e:/oracle/oradata/xiner/ice1.dbf' size 5m
3 extent management local
4 uniform size 1m;
表空間已建立。
sql> create tablespace ice2
2 datafile 'e:/oracle/oradata/xiner/ice2.dbf' size 5m
3 extent management local autoallocate;
表空間已建立。
(4) undo 表空間用來儲存undo段,不能包括其他的資料物件,使用locally管理。
undo 段主要用來儲存資料改變的舊值,可以回滾transcation(rollback)。
sql> show parameter undo
sql> create undo tablespace ice3
2 datafile 'e:/oracle/oradata/xiner/ice3.ora' size 5m
3 extent management local
4 uniform size 1m; //此時不能定義uniform size
uniform size 1m
* error 位於第 4 行:
ora-30024: create undo tablespace 的說明無效
sql> del 4
sql> run
1 create undo tablespace ice3
2 datafile 'e:/oracle/oradata/xiner/ice3.ora' size 5m
3* extent management local
表空間已建立。
不能在回滾表空間建立表物件(不能放其他的資料物件):
sql> create table tt1
2 (id int)
3 tablespace ice3;
create table tt1
* error 位於第 1 行:
ora-30022: 無法在撤消表空間中建立段
(5) 臨時表空間用來支援排序,不能包括永久的資料物件,建議使用locally管理。
sql> create temporary tablespace ice4
2 tempfile 'e:/oracle/oradata/xiner/ice4.ora' size 5m
3 extent management local;
表空間已建立。
sql> create table tt1
2 (id int)
3 tablespace ice4;
create table tt1
* error 位於第 1 行:
ora-02195: 嘗試建立的permanent物件在temporary表空間中
(6) 預設的臨時表空間:
sql> alter database default temporary tablespace ice4
資料庫已更改。
臨時表空間不可以被置為offline,也不能指定為read only,不可以被刪除,除非用另外乙個表空間代替它。
sql> alter talbespace ice4 offline
alter talbespace ice4 offline
* error 位於第 1 行:
ora-00940: 無效的 alter 命令
sql> alter tablespace ice4
2 read only;
alter tablespace ice4
* error 位於第 1 行:
ora-03217: 變更 temporary tablespace 無效的選項
(7) offline狀態:對資料檔案改名or搬動資料檔案的位置or對資料庫進行部分的修復
(7) offline狀態:對資料檔案改名or搬動資料檔案的位置or對資料庫進行部分的修復
sql> alter tablespace users offline;
表空間已更改。
sql> alter tablespace users online;
表空間已更改。
不可以置為offline狀態的表空間包括:system表空間(如果要對系統表空間的檔案進行改變則要關閉資料庫);
包括active undo 段的表空間;預設的臨時表空間
(8) read only 表空間:對錶空間只能進行讀操作;資料物件可以從表空間刪除
sql> alter tablespace users read only;
表空間已更改。
(9) 刪除表空間:
sql> create table tt1
2 (id int)
3 tablespace ice;
表已建立。
sql> drop tablespace ice1;
表空間已丟棄。
sql> drop tablespace ice2
2 including contents and datafiles;
表空間已丟棄。
(10) resize表空間:自動擴張(autoextend on)、手動(resize)
3. 管理資料檔案
(1) 移動data files:
表空間必須是offline(使用alter tablespace *** rename datafile 'xx' to 'xx');
目標資料檔案必須已經存在;
如果是不能處於offline狀態的表空間則要關閉資料庫,將其啟動到mount狀態,同時目標資料檔案必須已經存在。
(使用alter database rename file 'xx' to 'xx')
(2) 配置omf檔案來建立表空間的時候db_create_file_dest會將資料檔案存放在預設的位置。如果想要更改位置則用
alter system set db_create_file_dest='xx';
用omf建立表空間:create tablespace ***; 刪除:drop tablespace ***;
oracle 管理表空間和資料檔案
介紹 表空間是資料庫的邏輯組成部分。從物理上講,資料庫資料存放在資料檔案中 從邏輯上講,資料庫則是存放在表空間中,表空間由乙個或多個資料檔案組成。資料庫的邏輯結構 介紹 oracle 中邏輯結構包括表空間 段 區和塊。說明一下資料庫由表空間構成,而表空間又是由段構成,而段又是由區構成,而 區又是由 ...
oracle 管理表空間和資料檔案
以下內容摘自oracle 11g 權威指南 tablespace 表空間 segment 段 extent 盤區 block 塊 一 表空間和資料檔案的關係 在oracle系統中,表空間與資料檔案是一對不能分開的概念,建立表空間時必須建立資料檔案,增加資料檔案時必須制定表空間。1 查詢表空間及其包含...
Oracle管理表空間和資料檔案詳解
表空間是資料庫的邏輯組成部分 從物理上將 資料庫資料存放在資料檔案中 從邏輯上將 資料庫則是存放在表空間中 表空間由乙個或是多個資料檔案組成 介紹 oracle中邏輯結構包括表空間 段 區 塊 說明 資料庫由表空間構成 而表空間又是由段構成 而段又是由區構成 而區又是由oracle塊構成 這樣的一種...