在Ubuntu上運行Oracle數據庫前,需先創建專用的用戶組和用戶,用于隔離權限并提升安全性。
groupadd命令創建oinstall(Oracle安裝組,負責軟件安裝)和dba(數據庫管理員組,負責數據庫管理)兩個核心組:sudo groupadd oinstall
sudo groupadd dba
useradd命令創建oracle用戶,將其加入oinstall(主組)和dba(附加組),并設置初始密碼:sudo useradd -g oinstall -G dba oracle
sudo passwd oracle # 設置強密碼(如包含大小寫字母、數字和特殊字符)
Oracle數據庫需要特定目錄存儲軟件、數據文件等,需正確配置所有權和權限,避免未授權訪問。
/u01/app/oracle/product/19.0.0/dbhome_1)和數據目錄(如/u01/app/oracle/oradata):sudo mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
sudo mkdir -p /u01/app/oracle/oradata
oracle:oinstall(Oracle用戶+安裝組),數據目錄的所有權賦予oracle:dba(Oracle用戶+管理員組):sudo chown -R oracle:oinstall /u01/app/oracle/product
sudo chown -R oracle:dba /u01/app/oracle/oradata
750(所有者可讀/寫/執行,組可讀/執行,其他用戶無權限),數據目錄設置為770(所有者與組可讀/寫/執行,其他用戶無權限):sudo chmod -R 750 /u01/app/oracle/product
sudo chmod -R 770 /u01/app/oracle/oradata
通過SQL*Plus以SYSDBA身份登錄,完成Oracle數據庫用戶的創建、權限分配及驗證。
oracle用戶,使用sqlplus以SYSDBA身份連接:su - oracle
sqlplus / as sysdba
CREATE USER命令創建用戶(如hr_user),設置密碼及默認表空間(如USERS)、臨時表空間(如TEMP),并分配初始存儲配額(如10MB):CREATE USER hr_user IDENTIFIED BY HrPass123
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA 10M ON users;
GRANT命令授予用戶必要的系統權限(如CREATE SESSION允許登錄,CREATE TABLE允許創建表):GRANT CREATE SESSION, CREATE TABLE TO hr_user;
employees表)的操作權限(如SELECT查詢、UPDATE更新):GRANT SELECT, UPDATE ON scott.employees TO hr_user;
hr_manager),簡化權限分配:CREATE ROLE hr_manager;
GRANT CREATE JOB, DELETE ANY TABLE TO hr_manager;
hr_user):GRANT hr_manager TO hr_user;
REVOKE命令撤銷用戶或角色的權限(如撤銷hr_user的SELECT權限):REVOKE SELECT ON scott.employees FROM hr_user;
為oracle用戶配置環境變量,確保Oracle命令(如sqlplus、lsnrctl)能正常運行。
.bash_profile文件:oracle用戶,使用文本編輯器(如nano)修改~/.bash_profile:su - oracle
nano ~/.bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
source命令使環境變量立即生效:source ~/.bash_profile
DROP TABLE權限)。SELECT * FROM USER_SYS_PRIVS;(查看系統權限)、SELECT * FROM USER_TAB_PRIVS;(查看對象權限)定期檢查權限分配情況,及時回收冗余權限。oinstall組)、管理(dba組)、應用訪問(普通用戶組)權限分離,降低安全風險。