造成ORA-12560: TNS: 協(xié)議適配器錯(cuò)誤的問題的原因有三個(gè):
成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),安鄉(xiāng)網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:安鄉(xiāng)等地區(qū)。安鄉(xiāng)做網(wǎng)站價(jià)格咨詢:18982081108
1.監(jiān)聽服務(wù)沒有起起來。windows平臺(tái)個(gè)一如下操作:開始---程序---管理工具---服務(wù),打開服務(wù)面板,
啟動(dòng)oraclehome92TNSlistener服務(wù)。
2.database instance沒有起起來。windows平臺(tái)如下操作:開始---程序---管理工具---服務(wù),打開服務(wù)
面板,啟動(dòng)oracleserviceXXXX,XXXX就是你的database SID.
3.注冊表問題。regedit,然后進(jìn)入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0將該環(huán)境變量ORACLE_SI
D設(shè)置為XXXX,XXXX就是你的database SID.或者右?guī)孜业碾娔X,屬性--高級(jí)--環(huán)境變量---系統(tǒng)變量--新建
,變量名=oracle_sid,變量值=XXXX,XXXX就是你的database SID.或者進(jìn)入sqlplus前,在command line下
輸set oracle_sid=XXXX,XXXX就是你的database SID.
sqlplus "/ as sysdba" 連不上,報(bào)ora-01031:insufficient privileges解決方法
注意多個(gè)數(shù)據(jù)庫實(shí)例時(shí)候,set ORACLE_SID='',
1、檢查sqlnet.ora(WINDOWS下位于%ORACLE_HOME%NETWORKADMIN目錄)是否包含這句:SQLNET.AUTHENTICATION_SERVICES=(NTS),沒有的話加上
2、檢查登陸windows的用戶(administrator或安裝oracle時(shí)候使用的用戶)是不是在包含在ORA_DBA組中,域用戶沒有連上域服務(wù)器時(shí)就可能出現(xiàn)這種現(xiàn)象。
3. 要保證 remote_login_passwordfile 參數(shù) = EXCLUSIVE .
4. 看看是否需要使用orapassw生成口令文件 .
一種解決方法案例:
1、檢查系統(tǒng)參數(shù):SQL show parameter password
NAME TYPE VALUE------------------------------------ ----------- ------------------------------
remote_login_passwordfile string EXCLUSIVE
2、
select * from v$pwfile_users;
SQL
為空
3、SQL grant sysdba to sys;
grant sysdba to sys
*
ERROR at line 1:
ORA-01994: GRANT failed: password file missing or disabled
4、建立password文件
D:/orapwd file="D:/oracle/product/10g/db_1/database/PWDoratest.ora" password=gp
oswong entries=10
5、
SQL select * from v$pwfile_users;
USERNAME SYSDB SYSOP------------------------------ ----- -----
SYS TRUE TRUE
SYS正常顯示出來。
6、重新在遠(yuǎn)程以SYSDBA登錄,可正常使用。
如果口令文件創(chuàng)建的有問題,也是會(huì)報(bào)如下的錯(cuò)誤:
ora-01031:insufficient privileges
口令文件的命名格式應(yīng)為orapwsid,并且sid是區(qū)分大小寫的。由于Target Database連接Auxiliary Database時(shí)需要驗(yàn)證口令,如果違反了以上規(guī)則,將會(huì)提示ORA-01031: insufficient privileges。
我在用linux創(chuàng)建duplicate數(shù)據(jù)庫的時(shí)候 就是因?yàn)榭诹钗募?chuàng)建的路徑和名稱不對才遇到這個(gè)錯(cuò)誤
-----end-------
出現(xiàn)這種問題只有兩種可能,第一例程服務(wù)名被改錯(cuò)了,第二就是oracle的實(shí)例服務(wù)沒有啟動(dòng),因?yàn)閛racle啟動(dòng)數(shù)據(jù)庫時(shí),是先啟動(dòng)實(shí)例,而實(shí)例被寫在操作系統(tǒng)服務(wù)中,如果你沒有啟動(dòng),oracle是找不到的。所以會(huì)報(bào)錯(cuò)。同時(shí)如果你連接沒有啟動(dòng)的實(shí)例,肯定會(huì)報(bào)錯(cuò),
除非你以sysdba的身份來連接,可以連接上空的實(shí)例。
解決方法,開始-運(yùn)行中輸入 services.msc 回車打開windows服務(wù)列表
。把以名為(oraservice實(shí)例)的服務(wù)啟動(dòng)就行了。
輸入
sqlplus
用戶名/密碼
as
sysdba
另外你是否是用administrator用戶登錄并運(yùn)行的,如果不是請用administrator用戶執(zhí)行,或進(jìn)行如下操作后用普通用戶執(zhí)行。
1。管理員登錄,控制面板-管理工具-本地安全策略
2.本地策略-用戶權(quán)限分配-創(chuàng)建全局對象-雙擊-添加用戶或組
3.將需要的用戶或組添加到列表當(dāng)中,確定保存
4.普通用戶注銷后重新登陸即可。
還有查看一下oracle是否啟動(dòng)成功了,在cmd
中輸入
lsnrctl
status
如出現(xiàn)類似4行說明啟動(dòng)成功:
服務(wù)
"PLSExtProc"
包含
1
個(gè)例程。
例程
"PLSExtProc",
狀態(tài)
UNKNOWN,
包含此服務(wù)的
1
個(gè)處理程序...
服務(wù)
"orcl"
包含
1
個(gè)例程。
例程
"orcl",
狀態(tài)
READY,
包含此服務(wù)的
1
個(gè)處理程序...
服務(wù)
"orclXDB"
包含
1
個(gè)例程。
例程
"orcl",
狀態(tài)
READY,
包含此服務(wù)的
1
個(gè)處理程序...
服務(wù)
"orcl_XPT"
包含
1
個(gè)例程。
例程
"orcl",
狀態(tài)
READY,
包含此服務(wù)的
1
個(gè)處理程序...
在數(shù)據(jù)庫主機(jī)上,以
sysdba
登陸數(shù)據(jù)庫
sqlplus
/nolog
connect
/
as
sysdba
然后,看用戶名是否錯(cuò)誤
select
username
from
dba_users
where
username='用戶名';
如果沒有記錄,則表示用戶名錯(cuò)誤,如果有記錄,則可以改其密碼。
alter
user
用戶名
identified
by
密碼;
登陸oracle數(shù)據(jù)庫的幾種方式:
登陸用戶:除sys,system,dbsnmp,sysman用戶外,其他都被鎖定
登錄密碼:在數(shù)據(jù)庫安裝時(shí)設(shè)定
登陸權(quán)限(身份):sysdba(數(shù)據(jù)庫管理員DBA),權(quán)限最高
sysoper(數(shù)據(jù)庫操作員)normal(普通用戶)
一、oracle數(shù)據(jù)庫自帶的SQL
plus
開始——程序——ORACLE10G--APPLICATION
DEVELOPMENT——SQL
PLUS
二、第三方軟件PL/SQL
Developer
打開PL/SQL
Developer軟件
三、以瀏覽器的方式EM(Enterprise
Manager)
在oracle數(shù)據(jù)庫安裝過程中,有信息提示。
在地址欄中輸入:http://本機(jī)物理地址:端口號(hào)/em(如果oracle數(shù)據(jù)庫安裝在本機(jī)中)
http://安裝數(shù)據(jù)庫的機(jī)器的IP地址:端口號(hào)/em(如果oracle數(shù)據(jù)庫安裝在其他機(jī)器上)
以em方式進(jìn)入時(shí),用戶名和權(quán)限有一些限制:
【sys】用戶具有“SYSDBA”或者“SYSOPER”權(quán)限,登陸em也只能用這兩個(gè)身份,不能用
normal。sysoper主要用來啟動(dòng)、關(guān)閉數(shù)據(jù)庫,sysoper
登陸后用戶是
public,sysdba登
陸后是
sys
【system】用戶只能用normal身份登陸em。normal
是普通用戶