sqlserver 와 Oracle 내부 의 오류 데이터 복구 (DBCC, DBMS REPAIR)
sqlserver 에 대해 서 는 DBCC 명령 을 사용 할 수 있 습 니 다.
-- sqlserver
use dbName
GO
--exec sp_dboption @databasename, N'single', N'true' --
ALTER DATABASE dbName SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
DBCC CHECKDB(dbName, REPAIR_ALLOW_DATA_LOSS)
GO
DBCC CHECKDB(dbName, REPAIR_REBUILD)
GO
--exec sp_dboption @databasename, N'single', N'false'--
ALTER DATABASE dbName SET MULTI_USER
GO
공식 참조:
https://msdn.microsoft.com/zh-cn/library/ms176064.aspx
http://blogs.msdn.com/b/apgcdsd/archive/2014/05/05/dbcc-checkdb.aspx
Oracle 에 대해 서 는 DBMS 를 사용 할 수 있 습 니 다.REPAIR.SKIP_CORRUPT_BLOCKS 가 나 쁜 블록 을 건 너 뛴 후 데이터 시트 를 읽 고 다시 만 듭 니 다.
흔히 볼 수 있 는 물리 적 블록 (Physical Block Corruptions) 은 블록 과 블록 끝의 정보 가 일치 하지 않 고 (Fractured / Incomplete), checksum 값 이 유효 하지 않 으 며 데이터 블록 정보 가 모두 0 인 경우 가 있 으 며 오류 ORA - 1578 과 ORA - 1110 이 수 반 될 수 있 습 니 다.
물리 적 나 쁜 블록 과 나 쁜 블록 이 발생 하 는 원인 을 신속하게 발견 하기 위해 Oacle 은 초기 화 매개 변수 DB 를 설정 하 는 것 을 권장 합 니 다.BLOCK_CHECKSUM = TYPICAL (기본 값).일반적인 상황 에서 물리 적 나 쁜 블록 은 바 텀 OS / disk 시스템 의 오류 / 손상 으로 인해 데이터 블록 이 수정 되 고 데이터 블록 표 지 는 나 쁜 블록 (corruption) 입 니 다.
1. 현재 데이터베이스 초기 화 매개 변수 설정 DBBLOCK_CHECKSUM = TYPICAL 이 므 로 disk 에서 데이터 블록 을 읽 을 때 checksum 을 검사 합 니 다.
SQL> show parameter DB_BLOCK_CHECKSUM
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_checksum string TYPICAL
2. 조회 표 dept 에서 고장 난 블록 을 발 견 했 습 니 다. 잘못된 정 보 를 보 고 했 습 니 다. ORA - 1578 과 ORA - 1110, 고장 난 블록 은 file \ # 4, block \ # 133 입 니 다.
SQL> select * from dept;
ERROR at line 1:
ORA-01578: ORACLE data block corrupted (file # 4, block # 133)
ORA-01110: data file 4: '/u01/app/oracle/oradata/orcl/users01.dbf'
데이터 블록 을 복구 하 는 방법 은 백업 을 통 해 복구 하거나 DBMSREPAIR.SKIP_CORRUPT_BLOCKS 는 나 쁜 블록 을 건 너 뛰 고 후 자 는 실행 하기에 더욱 편리 한 것 같 습 니 다.
SQL> alter session set db_file_multiblock_read_count=1;
SQL> execute DBMS_REPAIR.SKIP_CORRUPT_BLOCKS('SCCOT','DEPT');
SQL> create table dept_new as select * from dept;
공식 참조:https://blogs.oracle.com/Database4CN/entry/oracle%E6%95%B0%E6%8D%AE%E5%BA%93%E5%9D%8F%E5%9D%97_corruption_%E7%89%A9%E7%90%86%E5%9D%8F%E5%9D%97
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.