티스토리 뷰
RAW DEVICE와 FILE SYSTEM 간에 오라클 데이터화일 이동하기
======================================================
유닉스 명령이 dd를 이용하여 오라클 데이터화일을 Unix File System과 Raw
Device 간에 이동할 수 있으나, 플랫폼 별 Raw Device의 특성으로 인하여 주의할
점이 있다. 만일 잘못된 이동으로 인하여 데이터베이스가 기동하지 못하면,
ORA-7366 (sfifi: invalid file, file does not have valid header block.)
에러가 발생할 수 있다.
예를 들어 Digital unix의 경우는 raw device에 64k OS 헤더가 필요하므로 dd
명령어 옵션 중 iseek와 oseek를 활용하여야 한다.
다음은 예제를 통하여 데이터화일을 Raw Device에서 Unix File System으로
이동하는 절차이다.
(운영 현황)
- 현재의 위치: /dev/rdsk/c0t15d0s7
- 이동할 위치: /oracle/file/system.dbf
- 화일의 크기: 488636416 bytes <--- V$DATAFILE.BYTES column 값!
- DB_BLOCK_SIZE: 2048 bytes
(준비 단계)
1. Oracle 블럭 수 계산:
BYTES / DB_BLOCK_SIZE = 488636416 / 2048 = 238592 (블럭)
2. O/S file header 블럭 추가:
238592 + 1 = 238593 (블럭)
: "ls -l /oracle/file/system.dbf" 명령으로 확인 가능하며, O/S file
header는 1블럭으로 항상 일정함.
3. Raw Device OS header 블럭 계산:
64K / DB_BLOCK_SIZE = 65536 / 2048 = 32 (블럭)
: 사용할 dd 명령어 중 블럭의 크기를 DB_BLOCK_SIZE(2048바이트)로 할
예정이므로 2048로 나누어야 함.
(명령어 형식)
$ dd if=<raw device> of=<UFS file> bs=<oracle blocksize>
iseek=<blocks to skip> count=<total count>
(명령어 수행 절차)
(1) SVRMGR> STARTUP MOUNT
(2) SVRMGR> !dd if=/dev/rdsk/c0t15d0s7 of=/oracle/file/system.dbf
bs=2048 iseek=32 count=238593
(3) SVRMGR> ALTER DATABASE RENAME FILE '/dev/rdsk/c0t15d0s7' TO
'/oracle/file/system.dbf';
(4) SVRMGR> ALTER DATABASE OPEN;
========================================================================
반대로 Unix File System에서 Raw Device로 이동하는 명령어 형식은 아래와 같다.
(명령어 형식)
$ dd if=<UFS file> of=<raw device> bs=<oracle blocksize> \
oseek=<blocks to skip> count=<total count>
유사한 방식으로 데이타 화일 뿐 아니라 리두 로그 화일도 이동할 수 있다.
[주의] Raw Device의 블럭 헤더의 크기는 OS마다 다를 수 있으므로 플랫폼
벤더사에 미리 확인한 후 작업하여야 한다.
- Total
- Today
- Yesterday
- 컴퓨터 다운
- PC최적화
- 컴퓨터 소음
- 키보드 단축키
- 넷백업
- 컴퓨터 관리
- Storage
- Oracle
- 보안
- pc정보
- XP설치
- Solaris
- network
- 오라클
- switch
- 리눅스
- hp-ux
- 솔라리스
- 윈도우즈 2000
- Linux
- Unix
- Cisco
- Router
- dell omsa
- dell 서버
- rhel5
- 아파치 보안
- unix 보안
- netbackup
- RHEL4
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |