zoukankan      html  css  js  c++  java
  • oracle错误(ORA:12154 ORA:01034 和 ORA:27101 ORA-18008 ORA-01081)

    按照正常操作流程,启动项目,发现项目报错,原因是连接不上oracle数据库,

    PLSQL连接时报错,错误码  ORA:12154 无法解析指定的连接标识符

    第一次,遇到这个错误,在网上找了资料都是需要修改

    监听(D:oracleproduct11.2.0dbhome_1NETWORKADMINlistener.ora)和服务(D:oracleproduct11.2.0dbhome_1NETWORKADMIN nsnames.ora)文件。

    基于前一天正常使用,第二天莫名奇妙无法使用,排除文件少配置的问题。

    第一次遇到这个错误的时候解决了一会,发现

    当前是使用域用户登录的

    然后切换回 本机用户登录

    之后再次登录域用户   正常使用。正常连接。

    没搞清楚是什么原因。

    第二次,遇到这个错误,按照第一次的解决办法无效,又在网上找了半天,

    查看服务,正常启动。

    索性重新配置了服务,和 监听。

    发现使用 Net Configuration Assistant 向导配置的时候,文件缺少 配置的本地服务描述,在这里是下面代码的最后一块。

    # tnsnames.ora Network Configuration File: D:oracleproduct11.2.0dbhome_1
    etworkadmin	nsnames.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))
    
    //这一块是缺少的 start
    ORCL =
      (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:oracleproduct11.2.0dbhome_1database下(找自己的安装目录)

    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:oracleadminorcladump'
    *.audit_trail='db'
    *.compatible='11.2.0.0.0'
    *.control_files='D:oracleoradataorclcontrol01.ctl','D:oracleflash_recovery_areaorclcontrol02.ctl'
    *.db_block_size=8192
    *.db_domain=''
    *.db_name='orcl'
    *.db_recovery_file_dest='D:oracleflash_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 方案。

     
    问题原因:outln用户被误删除。(昨天手贱把用户全选删除了)
     
    解决步骤:
    1、将oracle启动到mount状态(sql命令:startup mount;)
    SQL> startup mount;
    ORA-01031: 权限不足
     Note:哈哈,提示权限不足,没关系, 用系统账号登..
     
    SQL> connect / as sysdba;
     已连接。
     
    SQL> startup mount;
    ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
    Note:心急吃不了热豆腐啊。。。
     
    SQL> shutdown immediate;
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。
     
    SQL> startup mount;
    ORACLE 例程已经启动。
    Total System Global Area  591396864 bytes
    Fixed Size                  1291916 bytes
    Variable Size             314575220 bytes
    Database Buffers          268435456 bytes
    Redo Buffers                7094272 bytes
    数据库装载完毕。
    Note:运气不错,进入mount状态...
     
    2、修改replication_dependency_tracking参数
    SQL> alter system set replication_dependency_tracking =false scope=spfile;
    系统已更改。
     
    3、启动数据库至open状态
    SQL> shutdown immediate;
    ORA-01109: 数据库未打开
    已经卸载数据库。
    ORACLE 例程已经关闭。
     
    SQL> startup;
    ORACLE 例程已经启动。
    Total System Global Area  591396864 bytes
    Fixed Size                  1291916 bytes
    Variable Size             318769524 bytes
    Database Buffers          264241152 bytes
    Redo Buffers                7094272 bytes
    数据库装载完毕。
    数据库已经打开。
     
    4、创建outln用户
    SQL> create user outln identified by outln;
    用户已创建。
     
    SQL> select username from dba_users;
    USERNAME
    ------------------------------
    OUTLN
    SYS
    SYSTEM
    SCOTT
    Note:outln用户果然创建成功了。。。
     
    5、修改回replication_dependency_tracking参数为true
    SQL> alter system set replication_dependency_tracking =true scope=spfile;
    系统已更改。
     
    6、重新启动数据库,系统恢复正常
    SQL> shutdown abort;
    ORACLE 例程已经关闭。
     
    SQL> startup;
    ORACLE 例程已经启动。
    Total System Global Area  591396864 bytes
    Fixed Size                  1291916 bytes
    Variable Size             322963828 bytes
    Database Buffers          260046848 bytes
    Redo Buffers                7094272 bytes
    数据库装载完毕。
    数据库已经打开。
     
    Ok,搞定!
     
    参考:https://www.thinksaas.cn/group/topic/566058/
     
     
  • 相关阅读:
    我与计算机
    C高级第四次作业
    C高级第三次作业
    C高级第二次作业
    C高级第一次PTA作业 要求三
    C高级第一次PTA作业
    第0次作业
    # 20182304 实验七 《数据结构与面向对象程序设计》实验报告
    # 20182304 实验八 《数据结构与面向对象程序设计》实验报告
    # 20182304 《数据结构与面向对象程序设计》第八周学习总结
  • 原文地址:https://www.cnblogs.com/redirectZmh/p/8184860.html
Copyright © 2011-2022 走看看