首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 用戶與表空間生命週期管理:建立、刪除、匯入匯出、角色權限完整腳本庫

     編輯:Oracle 資料庫基礎

一、建立暫存表空間

CREATE TEMPORARY TABLESPACE zfmi_temp
TEMPFILE 'D:\Oracle\oradata\zfmi\zfmi_temp.dbf'
SIZE 32M
AUTOEXTEND ON NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;

二、建立永久資料表空間

CREATE TABLESPACE zfmi
LOGGING
DATAFILE 'D:\Oracle\oradata\zfmi\zfmi.dbf'
SIZE 100M
AUTOEXTEND ON NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
SEGMENT SPACE MANAGEMENT AUTO;

三、刪除用戶 (級聯刪除所有物件)

DROP USER zfmi CASCADE;

CASCADE 為慣用參數,避免「用戶擁有物件無法刪除」錯誤。

四、刪除表空間 (完整清理)

DROP TABLESPACE zfmi
INCLUDING CONTENTS AND DATAFILES
CASCADE CONSTRAINTS;
  • INCLUDING CONTENTS:刪除段資料 (否則有資料無法刪除)。
  • AND DATAFILES:同步刪除 OS 檔案。
  • CASCADE CONSTRAINTS:刪除跨表空間外鍵參考。

五、Data Pump 匯出匯入 (expdp/impdp) 取代傳統 exp/imp

匯出範例

expdp system/password \
  DIRECTORY=dpump_dir \
  SCHEMAS=zfmi \
  DUMPFILE=zfmi_%U.dmp \
  LOGFILE=zfmi_exp.log \
  PARALLEL=4 \
  COMPRESSION=ALL

匯入範例

impdp system/password \
  DIRECTORY=dpump_dir \
  SCHEMAS=zfmi \
  DUMPFILE=zfmi_%U.dmp \
  LOGFILE=zfmi_imp.log \
  TABLE_EXISTS_ACTION=REPLACE \
  REMAP_TABLESPACE=zfmi:new_ts \
  PARALLEL=4

關鍵參數說明

六、角色與權限管理

-- 建立角色
CREATE ROLE app_dev;

-- 授予角色權限
GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW TO app_dev;

-- 授予角色給用戶
GRANT app_dev TO zfmi;

-- 查詢角色權限
SELECT * FROM ROLE_SYS_PRIVS WHERE role = 'APP_DEV';
SELECT * FROM ROLE_TAB_PRIVS WHERE role = 'APP_DEV';

七、常用維護查詢

-- 表空間使用率
SELECT tablespace_name, 
       ROUND(bytes/1024/1024,2) total_mb,
       ROUND((bytes-free_bytes)/1024/1024,2) used_mb,
       ROUND(free_bytes/1024/1024,2) free_mb
FROM dba_tablespace_usage_metrics;

-- 用戶物件統計
SELECT owner, object_type, COUNT(*) FROM dba_objects WHERE owner = 'ZFMI' GROUP BY owner, object_type;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
參數用途
DIRECTORYOracle Directory 物件 (CREATE DIRECTORY dpump_dir AS '...')
PARALLEL平行度,配合多 CPU 加速
COMPRESSIONALL/METADATA_ONLY/NONE,減少轉存檔體積
TABLE_EXISTS_ACTIONSKIP/APPEND/TRUNCATE/REPLACE,匯入衝突處理
REMAP_TABLESPACE跨表空間遷移
REMAP_SCHEMA跨用戶遷移