Oracle SYS用戶無法登錄數(shù)據(jù)庫ORA-12162的解決方法
錯(cuò)誤詳情
[Oracle@orcl bin]$ ./sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Mon Aug 18 08:12:04 2025 Copyright (c) 1982, 2013, Oracle. All rights reserved. ERROR: ORA-12162: TNS:net service name is incorrectly specified
OS登錄解析
注意:Oracle 數(shù)據(jù)庫使用SYSDBA用戶在OS級(jí)別登錄時(shí),需要滿足最基本的兩個(gè)條件
- 必須設(shè)置ORACLE_HOME路徑,并將其加入到PATH變量中
- 必須設(shè)置ORACLE_SID變量,ORACLE_SID表明需要登錄的數(shù)據(jù)庫
錯(cuò)誤原因
- 雖然此處報(bào)錯(cuò)顯示未指定正確監(jiān)聽名稱,但是SYSDBA用戶是通過操作系統(tǒng)認(rèn)證的,無需通過監(jiān)聽識(shí)別即可直接登錄數(shù)據(jù)庫。當(dāng)前庫并未設(shè)置ORACLE_HOME和ORACLE_SID變量,導(dǎo)致無法程序無法識(shí)別實(shí)例,從而無法連接數(shù)據(jù)庫。
- 將ORACLE_HOME添加到PATH中的目的是可以直接運(yùn)行Oracle的相關(guān)程序,如:sqlplus、lsnrctl、tnsping等常用工具。無需再進(jìn)入到文件夾中調(diào)用執(zhí)行。
解決方案
1、設(shè)置變量
$ export ORACLE_BASE=/u01/db/11.2.0.4 $ export ORACLE_HOME=$ORACLE_BASE/orcl $ export PATH=$ORACLE_HOME/bin:$PATH $ export ORACLE_SID=ORCL
2、登錄即可
[oracle@orcl ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Fri Aug 22 20:48:44 2025 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL>
理解SYS用戶
1、介紹
Oracle數(shù)據(jù)庫中的 SYS用戶 是系統(tǒng)內(nèi)置的超級(jí)管理員賬戶,具有最高權(quán)限,所有Oracle的數(shù)據(jù)字典的基表和視圖都存放在SYS用戶中,承擔(dān)數(shù)據(jù)庫核心管理任務(wù)。重點(diǎn):不受數(shù)據(jù)庫的限制訪問和管理整個(gè)數(shù)據(jù)庫的能力。
2、特點(diǎn)
- 最高權(quán)限:SYS用戶擁有DBA、SYSDBA、SYSOPER等角色或權(quán)限。SYS用戶可以進(jìn)行創(chuàng)建/刪除用戶、表空間、數(shù)據(jù)庫實(shí)例、備份和恢復(fù)等高級(jí)操作,是Oracle權(quán)限最高的用戶。
- 數(shù)據(jù)字典:所有Oracle的數(shù)據(jù)字典的基表和視圖都存放在SYS用戶中,這些基表和視圖對(duì)于Oracle的運(yùn)行至關(guān)重要。
- 密碼管理:SYS用戶通過OS級(jí)別的密碼文件對(duì)其密碼進(jìn)行管理,雖然可以通過SQL語法直接修改密碼,但前提是OS級(jí)別的密碼文件必須先存在,否則無法通過SQL語法直接修改SYS用戶的密碼。默認(rèn)密碼是change_on_install
- 登錄方式:SYS用戶必須以SYSDBA身份登錄。
3、SYS登錄認(rèn)證方式
- 操作系統(tǒng)認(rèn)證:當(dāng)完成數(shù)據(jù)庫安裝后,可直接通過sysdba用戶登錄數(shù)據(jù)庫,而不會(huì)驗(yàn)證用戶名和密碼,該認(rèn)證方式的用戶稱為特權(quán)用戶。操作系統(tǒng)認(rèn)證主要通過sqlnet.ora文件控制,一旦取消該認(rèn)證,sys用戶將無法直接登錄數(shù)據(jù)庫,需要校驗(yàn)其密碼正確才可以登錄。
# 取消操作系統(tǒng)認(rèn)證 $ cd $ORACLE_HOME/network/admin $ vi sqlnet.ora SQLNET.AUTHENTICATION_SERVICE=NONE -- 默認(rèn)不存在該參數(shù),設(shè)置為NTS即開啟 [oracle@orcl ~]$ sqlplus / as sysdba -- 登錄 SQL*Plus: Release 11.2.0.4.0 Production on Fri Aug 22 20:48:44 2025 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL>
- 數(shù)據(jù)庫認(rèn)證:該方式一般針對(duì)普通用戶而言,主要是將密碼記錄在數(shù)據(jù)庫的表中,但用戶需要登錄時(shí)必須輸入正確的用戶名和密碼加監(jiān)聽服務(wù)連接到數(shù)據(jù)庫中進(jìn)行校驗(yàn),校驗(yàn)正確方可登錄。
[oracle@orcl ~]$ sqlplus apps/apps@orcl -- 普通用戶登錄方式 SQL*Plus: Release 11.2.0.4.0 Production on Fri Aug 22 20:52:50 2025 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL>
到此這篇關(guān)于Oracle SYS用戶無法登錄數(shù)據(jù)庫-ORA-12162的文章就介紹到這了,更多相關(guān)Oracle SYS用戶無法登錄內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Oracle數(shù)據(jù)庫如何切換登錄用戶(system和sys)
- Oracle SYSAUX表空間使用率過高的處理辦法
- 解決Oracle19c?ORA-00904:“WMSYS“.“WM_CONCAT“:標(biāo)識(shí)符無效問題
- Oracle的SYS_GUID()函數(shù)用法及說明
- Oracle?system/用戶被鎖定的解決方法
- 關(guān)于Oracle12C默認(rèn)用戶名system密碼不正確的解決方案
- Oracle 數(shù)據(jù)庫忘記sys與system管理員密碼重置操作方法
- oracle忘記sys/system/scott用戶密碼的解決方法
- ORACLE時(shí)間函數(shù)(SYSDATE)深入理解
相關(guān)文章
Oralce數(shù)據(jù)庫健康和性能巡檢監(jiān)控的25個(gè)SQL腳本
Oracle日常檢查項(xiàng)的SQL腳本:涵蓋表空間狀態(tài)、日志、鎖、緩存命中率、SQL性能、死鎖處理等,確保數(shù)據(jù)庫穩(wěn)定運(yùn)行,關(guān)鍵指標(biāo)如緩沖區(qū)、數(shù)據(jù)字典命中率需達(dá)標(biāo),及時(shí)處理失效索引、僵死進(jìn)程及擴(kuò)展異常對(duì)象2025-05-05
Oracle數(shù)據(jù)庫TNS常見錯(cuò)誤的解決方法匯總
這篇文章主要介紹了Oracle數(shù)據(jù)庫TNS常見錯(cuò)誤的解決方法,需要的朋友可以參考下2014-07-07
Oracle數(shù)據(jù)庫系統(tǒng)緊急故障處理方法
Oracle數(shù)據(jù)庫系統(tǒng)緊急故障處理方法...2007-03-03
詳解Oracle在out參數(shù)中訪問光標(biāo)
這篇文章主要介紹了詳解Oracle在out參數(shù)中訪問光標(biāo)的相關(guān)資料,這里提供實(shí)例代碼幫助大家學(xué)習(xí)理解這部分內(nèi)容,希望能幫助到大家,需要的朋友可以參考下2017-08-08
Oracle逗號(hào)分隔列轉(zhuǎn)行實(shí)現(xiàn)方法
在做系統(tǒng)時(shí),經(jīng)常會(huì)遇到在一個(gè)字段中,用逗號(hào)或其他符號(hào)分隔存儲(chǔ)多個(gè)信息,例如保存某個(gè)用戶的一對(duì)多權(quán)限時(shí),在權(quán)限組這個(gè)字段中,就會(huì)逗號(hào)分隔保存多個(gè)權(quán)限編號(hào)。2010-12-12

