Я установил Oracle 11G на моем Windows 2008 R2 Server. Я также установил клиентские библиотеки Oracle, используя отдельный установочный носитель. После установки клиента, когда я пытаюсь войти в базу данных, используя:
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
с. Я не знаю, имеет ли это какое-то отношение к этой проблеме?
Как устранить эту ошибку на моем компьютере с Windows?