按照正常操作流程,启动项目,发现项目报错,原因是连接不上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.0\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 = 1521))//这一块是缺少的 startORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) (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=352321536orcl.__java_pool_size=8388608orcl.__large_pool_size=8388608orcl.__oracle_base='D:\oracle'#ORACLE_BASE set from environmentorcl.__pga_aggregate_target=444596224orcl.__sga_target=847249408orcl.__shared_io_pool_size=0orcl.__shared_pool_size=469762048orcl.__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 方案。