在Ubuntu中管理Oracle用戶,主要涉及操作系統用戶和數據庫用戶兩方面,具體操作如下:
創建用戶并添加到指定組
sudo useradd -m -g oinstall -G dba oracle_user # 主組oinstall,附加組dba
sudo passwd oracle_user # 設置密碼
oinstall
:Oracle軟件安裝組,dba
:數據庫管理員組。設置用戶權限與資源限制
sudo visudo # 編輯sudoers文件,賦予用戶執行特定命令的權限(如啟動監聽器)
sudo chown -R oracle_user:oinstall /u01/app/oracle # 設置Oracle目錄所屬權
創建數據庫用戶
以sysdba
身份登錄數據庫(需先切換到Oracle用戶):
su - oracle
sqlplus / as sysdba
CREATE USER new_user IDENTIFIED BY password DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
分配權限
GRANT CREATE SESSION, CREATE TABLE TO new_user;
GRANT SELECT, UPDATE ON schema.table TO new_user;
CREATE ROLE hr_role;
GRANT SELECT ON employees TO hr_role;
GRANT hr_role TO new_user;
撤銷權限與刪除用戶
REVOKE SELECT ON schema.table FROM new_user; -- 撤銷對象權限
DROP USER new_user CASCADE; -- 刪除用戶(級聯刪除其對象)
查看用戶權限
SELECT * FROM user_sys_privs; -- 系統權限
SELECT * FROM user_tab_privs; -- 對象權限
SELECT * FROM user_role_privs; -- 角色權限
/etc/oratab
配置,允許操作系統用戶直接登錄數據庫。oracle
用戶下執行,或通過sudo
獲取權限。參考來源: