aix 점검방법?

http://jeongtak.egloos.com/123450

AIX disk mirror -링크

AIX에서 미러디스크 교체하는 방법.

http://www.unix.com/aix/30039-replace-failed-root-disk-aix.html

Continue reading

반드시 알아둘 AIX 명령

“반드시 알아둘 AIX 명령” 이란 제목의 글.

링크: http://www.ibm.com/developerworks/kr/library/au-dutta_cmds.html

아래는 “필수 AIX 명령어”
링크 : http://www.ibm.com/developerworks/kr/library/dutta_cmds.html

oracle 패치후 에러..

오라클 잘 설치하고 패치까지 했는데,
ora-01092 에러 발생.
찾아보니, 오라클 엔진만 패치되고 데이타베이스가 패치되지 않아서 그렇다고 한다.
해결책은?
$sqlplus /nolog
SQL> conn /as sysdba
SQL> startup upgrade;
SQL>@$ORACLE_HOME/rdbms/admin/catupgrd.sql
…..
한시간 이상 걸림.. …
아무튼 끝나고나면 shutdown immediate;
이후 startup 했는데 ora-16038발생
처리후,
SQL>@$ORACLE_HOME/rdbms/admin/utlrp.sql
SQL> exit
$ORACLE_HOME/install/changePerm.sh 실행

v480 디스크 교체.

운영중인 sun v480 서버의 디스크가 고장났을때, 아래와 같은 절차로 교체.
디스크는 내부 FCAL 디스크 2개이며, mirror 구성되어 있다. 때문에, 디스크 교체후 mirror를 구성해 주어야 한다.

1. 디스크의 교체(핫스왑)
먼저, iostat -en 으로 고장 디스크 확인.

—- errors —-
s/w h/w trn tot

1 0 0 0 c1t0d0
0 13 126 139 c1t1d0

luxadm으로 디스크 제거.

luxadm -e remove_device -F /dev/rdsk/c1t1d0s2
WARNING!! please ensure that no filesystem are mounted on these device(s).
All data on these devices should have been backed up.
Error: SCSI failure. – /dev/rdsk/c1t1d0s2
luxadm -e offline /dev/rdsk/c1t1d0s2
devctl: I/O error

디스크가 이미 고장이므로 luxadm이 정상작동 하지 않았다.
그래서, 그냥 디스크 빼고 새 디스크로 교체.
바로 online 메시지 나오면서 인식.
이후 mirror작업수행.

2. 미러작업 완료후, Resync 중에 시스템을 종료해야만 했다. 이후 재 부팅과정에서 문제가 발생했다.

stale databases …

single user모드로 부팅이 되며, fsck 로도 해결되지 않았음. single모드에서 아래 커맨드 수행

metadb
metadb -d /dev/dsk/c1t1d0s7

s7이 메타디바이스영역.
이후 정상 부팅후,

metadb -a /dev/dsk/c1t1d0s7

이후 metastat 로 확인해보면, resyncing되는것을 확인.
혹시나해서 검색해보니,

http://download.oracle.com/docs/cd/E19455-01/806-3205/troubleshoottasks-38/index.html

ubuntu10.10 에러 메시지

메일로 자꾸 아래와 같은 메시지가 전송되어 왔다.

PHP Deprecated: Comments starting with ‘#’ are deprecated in /etc/php5/cli/conf.d/idn.ini on line 1 in Unknown on line 0
PHP Deprecated: Comments starting with ‘#’ are deprecated in /etc/php5/cli/conf.d/ming.ini on line 1 in Unknown on line 0

결론은 각각의 ini화일의 주석처리 # 이 되지 않는다는 내용. #을 ;로 바꾸니 모두 해결.
영어만 잘 해석하면 됨 ^^

solaris lvm mirror – 스크랩

구성…
http://blog.naver.com/comki/100024647947
복구
http://www.brandonhutchinson.com/Replacing_a_disk_with_different_geometry_in_DiskSuite.html
내가 해본것.
원본디스크: c0t0d0s2 대상디스크: c0t1d0s2
원본디스크의 파티션 (7번 슬라이스는 md를 위한 공간으로 16MB잡았음)

partition> p
Current partition table (original):
Total disk cylinders available: 47994 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size Blocks
0 root wm 352 – 27391 38.47GB (27040/0/0) 80687360
1 swap wu 0 – 351 512.88MB (352/0/0) 1050368
2 backup wm 0 – 47993 68.29GB (47994/0/0) 143214096
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 27392 – 34255 9.77GB (6864/0/0) 20482176
6 unassigned wm 34256 – 47982 19.53GB (13727/0/0) 40961368
7 unassigned wm 47983 – 47993 16.03MB (11/0/0) 32824

1. 디스크 미러 만들기
prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s – /dev/rdsk/c0t1d0s2
여기서 두 디스크의 모델이 서로 달라서 에러 발생. 이것은 두번째 문서를 참조하여, 같은 모델로 설정함.
format -> disk -> 1 -> type -> …..
디스크 파티션은 아래와 같음
/dev/dsk/c0t0d0s1 – – swap – no –
/dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no –
/dev/dsk/c0t0d0s5 /dev/rdsk/c0t0d0s5 /oracle ufs 2 yes –
/dev/dsk/c0t0d0s6 /dev/rdsk/c0t0d0s6 /oradata ufs 2 yes –
swap – /tmp tmpfs – yes –
작업내용
metadb -a -f -c 2 /dev/dsk/c0t0d0s7 /dev/dsk/c0t1d0s7
metainit -f d10 1 1 c0t0d0s0
metainit -f d20 1 1 c0t1d0s0
metainit d0 -m d10
metaroot d0
lockfs -fa
metainit -f d11 1 1 c0t0d0s1
metainit -f d21 1 1 c0t1d0s1
metainit d1 -m d11
metainit -f d 15 1 1 c0t0d0s5
metainit -f d15 1 1 c0t0d0s5
metainit -f d25 1 1 c0t1d0s5
metainit d5 -m d15
metainit -f d16 1 1 c0t0d0s6
metainit -f d26 1 1 c0t1d0s6
metainit d6 -m d16
/etc/vfstab 을 편집
/dev/md/dsk/d1 – – swap – no –
/dev/md/dsk/d0 /dev/md/rdsk/d0 / ufs 1 no –
/dev/md/dsk/d5 /dev/md/rdsk/d5 /oracle ufs 2 yes –
/dev/md/dsk/d6 /dev/md/rdsk/d6 /oradata ufs 2 yes –
swap – /tmp tmpfs – yes –
그리고 재부팅 후 나머지 슬라이스를 메타디바이스에 추가해준다.
metattach d0 d20
metattach d1 d21
metattach d5 d25
metattach d6 d26
# metastat
d6: Mirror
Submirror 0: d16
State: Okay
Submirror 1: d26
State: Resyncing
Resync in progress: 17 % done
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 40961368 blocks (19 GB)
d16: Submirror of d6
State: Okay
Size: 40961368 blocks (19 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c0t0d0s6 0 No Okay Yes
d26: Submirror of d6
State: Resyncing
Size: 40961368 blocks (19 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c0t1d0s6 0 No Okay Yes
d5: Mirror
Submirror 0: d15
State: Okay
Submirror 1: d25
State: Resyncing
Resync in progress: 79 % done
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 20482176 blocks (9.8 GB)
d15: Submirror of d5
State: Okay
Size: 20482176 blocks (9.8 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c0t0d0s5 0 No Okay Yes
d25: Submirror of d5
State: Resyncing
Size: 20489378 blocks (9.8 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c0t1d0s5 0 No Resyncing Yes
d1: Mirror
Submirror 0: d11
State: Okay
Submirror 1: d21
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 1050368 blocks (512 MB)
d11: Submirror of d1
State: Okay
Size: 1050368 blocks (512 MB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c0t0d0s1 0 No Okay Yes
d21: Submirror of d1
State: Okay
Size: 1051466 blocks (513 MB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c0t1d0s1 0 No Okay Yes
d0: Mirror
Submirror 0: d10
State: Okay
Submirror 1: d20
State: Resyncing
Resync in progress: 0 % done
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 80687360 blocks (38 GB)
d10: Submirror of d0
State: Okay
Size: 80687360 blocks (38 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c0t0d0s0 0 No Okay Yes
d20: Submirror of d0
State: Resyncing
Size: 80687360 blocks (38 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c0t1d0s0 0 No Okay Yes

2. dd로 두번째 디스크 에러 유발
dd if=/dev/zero of=/dev/dsk/c0t1d0s2
이후, prtvtoc로 두번째 디스크의 파티션을 재 설정하고, 각각의 서브미러를 replace해준다.
metareplace -e d5 c0t1d0s5
metareplace -e d6 c0t1d0s6
metareplace -e d0 c0t1d0s0
metareplace -e d1 c0t1d0s1
만약 제대로 수행이 안된다면, 메타디바이스에서 분리(metadetach)후, 삭제(metaclear)하고, 다시 만들어줌(metainit)
metadetach -f d0 d20
metaclear d20
metainit -f d20 1 1 c0t1d0s0

linux KVM 성공기념 스크린 샷.

리눅스 서버에 KVM 설치하고, 솔라리스10, 윈도우XP를 게스트로 설치한후 성공한 스크린샷.

자세한 설치방법은 생략.
게스트 OS 생성: 순서대로 윈도우XP, 솔라리스10

virt-install –connect qemu:///system -n xpsp2 -r 1024 -f /home/VM/windows.vimg -s 12 -c /home/snowfox/Windows_XP_sp2.iso –vnc –noautoconsole –os-type windows –os-variant winxp
virt-install –connect qemu:///system -n soalris10 -r 1024 -f /home/VM/solaris10.vimg -s 12 -c /home/snowfox/sol-10-u9-ga-x86-dvd.iso –vnc –noautoconsole –os-type solaris –os-variant solaris10

리눅스 서버에 GUI를 올리지 않아서 접속해 보는데 힘들었다. 결국, Gnome 설치된 리눅스 데스크탑에서

virt-viewer -c qemu+ssh://192.168.100.12/system xpsp2

192.168.100.12는 kvm이 설치된 리눅스 서버.
실행중인 가상 서버를 보려면

virsh
virsh, 가상화 대화식 터미널에 오신 것을 환영합니다.
입력: 명령을 사용하여 문제 해결을 위해 ‘help’ 입력
종료하기 위해 ‘quit’입력
virsh # list –all
Id 이름 상태
———————————-
1 soalris10 실행중
2 xpsp2 실행중

윈도우 PC에서 guest OS 접속하는 방법(Xmanager 3.0 이용)
PC에서 사용할 수 있는 X서버 프로그램을 이용하면, 윈도우에서도 게스트 OS를 실행 할 수 있다. 상용프로그램인 Xmanager를 사용했지만, opensource인 Xming 을 이용해도 된다.
xmanager는 유료지만, 한달간 무료사용 가능하고, 기간이 지나도 사용하는데 문제는 없다.
먼저, xstart 를 실행하고, 호스트, 프로토콜(ssh를 사용했음), id, password를 입력하고, (virt-viewer를 실행할 수 있는 계정이면 됨), 실행명령에

virt-viewer -c qemu:///system xpsp2

를 입력해 주면, 게스트 OS를 사용할 수 있다.
게스트 OS 강제 종료는

virsh destroy [domain name]

 

2016년 12월 동영상 추가(virt-manager로 guestos 설치하기)

Continue reading

오라클 데이타 복구… 무식한방법…

관리중인 오라클서버에서 게시판 데이타를 삭제했다고 복구해 달라는 부탁을 받았다.

근데, 다 하고 보니 너무 무식한 방법을 사용한것 같다.

아무튼, 아래와 같은 방법으로 작업했다.

백업되어 있는 archive log화일과, dbf화일 ctl화일들을 모두  복사했다. 그리고, 오라클을 다른 컴퓨터에 설치한후에, 원래 화일들 이름을 바꾸고, 백업한 화일을 같은위치에 복사해 넣었다.
SQL> startup
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: ‘/xxx’

SQL> recover database;
Media recovery complete.
SQL> alter database open;

Database altered.

그리고 삭제된 데이타를 찾아보니 잘 있다 … 하하..

그러나 너무나 무식한 방법이었다…
아주 간단한 방법이 있었는데 그것은…..

SELECT * FROM [TABLE_NAME] AS OF TIMESTAMP (SYSTIMESTAMP – INTERVAL ‘100’ MINUTE);

삭제하고 commit 했어도 삭제된 데이타를 보여준단 말이다.
오라클의 flash back기능이란다…
있어도 무식해서 못써먹었으니… 이런 세상에나…

다음번에는 간단하게 써 먹어봐야 겠다.

CISCO 라우터 로그정보 외.

그대로 퍼왔음. 원문이 없어질 경우를 대비하여ㅣ

원문: http://www.totalphone.co.kr/router2.html

 Continue reading