整理 Oracle 資料庫日常運維最常用的建立、刪除、授權、匯入匯出指令,附關鍵參數說明與避坑提醒,適合 DBA 隨時查閱。
CREATE TEMPORARY TABLESPACE zfmi_temp
TEMPFILE 'D:/oracle/oradata/zfmi/zfmi_temp.dbf'
SIZE 32M
AUTOEXTEND ON NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
關鍵:必須指定 TEMPFILE。
CREATE TABLESPACE zfmi
LOGGING
DATAFILE 'D:/oracle/oradata/zfmi/zfmi.dbf'
SIZE 100M
AUTOEXTEND ON NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
關鍵:必須指定 DATAFILE。
DROP TABLESPACE zfmi INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
INCLUDING CONTENTS:刪除段內容。AND DATAFILES:同步刪除 OS 層資料檔。CASCADE CONSTRAINTS:連帶刪除參考此表空間表格的外鍵。SQLPLUS /NOLOG
CONN / AS SYSDBA
SHUTDOWN ABORT
STARTUP MOUNT
ALTER DATABASE DATAFILE '被刪檔案完整路徑' OFFLINE DROP;
ALTER DATABASE OPEN;
DROP TABLESPACE 表空間名 INCLUDING CONTENTS;
CREATE USER zfmi IDENTIFIED BY zfmi
DEFAULT TABLESPACE zfmi
TEMPORARY TABLESPACE zfmi_temp;
GRANT DBA TO zfmi;
DROP USER zfmi CASCADE;
習慣加 CASCADE,否則使用者擁有物件時無法刪除。
exp userid=system/manager file=full.dmp full=y log=exp.log
exp userid=scott/tiger file=scott.dmp tables=(emp,dept) grants=y indexes=y
imp userid=system/manager file=full.dmp full=y log=imp.log
imp userid=scott/tiger file=scott.dmp fromuser=scott touser=scott ignore=y
| 參數 | 說明 | 預設 |
|---|---|---|
| FULL | 全庫匯出/匯入 | N |
| OWNER / FROMUSER | 來源綱要 | - |
| TABLES | 指定表清單 | - |
| IGNORE | 忽略建立錯誤(匯入) | N |
| GRANTS / INDEXES / CONSTRAINTS | 權限/索引/約束 | Y |
| ROWS | 是否匯入資料列 | Y |
| BUFFER | 緩衝區大小 | - |
| FILE | 匯出/匯入檔名 | EXPDAT.DMP |
| LOG | 日誌檔 | 螢幕 |
-- 建立目錄物件
CREATE DIRECTORY dmpdir AS '/u01/backup';
GRANT READ, WRITE ON DIRECTORY dmpdir TO scott;
-- 匯出
expdp scott/tiger@orcl directory=dmpdir dumpfile=scott.dmp logfile=exp.log
-- 匯入(含綱要重對應)
impdp scott/tiger@orcl directory=dmpdir dumpfile=scott.dmp logfile=imp.log REMAP_SCHEMA=scott:newuser
注意:11g 空表預設不匯出,需 INCLUDE=TABLE:"IN (SELECT table_name FROM user_tables)" 或改用 Data Pump。
ORA-00845: MEMORY_TARGET not supported → 調大 /dev/shm(修改 /etc/fstab 加 size=2G 並 mount -o remount /dev/shm)。ORA-01102: cannot mount database in EXCLUSIVE mode → 殘留鎖定檔,fuser -k lk* 釋放。