-- 創建
CREATE INDEX idx_emp_dept ON emp(deptno);
CREATE INDEX idx_emp_composite ON emp(deptno, sal); -- 組合索引
CREATE INDEX idx_emp_func ON emp(UPPER(ename)); -- 函數索引
-- 重建(碎片整理、統計信息更新)
ALTER INDEX idx_emp_dept REBUILD [ONLINE]; -- ONLINE 不鎖表 (EE)
-- 監控使用情況
ALTER INDEX idx_emp_dept MONITORING USAGE;
-- 查詢 v$object_usage 後關閉
ALTER INDEX idx_emp_dept NOMONITORING USAGE;
-- 創建
CREATE VIEW v_emp_dept AS
SELECT e.empno, e.ename, e.sal, d.dname
FROM emp e JOIN dept d ON e.deptno = d.deptno;
-- 編譯驗證(依賴對象變更後)
ALTER VIEW v_emp_dept COMPILE;
-- WITH CHECK OPTION:防止 DML 違反視圖定義條件
CREATE VIEW v_high_sal AS
SELECT * FROM emp WHERE sal > 5000
WITH CHECK OPTION CONSTRAINT v_high_sal_chk;
ROWNUM/DISTINCT、所有 NOT NULL 列包含在內。-- 私有同義詞(當前用戶)
CREATE SYNONYM emp FOR scott.emp;
-- 公共同義詞(全庫可見,需 DBA 權限)
CREATE PUBLIC SYNONYM emp FOR scott.emp;
-- 跨數據庫鏈接
CREATE SYNONYM remote_emp FOR emp@dblink_prod;
-- 創建
CREATE DATABASE LINK dblink_prod
CONNECT TO app_user IDENTIFIED BY password
USING 'tns_alias_prod'; -- tnsnames.ora 中的別名
-- 查詢遠端表
SELECT * FROM emp@dblink_prod WHERE deptno = 10;
-- 全局名稱強制模式 (global_names=true)
-- 鏈接名必須 = 遠端數據庫全局名
SELECT * FROM global_name; -- 查看當前庫全局名
USING 字符串可為 TNS 別名、Easy Connect 字符串(host:port/service)。CONNECT TO CURRENT_USER,需雙向信任)。-- 三大標準角色
GRANT CONNECT, RESOURCE TO app_user; -- 基礎連接 + 創建對象權限
GRANT DBA TO admin_user; -- 完全管理權限(慎授)
-- 細粒度系統權限
GRANT CREATE TABLE, CREATE VIEW, CREATE PROCEDURE TO dev_user;
GRANT UNLIMITED TABLESPACE TO data_user;
-- 五大核心對象權限
GRANT SELECT, INSERT, UPDATE, DELETE, ALTER ON emp TO hr_user;
-- 全部權限
GRANT ALL ON emp TO hr_user;
-- 授予角色(角色可包含多個權限)
CREATE ROLE r_emp_rw;
GRANT SELECT, INSERT, UPDATE ON emp TO r_emp_rw;
GRANT r_emp_rw TO user1, user2;
REVOKE SELECT ON emp FROM hr_user;
REVOKE CONNECT, RESOURCE FROM app_user;
REVOKE SELECT, INSERT, UPDATE ON emp FROM user1, user2;
-- 查詢錯誤代碼 63 詳情
SELECT orgaddr, destaddr FROM sm_histable0116 WHERE error_code = '63';
-- 查詢用戶最大提交/下發
SELECT msisdn, tcos, ocos FROM ms_usertable;
-- 錯誤代碼統計
SELECT error_code, COUNT(*) FROM sm_histable0513 GROUP BY error_code ORDER BY error_code;
-- 話單統計
SELECT SUM(successcount) FROM tbl_middlemt0411 WHERE servicetype2 = 111;
SELECT SUM(successcount), servicetype FROM tbl_middlemt0411 GROUP BY servicetype;
Schema 對象是數據庫邏輯結構的骨架。掌握 索引重建/監控、視圖安全邊界、同義詞解耦、DB Link 跨庫訪問、權限最小化授予(角色封裝),能構建清晰、安全、可維護的數據庫架構。建議建立 DDL_STANDARD 文檔,規範命名、存儲屬性、權限矩陣,所有變更走評審流程。