按照正常操作流程,启动项目,发现项目报错,原因是连接不上oracle数据库,
PLSQL连接时报错,错误码 ORA:12154 无法解析指定的连接标识符
第一次,遇到这个错误,在网上找了资料都是需要修改
监听(D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora)和服务(D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora)文件。
基于前一天正常使用,第二天莫名奇妙无法使用,排除文件少配置的问题。
第一次遇到这个错误的时候解决了一会,发现
当前是使用域用户登录的
然后切换回 本机用户登录
之后再次登录域用户 正常使用。正常连接。
没搞清楚是什么原因。
第二次,遇到这个错误,按照第一次的解决办法无效,又在网上找了半天,
查看服务,正常启动。
索性重新配置了服务,和 监听。
发现使用 Net Configuration Assistant 向导配置的时候,文件缺少 配置的本地服务描述,在这里是下面代码的最后一块。
# tnsnames.ora Network Configuration File: D:\oracle\product\11.2.\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools. ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
) LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = )) //这一块是缺少的 start
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = ))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
//这一块是缺少的 end
配置完成之后,本以为解决的,发现登录的时候。遇到了另外两个错误,
ORA:01034 和 ORA:27101
这....... 是什么情况~~~
然后的解决方案是:
命令行执行
1. sqlplus /nolog
2. conn / as sysdba
2. create pfile from spfile; 生成的 pfile 叫INITorcl.ora,位于D:\oracle\product\11.2.0\dbhome_1\database下(找自己的安装目录)
3. 修改pfile里面的local_listener, 最后变成下面
orcl.__db_cache_size=352321536
orcl.__java_pool_size=8388608
orcl.__large_pool_size=8388608
orcl.__oracle_base='D:\oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=444596224
orcl.__sga_target=847249408
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=469762048
orcl.__streams_pool_size=0
*.audit_file_dest='D:\oracle\admin\orcl\adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='D:\oracle\oradata\orcl\control01.ctl','D:\oracle\flash_recovery_area\orcl\control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='D:\oracle\flash_recovery_area'
*.db_recovery_file_dest_size=4039114752
*.diagnostic_dest='D:\oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.local_listener='(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=127.0.0.1)(Port=1521)))' //这里是修改的的一行
*.memory_target=1288699904
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
4. create spfile from pfile='INITorcl.ora'; //这里注意是单引号
5. startup
通常这里就已经把问题解决了。。
然而,然而, 我又遇到了另一个错误。。
ORA-18008: 无法找到 OUTLN 方案。