Schema 物件是資料庫邏輯結構的基石。本文彙整 Index、View、Synonym、Database Link 的標準 DDL 與維護指令。
-- 建立單欄/複合索引
CREATE INDEX idx_name ON table_name (col1, col2...);
-- 重建索引 (消除碎片、更新統計)
ALTER INDEX idx_name REBUILD;
最佳實踐:單表索引建議 ≤ 3 個 (超大表除外);優先單欄索引,依 SQL 執行計畫再評估複合索引或函數索引。
Oracle 8.1.7 字串索引長度上限 1578 bytes,8.0.6 為 758 bytes。
-- 建立視圖
CREATE VIEW view_name AS SELECT ... FROM ...;
-- 編譯視圖 (底表結構變更後)
ALTER VIEW view_name COMPILE;
視圖本質是儲存的查詢,可簡化複雜 Join、隱藏敏感欄位、提供安全層。
-- 私有同義詞 (當前 Schema)
CREATE SYNONYM syn_name FOR table_name;
-- 公共同義詞 (需 DBA 權限)
CREATE PUBLIC SYNONYM syn_name FOR table_name;
-- 跨資料庫同義詞
CREATE SYNONYM syn_name FOR table_name@dblink_name;
CREATE DATABASE LINK dblink_name
CONNECT TO remote_user IDENTIFIED BY password
USING 'tns_connect_string';
tnsnames.oraGLOBAL_NAMES=TRUE 時,Link 名稱必須等於遠端 GLOBAL_NAME (查法:SELECT * FROM GLOBAL_NAME;)SELECT * FROM remote_table@dblink_name;
掌握這四類物件語法,即可應付大多數 Schema 設計與跨庫整合需求。