本文以 Oracle 11g 為例,詳細記錄使用 SQL Developer 圖形介面建立資料庫使用者的完整流程,重點釐清兩個新手最易踩的坑:**角色授權**與**表空間配額**,缺一不可才能正常登入與建表。
SYSTEM 或具 DBA 權限的管理帳號密碼Local_SYSTEM)systemlocalhost(或資料庫伺服器 IP)1521(預設)orcl(或您的實例名稱)dev_user)USERS(建議不使用 SYSTEM)TEMP切換至「角色」頁籤:
⚠ 重要:未授予
DBA或至少CONNECT, RESOURCE角色,新使用者將無法建立 Session 登入資料庫。
切換至「限額」頁籤:
100M)⚠ 重要:預設新使用者對任何表空間配額為 0,缺乏配額將導致
CREATE TABLE報錯ORA-01950: no privileges on tablespace 'SYSTEM'。
CREATE TABLE test_tbl (id NUMBER PRIMARY KEY, name VARCHAR2(50));
INSERT INTO test_tbl VALUES (1, 'test');
COMMIT;
| 角色/權限 | 用途 | 建議對象 |
|---|---|---|
CONNECT | 建立 Session(登入權限) | 所有使用者 |
RESOURCE | 建立表、序列、觸發器等物件 | 開發人員 |
DBA | 所有系統權限,含建立使用者、備份恢復等 | 資料庫管理員 |
UNLIMITED TABLESPACE | 繞過所有表空間配額限制 | DBA/高權限開發 |
生產環境原則:最小權限原則。開發帳號授 CONNECT, RESOURCE + 特定表空間配額;僅 DBA 授 DBA 角色。
CONNECT 角色ALTER USER dev_user IDENTIFIED BY new_pwd ACCOUNT UNLOCK;