oracle基礎管理——表空間和資料檔案
//檢視使用者表空間
SQL> select t.default_tablespace from sys.dba_users t WHERE t.username='JUICE';
DEFAULT_TABLESPACE
------------------------------
USERS
//檢視data檔案的路徑
[root@fiona2 orcl]# pwd
/u01/app/oracle/oradata/orcl
//建立表空間,一般都是用local表空間。
//字典管理表空間是透過資料字典表(UET$和FET$)來管理和記錄,而這2個表透過檔案號(file#)、資料塊號(block#)等資訊來管理空間的分配和回收,造成資料庫效能瓶頸和空間碎片。
//本地管理表空間是透過在每個表空間的資料檔案的頭部加入了一個點陣圖區域,在其中記錄每個Extent的使用狀況。自動分配(oracle按遞增演算法來分配空間)或UNIFORM(預設1MB)。
SQL> create tablespace juice datafile '/u01/app/oracle/oradata/orcl/juice01.dbf' size 10M
extent management local uniform size 128k segment space management auto;
Tablespace created.
SQL> select tablespace_name,extent_management,allocation_type FROM dba_tablespaces where tablespace_name='JUICE';
TABLESPACE_NAME EXTENT_MAN ALLOCATIO
------------------------------ ---------- ---------
JUICE LOCAL UNIFORM
1 rows selected.
//使用dump方式,檢視保留塊記錄的內容
SQL> alter system dump datafile 5 block max 3 block min 1;
System altered.
//由以下指令碼獲取當前會話DUMP檔案路徑,如果是想獲取別的會話的DUMP檔案路徑,則修改SID即可。P227
SELECT d.VALUE
|| '/'
|| LOWER (RTRIM (i.INSTANCE, CHR (0)))
|| '_ora_'
|| p.spid
|| '.trc' trace_file_name
FROM (SELECT p.spid
FROM v$mystat m, v$session s, v$process p
WHERE m.statistic# = 1 AND s.SID = m.SID AND p.addr = s.paddr) p,
(SELECT t.INSTANCE
FROM v$thread t, v$parameter v
WHERE v.NAME = 'thread'
AND (v.VALUE = 0 OR t.thread# = TO_NUMBER (v.VALUE))) i,
(SELECT VALUE
FROM v$parameter
WHERE NAME = 'user_dump_dest') d;
SQL> select 'alter table ' || table_name || ' move tablespace users;' from user_tables where tablespace_name='SYSTEM';
'ALTERTABLE'||TABLE_NAME||'MOVETABLESPACEUSERS;'
-----------------------------------------------------------------
alter table PRODUCT move tablespace users;
SQL> alter table PRODUCT move tablespace juice;
Table altered.
SQL> select table_name from user_tables where tablespace_name='JUICE';
TABLE_NAME
------------------------------
PRODUCT
//使用如下方法,如果表的資料量很小的話可以考慮,如果資料量大的話重建索引會耗時比較長。 自己寫批處理生成如下語句:
alter table table1 move tablespace users; alter index index1 rebuild tablepsace users; alter user user1 default tablespace users;
例如 : select 'alter table ' || table_name || ' move tablespace users;' from user_tables where tablespace_name='SYSTEM';
//使用匯入匯出功能,耗時較短
例如將資料庫中system使用者的表匯出 exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
注:如果用exp system/manager@TEST file=d:\daochu.dmp owner=(system),會將所有是system使用者的表都匯出,所以還是一個表一個表的寫吧! 接著匯入到user使用者表 imp user/test@TEST fromuser=system touser=user file=d:\daochu.dmp,就可以了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26477398/viewspace-1320729/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 資料檔案表空間管理Oracle
- oracle基礎練習6章 表空間和資料檔案Oracle
- 表空間和資料檔案管理
- 基礎知識5——表空間和資料檔案
- 表空間和資料檔案的管理
- Oracle 表空間與資料檔案Oracle
- 9.管理表空間和資料檔案(筆記)筆記
- oracle 表空間 資料檔案 筆記Oracle筆記
- Oracle 表空間資料檔案遷移Oracle
- 表空間&資料檔案和控制檔案(zt)
- oracle 普通表空間資料檔案壞塊Oracle
- oracle 回收表空間的資料檔案大小Oracle
- 誤刪oracle資料庫表空間檔案Oracle資料庫
- 重新命名資料檔案和表空間
- 檢視Oracle資料庫表空間大小,是否需要增加表空間的資料檔案Oracle資料庫
- 移動資料檔案、系統表空間檔案、臨時表空間檔案
- Oracle資料庫表空間的資料檔案大小上限。Oracle資料庫
- ORACLE表空間、資料檔案離線問題Oracle
- (個人)Oracle 表空間資料檔案遷移(轉)Oracle
- oracle誤刪除表空間的資料檔案Oracle
- 基礎知識5——建立和管理表空間
- Oracle案例11——Oracle表空間資料庫檔案收縮Oracle資料庫
- Oracle 表空間增加檔案Oracle
- Oracle基礎 01 表空間 tablespaceOracle
- MySQL innodb共享表空間新增表空間資料檔案方法MySql
- 【學習日記】oracle之表空間、資料檔案、控制檔案Oracle
- 表空間中有資料也可以壓縮表空間(資料檔案)大小
- oracle rac on aix 下為表空間增加資料檔案OracleAI
- oracle刪除(釋放)資料檔案/表空間流程Oracle
- 如何檢視Oracle資料庫表空間大小(空閒、已使用),是否要增加表空間的資料檔案...Oracle資料庫
- 刪除表空間和表空間包含的檔案
- 資料檔案,表空間的移動
- 表空間資料檔案故障處理
- 線上遷移表空間資料檔案
- 表空間新增資料檔案的疑惑
- Oracle基礎結構之表空間Oracle
- oracle 小議如何從表空間 刪除 資料檔案Oracle
- Oracle臨時表空間檢視、新增臨時表空間資料檔案、修改預設臨時表空間 方法!Oracle