-- 臨時表空間
CREATE TEMPORARY TABLESPACE zfmi_temp
TEMPFILE 'D:\oracle\oradata\zfmi\zfmi_temp.dbf'
SIZE 100M AUTOEXTEND ON NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
-- 永久表空間
CREATE TABLESPACE zfmi
DATAFILE 'D:\oracle\oradata\zfmi\zfmi.dbf'
SIZE 100M AUTOEXTEND ON NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
CREATE USER zfmi IDENTIFIED BY zfmi
DEFAULT TABLESPACE zfmi
TEMPORARY TABLESPACE zfmi_temp;
-- 基礎連線與開發權限
GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE SEQUENCE, CREATE PROCEDURE TO zfmi;
-- 配額授權(避免無限制佔用 SYSTEM 表空間)
ALTER USER zfmi QUOTA UNLIMITED ON zfmi;
-- 生產環境嚴禁直接 GRANT DBA TO user;
-- 刪用戶及其所有物件
DROP USER zfmi CASCADE;
-- 刪表空間含內容、資料檔、外鍵約束
DROP TABLESPACE zfmi INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
SQLPLUS / AS SYSDBA
SHUTDOWN ABORT
STARTUP MOUNT
ALTER DATABASE DATAFILE '缺失檔路徑' OFFLINE DROP;
ALTER DATABASE OPEN;
DROP TABLESPACE 表空間名 INCLUDING CONTENTS;
| 場景 | 導出 (EXP) | 導入 (IMP) |
|---|---|---|
| 全庫 | exp system/pwd@db FULL=Y FILE=full.dmp |
imp system/pwd@db FULL=Y FILE=full.dmp IGNORE=Y |
| 指定用戶 | exp system/pwd@db OWNER=scott FILE=scott.dmp |
imp system/pwd@db FROMUSER=scott TOUSER=scott FILE=scott.dmp IGNORE=Y |
| 指定表 | exp user/pwd@db TABLES=emp,dept FILE=tabs.dmp |
imp user/pwd@db TABLES=emp FILE=tabs.dmp IGNORE=Y |
| 條件導出 | exp user/pwd@db TABLES=emp QUERY="WHERE deptno=10" FILE=qry.dmp |
-- |
| 壓縮導出 | exp ... COMPRESS=Y (僅壓縮 extent,建議 OS 壓縮 .dmp) |
-- |
IGNORE=Y:導入時忽略「物件已存在」錯誤,繼續載入資料FROMUSER/TOUSER:跨 Schema 遷移利器BUFFER:調大緩衝區加速導入(如 409600)LOG:記錄導入過程,便於審計-- import.par
FROMUSER=OLD_SCHEMA
TOUSER=NEW_SCHEMA
ROWS=Y
INDEXES=Y
GRANTS=Y
CONSTRAINTS=Y
BUFFER=409600
FILE=/backup/exp.dmp
LOG=/backup/imp.log
-- 執行
imp parfile=import.par
-- 測試連線
TNSPING ORCL
-- 授予導入導出完整權限
GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE ANY DIRECTORY,
EXP_FULL_DATABASE, IMP_FULL_DATABASE, DBA TO target_user;
現代替代方案:Oracle 10g+ 強烈建議改用 Data Pump (EXPDP/IMPDP),支援並行、網路模式、細粒度過濾、壓縮加密,效能與功能全面超越 EXP/IMP。