kapok

          垃圾桶,嘿嘿,我藏的這么深你們還能找到啊,真牛!

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            455 隨筆 :: 0 文章 :: 76 評論 :: 0 Trackbacks
          特征:

          域帳號登陸該機,創建數據庫的時候提示“ORA-12638 身份證明檢索失敗”。

          sqlnet.authentication_services

          http://www-rohan.sdsu.edu/doc/oracle/network803/A54084_01/ch3.htm


          http://www.itpub.net/139570.html


          一、服務器上使用操作系統驗證
          1.配置SQLNET.ORA文件
          參數NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
          表明解析客戶端連接時所用的主機字符串的方式
          TNSNAMES表示采用TNSNAMES.ORA文件來解析
          ONAMES表示Oracle使用自己的名稱服務器(Oracle Name Server)來解析,目前Oracle建議使用輕量目錄訪問協議LDAP來取代ONAMES
          HOSTNAME表示使用host文件,DNS,NIS等來解析

          參數SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)
          表明用戶連接Oracle服務器時使用哪種驗證方式
          NONE表示Oracle數據庫身份驗證,NTS表示操作系統身份驗證,兩種方式可以并用


          2.建立相應的操作系統組及用戶加入該組
          ORA_DBA組中的域用戶和本地用戶不需要Oracle用戶名和密碼就可以登錄Oracle
          而且該組的用戶登錄數據庫后都具有SYSDBA權限
          (多個實例時,可以建立類似這樣的組ORA_SID_DBA,其中SID指實例名)
          同理:ORA_OPER組中的成員具有SYSOPER角色的權限。


          3.登錄方式
          C:\>sqlplus “/ as sysdba”
          或者C:\>sqlplus nolog,然后SQL>connect / as sysdba


          4.init.ora中的Remote_Login_Passwordfile對身份驗證的影響
          三個可選值:
          NONE:默認值,指示Oracle系統不使用密碼文件,通過操作系統進行身份驗證的特權用戶擁有SYSORA和SYSOPER權限
          EXCLUSIVE:
          1.表示只有一個數據庫實例可以使用密碼文件
          2.允許將SYSORA和SYSOPER權限賦值給SYS以外的其它用戶
          SHARED:
          1.表示可以有多個數據庫實例可以使用密碼文件
          2.不允許將SYSORA和SYSOPER權限賦值給SYS以外的其它用戶
          所以,如果要以操作系統身份登錄,Remote_Login_Passwordfile應該設置為NONE


          5.當登錄用戶不是ORA_DBA組和ORA_OPER組成員時,登錄數據庫
          需要在Oracle中創建當前操作系統用戶相同的用戶名,如果當前用戶是域用戶,則名稱為:domainname\yourname,
          如果是本地計算機用戶,則名稱為:computername\yourname
          創建方法:
          create "domainname\yourname" identified externally;
          grant connect to "domainname\yourname";

          Windows操作系統,修改注冊表HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0下面添加OSAUTH_PREFIX_DOMAIN,值設為FALSE,在創建Oracle用戶時可以忽略掉域名

          這種方式下,init.ora中有一個參數將影響數據庫如何匹配一個windows用戶和Oracle用戶
          os_authent_prefix = ""
          缺省為空,Oracle8i以前,無該參數,而使用OPS$作為用戶名前綴.(Oracle用戶名最大長度限制為30個字符)


          --------------------------------------------------------------------------------------------------
          --------------------------------------------------------------------------------------------------

          二、遠程客戶端使用操作系統驗證

          首先需要在init.ora文件中設置如下參數:
          REMOTE_OS_AUTHENT=TRUE

          Oracle不推薦在遠程客戶端上使用操作系統驗證,因為客戶端驗證時不是通過服務器上的操作系統用戶來驗證,而是使用客戶端自己怕操作系統來進行windows驗證,這樣,客戶端可以采用建立對應的windows機器名和用戶名的方式來欺騙Oracle的操作系統驗證.
          例如:
          創建了如下Oracle用戶
          create "zl\zyk" identified externally;
          grant connect to "zl\zyk";
          如果有一臺名為ZL的機器,創建了一個名為zyk的用戶,并以此登錄連接Oracle服務器(連接時使用\@OracleSTR),無需用戶名和密碼
          造成此問題的原因是,Oracle使用客戶端操作系統進行驗證,它無法區別zl是域名還是機器名.


          Windows &.net雜志2004第7期(http://www.winnetmag.com/Windows/Articles/ArticleID/42280/pg/1/1.html)
          作者在文章中強調(第三頁最后一段):
          Oracle數據庫服務器上的windows身份認證很容易實施,并且使已登錄的用戶訪問數據庫很方便
          但是,這種驗證模型并不適合遠程客戶端,因為安全隱患太大。


          --------------------------------------------------------------------------------------------------
          --------------------------------------------------------------------------------------------------

          三、Oracle 9i對操作系統身份認證支持的增強
          Oracle 9i可以與活動目錄集成,通過Oracle Enterprise Security Manager 管理用戶權限
          Enterprise user authentication做為一種新的外部集中認證模式
          (也叫 global user authentication,Oracle 9i以前的External user authentication僅僅采用了客戶端操作系統本地認證)

          Oracle9i運行在一個win2000及以上的域中,注冊表HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEID,參數OSAUTH_X509_NAME設置為true
          (默認為false,如果該參數不存在,則新增為REG_EXPAND_SZ類型)

          注意:Windows NT 4.0 domain 不支持這種方式


          參考:
          http://www.utexas.edu/its/unix/reference/oracledocs/v92/B10501_01/win.920/a95492/enterpri.htm
          http://www.utexas.edu/its/unix/reference/oracledocs/v92/B10501_01/win.920/a95492/authen.htm
          http://www.utexas.edu/its/unix/reference/oracledocs/v92/B10501_01/network.920/a96573/asoauth.htm


          http://www.cnblogs.com/zyk/archive/2004/11/09/61786.html

          posted on 2005-08-05 19:12 笨笨 閱讀(588) 評論(0)  編輯  收藏 所屬分類: ALLOracle
          主站蜘蛛池模板: 盈江县| 新沂市| 井冈山市| 东乡族自治县| 洪雅县| 克山县| 莆田市| 嘉黎县| 常宁市| 通河县| 南安市| 澎湖县| 宜章县| 盘山县| 驻马店市| 苍梧县| 许昌市| 囊谦县| 大洼县| 开平市| 赤水市| 房山区| 金华市| 资源县| 娱乐| 高碑店市| 沅陵县| 名山县| 广宁县| 改则县| 广元市| 乌鲁木齐市| 承德县| 东光县| 碌曲县| 灵宝市| 衢州市| 西宁市| 连江县| 嘉峪关市| 泰和县|