真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

OracleSID大小寫混用引起的sys賬號不能登錄

Oracle安裝,特別是Linux/Unix環(huán)境下安裝對于每一個初學(xué)者而言,都是一個挑戰(zhàn)。操作步驟多、各種配置項(xiàng)目復(fù)雜和細(xì)節(jié)點(diǎn)多,只要有一個步驟出現(xiàn)錯誤,就可能給后續(xù)安裝或者運(yùn)行帶來問題。有時候一些問題還是比較有迷惑性,解決起來需要一些經(jīng)驗(yàn)和知識。

10余年的烏魯木齊網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都營銷網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整烏魯木齊建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“烏魯木齊網(wǎng)站設(shè)計”,“烏魯木齊網(wǎng)站推廣”以來,每個客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

 

本篇主要介紹一個由于SID安裝過程中大小寫不一致引起的問題,以及解決策略。

 

1、環(huán)境介紹

 

筆者接到同事反饋,說一個已經(jīng)安裝好的數(shù)據(jù)庫,遠(yuǎn)程使用sys用戶登錄失敗,報錯用戶名密碼錯誤。但是使用其他用戶登錄就沒有問題。

 

由于是一個新安裝的數(shù)據(jù)庫,先去檢查一下各種環(huán)境變量和數(shù)據(jù)情況。當(dāng)前后臺進(jìn)程的確是正常運(yùn)行,環(huán)境變量上也算正常。

 

 

[oracle@TEST-NE-TESTDB ~]$ ps -ef | grep pmon

oracle  13259    1 0 Jul13 ?       00:00:07 ora_pmon_TESTDB

oracle  16439 16414 0 08:31 pts/1   00:00:00 grep pmon

[oracle@TEST-NE-TESTDB ~]$ env | grep ORA

ORACLE_SID=TESTDB

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

 

 

在筆者之前的文章里,對于連接故障推薦過一個流程,是按照“從近到遠(yuǎn)”的順序逐步遞進(jìn)。簡單的說:先看服務(wù)器內(nèi)部連接、之后從監(jiān)聽器、網(wǎng)絡(luò)到特定連接客戶端。

 

在服務(wù)器上,匿名sys登錄是沒有問題的,普通用戶(以scott為例)也沒有問題。

 

 

SQL> conn / as sysdba

Connected.

SQL> conn scott/tiger

Connected.

 

SQL> select open_mode from v$database;

 

OPEN_MODE

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

READ WRITE

 

 

SQL> show parameter service

 

NAME                                TYPE       VALUE

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

service_names                       string     testdb

 

 

監(jiān)聽器狀態(tài)也是正常的。

 

 

[oracle@TEST-NE-TESTDB ~]$ lsnrctl status

 

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 14-JUL-2017 08:35:54

Copyright (c) 1991, 2013, Oracle. All rights reserved.

 

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

STATUS of the LISTENER

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

(篇幅原因,有省略……)

Services Summary...

Service "TESTDB" has 1 instance(s).

 Instance "TESTDB", status READY, has 1 handler(s) for this service...

Service "testdbXDB" has 1 instance(s).

 Instance "TESTDB", status READY, has 1 handler(s) for this service...

The command completed successfully

[oracle@TEST-NE-TESTDB ~]$

 

 

但是,遠(yuǎn)程使用pl/sql developer或者sqlplus連接的時候,sys賬號是不成功的,scott賬號成功。

 

2、問題分析

 

這個問題的故障點(diǎn)應(yīng)該不在客戶端到服務(wù)器的網(wǎng)絡(luò)層面,因?yàn)楫吘褂杏脩艨赡軐?shí)現(xiàn)登錄。而且一個懷疑點(diǎn)就是報錯信息:sys連接時候報錯信息不是連接不上,而是用戶名密碼錯誤。

 

那么推回到服務(wù)器端,如果在服務(wù)器端使用監(jiān)聽器進(jìn)行連接,那么效果如何?

 

 

[oracle@TEST-NE-TESTDB admin]$ sqlplus /nolog

 

SQL*Plus: Release 11.2.0.4.0 Production on Fri Jul 14 08:45:06 2017

Copyright (c) 1982, 2013, Oracle. All rights reserved.

 

SQL> conn sys/oracle@testdb as sysdba

ERROR:

ORA-01017: invalid username/password; logon denied

 

SQL> conn scott/tiger@testdb

Connected.

SQL>

 

 

錯誤提示是相同,說明在經(jīng)過監(jiān)聽器的情況下,引起了驗(yàn)證錯誤。那么,是否經(jīng)過監(jiān)聽器,對Oracle而言有什么差別呢?經(jīng)過監(jiān)聽器,無論是否是服務(wù)器本地客戶端,Oracle都會視為“遠(yuǎn)程連接”,進(jìn)行遠(yuǎn)程連接處理。

 

那么,sys和scott用戶的差別在什么地方?就是密碼文件Password File。普通用戶驗(yàn)證信息是在數(shù)據(jù)庫內(nèi)部,而具有sysdba權(quán)限的是在一個單獨(dú)的密碼文件中。所以猜想是密碼文件出了問題。

 

但是,在$ORACLE_HOME/dbs目錄下,存在疑似的參數(shù)文件和密碼文件。

 

 

[oracle@TEST-NE-TESTDB admin]$ cd $ORACLE_HOME/dbs

[oracle@TEST-NE-TESTDB dbs]$ ls -l

total 32

-rw-rw----. 1 oracle oinstall 1544 Jul 13 20:25 hc_testdb.dat

-rw-rw----. 1 oracle oinstall 1544 Jul 13 20:27 hc_TESTDB.dat

-rw-rw----. 1 oracle oinstall 1544 Jul 13 18:28 hc_TESTNETESTDB.dat

-rw-r--r--. 1 oracle oinstall 2851 May 15 2009 init.ora

-rw-r-----. 1 oracle oinstall 2112 Jul 13 20:15 initTESTDB.ora

-rw-r-----. 1 oracle oinstall  24 Jul 13 20:27 lkTESTDB

-rw-r-----. 1 oracle oinstall 1536 Jul 13 18:32 orapwtestdb

-rw-r-----. 1 oracle oinstall 3584 Jul 13 19:16 spfiletestdb.ora

 

 

但是,看起來很怪,特別是參數(shù)文件。當(dāng)前參數(shù)文件發(fā)現(xiàn),根本就沒有使用SPfile,而是直接使用Pfile啟動的。

 

 

SQL> conn / as sysdba

Connected.

SQL> show parameter spfile

 

NAME                                TYPE       VALUE

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

spfile                              string

 

 

到此,筆者能猜出原因在于大小寫。在同事安裝數(shù)據(jù)庫過程中,環(huán)境變量和安裝文件上輸入的sid信息大小寫不一致。環(huán)境變量中輸入的是大寫TESTDB,而Oracle實(shí)例生成的是小寫testdb對應(yīng)實(shí)例文件。

 

3、解決問題

 

了解了問題原因,解決起來就有方向了。這個問題要從參數(shù)文件和密碼文件兩個層面進(jìn)行解決。首先要重建參數(shù)文件。

 

 

SQL> create spfile from pfile;

File created.

SQL> quit

 

 

對應(yīng)目錄上,新生成了大寫的spfileTESTDB.ora文件。

 

 

[oracle@TEST-NE-TESTDB dbs]$ ls -l

total 36

-rw-rw----. 1 oracle oinstall 1544 Jul 13 20:25 hc_testdb.dat

(篇幅原因,有省略……)

-rw-r-----. 1 oracle oinstall 1536 Jul 13 18:32 orapwtestdb

-rw-r-----. 1 oracle oinstall 3584 Jul 13 19:16 spfiletestdb.ora

-rw-r-----. 1 oracle oinstall 2560 Jul 14 08:48 spfileTESTDB.ora

 

 

密碼文件重構(gòu)。

 

 

[oracle@TEST-NE-TESTDB dbs]$ orapwd file=orapwTESTDB password=oracle entries=5 force=Y

[oracle@TEST-NE-TESTDB dbs]$ ls -l | grep orapw

-rw-r-----. 1 oracle oinstall 1536 Jul 13 18:32 orapwtestdb

-rw-r-----. 1 oracle oinstall 2048 Jul 14 08:56 orapwTESTDB

 

 

重新啟動數(shù)據(jù)庫。

 

 

SQL> conn / as sysdba

Connected.

SQL> startup force

ORACLE instance started.

 

Total System Global Area 4993982464 bytes

Fixed Size                 2261808 bytes

Variable Size           1073745104 bytes

Database Buffers        3909091328 bytes

Redo Buffers               8884224 bytes

Database mounted.

Database opened.

 

 

重新測試故障消失。

 

 

SQL> select * from v$pwfile_users;

 

USERNAME                      SYSDB SYSOP SYSAS

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

SYS                           TRUE TRUE FALSE

 

SQL> conn sys/oracle@testdb as sysdba

Connected.

SQL> show user;

USER is "SYS"

 

 

4、結(jié)論

 

注意:本案例其實(shí)還有另外的一種處理思路,就是順著實(shí)例小寫的特點(diǎn),修改環(huán)境變量ORACLE_SID,這樣重新啟動數(shù)據(jù)庫的時候,原有的那些環(huán)境文件就能發(fā)揮作用。


分享題目:OracleSID大小寫混用引起的sys賬號不能登錄
網(wǎng)頁地址:http://weahome.cn/article/ijcpji.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部