-- 以 SYSTEM 登入
CONNECT system/manager
-- 建立使用者(密碼若為純數字需雙引號)
CREATE USER newbie IDENTIFIED BY "123456";
-- 或字串密碼
CREATE USER newbie2 IDENTIFIED BY "Abc123";
坑點:Oracle 10g+ 密碼預設區分大小寫,"123456" 與 123456 不同;建議統一使用雙引號括住密碼字面值。
GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE SEQUENCE,
CREATE PROCEDURE, CREATE TRIGGER, CREATE SYNONYM,
UNLIMITED TABLESPACE TO newbie;
-- 如需 DBA 權限(測試環境)
GRANT DBA TO newbie;
最小權限原則:生產環境僅授予業務必要權限,避免 DBA, ANY 系統權限。
-- 使用者名需大寫、單引號
SELECT table_name, owner
FROM all_tables
WHERE owner = 'SYS'
ORDER BY table_name;
坑點:ALL_TABLES 顯示可存取的表;DBA_TABLES 需 DBA 權限顯示全部;USER_TABLES 僅限當前使用者。
DESC table_name 或 SELECT * FROM user_tab_columns WHERE table_name='EMP'SELECT index_name, column_name FROM user_ind_columns WHERE table_name='EMP'SELECT constraint_name, constraint_type FROM user_constraints WHERE table_name='EMP'-- 修改密碼
ALTER USER newbie IDENTIFIED BY "NewPass123";
-- 解鎖/鎖定
ALTER USER newbie ACCOUNT UNLOCK;
ALTER USER newbie ACCOUNT LOCK;
sqlplus newbie/"123456"@//localhost:1521/ORCLtnsnames.ora 有定義,sqlplus newbie/"123456"@ORCL新手最常卡在三個地方:**密碼雙引號、使用者名大寫、權限最小授予**。養成「先以 SYSTEM 建使用者 → 授最小權限 → 建同義詞簡化存取 → 定期審核權限」的標準流程,能避開 90% 的初學者坑。