ฉันติดตั้ง Oracle 11G บนเซิร์ฟเวอร์ Windows 2008 R2 ของฉัน ฉันยังติดตั้ง Oracle Client Libraries โดยใช้สื่อการติดตั้งแยกต่างหาก หลังจากการติดตั้งไคลเอนต์เมื่อฉันพยายามเข้าสู่ระบบฐานข้อมูลโดยใช้:
C:\>sqlplus / as sysdba
ฉันได้รับข้อผิดพลาดต่อไปนี้:
ORA-01031: สิทธิ์ไม่เพียงพอ
สิ่งนี้ใช้ได้ก่อนการติดตั้งไคลเอนต์ บัญชีของฉันอยู่ในORA_DBA
กลุ่ม บัญชีของฉันยังอยู่ในกลุ่มผู้ดูแลระบบ ฉันไม่ได้ORACLE_SID
ตั้งค่าในรายการตัวแปรสภาพแวดล้อมของฉัน มันจะต้องเป็นอย่างไร สิ่งนี้ใช้ได้ก่อนการติดตั้งไคลเอนต์และฉันไม่ได้มีตัวแปรนั้นในเวลานั้นเช่นกัน
UAC เปิดอยู่ที่ระดับต่ำสุดและฉันมักจะทำงานcmd
เป็นผู้ดูแลระบบอยู่เสมอ
ฉันมีsqlnet.ora
ไฟล์เช่นนี้ในโฟลเดอร์:
C:\app\myaccount\product\11.2.0\dbhome_1\NETWORK\ADMIN
sqlnet.ora
# sqlnet.ora Network Configuration File: C:\app\myaccount\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.
# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
tnsnames.ora
# tnsnames.ora Network Configuration File: C:\app\myaccount\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.mydb.com)
)
)
listener.ora
# listener.ora Network Configuration File: C:\app\myaccount\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\myaccount\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\myaccount\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
ADR_BASE_LISTENER = C:\app\myaccount
จากรีจิสทรีของ windows (โดยใช้ regedit) จากเส้นทางที่Computer > HKEY_LOCAL_MACHINE > SOFTWARE > Wow6432Node > ORACLE
ฉันสามารถหาสองคีย์:
KEY_OraClient11g_home1
KEY_OraDb11g_home1
และภายใต้ปุ่มเหล่านั้นฉันสามารถค้นหาORACLE_HOME
ตัวแปรได้ ดังนั้นดูเหมือนว่าการติดตั้งไคลเอนต์จะสร้างขึ้นด้วยORACLE_HOME
ดังนั้นตอนนี้ฉันมีสองORACLE_HOME
s ฉันไม่รู้ว่าสิ่งนี้เกี่ยวข้องกับปัญหานี้หรือไม่?
วิธีแก้ไขข้อผิดพลาดนี้ในเครื่อง Windows ของฉัน