zoukankan      html  css  js  c++  java
  • oracle错误汇总2


    http://blog.itpub.net/30430420/viewspace-1799925/

    =============================

    现象!!!!!!!!!!!!!!!!!
    SQL> startup
    ORACLE 例程已经启动。

    Total System Global Area 3373858816 bytes
    Fixed Size                  2180424 bytes
    Variable Size            2415921848 bytes
    Database Buffers          939524096 bytes
    Redo Buffers               16232448 bytes
    数据库装载完毕。
    ORA-00600: 内部错误代码, 参数: [kcratr_nab_less_than_odr], [1], [4724],[43805], [43810], [], [], [], [], [], [], []

    [1], [4724],[43805], [43810]
    线程1,实例需要恢复日志序列号为4724的联机日志文件,需要恢复到编号为43810的日志块,而实际上只能恢复到第43805个日志块,所以库就启不来了

    这可能是由于控制文件的缺失,或者在线日志文件在实例恢复时不完整

    查看告警日志:
    less alert_orcldata.log

    Completed: ALTER DATABASE   MOUNT
    Sun Feb 25 14:49:04 2018
    ALTER DATABASE OPEN
    Beginning crash recovery of 1 threads
     parallel recovery started with 3 processes
    Started redo scan
    Completed redo scan
     read 312 KB redo, 55 data blocks need recovery

    Errors in file f:appasusdiag dbmsorcldataorcldata raceorcldata_ora_2896.trc  (incident=465222):
    ORA-00600: 内部错误代码, 参数: [kcratr_nab_less_than_odr], [1], [4724], [43805], [43810], [], [], [], [], [], [], []
    Incident details in: f:appasusdiag dbmsorcldataorcldataincidentincdir_465222orcldata_ora_2896_i465222.trc
    Aborting crash recovery due to error 600

    Errors in file f:appasusdiag dbmsorcldataorcldata raceorcldata_ora_2896.trc:
    ORA-00600: 内部错误代码, 参数: [kcratr_nab_less_than_odr], [1], [4724], [43805], [43810], [], [], [], [], [], [], []

    Errors in file f:appasusdiag dbmsorcldataorcldata raceorcldata_ora_2896.trc:
    ORA-00600: 内部错误代码, 参数: [kcratr_nab_less_than_odr], [1], [4724], [43805], [43810], [], [], [], [], [], [], []

    ORA-600 signalled during: ALTER DATABASE OPEN...
    Trace dumping is performing id=[cdmp_20180225144908]
    Sun Feb 25 14:50:04 2018
    Sweep [inc][465222]: completed
    Sweep [inc2][465222]: completed


    查看相应的trace文件:
    less orcldata_ora_2896.trc

    Trace file f:appasusdiag dbmsorcldataorcldata raceorcldata_ora_2896.trc
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    Windows NT Version V6.1 Service Pack 1
    CPU                 : 4 - type 8664, 4 Physical Cores
    Process Affinity    : 0x0x0000000000000000
    Memory (Avail/Total): Ph:1599M/8062M, Ph+PgF:6927M/16124M
    Instance name: orcldata
    Redo thread mounted by this instance: 1
    Oracle process number: 20
    Windows thread id: 2896, image: ORACLE.EXE (SHAD)


    *** 2018-02-25 14:49:05.149
    *** SESSION ID:(5.3) 2018-02-25 14:49:05.149
    *** CLIENT ID:() 2018-02-25 14:49:05.149
    *** SERVICE NAME:() 2018-02-25 14:49:05.149
    *** MODULE NAME:(sqlplus.exe) 2018-02-25 14:49:05.149
    *** ACTION NAME:() 2018-02-25 14:49:05.149
     
    Successfully allocated 3 recovery slaves
    Using 45 overflow buffers per recovery slave
    Thread 1 checkpoint: logseq 4724, block 2, scn 144933326
      cache-low rba: logseq 4724, block 43181
        on-disk rba: logseq 4724, block 43810, scn 144958360
      start recovery at logseq 4724, block 43181, scn 0

    *** 2018-02-25 14:49:05.307
    Started writing zeroblks thread 1 seq 4724 blocks 43805-43812

    *** 2018-02-25 14:49:05.308
    Completed writing zeroblks thread 1 seq 4724

    *** 2018-02-25 14:49:05.492
    ==== Redo read statistics for thread 1 ====
    Total physical reads (from disk and memory): 4096Kb
    -- Redo read_disk statistics --
    Read rate (ASYNC): 312Kb in 0.30s => 1.02 Mb/sec
    Longest record: 6Kb, moves: 0/595 (0%)
    Change moves: 1/73 (1%), moved: 0Mb
    Longest LWN: 6Kb, moves: 0/238 (0%), moved: 0Mb
    Last redo scn: 0x0000.08a3e393 (144958355)
    ----------------------------------------------
    ----- Recovery Hash Table Statistics ---------
    Hash table buckets = 32768
    Longest hash chain = 1
    Average hash chain = 55/55 = 1.0
    Max compares per lookup = 1
    Avg compares per lookup = 1514/1663 = 0.9
    ----------------------------------------------
    WARNING! Crash recovery of thread 1 seq 4724 is
    ending at redo block 43805 but should not have ended before
    redo block 43810

    *** 2018-02-25 14:49:06.969
    Incident 465222 created, dump file: f:appasusdiag dbmsorcldataorcldataincidentincdir_465222orcldata_ora_2896_i465222.trc
    ORA-00600: 内部错误代码, 参数: [kcratr_nab_less_than_odr], [1], [4724], [43805], [43810], [], [], [], [], [], [], []

    ORA-00600: 内部错误代码, 参数: [kcratr_nab_less_than_odr], [1], [4724], [43805], [43810], [], [], [], [], [], [], []
    ORA-00600: 内部错误代码, 参数: [kcratr_nab_less_than_odr], [1], [4724], [43805], [43810], [], [], [], [], [], [], []


    应该是由于我强制关闭电脑,导致LGWR写联机日志文件时失败,下次重新启动数据库时,需要做实例级恢复,而又无法从联机日志文件里获取到这些redo信息,因为上次关闭时,写日志失败了。

    ===================================

    http://blog.itpub.net/28883355/viewspace-1080879/
    oradebug help
    SETMYPID Debug current process
    ===================================

    http://blog.csdn.net/haibusuanyun/article/details/36868269
    方法1:这个方法不行
    RECOVER DATABASE;
    RECOVER DATABASE UNTIL CANCEL;

    方法2:最终通过重建控制文件、再进行不完全恢复来OPEN数据库。(前提是客户只要求OPEN库,是客户的测试库,丢些数据没关系,如果是生产库不允许丢数据,此方法就不适用了)
    ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS'/home/oracle/a.txt';
    Alter database recover database until cancel using backup controlfile;
    Alter database open resetlogs;

    ===================================
    下面这个方法有效
    http://blog.itpub.net/30430420/viewspace-1799925/
    Show parameter control_files;
    oradebug setmypid;
    Alter session set tracefile_identifier='controlfilerecreate';
    Alter database backup controlfile to trace noresetlogs;
    oradebug tracefile_name;
    shutdown immediate;
    startup nomount;
    执行trace文件中的创建数据库脚本,orcldata_ora_2896_controlfilerecreate.trc

    =====================================

    最后验证一下相关表的数据

    select uat.table_name from user_all_tables uat;
    select object_name, created,last_ddl_time from user_objects;

    SELECT
        uat.table_name AS 表名,
        (
            SELECT
                last_ddl_time
            FROM
                user_objects
            WHERE
                object_name = uat.table_name
        ) AS 最后修改日期
    FROM
        user_all_tables uat;

    ==========================================================

    windows启动dbconsole

    C:WindowsSystem32driversetchosts修改这个文件添加主机名的解析
    否则只能本地访问EM

    F:appASUSproduct11.2.0dbhome_1BIN>emctl start dbconsole
    OC4J Configuration issue. F:appASUSproduct11.2.0dbhome_1/oc4j/j2ee/OC4J_DBConsole_ASUS-PC_orcldata not found.

    复制该目录下的“OC4J_DBConsole_localhost_orcl”文件夹放在同一目录下,且把名称改成“OC4J_DBConsole_ASUS-PC_orcldata”。


    F:appASUSproduct11.2.0dbhome_1BIN>emctl start dbconsole
    EM Configuration issue. F:appASUSproduct11.2.0dbhome_1/ASUS-PC_orcldata not found.

    复制该目录下的“localhost_orcl”文件夹放在同一目录下,且把名称改成“ASUS-PC_orcldata”。

    ==========================================

    windows登录EM问题

    1、问题描述:
    打开OEM页面发现这个错误:界面如下
    ORA-28001: the password has expired (DBD ERROR: OCISessionBegin)

    2问题原因
    造成这个问题的主要原因是因为DBSNMP 、SYSMAN用户密码已经过期。

    3解决办法
    可以使用sys以管理员的身份登录数据库,然后执行select username,account_status from dba_users;语句查询用户状态,可以发现有如下两句:

    DBSNMP EXPIRED
    SYSMAN EXPIRED

    把这俩用户、密码修改了就行。

    本机使用sqlplus登陆

    sqlplus / as sysdba

    SQL> alter user sysman identified by sys123;

    用户已更改。

    SQL> alter user dbsnmp identified by sys123;

    用户已更改。

    重启em dbconsole 登陆

    ================================

    三步走,重新创建EM

    emctl stop dbconsole

    emca -repos recreate

    emca -config dbcontrol db

    =================================

    Wed Jul 31 18:13:51 2019
    ORA-1652: unable to extend temp segment by 128 in tablespace KYC_TEMP
    Wed Jul 31 18:14:04 2019
    Active Session History (ASH) performed an emergency flush. This may mean that ASH is undersized. If emergency flushes are a recurring issue, you may consider increasing ASH size by setting the value of _ASH_SIZE to a sufficiently large v
    alue. Currently, ASH size is 100663296 bytes. Both ASH size and the total number of emergency flushes since instance startup can be monitored by running the following query:
    select total_size,awr_flush_emergency_count from v$ash_info;
    Wed Jul 31 18:14:29 2019
    ORA-1652: unable to extend temp segment by 128 in tablespace KYC_TEMP

    更换临时表空间,数据不影响

    create temporary tablespace kyc_temp1;

    alter user kyc_loa temporary tablespace kyc_temp1;

  • 相关阅读:
    CentOS6设置密码过期时间
    scp
    windows查看进程
    mysql5.7密码问题
    mysql主从切换摘要
    mysql慢日志管理
    Linux学习(一)
    Linux学习(一)
    数据结构与算法(1)-算法时间复杂度
    数据结构与算法(1)-算法时间复杂度
  • 原文地址:https://www.cnblogs.com/createyuan/p/8469681.html
Copyright © 2011-2022 走看看