從裸機到可業務訪問,涵蓋 DBCA 建庫、表空間規劃、用戶創建、權限模型、遠程連接配置、Schema 遷移六大環節。適合初學者建立標準化交付流程。
db2.example.com) 與 SID (如 db2)E:\app\admin\oradata\db2\ (分離軟體與數據)-- 業務表空間 (自動擴展)
CREATE TABLESPACE db2tabs
DATAFILE 'E:\app\admin\oradata\db2\db2tabs.dbf'
SIZE 500M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
SEGMENT SPACE MANAGEMENT AUTO;
-- 索引表空間 (分離 IO)
CREATE TABLESPACE db2idx
DATAFILE 'E:\app\admin\oradata\db2\db2idx.dbf'
SIZE 200M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;
CREATE USER user2 IDENTIFIED BY user2
DEFAULT TABLESPACE db2tabs
TEMPORARY TABLESPACE temp
QUOTA UNLIMITED ON db2tabs
QUOTA 100M ON db2idx;
-- 常用帳號維護
ALTER USER user2 IDENTIFIED BY newpass; -- 改密
ALTER USER user2 DEFAULT TABLESPACE new_tbs; -- 換表空間
ALTER USER user2 ACCOUNT LOCK/UNLOCK; -- 鎖定/解鎖
-- 1. 創建業務角色
CREATE ROLE app_role;
-- 2. 授予核心權限
GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE SEQUENCE,
CREATE PROCEDURE, CREATE TRIGGER, CREATE SYNONYM
TO app_role;
-- 3. 表空間配額 (可在角色層面統一)
GRANT UNLIMITED TABLESPACE TO app_role; -- 或按表空間配額
-- 4. 用戶歸屬角色
GRANT app_role TO user2;
-- 5. 對象級授權 (跨 Schema)
GRANT SELECT ON scott.dept TO app_role WITH GRANT OPTION;
# tnsnames.ora
DB2_REMOTE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = db2.example.com)
)
)
驗證:TNSPING DB2_REMOTE → SQLPLUS user2/user2@DB2_REMOTE
EXPDP scott/tiger@db1 DIRECTORY=dpump DUMPFILE=scott.dmp SCHEMAS=scottIMPDP user2/user2@db2 DIRECTORY=dpump DUMPFILE=scott.dmp REMAP_SCHEMA=scott:user2 REMAP_TABLESPACE=users:db2tabs關鍵參數:REMAP_SCHEMA 重映射擁有者,REMAP_TABLESPACE 重映射表空間。
GRANT READ,WRITE ON DIRECTORY dpump TO user2