A. 如何處理Oracle 11g 密碼過期問題
首先Win鍵+R鍵,打開運行窗口,輸入cmd 回車;
即成功完成設置。
B. Oracle密碼過期 怎麼修改
一、使用工具:sqlplus、oracle資料庫。
二、過期原因:是由於oracle11g中默認在default概要文件中設置了「PASSWORD_LIFE_TIME=180天」所導致。
三、修改方法:
1、查看用戶的proifle是哪個,一般是default:sql>SELECT username,PROFILE FROM dba_users;
2、查看指定概要文件(如default)的密碼有效期設置:sql>SELECT * FROM dba_profiles s WHERE s.profile=\'DEFAULT\' AND
resource_name=\'PASSWORD_LIFE_TIME\';
3、將密碼有效期由默認的180天修改成「無限制」:sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
4、修改後,還沒有被提示ORA-28002警告的帳戶不會再碰到同樣的提示;
已經被提示的帳戶必須再改一次密碼,舉例如下:
$sqlplus / as sysdba
sql> alter user smsc identified by <原來的密碼> ----不用換新密碼
oracle11g啟動參數resource_limit無論設置為false還是true,密碼有效期都是生效的,所以必須通過以上方式進行修改。以上的帳戶名請根據實際使用的帳戶名更改。
三、注意事項:
1、新密碼最好以字母開頭,否則可能出現錯誤Ora-00988。
2、修改之後不需要重啟動資料庫,會立即生效。
C. oracle result_cache 有效期
oracle11g的result cache小結(一)
11G result cache緩存結果集的新特性,是一個非常適合只讀、讀>>寫、典型OLTP等系統的功能。oracle的result cache
分為client query cache result和server query cache result
SQL> show parameter result
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
client_result_cache_lag big integer 3000
client_result_cache_size big integer 0
result_cache_max_result integer 5
result_cache_max_size big integer 85024K
result_cache_mode string FORCE
result_cache_remote_expiration integer 0
SQL>
關於 Result Cache的幾個重要參數
result_cache_mode:
該參數是最為重要的,其屬性有manual和force,auto三種。
manual是默認屬性,也就是說我們要啟用該特性,那麼必須通過hint來實現,不然oracle的優化器是無法認知的,oracle關於result cache的
hint如下:
SQL> SELECT name,version FROM v$sql_hint WHERE name LIKE '%RESULT%';
NAME VERSION
---------------------------------------------------------------- -------------------------
RESULT_CACHE 11.1.0.6
NO_RESULT_CACHE 11.1.0.6
當設置為force時,oracle 優化就能自動識別了,不需要使用hint,相反,如果當設置為force時,同時
你又不想某個sql或應用使用該特性,那麼可以使用NO_RESUIT_CACHE hint來進行避規。
當設置了auto時,優化器將根據大量因素決定是否緩存結果。決定因素包括查詢執行的頻率、生成結果的
成本以及針對底層資料庫對象更改的頻率,目前的穩定性還需要驗證。
result_cache_max_size
該參數控制著使用該特性的內存大小,當該參數設置為0,那麼也就意味著關閉了該特性。
該部分內存是從SGA中分配的,Oracle11g都不會將RESULT_CACHE_MAX_SIZE設置為超過
SHARED_POOL_SIZE的75%,至於分配的比例關系,metalink提供了如下的數據:
0.25% of MEMORY_TARGET or
0.5% of SGA_TARGET or
1% of SHARED_POOL_SIZE
result_cache_max_result
該參數是控制單個result所能占據query cache的大小比例,注意是一個百分比。
該參數默認是是5%,取值范圍當然是1% ~ 100% 了。
result_cache_remote_expiration
該參數的作用是根據遠程資料庫對象設置緩存過期的時間,默認值為0.
也就是說,默認情況下,遠程資料庫對象不會被進行cache的。
_result_cache_global
顧名思義,該參數肯定是針對Rac集群而設計的,這樣可以大大的降低經典的gc等待。
和Result Cache相關的視圖
SQL> select * from dict where table_name like '%RESULT_CACHE%';
TABLE_NAME COMMENTS
------------------------------ --------------------------------------------------------------------------------
CLIENT_RESULT_CACHE_STATS$ Synonym for CRCSTATS_$
GV$RESULT_CACHE_DEPENDENCY Synonym for GV_$RESULT_CACHE_DEPENDENCY
GV$RESULT_CACHE_MEMORY Synonym for GV_$RESULT_CACHE_MEMORY
GV$RESULT_CACHE_OBJECTS Synonym for GV_$RESULT_CACHE_OBJECTS
GV$RESULT_CACHE_STATISTICS Synonym for GV_$RESULT_CACHE_STATISTICS
V$RESULT_CACHE_DEPENDENCY Synonym for V_$RESULT_CACHE_DEPENDENCY
V$RESULT_CACHE_MEMORY Synonym for V_$RESULT_CACHE_MEMORY
V$RESULT_CACHE_OBJECTS Synonym for V_$RESULT_CACHE_OBJECTS
V$RESULT_CACHE_STATISTICS Synonym for V_$RESULT_CACHE_STATISTICS
9 rows selected
SQL>
V$RESULT_CACHE_STATISTICS:列出各種緩存設置和內存使用統計數據。
這個特殊說明下欄位:
Create Count Success:新建的result cache的數量
Find Count:說明使用result cache的次數
Create Count Failure:說明創建result cache失敗的數量
V$RESULT_CACHE_MEMORY:列出所有的內存塊和相應的統計信息。
V$RESULT_CACHE_OBJECTS:列出所有的對象(緩存的結果和依賴的對象)和它們的屬性。
V$RESULT_CACHE_DEPENDENCY:列出緩存的結果和依賴對象間的依賴詳情。
檢查result cache配置是否生效
1.select dbms_result_cache.status from al;
2.dbms_result_cache.MEMORY_REPORT
3.查看sql執行計劃
注意:
11g的active dataguard的備庫是不能使用result cache的,這是oracle的一個bug,因為涉及到內碼的問題,所以oracle一直沒有修復,result cache目前可以使用在單節點主庫和rac環境。
D. Oracle用戶密碼有效期和默認的有效期不對應
沒怎麼明白要問什麼,不過默認密碼的天數可以隨便改,下面這個是改成無期的
Oracle11g中,為了讓客戶在半年時間內更改資料庫用戶密碼,在默認的情況下,資料庫用戶的默認密碼有效期為180天,而Oracle10g默認資料庫用戶密碼為無期。
解決方法:
1、查看當前資料庫的密碼有效期 SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
2、修改密碼有效期為無期 ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
E. linux 下如何修改oracle11g所有用戶密碼使其永不過期相關的也可以參考,謝謝老
跟操作系統沒關系
在oracle中執行一下操作:
1、查看用戶的proifle是那個,一般是default:回
sql>SELECT username,PROFILE FROM dba_users;
2、查看指定概要文件(答如default)的密碼有效期設置:
sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
3、將密碼有效期由默認的180天修改成「無限制」:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
4、修改後,還沒有被提示ORA-28002警告的用戶不會再碰到同樣的提示;
已經被提示的用戶必須再改一次密碼,舉例如下:
$sqlplus / as sysdba
sql> alter user wapgw identified by <原來的密碼>
F. 如何應對被公開的Oracle口令加密演算法
由於Oracle資料庫被廣泛應用,其口令加密演算法也是備受關注。最早在1993年comp.databases.oracle.server新聞組中有人披露了加密演算法的大部分細節。十年後,一本名為《Special Ops Host and Network Security for Microsoft, Unix and Oracle》的書中補全了演算法最重要的一個環節——DES演算法的KEY。至此,口令加密演算法已無秘密可言。接踵而來的是互聯網上出現多個了Oracle口令破解工具。Oracle在2007年推出的最新版本11g中,使用了新的更安全的加密演算法,但是新演算法的細節很快又在互聯網上被公開。為提供兼容,11g版本保留了11g以前版本使用的加密口令,利用這一漏洞仍然可以對11g版本的加密口令進行破解。
到底怎樣才能保證資料庫口令的安全呢?本文首先介紹Oracle資料庫各版本口令加密演算法的內容,然後針對演算法重點介紹加強資料庫安全性的應對措施。
口令加密演算法
從Oracle7到Oracle 10gR2,使用DES演算法對口令進行加密。對演算法進行分析,可以得出如下結論:口令不區分大小寫,任意大小寫組合均可登錄;由於只使用固定KEY,只要用戶名和口令相同,在任一DB中存放的加密口令都相同;由於採用了用戶名和口令串接的方式,所以用戶aaa、口令bbbccc的加密值與用戶aaabbb、口令ccc完全相同。
Oracle 11g版本的加密口令存放在SYS.USER$表中的SPARE4列中,而PASSWORD列中仍保留以前版本加密口令。由於客戶端計算加密口令需要用到SALT,在建立連接時,伺服器端將SALT明文傳送給客戶端程序。Oracle 11g中新的口令加密演算法中區分大小寫;由於加入了隨機數SALT,兩個不同用戶的口令即便完全相同,計算得到的SHA1的散列值也不同;不同DB中相同用戶相同口令,SHA1散列值也可能不同。
目前,大多數破解工具的工作方式是得到加密口令後,對每一個可能的口令進行加密計算,比較計算結果而確定是否正確。由此,抵禦口令破解可以從三個方面著手:防止加密口令外泄;在加密口令落入黑客手中後,口令也是不可破解的,或盡量增加破解的時間;即便是口令被破解,也是無用的,不能存取資料庫。
防止加密口令泄露
1.應用「最少許可權」原則,盡量限制可存取加密口令用戶的人數
在資料庫中檢查具有存取SYS.USER$或DBA_USERS許可權的用戶,並從不需要的用戶中收回許可權。但是操作並不簡單,這也是資料庫管理工作的特點。每一廠商的軟體中都實現了SQL標准之外的擴充,並且每一版本都有差異。限於篇幅,不可能對所有本文中建議的措施進行詳細的解釋說明,僅以此處檢查許可權為例展示DBA工作的復雜性。本文中如未說明,則默認版本為11g。應用於11g以前版本時,請讀者確認是否需要修改。
檢查許可權主要的工具是數據字典視圖(也可以直接存取SYS用戶的基表,但基表的定義沒有公布,官方不提供技術支持)。視圖DBA_TAB_PRIVS存放了資料庫中數據對象上的授權信息。假定用戶A1和A2可以存取SYS.USER$表,檢查在SYS用戶USER$上有存取許可權的用戶,可執行如下語句:
SELECT GRANTEE FROM DBA_TAB_PRIVS WHERE TABLE_NAME=『USER$』;
我們已經知道用戶A1和A2,都可以存取SYS.USER$表,但為什麼在上面查詢結果中沒有出現呢?這是因為在Oracle的許可權管理中,對一個表的存取許可權還可以通過系統許可權或角色賦予,而DBA_TAB_PRIVS中僅列出了直接的對象許可權的授予信息。對於SYS.USER$表而言,系統許可權SELECT ANY DICTIONARY和角色DBA都包含了這一表的存取許可權。所以完整列出所有可存取這一表的用戶應增加下面兩條查詢語句的結果:
SELECT GRANTEE FROM DBA_SYS_PRIVS WHERE PRIVILEGE=『SELECT ANY DICTIONARY』;
SELECT GRANTEE FROM DBA_ROLE_PRIVS WHERE GRANTED_ROLE=『DBA』;
通過上面的查詢語句,還是會遺漏某些用戶。如果把DBA角色授權給另一角色Admin,然後又將Admin角色授權給另一用戶NEWU,則此用戶可存取SYS.USER$表,但在上述三個查詢中並沒有直接列出NEWU的名字(角色Admin會出現在第三個查詢語句的結果中)。
顯然,Oracle的授權構成了一棵樹,完整的信息需要一段PL/SQL程序來完成。(對於11g以前版本,還需要檢查對DBA_USERS視圖有存取許可權的用戶和角色。SELECT_CATALOG_ROLE角色如被授權,則可以存取所有數據字典視圖,但不能存取SYS的基表。)
2.設定對加密口令存取的審計
如果當前系統中只有SYSDBA可以存取USER$,則一個變通辦法是審計SYSDBA的所有操作,其中也包括對USER$的存取。設置初始化參數audit_sys_operations =TRUE,重新啟動資料庫後激活對SYSDBA操作的審計。
審計文件的存放位置為:
11g版本中為:$ORACLE_BASE/admin/SID/ amp/ *.aud
11g以前版本為: $ORACLE_HOME/rdbms/audit/ *.aud。
嚴格限制和監視SYSDBA用戶活動的最好辦法是使用Oracle Database Vault組件。
3.在操作系統級限制對資料庫數據文件的存取
SYSDBA用戶的加密口令存放在$ORACLE_HOME/dbs下的口令文件orapw〈SID〉中。SYS.USER$表同樣需要在數據文件中存放,多數為SYSTEM表空間的第一個數據文件中。此外,EXPORT文件、REDOLOG文件以及TRACE文件中都可能出現加密口令。需要嚴格限制上述文件的存取許可權。
4.防止網路竊聽
在建立連接時,客戶端需要向伺服器端傳送用戶名和口令,並且伺服器端與客戶端需要相互發送這次會話使用的SESSION KEY。Oracle採用Diffie-Hellman KEY交換演算法和自己開發的O3LOGON協議完成上述任務。演算法的細節同樣已在互聯網上被公開。建立連接時上述信息如果被截獲,同樣可以被用來破解口令。更為嚴重的是,如果黑客事先已經獲得加密口令,結合SESSION KEY的信息,則不需要任何破解,執行簡單還原運算就可算出口令明文。
另外,設計SID時不要使用如ORCL、TEST、PROD等常用名字,設定PORT號為遠遠大於1521的數,都可以增加黑客SID掃描的難度和時間。
5. 刪除舊版的加密口令
存放在Oracle 11g資料庫中的以前版本的加密口令是口令破解工具的一個突破口。在沒有兼容性限制的系統中,可以考慮從系統中刪除舊版口令,從而增加破解難度。
具體操作如下:
在SQLNET.ORA中增加一行:SQLNET.ALLOWED_LOGON_VERSION=11(Oracle手冊中格式介紹有錯誤,不能加括弧:…=(11)),指定最低版本。
以SYSDBA登錄後,執行以下語句,刪除舊版口令。
update sys.user$ set password=NULL;
delete from user_history$;
commit;
設置修改後,基於OCI的工具如SQLPLUS、10gR1和10gR2版本都可以正常登錄,而JDBC type-4 則只有11g版本才允許登錄。
提高口令強度
1.禁止使用預設口令,禁止與用戶名同名的口令,禁止字典詞彙的口令
Oracle 11g中提供一個視圖DBA_USERS_WITH_DEFPWD,可以方便地查出系統中使用預設口令的所有用戶,不足的是還有不少遺漏。讀者可以在互聯網找到預設口令的列表,雖然是非官方的,但是比DBA_USERS_WITH_DEFPWD使用的官方的列表更全。破解工具附帶的詞彙表有的包括了大型英文詞典中全部詞彙,並支持詞彙與「123」之類的常用後綴進行組合。需要注意的是,有的詞彙表中已經出現了「zhongguo」這樣的字元串,所以漢語拼音組成的口令也是不安全的。檢查系統中是否存在弱口令的最常用方法就是使用前述口令破解工具進行攻擊。
2.規定口令最小字元集和口令最短長度
口令字元集最小應包括字母、數字和特殊符號,口令長度最短應不少於8位,對於安全性要求高的系統,最短長度應為12位以上。同樣,問題的關鍵在於DBA指定初始口令以及用戶修改口令時保證不違反上述這些規定。每一用戶都對應一個Profile,如在Profile中指定口令驗證函數,則每當創建或修改口令時,會自動檢查是否滿足驗證程序中所設定的條件,如果不滿足,則口令修改失敗。對口令明文進行檢查,顯然要比對加密口令破解效率高。此外,口令創建之時進行檢查可以及時封殺弱口令,不給黑客留下破解的窗口。
指定口令驗證函數的語句為:
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION 口令驗證函數名;
上例中,為「DEFAULT」 Profile指定了驗證函數。對用戶進行分類後,應當為每一類用戶分別創建自己的Profile,而不是全部使用DEFAULT。關閉口令驗證函數的語句為:
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION NULL;
在$ORACLE_HOME/rdbms/admin/下,腳本文件UTLPWDMG.SQL提供了示例的口令驗證函數,執行這一腳本,將創建一名為VERIFY_FUNCTION的函數( Oracle 11g中,增加新函數verify_function_11G )。這一函數可以對口令長度是否同時出現了字母數字元號進行檢查,檢查是否與用戶名同名,也檢查口令是否是幾個最常用的詞彙,如welcome、database1、account1等。最後,口令修改時檢查新舊口令是否過於相似。讀者實際使用時應該根據系統需要對這一函數進行必要的修改和擴充。
3.使用易記憶的隨機口令限定口令長度後,如果口令沒有規律很難記憶,則用戶會採用他們自己的方式記住口令,大大增加了遭受社會工程攻擊的可能性。DBA需要幫助用戶設計一個容易記憶而又不易破解的口令。一個簡單易行的方法是找用戶非常熟悉的一個句子,如One world One dream,然後將每一個空格替換為數字或符號:One3world2One1dream#。
定期更換口令
抵禦口令破解要從多方面著手
資料庫中存在多種許可權用戶,各種授權用戶構成一棵樹
應對口令泄露或被破解的措施是強制定期更換口令,設定口令重復使用限制,規定封鎖口令的錯誤次數上限及封鎖時間。即便是加密口令落入黑客手中,在被破解之前或入侵之前,修改了口令,則口令破解變得毫無意義。為了方便記憶,一般用戶有重新使用之前過期口令的傾向,如果對重用不加控制,則定期更換口令將失去意義。上述對口令的管理仍然是通過Profile完成:
ALTER PROFILE DEFAULT LIMIT
PASSWORD_LIFE_TIME 30
PASSWORD_GRACE_TIME 7
PASSWORD_REUSE_TIME 365
PASSWORD_REUSE_MAX 0
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LOCK_TIME UNLIMITED
PASSWORD_VERIFY_FUNCTION my_verify_function;
上面語句制定的口令管理政策為:口令的有效期為30天,隨後有7天的寬限期,寬限期後口令「過期」,必須更改口令後才能登錄。只有經過365天後才能重新使用以前的口令。在連續10次輸入口令錯誤後,賬號被封鎖,設定不自動解鎖,必須由DBA手動解除封鎖。口令驗證函數為my_verify_function。
Oracle 11g以前版本,預設設置中沒有設定口令的有效期,而在Oracle 11g中預設設置有效期為180天。程序中直接寫入口令的應用在升級到11g時一定要注意有效期問題,避免半年後應用突然無法自動運行。另外,口令的有效期對SYS用戶不起作用,DBA一定要主動定期更換口令。
另外一個措施是對登錄資料庫伺服器的主機進行限定,如指定網段或指定IP地址。進一步限定客戶端允許執行的程序,如對非本地登錄禁止使用SQLPLUS,只允許執行某特定應用。
認真實施本文中給出的措施後,可以很有效地防止口令被破解。然而我們的目的是提高資料庫系統的安全性,而不僅僅是保證口令不被破解。資料庫系統安全的任何一個環節出現問題,都會導致前功盡棄。黑客的目的是入侵系統盜竊數據,是不會按常理出牌的,會嘗試各種手段方式,如社會工程、安全漏洞、物理入侵等等,而不會執著地在口令破解上與我們較勁。這一點需要我們經常提醒自己,從而切實保證資料庫系統安全。
TechTarget中國原創內容
G. 我從oracle官方網站下載了11g,這個有試用期限嗎是多長時間呀
沒試用期限,只是不能享受Oracle的服務。
H. Oracle資料庫如何收費
Oracle資料庫在非商用時不收費。
Oracle資料庫在商用時有兩種收費方式。Oracle的License許可購買有兩種:按照用戶數和CPU個數(即無線用戶版)。
特殊情況:當前Oracle 11G的User License無限使用期的價格為人民幣3千5左右。
按照用戶個數:按50個User License無限使用期的購買量則價格為17.5萬。
按照CPU個數:每個CPU License無限使用期的價格為17萬9千(多核需要系數進行換算) 按IBM小機的系數計算,則購買價格為17萬9千,和50個User License的價格相近。
關於服務價格:一般地,購買Oracle的License都包含首年的服務費,以後的費用按每年原價的22%計算。
(8)oracle11g有效期擴展閱讀:
Oracle 官方要求的各類版本的最低用戶數為:
個人版本:1user*PC數
標准版1:伺服器的CPU數*5user
標准版2:伺服器的CPU數*10user
企業版:伺服器的CPU數*25user
它是在資料庫領域一直處於領先地位的產品。可以說Oracle資料庫系統是目前世界上流行的關系資料庫管理系統,系統可移植性好、使用方便、功能強,適用於各類大、中、小、微機環境。它是一種高效率、可靠性好的 適應高吞吐量的資料庫解決方案。
參考資料來源:ORACLE-產品目錄
I. 如何解決oracle資料庫過期的情況
按照如下步驟進行操作:
1、查看用戶的proifle是哪個,一般是default:
sql>Select username,PROFILE FROM dba_users;
2、查看指定概要文件(如default)的密碼有效期設置:
sql>Select * FROM dba_profiles s Where s.profile='DEFAULT' AND esource_name='PASSWORD_LIFE_TIME';
3、將密碼有效期由默認的180天修改成「無限制」:
sql>Alter PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改之後不需要重啟動資料庫,會立即生效。
4、修改後,還沒有被提示ORA-28002警告的帳戶不會再碰到同樣的提示;
已經被提示的帳戶必須再改一次密碼,舉例如下:
$sqlplus / as sysdba
sql> alter user smsc identified by <原來的密碼> ----不用換新密碼
oracle11g啟動參數resource_limit無論設置為false還是true,密碼有效期都是生效的,所以必須通過以上方式進行修改。
J. 請問官網上的oracle 11g試用期是多少天下載這個oracle 11g能使用所用功能嗎還提供服務嗎
30天,能,使用期過後繳費使用