首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Linux下Oracle用戶創建與授權實戰:從實例啟動到SYSDATA用戶完整交付

     編輯:Oracle 資料庫基礎

Linux環境實例啟動標準流程

# 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

業務用戶 SYSDATA 創建與授權全流程

1. 以 SYSTEM 連接(或 SYS AS SYSDBA)

SQL> CONNECT SYSTEM/admin_pass
-- 或
SQL> CONNECT SYS/sys_pass AS SYSDBA

2. 創建用戶(指定專用表空間)

CREATE USER SYSDATA IDENTIFIED BY admin_pass
  DEFAULT TABLESPACE USERS
  TEMPORARY TABLESPACE TEMP
  QUOTA UNLIMITED ON USERS;

3. 系統權限授予(最小集合)

-- 核心:創建會話
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;      -- 執行任意存儲過程

4. 帶 ADMIN OPTION 授權(可轉授)

GRANT EXECUTE ANY PROCEDURE TO SYSDATA WITH ADMIN OPTION;
-- SYSDATA 現在可 GRANT EXECUTE ANY PROCEDURE TO OTHER_USER

5. 角色授予(替代細粒度系統權限)

GRANT DBA TO SYSDATA;          -- 測試環境可用,生產嚴禁
GRANT CONNECT, RESOURCE TO SYSDATA;  -- 兼容舊應用,新建議拆解

6. 權限驗證查詢

-- 以 SYSDATA 登錄後
SQL> CONNECT SYSDATA/admin_pass
SQL> SELECT * FROM USER_SYS_PRIVS ORDER BY PRIVILEGE;
-- 輸出:PRIVILEGE | ADMIN_OPTION (YES/NO)

7. 撤銷權限

-- 必須以高權限用戶執行
SQL> CONNECT SYSTEM/admin_pass
SQL> REVOKE EXECUTE ANY PROCEDURE FROM SYSDATA;

8. 修改密碼

-- 用戶自改
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;

9. 刪除用戶

SQL> CONNECT SYSTEM/admin_pass
SQL> DROP USER SYSDATA CASCADE;

PL/SQL Developer 圖形界面創建(Windows客戶端連Linux庫)

-- 對應 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,定期審計撤銷過期授權。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved