SQLPLUS / AS SYSDBA无法登录ORA-12560

时间:2017-06-20 13:18:37

标签: oracle oracle12c

我正在

ERROR:
ORA-12560: TNS:protocol adapter error
尝试以SYSDBA身份登录时出现

适配器错误。我做了一些研究,发现首先在Windows服务中没有任何OracleJobSchedulerdb12gr1; OracleServicedb12gr1 .. e.t.c.

所以我确实添加了它们并开始:

C:\Windows\system32>oradim -new -sid db12gr1

所以我也开始听一听:

C:\Windows\system32>lsnrctl start

之后,当我查看我得到的状态时:

C:\Windows\system32>lsnrctl status

Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
Services Summary...
Service "XE" has 1 instance(s).
  Instance "XE", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

我不确定UNKNOWN是否是我从SID_LIST_LISTENER每隔一个listener.ora丢弃的问题,LISTENER看起来像这样(在listener.ora中):

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

此外,我已将ORACLE_HOME正确设置为env vars并添加到Path bin文件夹,以便我可以访问sqlplus。在我尝试以sysdba身份登录之前,定义ORACLE_SID(set ORACLE_SID=localhost)没有任何区别。此外,我只能从作为管理员打开的命令提示符启动服务并启动监听器,我仍然可以sqlplus / as sysdba

的tnsnames.ora:

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

ORACLR_CONNECTION_DATA = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
    ) 
    (CONNECT_DATA = 
      (SID = CLRExtProc) 
      (PRESENTATION = RO) 
    ) 
  ) 
XE =
  (DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
      (CONNECT_DATA =
        (SERVER = DEDICATED)
        (SERVICE_NAME = XE)
     )
  )

我真的没有想法。任何人都知道这会花多少钱?

PS:操作系统:Windows 10; Oracle:12c

2 个答案:

答案 0 :(得分:2)

您必须将ORACLE_SID环境变量设置为正确的值: 设置ORACLE_SID = db12gr1 并确保您的实例服务已正确启动。

答案 1 :(得分:0)

让我们这样做:
1.打开Oracle Net Configuration Assistant
2.在“本地网络服务名称配置”中选择单选按钮选项,然后单击“下一步”
3.在“重新配置”中选择单选按钮选项,然后单击下一步
4.选择要重新配置的网络服务名称,ORACLR_CONNECTION_DATA或ORCL,然后单击“下一步”
5.输入您的服务名称,如果您已安装的oracle的服务名称为ORCL,则将ORCL写入字段,然后单击下一步
6.选择要使用的协议,例如,选择TCP,然后单击“下一步”
7.输入您的Oracle数据库引擎(服务)安装所在的主机名,例如,安装在台式机或笔记本上的主机名,
   然后以localhost身份填写,并填写您的端口号(选择“使用Standar端口号1521”选项),如果使用其他端口,则填写端口号
然后单击下一步。
8.选择是,执行测试,
  如有必要,请更改用户登录
然后点击下一步
9.如果没有,请配置另一个网络服务名称,选择“否”,然后单击下一步
10.单击完成

如果要用于从MS Visual Studio在.net框架上进行连接,则应下载,提取并安装ODTwithODAC183.zip和BuildTools_Full.exe。