oracle常見問題處理集錦
- oracle常見問題處理集錦
- ORA-03001:未實施的功能
- ORA:28000 the count is locked
oracle常見問題處理集錦
ORA-03001:未實施的功能
- 問題
ORA-03001:未實施的功能
在datagrip中修改表名稱,使用的語法是:
rename old_name to new_name
-
原因
表示嘗試執行的操作在當前上下文中不被支持或未被正確實現。 -
解決方案
出現該報錯,基本可以斷定是因為sql寫錯了。
ALTER TABLE old_name RENAME TO new_name;
ORA:28000 the count is locked
- 問題
ORA-28000: 賬戶已被鎖定
- 原因
- 多次密碼輸錯(觸發密碼策略中的失敗登錄次數限制)
- 管理員手動鎖定了賬戶
- 密碼過期但沒有及時更新
- 長期未使用該用戶賬戶(也可能被策略自動鎖定)
- 解決方案
你需要用 具有DBA權限的賬戶 登錄數據庫,然后執行以下語句來解鎖賬戶:
# 查看用戶狀態
SELECT username, account_status FROM dba_users WHERE username = 'HR';# 解鎖賬號
ALTER USER 用戶名 ACCOUNT UNLOCK;# 重置密碼并解鎖
ALTER USER 用戶名 IDENTIFIED BY 新密碼 ACCOUNT UNLOCK;# demo
ALTER USER HR IDENTIFIED BY NewPass123 ACCOUNT UNLOCK;
同時查詢登錄失敗策略
# 查詢失敗登錄次數限制策略
SELECT * FROM dba_profiles WHERE resource_name = 'FAILED_LOGIN_ATTEMPTS';# 臨時設置為“無限制”以避免再次鎖定:
ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;# 找出誰在嘗試用錯誤密碼登錄(部分系統可能需要啟用審計功能)
# Returncode = 1017 表示用戶名或密碼錯誤
SELECT username, userhost, terminal, timestamp
FROM dba_audit_session
WHERE returncode = 1017
ORDER BY timestamp DESC;
若未開啟審計功能
# 查看當前審計模式:
SELECT VALUE FROM V$OPTION WHERE PARAMETER = 'Audit Options';# 查看是否啟用了統一審計(Unified Auditing)
SELECT VALUE FROM V$OPTION WHERE PARAMETER = 'Unified Auditing';# 啟用數據庫級別的審計功能(如果尚未啟用)
ALTER SYSTEM SET audit_trail = DB SCOPE = SPFILE;
#'NONE':不記錄審計信息
#'OS':將審計記錄寫入操作系統日志
#'DB, EXTENDED':記錄 SQL 語句文本和綁定變量# 重啟數據庫
SHUTDOWN IMMEDIATE;
STARTUP;# 啟用你想要的審計項目(例如登錄失敗)
# 審計所有登錄嘗試(成功和失敗)
AUDIT SESSION;# 只審計失敗的登錄:
AUDIT SESSION WHENEVER NOT SUCCESSFUL;# 審計某個表上的操作:
AUDIT SELECT, INSERT, UPDATE, DELETE ON scott.emp BY ACCESS;# 查看審計日志(如果你使用的是 AUDIT_TRAIL=DB,可以通過以下視圖查詢審計記錄)
# 登錄相關信息:
SELECT username, userhost, returncode, timestamp
FROM dba_audit_session
ORDER BY timestamp DESC;# 表操作相關信息:
SELECT * FROM dba_audit_trail
ORDER BY timestamp DESC;# 關閉或清理審計(可選)
# 關閉審計:
NOAUDIT ALL;# 清理歷史審計記錄(注意備份):
DELETE FROM dba_audit_trail;
COMMIT;