블로그 이미지
꿈을 꾸는 꾸러기 YBHoon

카테고리

분류 전체보기 (81)
Oracle (71)
운영체제 (7)
ETC (0)
Study (3)
Total
Today
Yesterday

달력

« » 2024.5
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

공지사항

태그목록

최근에 올라온 글


- 별도의 DB로 복제하여 시간 기반 불완전 복구 모드를 활용

- 기존의 DB를 shutdown하지 않고 별도의 DB로 clone하여 복구함
=> 사용중인 parameter(pfile), control, data, redo를 가져와야 함
=> pfile 복제 후 내용 변경 / control file은 새로 생성 / data 백업 받은 파일 / redo 새로 생성
=> archive log를 복사하여 활용 (당연히 archive log를 사용할 때만 가능)

- 실습
D 시점에서 삭제된 test2 테이블을 clone DB를 이용해서 복구하세요

A. 전체백업 => ok
B. Clone2 Tablespace 생성 => ok
C. Test2 Table 생성 / 데이터 입력 => ok (반드시 log switch)
D. Test2 Table 삭제 ; 지워지기 직전 시간 (2010-03-17:10:30:10) => ok
E. Clone2 Tablespace 삭제 (redo, archive 활용) => ok

'Oracle > Backup & Recovery' 카테고리의 다른 글

Recovery - Flashback  (0) 2010.03.18
Backup - Datapump  (0) 2010.03.16
Backup - export & import  (0) 2010.03.15
Recovery - Control File  (0) 2010.03.15
Recovery - Redo Log  (1) 2010.03.12
Posted by YBHoon
, |

- open 상태에서 export를 받음 (개발 서버와 같이 open이 유지되어야 하는 상황) / 속도가 느리다

- sys 계정으로 만들어진 테이블은 export가 안됨

- export된 파일은 binary file이므로 직접적인 편집은 안됨 (! 절대금지)

- export 받을 사용자의 temporary tablespace가 있어야만 백업 가능
=> create temporary tablespace temp1 tempfile '/data/temp/temp1.dbf' size 10M; 생성
=> alter user scott temporary tablespace temp1; 유저 지정

- 전체를 백업받기 위해서는 system 유저로 받아야 한다

- no archive 상태에서 백업을 받을 때 사용한다 ; archive가 많이 발생해서 실제로 운영하지 못할 경우

'Oracle > Backup & Recovery' 카테고리의 다른 글

Backup - Datapump  (0) 2010.03.16
Backup - DB Cloning  (0) 2010.03.16
Recovery - Control File  (0) 2010.03.15
Recovery - Redo Log  (1) 2010.03.12
Recovery - Using backup control file  (0) 2010.03.11
Posted by YBHoon
, |

- 경로가 잘못 지정 ; 바른 경로로 지정해줌

- 다중화된 컨트롤 파일 중 하나가 에러 ; 가장 최신 버전의 파일로 낮은 것들을 덮어씀

- 모두 삭제 또는 old control file 에러 ; control file을 재생성해야 함
=> alter database backup controlfile to trace as '/home/oracle/re.sql'; (마운트가 된 상태에서 가능)
=> re.sql 스크립트에 불필요한 부분을 지우고, 빈 줄을 삭제해야함 (빈 줄이 있을 경우 에러 발생)
=> redo log 파일은 스크립트에 지정된 경로에 생성되나 data file(기존 정상 파일)은 스크립트 상의 경로에 위치해야 함
=> parameter file에 지정된 경로에 control file이 생성된다. (기존 파일에 덮어 쓰여짐)

- 스크립트 예제 (오류가 없는 상태에서 DB명 변경시 또는 파라미터 변경시 사용함)
=> 마운트가 된 상태에서만 생성될 수 있기에 미리 만들어 놓거나 외워둬야 한다

STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "TESTDB" RESETLOGS  ARCHIVELOG
    MAXLOGFILES 16 ; 변경 가능
    MAXLOGMEMBERS 5 ; 변경 가능
    MAXDATAFILES 100 ; 변경 가능
    MAXINSTANCES 8 ; 변경 가능
    MAXLOGHISTORY 292 ; 변경 가능
LOGFILE ; 해당 경로에 log 파일이 새로 생성됨
  GROUP 1 (
    '/home/oracle/disk5/redo01_b.log',
    '/home/oracle/disk4/redo01_a.log'
  ) SIZE 5M,
  GROUP 2 (
    '/home/oracle/disk4/redo02_a.log',
    '/home/oracle/disk5/redo02_b.log'
  ) SIZE 5M,
  GROUP 3 (
    '/home/oracle/disk4/redo03_a.log',
    '/home/oracle/disk5/redo03_b.log'
  ) SIZE 5M
-- STANDBY LOGFILE
DATAFILE ; 반드시 정상 파일이 해당 경로에 위치해야한다.
  '/data/temp1/system01.dbf',
  '/data/temp1/ts_a.dbf',
  '/data/temp1/sysaux01.dbf',
  '/data/temp1/users01.dbf',
  '/data/temp1/example01.dbf',
  '/data/temp1/insa01.dbf',
  '/data/temp1/undo01.dbf',
  '/data/temp1/ts_b.dbf',
  '/data/temp1/ts_c.dbf',
  '/data/temp1/test01.dbf'
CHARACTER SET KO16KSC5601

'Oracle > Backup & Recovery' 카테고리의 다른 글

Backup - DB Cloning  (0) 2010.03.16
Backup - export & import  (0) 2010.03.15
Recovery - Redo Log  (1) 2010.03.12
Recovery - Using backup control file  (0) 2010.03.11
Recovery - Time base recover  (0) 2010.03.10
Posted by YBHoon
, |

기본적인 확인 사항

Oracle/Etc / 2010. 3. 12. 16:50

> set line 200

> set pagesize 200

> select name from v$datafile;

> select * from v$log;

> select * from v$logfile;

> select * from v$controlfile;

$ cd /home/oracle/admin/testdb/pfile/ => 초기 pfile이 있는 곳 (사용하며 변경되는 내용이 적용되지 않음!!)
Posted by YBHoon
, |

- alert log 확인하는 법
~$ tail -f admin/testdb/bdump/alert_testdb.log ;

- inactive, active 상태에서 맴버 1개 손상
=> 해당 log member를 지우고 새로 추가함

- inactive, active 상태에서 그룹 전체가 손상 (archive on)
=> mount 상태에서 해당 그룹을 지우고 다시 생성

- inactive, active 상태에서 그룹 전체가 손상 (archive off)
=> 하나의 group에 문제가 생겨서 archiving이 안될 경우, 다른 그룹들도 archiving이 안됨 (주의!!!)
=> archive가 안된 로그 파일은 지우거나 덮어쓰기를 할 수 없음 (만약을 대비하기 위한 안전장치)
=> 이 경우 강제로 지우는 방법 "alter database clear unarchived logfile group 번호;"
=> DB가 꺼져있는 상태에서 claer 명령 실행 시 새로운 log file이 생성되고 DB 사용 가능
=> DB가 켜져있는 상태에서 clear 명령으로 만든 log 파일은 사용이 불가능하므로 그룹을 다시 만들어야 함

- current log가 open된 상탱서는 clear unarchived를 사용해서 임시 log를 생성 (바로 다시 만들어야 함)

- current log가 close된 상태에서 immediate로 닫은 경우 resetlogs로 복구
=> clear unarchived 명령으로는 복구가 안됨 (현재 current인 경우이고, mount 단계에서 log switch 불가하므로)
=> mount 상태에서 'alter database open resetlogs;'로 복구하며 open 시킴

- current log가 close된 상태에서 abrot로 닫은 경우
=> no arch, current인 경우 hidden parameter 활용 ; 실패할 경우 DB에 영구적인 장애를 초래 (성공률 50% 이하 위험!!!)

- 모든 group이 손상됨
=> shutdown이 된 상태에서 hidden parameter를 사용하면 open이 됨 (위험!!!)
=> open이 된 상태에서는 clear unarchived로 복구

'Oracle > Backup & Recovery' 카테고리의 다른 글

Backup - export & import  (0) 2010.03.15
Recovery - Control File  (0) 2010.03.15
Recovery - Using backup control file  (0) 2010.03.11
Recovery - Time base recover  (0) 2010.03.10
Recovery - Process  (0) 2010.03.09
Posted by YBHoon
, |

- 고정 IP 관련 추가 설정
# vi /etc/resolv.conf
nameserver 172.16.0.1

# vi /etc/nsswitch.conf
hosts: files dns

- putty로 root 계정 접속 가능하게 만들기
# vi /etc/ssh/sshd_config
:set nu
:128 or PermitRootLogin
no -> yes

- 설치된 필요 패키지 확인
# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot
                 SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt
=> 정상적으로 설치가 된 경우 SUNWi1cs, SUNWi15cs를 제외한 나머지 패키지들은 다 설치되어 있음

- 솔라리스 CD에 패키지 폴더로 이동
# cd /cdrom/sol_9_905_x86/s2/Solaris_9/Product

# cd /cdrom/cdrom0/Solaris_10/Product

=> 경로를 반드시 확인할 것 (pwd)

- 필요한 패키지 설치
# pkgadd -d . SUNWi1cs SUNWi15cs
=> 질문이 나올 경우 y를 선택해서 설치를 진행함

- 파라미터 설정
# vi /etc/system

set noexec_user_stack=1
set semsys:seminfo_semmni=100
set semsys:seminfo_semmns=1024
set semsys:seminfo_semmsl=256
set semsys:seminfo_semvmx=32767

set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmesg=10

- 파라미터 적용 및 재시작
# sync;
# reboot

- 그룹 및 유저 생성
# groupadd -g 200 oinstall
# groupadd -g 201 dba
# groupadd -g 202 oper
# useradd -g oinstall -G dba,oper -d /export/home/oracle -s /bin/bash -m oracle (bash 쉘)
# useradd -g oinstall -G dba,oper -d /export/home/oracle -s /bin/ksh  -m oracle (korn 쉘)
# passwd oracle ; 암호생성
# cat /etc/passwd ; 유저 생성 확인
# cat /etc/group ; 그룹 생성 확인

- 오라클 파일 복사
# cd /cdrom/cdrom0
# cp 10202_database_solx86.zip /export/home/oracle

- oracle 유저로 전환
# su - oracle
$ id

- 쉘 프로파일 편집
$ pwd ; /export/home/oracle에서 편집
$ vi .profile

export DISPLAY=localhost:0.0
export EDITOR=vi
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10g
export ORACLE_SID=testdb
export ORACLE_OWNER=oracle
export PATH=$PATH:$ORACLE_HOME/bin
export LANG=ko_KR.UTF-8
export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib

- 재부팅

- 설치 파일 압축 풀기
# pwd ; /export/home/oracle에서 해제
# unzip 10202_database_solx86.zip

- 홈 폴더 권한 설정
# chown -R oracle:oinstall /export/home/oracle
# chmod 777 /export/home/oracle
# chmod 777 /opt

- 로그아웃하고 oracle로 접속

- 소프트웨어 설치
$ cd database
$ ./runInstaller

- 설치
고급설치 > 소프트웨어만 설치

- DBCA 설치
$ cd /export/home/oracle/product/10g/bin
$ ./dbca

- DBCA 설치 옵션
범용
전역 데이터베이스 = testdb
암호 = oracle
샘플스키마 생성

- 솔라리스 끄기
# xset b off
# shutdown -y -g0 -i5

'Oracle > Installation' 카테고리의 다른 글

11g on RHEL4  (0) 2010.03.23
RHEL 4에 Oracle 9i 설치하기  (0) 2010.03.22
Oracle 10g, Red Hat 4에 설치하기  (0) 2010.03.11
VMware에 Solaris 10 설치하기  (0) 2010.03.09
Oracle 10g installation on RHEL 4  (0) 2010.02.07
Posted by YBHoon
, |


- drop tablespace하면 control file 안에 tblspace 정보가 삭제됨

- 복구를 위해 drop하기 이전이 ctrl file을 가져와서 사용해야 함 (redo는 최근 것으로 사용)
=> data와 ctrl의 SCN이 다르므로 충돌을 일으킴. 따라서, SCN 체크없이 시간을 기준으로 복구하도록 함
=> recover database until time '시간' using backup controlfile; 원하는 시간까지 복구를 하되 SCN 무시
=> (until time)이 없을 경우 최근의 SCN까지 복구가 이뤄짐

- 백업을 받을 때는 반드시 shutdown immediate로 DB를 내린 후에 실시함 (close backup)

- ctrl 파일에서 삭제된 tblspace의 경우에도 복구 가능함
=> 복구가 중단되며 임시 tblspace가 생성됨 (select name form v$datafile 로 검색 가능)
=> 임시로 생성된 tblspace를 create as로 변환해주고 다시 한번 복구실행

2010-03-11:12:42:01

2010-03-11:12:42:35

'Oracle > Backup & Recovery' 카테고리의 다른 글

Recovery - Control File  (0) 2010.03.15
Recovery - Redo Log  (1) 2010.03.12
Recovery - Time base recover  (0) 2010.03.10
Recovery - Process  (0) 2010.03.09
Backup - cold & hot  (0) 2010.03.08
Posted by YBHoon
, |

- 리눅스 필수 패키지
X 윈도우 시스템
GNOME 데스크탑 환경
편집기
그래픽 인터넷 - firefor, seamonkey만 설치
텍스트-기반 인터넷
개발용 도구
X 소프트웨어 개발
레거시 소프트웨어 개발
관리 도구
시스템 도구 - sysstat 추가

- 그룹, 유저 생성
(# groupadd -g 50000 dba)
(# useradd -g dba oracle)

# groupadd -g 500 oinstall
# groupadd -g 502 dba (OSDBA 그룹 - 필수)
# groupadd -g 503 oper (OSOPER 그룹 - 필수)
# groupadd -g 504 asmadmin (OSDBA 그룹 - Grid 환경)
# groupadd -g 505 asmoper (OSOPER 그룹 - Grid 환경)
# groupadd -g 506 asmdba (OSASM 그룹 - Grid 환경)
# useradd -u 502 -g oinstall -G dba,oper,asmadmin,asmoper,asmdba oracle

# passwd oracle

- /etc/sysctl.conf 커널 설정하기
# vi /etc/sysctl.conf

kernel.shmmax=536870912
kernel.shmmni=4096
kernel.shmall=2097152
kernel.sem=250 32000 100 128
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144

- /etc/security/limits.conf 커널 설정하기
# vi /etc/security/limits.conf

oracle           soft    nproc           2047
oracle           hard    nproc           16384
oracle           soft    nofile          1024
oracle           hard    nofile          65536

- /etc/pam.d/login 커널 설정하기
# vi /etc/pam.d/login

session    required     pam_limits.so

- 패키지 rpm 설치 (리눅스 3번 CD 사용)
# umount /media/cdrom (또는 /media/cdrecorder)
# mount /media/cdrom (또는 /media/cdrecorder)
# cd /media/cdrom/RedHat/RPMS
# rpm -ivh libaio-devel-0.3.103-3.i386.rpm (또는 libaio-devel-0.3.105-2.i386.rpm)

- 오라클 패치 (오라클 이미지 사용)
# cp -av 10201_database_linux32.zip /home/oracle/
# cp -av patch /home/oracle/
# cd /home/oracle/patch
# unzip p4198954_40_linux.zip
# rpm -ivh compat-libcwait-2.1-1.i386.rpm
# rpm -ivh compat-oracle-rhel4-1.0-5.i386.rpm

- 환경설정
# su - oracle (오라클 계정으로 옮김)

$ vi .bash_profile

export EDITOR=vi
export LD_ASSUME_KERNEL=2.4.19
#export JAVA_HOME=/usr/java/jdk1.6.0_20
#export ORACLE_BASE=/home/oracle
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10g
export ORACLE_SID=testdb
export LANG=ko_KR.eucKR
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export PATH=$JAVA_HOME/bin:$PATH:$ORACLE_HOME/bin
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

-오라클 10g 압푹 풀기
$ exit (root로 전환)

# cd /home/oracle
# unzip 10201_database_linux32.zip
# chown -R oracle.oinstall /home/oracle/
# chmod -R 777 /home/oracle/
# mkdir -p /opt/oracle
# chown -R oracle.oinstall /opt/oracle

- 완전히 로그아웃하고 oracle 계정으로 접속

- database 디렉토리 안에 있는 runInstaller 실행
$ ./runInstaller

'Oracle > Installation' 카테고리의 다른 글

11g on RHEL4  (0) 2010.03.23
RHEL 4에 Oracle 9i 설치하기  (0) 2010.03.22
Solaris 10에 DBCA를 활용한 Oracle 10g 설치  (1) 2010.03.11
VMware에 Solaris 10 설치하기  (0) 2010.03.09
Oracle 10g installation on RHEL 4  (0) 2010.02.07
Posted by YBHoon
, |


- data 파일은 백업해 놓은 것으로, redo와 control은 사용중이던 최신 파일을 사용함

- 복구절차는 다른 복구절차와 같으나 alter databse open resetlogs를 활용하여 SCN을 모두 0으로 맞춘다

- 실습에 있는 함정 ; 데이터를 test7에 insert한 후에 반드시 commit을 해야 함
commit이 된 데이터만 redo에서 가져와 복원할 수 있음 / commit이 안된 것은 roll back 시킴

- reset log 옵션은 until time이나 until cancel을 사용해야 적용할 수 있음
=> redo log를 재생성해주는 기능이 있음

'Oracle > Backup & Recovery' 카테고리의 다른 글

Recovery - Redo Log  (1) 2010.03.12
Recovery - Using backup control file  (0) 2010.03.11
Recovery - Process  (0) 2010.03.09
Backup - cold & hot  (0) 2010.03.08
Backup - 실습 준비  (0) 2010.03.05
Posted by YBHoon
, |

1. Custom Mode
2. Sun Solaris - Solaris 10
3. Memory 1024 (9은 256)
4. Bridge (집 NAT)
5. 20GB

6. Solaris 엔터
7. 설치옵션 1 default 선택 (text 모드도 시도해보자)
8. US-English 선택
9. GUI화면에서 엔터
10. 5 한글 선택

11. DHCP 아니오
12. 호스트 번호 sol106
13. ip 172.16.15.106
14. netmask 255.255.0.0
15. v6 사용안함
16. 주소를 지정
17. 커버로스 DNS 없음
18. 원격 사용안함

19. 사용자설치
20. UTF-8 추가
21. 시스템 로케일은 영어로 설정할 것
22. 파티션 재설정 swap 2048 home 10565

'Oracle > Installation' 카테고리의 다른 글

11g on RHEL4  (0) 2010.03.23
RHEL 4에 Oracle 9i 설치하기  (0) 2010.03.22
Solaris 10에 DBCA를 활용한 Oracle 10g 설치  (1) 2010.03.11
Oracle 10g, Red Hat 4에 설치하기  (0) 2010.03.11
Oracle 10g installation on RHEL 4  (0) 2010.02.07
Posted by YBHoon
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함