Database

Troubleshooting Errors While Using Oracle Database

Memo
BW Server
Install Maintenance HTTPS Connector
ISM
Install
BWMAgent
Linux Compile

ORA-00742, ORA-00312, ORA-02049, ORA-00054

ORA-00742, ORA-00312

- ORA-00742: 로그 읽기 중 스레드 1 시퀀스 11 블록 897에서 손실된 쓰기를
감지했습니다.
- ORA-00312: 온라인 로그 2 스레드 1: '/app/oracle/oradata/ORCL/redo02.log'  
   
    SQL> shutdown immediate
    ORA-01109: 데이터베이스가 개방되지 않습니다
    데이터베이스가 마운트 해제되었습니다.
    ORACLE 인스턴스가 종료되었습니다.

    SQL> startup mount
    ORACLE 인스턴스가 시작되었습니다.
    데이터베이스가 마운트되었습니다.

    SQL> recover database until cancel;
    ORA-00279: 변환 3098444가 (07/17/2021 20:38:41에서 생성된) 스레드 1에
    필요합니다
    ORA-00289: 제안 :
    /app/oracle/product/19.0.0/dbhome_1/dbs/arch1_11_1077797127.dbf
    ORA-00280: 변환 3098444(스레드 1를 위한)가 시퀀스번호 11에 있습니다
    로그 지정: {<RET>=suggested | filename | AUTO | CANCEL}
        /app/oracle/oradata/ORCL/redo02.log
    로그가 적용되었습니다.
    매체 복구가 완료되었습니다.

    SQL> alter database open resetlogs    
    데이타베이스가 변경되었습니다.

    SQL> shutdown immediate
    ORA-00600: 내부 오류 코드, 인수: [4194], [17], [13], [], [], [], [], [], [],[], [], []

    SQL> startup
    SQL> alter system set undo_management='MANUAL' scope=spfile;
    SQL> shutdown immediate
    SQL> startup
    SQL> show parameter undo
    SQL> create undo tablespace UNDOTBS_02 datafile '/app/oracle/oradata/ORCL/undotbs02.dbf' SIZE 500M;
    SQL> alter system set undo_tablespace = UNDOTBS2;        
    SQL> drop tablespace UNDOTBS1 including contents and datafiles;
    SQL> alter system set undo_management='AUTO' scope=spfile;
    SQL> shutdown immediate
    SQL> startup

ORA-02049, ORA-00054

SELECT 
    A.SID, A.SERIAL#, B.TYPE, C.OBJECT_NAME
FROM 
    V$SESSION A, V$LOCK B, DBA_OBJECTS C
WHERE 
    A.SID=B.SID
    AND B.ID1=C.OBJECT_ID
    AND B.TYPE='TM'
    AND C.OBJECT_NAME IN ('TEST_TARGET');

alter system kill session 'SID, SERIAL#'

TableSpace Shrink & Purge & dbf file resize

SQL> select file_id, file_name from dba_data_files;
SQL> select block_id, blocks from dba_extents where file_id='FILE_ID' order by block_id;
SQL> show parameter db_block_size;
    => dbf file minimum size = block_id * db_block_size + blocks * db_block_size

SQL> purge tablespace [TABLESPACE_NAME]
SQL> alter database datafile '[dbf file path]' resize [dbf file size(100M / 1G)];

Data exp / imp

$ exp system file=[filePath] owner=[username] 
$ imp system file=[filePath] fromuser=[username] touser=[username]
This page was generated by GitHub Pages.
Author. silentjini