# 1. 切換 oracle 用戶
$ su - oracle
# 2. 啟動監聽
$ lsnrctl start
# 驗證
$ lsnrctl status
# 3. SQL*Plus 連接啟動實例
$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
-- 輸出:ORACLE instance started / Database mounted / Database opened
# 4. 關閉實例(維護窗口)
SQL> SHUTDOWN IMMEDIATE
SQL> CONNECT SYSTEM/admin_pass
-- 或
SQL> CONNECT SYS/sys_pass AS SYSDBA
CREATE USER SYSDATA IDENTIFIED BY admin_pass
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
QUOTA UNLIMITED ON USERS;
-- 核心:創建會話
GRANT CREATE SESSION TO SYSDATA;
-- 業務構建權限(按需)
GRANT CREATE TABLE, CREATE VIEW, CREATE SEQUENCE, CREATE PROCEDURE, CREATE TRIGGER, CREATE SYNONYM TO SYSDATA;
-- 同步工具所需權限(示例)
GRANT CREATE ANY TABLE TO SYSDATA; -- 異構同步可能需在其他Schema建表
GRANT SELECT ANY TABLE TO SYSDATA; -- 全庫讀取
GRANT INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE TO SYSDATA; -- 全庫寫入
GRANT EXECUTE ANY PROCEDURE TO SYSDATA; -- 執行任意存儲過程
GRANT EXECUTE ANY PROCEDURE TO SYSDATA WITH ADMIN OPTION;
-- SYSDATA 現在可 GRANT EXECUTE ANY PROCEDURE TO OTHER_USER
GRANT DBA TO SYSDATA; -- 測試環境可用,生產嚴禁
GRANT CONNECT, RESOURCE TO SYSDATA; -- 兼容舊應用,新建議拆解
-- 以 SYSDATA 登錄後
SQL> CONNECT SYSDATA/admin_pass
SQL> SELECT * FROM USER_SYS_PRIVS ORDER BY PRIVILEGE;
-- 輸出:PRIVILEGE | ADMIN_OPTION (YES/NO)
-- 必須以高權限用戶執行
SQL> CONNECT SYSTEM/admin_pass
SQL> REVOKE EXECUTE ANY PROCEDURE FROM SYSDATA;
-- 用戶自改
SQL> CONNECT SYSDATA/admin_pass
SQL> PASSWORD
-- 或
SQL> ALTER USER SYSDATA IDENTIFIED BY new_pass REPLACE admin_pass;
-- 管理員重置
SQL> CONNECT SYSTEM/admin_pass
SQL> ALTER USER SYSDATA IDENTIFIED BY new_pass;
SQL> CONNECT SYSTEM/admin_pass
SQL> DROP USER SYSDATA CASCADE;
-- 對應 DDL
CREATE USER SYSDATA IDENTIFIED BY ADMIN
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
GRANT UNLIMITED TABLESPACE TO SYSDATA;
GRANT DBA TO SYSDATA;
GRANT CONNECT TO SYSDATA;
| 權限 | 允許操作 | 風險等級 |
|---|---|---|
| CREATE SESSION | 連接數據庫 | 低 |
| CREATE TABLE | 在自己Schema建表 | 低 |
| CREATE ANY TABLE | 在任意Schema建表 | 高 |
| DROP ANY TABLE | 刪除任意Schema表 | 極高 |
| SELECT ANY TABLE | 查詢任意Schema表 | 中 |
| INSERT/UPDATE/DELETE ANY TABLE | 修改任意Schema表數據 | 高 |
| EXECUTE ANY PROCEDURE | 執行任意存儲過程 | 中 |
| CREATE USER / DROP USER | 用戶生命周期管理 | 極高 |
Linux下Oracle用戶交付標準化:oracle用戶啟動實例 → SYSTEM/SYS連接 → 創建用戶綁定專用表空間 → 最小系統權限/角色授予 → 驗證USER_SYS_PRIVS → 文檔歸檔。同步工具賬號SYSDATA授權原則:僅授予同步必需的ANY權限,嚴禁DBA,定期審計撤銷過期授權。