錯誤詳情
[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 數據庫使用SYSDBA用戶在OS級別登錄時,需要滿足最基本的兩個條件
- 必須設置ORACLE_HOME路徑,并將其加入到PATH變量中
- 必須設置ORACLE_SID變量,ORACLE_SID表明需要登錄的數據庫
錯誤原因
- 雖然此處報錯顯示未指定正確監聽名稱,但是SYSDBA用戶是通過操作系統認證的,無需通過監聽識別即可直接登錄數據庫。當前庫并未設置ORACLE_HOME和ORACLE_SID變量,導致無法程序無法識別實例,從而無法連接數據庫。
- 將ORACLE_HOME添加到PATH中的目的是可以直接運行Oracle的相關程序,如:sqlplus、lsnrctl、tnsping等常用工具。無需再進入到文件夾中調用執行。
解決方案
1、設置變量
$ 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數據庫中的 SYS用戶 是系統內置的超級管理員賬戶,具有最高權限,所有Oracle的數據字典的基表和視圖都存放在SYS用戶中,承擔數據庫核心管理任務。重點:不受數據庫的限制訪問和管理整個數據庫的能力。
2、特點
- 最高權限:SYS用戶擁有DBA、SYSDBA、SYSOPER等角色或權限。SYS用戶可以進行創建/刪除用戶、表空間、數據庫實例、備份和恢復等高級操作,是Oracle權限最高的用戶。
- 數據字典:所有Oracle的數據字典的基表和視圖都存放在SYS用戶中,這些基表和視圖對于Oracle的運行至關重要。
- 密碼管理:SYS用戶通過OS級別的密碼文件對其密碼進行管理,雖然可以通過SQL語法直接修改密碼,但前提是OS級別的密碼文件必須先存在,否則無法通過SQL語法直接修改SYS用戶的密碼。默認密碼是change_on_install
- 登錄方式:SYS用戶必須以SYSDBA身份登錄。
3、SYS登錄認證方式
- 操作系統認證:當完成數據庫安裝后,可直接通過sysdba用戶登錄數據庫,而不會驗證用戶名和密碼,該認證方式的用戶稱為特權用戶。操作系統認證主要通過sqlnet.ora文件控制,一旦取消該認證,sys用戶將無法直接登錄數據庫,需要校驗其密碼正確才可以登錄。
# 取消操作系統認證
$ cd $ORACLE_HOME/network/admin
$ vi sqlnet.ora
SQLNET.AUTHENTICATION_SERVICE=NONE -- 默認不存在該參數,設置為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>
- 數據庫認證:該方式一般針對普通用戶而言,主要是將密碼記錄在數據庫的表中,但用戶需要登錄時必須輸入正確的用戶名和密碼加監聽服務連接到數據庫中進行校驗,校驗正確方可登錄。
[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>