답변 감사합니다.
님이 정리한거 공개하시면 안되나여..
아님 저에게 멜로 쏴주시던지 ^^*
soulthief@hanmail.net
onunload, onload 말구
dbexport, dbimport 도 있던데..
이것도 결과적으론 같은 건가여??
-- man 님이 쓰신 글:
>> 제대로 한 것 맞는것 같은데요... 저는 onload 는 한 번도 안해봐서리...
>> 가르쳐 드릴 수는 없고 참고로 제가 정리한거 적어볼께요...
>> 도움되었으면 좋겠습니다...
>>
>> (16) onload와 onunload 유틸리티
>>
>> - IDS의 binary 이미지
>>
>> - disk 또는 tape (-t: tape device name, -b: tape device size, -s: tape size)
>>
>> - 전체 db 또는 table 한 개
>>
>> - -l option: 서버에서 onconfig파일에서 LTAPEDEV, LTAPEBLK, LTAPESIZE 설정 파라미터를 주었을 때
>>
>> - 이기종 시스템은 불가능
>>
>> (17) onunload 예제
>>
>> - 1. $ touch faketape
>>
>> - 2. $ onunload -t faketape stores7
>>
>> - 3. drop database stores7;
>>
>> - 4. $ onload -t faketape -d <dbspace> stores7 (Enter!)
>>
>> (18) Move Data in Binary Format
>>
>> - IDS page size, 숫자데이터 형식, Byte alignment for structures and unions가 같아야 한다...(?)
>>
>> - HPL을 제외하곤 가장 빠르다
>>
>> (19) Locking Issues
>>
>> - onunload 시 shared lock (각 테이블 unload시)
>>
>> - onload 시 exclusive lock (각 테이블 load시)
>>
>> (20) Unloading a Database
>>
>> - Synonyms, P.K, F.K, 기본값, triggers, SPL 보존됨
>>
>> - 소유자와 특권을 변경할 수 없다.
>>
>> - DBA와 informix유저에 의해서만 실행
>>
>> - ex1) $ onunload -t /dev/rmt0 -b 8096 -s 809600 superstores_demo (Enter!)
>>
>> ex2) $ onunload -l superstores_demo (Enter!)
>>
>> ex3) $ onunload -t superstores_demo (Enter!)
>>
>> (21) Loading a Database
>>
>> - nologging 으로 만들어짐
>>
>> - onload를 실행시키는 사람이 소유자가 됨 (create database... 문이 첨가됨)
>>
>> - ex1) $ onload -t /dev/rmt0 -b 8096 -s 809600 demo_db (Enter!)
>>
>> ex2) $ onload -l -d <dbspace> demo_db (Enter!)
>>
>> ex3) $ onload -t demo_db_file demo_db (Enter!)
>>
>> (22) Unloading a Table
>>
>> - synonyms, views, constraints, 기본값, trigger는 unload 되지 않는다
>>
>> - table 소유주여야 하며 DBA 권한을 가지던지 informix 유저이어야 한다
>>
>> (23) Loading a Table
>>
>> - logging 상태를 off 해야 한다 -> nologging 이어야 한다
>>
>> - table dbspace 위치, index dbspace 위치, 인덱스 이름, constraint 이름을 바꿀 수 있다
>>
>> (24) 예제 (Loading)
>>
>> - ex1) $ onload -t f1 db1:tab1 -fd dbs1 dbs2 -i ix1 ix2 (Enter!) -> -fd: dbsapce
>>
>> ex2) $ onload -t f1 db1:tab1 -id ix1 dbs1 dbs2 (Enter!) -> -id: index space
>>
>> ex3) $ onload -t f1 db1:tab1 -c constr1 constr2 (Enter!) -> -c: constraint
>>
>> ex4) $ touch customerfile
>>
>> $ onunload -t customerfile stores7:customer
>>
>> $ dbschema -d stores7 -t customer -ss customer.sql
>>
>> drop table customer (-> in dbaccess)
>>
>> $ ontape -s -N stores7 (-> nologging으로 만들기)
>>
>> $ onload -t customerfile stores7:customer -fd onl_dbspace new db_space
>>
>> $ ontape -s -U stores7 (-> 다시 Unbuffered logging 상태로 만들기!)
>>
>> (25) 성공 조언...^^;
>>
>> - 같은 binary 저장형실을 다른 머신에서 공유하거나 같은 IDS버전을 돌리고 있으면 매우 유용하다
>>
>> - 좋은 성능을 내기 위해선
>>
>> i) db나 table의 unloading에 앞서 logging을 turn off 한다
>>
>> ii) 가능한 한 Tape 보다는 disk로 하는게 좋다
>>
>> iii) 아니면 block size를 크게 하고 tape device 가용성을 가장 빠르게 한다
>>
>>
>>
>>
>> -- mutant 님이 쓰신 글:
>> >> 제가 오늘 백업 을 했는데여..
>> >>
>> >> full 백업이 아니라.. database만 백업 하려구 명령어를 찾다가
>> >>
>> >> onunload와 unload란 명령어가 있어서
>> >>
>> >> 이거 가지고 백업과 복원을 했습니다.
>> >>
>> >> 시스템이 두개가 있었고 각각 시스템에 다른 Database가 있었습니다..
>> >>
>> >> 이걸 한 시스템으로 몰아서 시스템 하나에 2개의 Database가 되게 만들려고 했는데..
>> >>
>> >> onunload -t /dev/tapedev database
>> >>
>> >> 이렇게 백업 받아서
>> >>
>> >> unload -t /dev/tapedev database 일케만 하니깐 에러가 생기더군요
>> >>
>> >> 첨엔 사이즈 에러가 나서 싸이즈는 적어 줬습니다.
>> >>
>> >> unload -t /dev/tapedev database -s 409600 일케여..
>> >>
>> >> 근데 또 에러가 나더군요
>> >>
>> >> dbspase 이름이 틀리다고 ㅡㅡ;;
>> >>
>> >> 시스템1과 시스템2의 dbspace네임이 틀렸거던여.. 그래서
>> >>
>> >> 백업한 시스템1의 dbspace네임과 똑같이 시스템2에도 dbspace을 생성해줬습니다. index db도 틀리다고 나와서 그것도 생성했습니다. ㅡㅡ;;
>> >>
>> >> 그랬더니 제대로 되더군여..
>> >>
>> >> 여기서 질문이여
>> >>
>> >> dbspace네임이 틀리면 onload 시킬때 안올라가나여??
>> >>
>> >> onunload 백업 받은 dbspace가 A라고 할때
>> >>
>> >> onload로 복구 시키려는 시스템에 dbspace가 B이면 B로는 안올라가나여??
>> >>
>> >> 그리고 제가 제대로 백업하고 복원한건지 봐주세여.. ㅡㅡ;;
>> >>
>> >> 오늘 첨 해봤어여
>> >>
>> >> 장황한 질문 끝까지 읽어주셔서 감사함다...
|