ORA-12154: TNS: 无法解析指定的连接标识符解决方法

1、查看自己的Oracle服务是否打开。

image.png

OracleServiceORACLE,OracleOraDb11g_home1TNSListener都需要开启,前者是主服务,后者是监听服务。

2、服务都打开后找到Oracle安装目录”D:\app\lcb\product\11.2.0\dbhome_1\NETWORK\ADMIN”

Oracle常见问题 - 图2

打开tnsnames.ora文件按下面的模板参考修改

  1. # tnsnames.ora Network Configuration File: D:\app\lcb\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
  2. # Generated by Oracle configuration tools.
  3. LISTENER_ORCLWWENG =
  4. (DESCRIPTION =
  5. (ADDRESS_LIST =
  6. (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
  7. )
  8. (CONNECT_DATA =
  9. (SERVICE_NAME = LISTENER_ORCLWWENG)
  10. )
  11. )
  12. ORCL =
  13. (DESCRIPTION =
  14. (ADDRESS_LIST =
  15. (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
  16. )
  17. (CONNECT_DATA =
  18. (SERVICE_NAME = ORCL)
  19. )
  20. )

3、测试,打开cmd,输入tnsping oracle

image.png

显示已使用适配器来解析别名表示已成功

ORA-01033: 错误解决办法

image.png

第一步、sqlplus /NOLOG

第二步、SQL>connect sys/change_on_install as sysdba

提示:已成功

第三步、SQL>shutdown normal

提示:
数据库已经关闭
已经卸载数据库
ORACLE 例程已经关闭

第四步、SQL>startup mount

提示:
Total System Global Area 5110898688 bytes
Fixed Size 2806480 bytes
Variable Size 1107299632 bytes
Database Buffers 3992977408 bytes
Redo Buffers 7815168 bytes
数据库装载完毕。

第五步、SQL>alter database open(这一步出错)

提示:
ORA-01157: 无法标识/锁定数据文件11 - 请参阅DBWR 跟踪文件
ORA-01110: 数据文件11: ‘’’’I:\tablesapce\APP0104_DEFAULT.dbf’’
看到这个APP0104_DEFAULT.dbf 想起来了,是之前往数据库里导入DMP文件时创建的,当时是在移动硬盘上的,后来硬盘被拿走了,所以Oracle找不到这些表空间了。按照提示的数据文件编号11,对表空间进行drop操作。

第六步、SQL>alter database datafile 11 offline drop

第七步、重复第五第六步,直到所有无法连接的的表空间都已经drop为止(当时创建太多,一直drop到40才结束)

第八步、输入shutdown normal, startup mount, alter database open

最后、 无需重启,使用原来的用户名密码即可登录成功;使用SQL Developer也可以连接。

Oracle监听启动后自动停止

打开net manager,点到监听程序下面的listener那里,然后点地址一,看主机名是不是和你计算机名一致

plsql输入字符变成全角

shift+空格切换回来