안녕하세요 오늘 포스트는 이전에 시놀로지 NAS 에 docker오라클 XE 설치 세팅에 계속해서
Archive log mode (아카이브 모드로 변경) 설정 방법입니다.
아카이브 로그 모드로 변경하는 이유는 오라클 데이터베이스를 온라인(운영중인)상태에서 백업( Hot backup ) 을 받기 위해서 설정합니다.
바로 다음에 RMAN 으로 온라인 백업 설정 방법도 포스팅할 예정입니다.
주의사항 :
- Archive log 모드 로 변경하기 위해선 DB를 내렸다가 올려야 합니다.
- Archive log 파일이 계속 생성됩니다. 지워주지 않아 공간이 가득차게 되면 Archive log full 에 의해 데이터베이스가 멈춥니다.
- 온라인 백업(online backup, hotbackup)을 하지 않을 것이라면 Archive log 모드로 변경할 필요가 없습니다.
|
이전에 포스팅한 환경이 궁금하시면 링크를 따라 과거 포스팅을 참조하시기 바랍니다.
과거 포스팅 대로 설정된 환경에서 진행합니다.
1. 시놀로지 NAS에 오라클 XE를 설치해보자 ( http://kimazfactory.tistory.com/4 )
2. 시놀로지 ORACLE XE 설치 및 설정 2 - 한글과 타임존 설정 ( http://kimazfactory.tistory.com/5 )
자 그럼 시작해 봅시다.
1 ) DSM 으로 접속합니다.
2 ) File Station 을 클릭합니다.
3 ) 아카이브 로그 저장 경로를 지정해야 합니다.
저는 [ docker ] 밑에 [ arch ] 폴더로 지정할 것 입니다.
[ docker ] 에서 우클릭 하여 [ 폴더 생성 ] 을 클릭합니다.
생성할 폴더명 [ arch ] 를 입력하고 확인을 클릭합니다.
[ arch ] 폴더가 생성된 것을 확인할 수 있습니다.
4 ) 이제 Dock 를 실행해 줍니다
좌측상단에 [ 메뉴 ] 버튼을 클릭해서 [ docker ] 를 실행합니다.
5 ) Docker 에서 촤측의 [ 비디오 형식 ] 탭을 클릭한 후 우측의 오라클 XE 가상머신을 더블클릭 합니다.
6 ) 가상머신 창에서 터미널을 클릭해서 [ 터미널 ] 로 들어갑니다.
[ 생성 ] 버튼을 클릭하면 새로운 [ bash ] 쉘이 생깁니다. [ bash ] 쉘을 클릭하면 root 프롬프트가 깜빡입니다.
7 ) 오라클 유저로 들어가서 DB를 종료합니다.
다음과 같이 명령어를 입력합니다
i) 오라클 유저로 전환
su - oracle
ii) 리스너 서비스 종료
lsnrctl stop
iii) 오라클 관리자 권한으로 접속
sqlplus "/as sysdba"
iv ) 오라클 종료
shutdown immediate
|
8 ) 가상머신을 종료하고 3) 에서 만든 arch 경로를 마운트 시켜줍니다.
우측상단에 X 버튼을 클릭하여 가상머신 창을 닫아줍니다.
프롬프트가 나오면 [예] 를 클릭합니다.
비디오형식 탭에서 전원 버튼을 눌러 가상머신을 종료합니다.
클릭하면 이렇게 회색으로 종료가 됩니다.
가상머신을 한번 클릭해주면 하늘색으로 선택이 됩니다.
그 상태에서 상단에 [ 편집 ] 버튼을 클릭해주세요.
편집 창에서 [볼륨] 을 클릭합니다.
볼륨 탭에서 [폴더추가 ] 버튼을 클릭합니다.
폴더추가 창에서 아까생성 했던 [ docker ] 폴더 밑의 [ arch ] 폴더를 선택한 후 [ 선택 ] 버튼을 클릭합니다.
마운트 경로에 커서가 깜빡일 것 입니다.
마운트 경로에 원하는 경로를 입력합니다. 이는 가상머신 os에서 보여지는 마운트 경로입니다.
우리는 [ /arch ] 라고 입력한 후 적용 버튼을 클릭합니다.
이후 본 포스팅에서 실습에서 아카이브 로그 경로는 /arch 가 됩니다.
다시 가상머신 창으로 돌아왔으면 전원 버튼을 눌러 가상머신을 시작합니다.
클릭하면 이렇게 파란색으로 변하면서 전원이 켜집니다.
가상머신을 더블클릭하여 터미널로 들어갑니다.
가상머신 화면에서 [ 터미널 ] 을 클릭합니다.
상단의 [ 생성 ] 을 클릭한 후,
좌측탭의 [ bash ] 쉘을 클릭하면 우측에 root 커서가 깜빡입니다.
9 ) 마운트 포인트 확인 후 oracle 권한 부여
터미널 창에서 다음의 명령어를 입력합니다.
df -k
그럼 화면에서 /arch 가 마운트 된것을 확인할 수 있습니다.
다음명령어를 입력합니다.
ls -altr /arch
그럼 현재 디렉토리 권한이 잡혀있지 않는것을 확인할 수 있습니다.
|
다음의 명령어로 권한을 부여합니다.
다시 ls -altr /arch 를 입력해보면
현재 /arch 디렉토리 권한이 oracle : dba 로 부여된것을 확인할 수 있습니다.
10 ) 오라클데이터배이스를 archive log 모드로 변경
먼저 오라클 유저로 접속합니다
다음 명령어를 입력합니다.
다음 명령어를 입력해서 오라클 데이터베이스 관리자 모드로 접속합니다.
현재 아카이브 모드인지 확인합니다
다음의 명령어를 입력하세요
아카이브 모드로 바꾸는 방법은 여러가지가 있으나, 저는 손에 익은 관계로 pfile 을 만들어서 변경하겠습니다.
우선 파라미터 파일을 생성합니다.
다음의 명령어를 입력하여 pfile 을 생성합니다.
create pfile from spfile; |
다음의 명령어를 입력하여 DB를 종료한뒤, sqlplus 를 빠져나옵니다.
다음의 명령어를 이용해서 파라미터 파일 경로로 이동합니다.
ls 명령어로 파라미터 파일이 있는지 확인합니다.
spfileXE.ora , initXE.ora 파일이 보입니다.
다음의 명령어로 spfile을 백업해둡니다.
mv spfileXE.ora spfileXE.bak |
vi를 이용하여 파라미터를 편집해줍니다.
다음의 명령어를 입력해주세요.
vi 화면에서 커서를 위, 아래 화살표를 이용해서 움직여서 *_DB_RECOVERY_FILE_DEST 와 *_DB_RECOVERY_FILE_DEST_SIZE 행 위에서 [d] 키를 두번 눌러 해당 2개 행을 지워줍니다.
지운후 [o] 키를 누르면 새로 들여쓰기가 가능합니다.
( 만약 중간에 실수를 했다면 [esc] 키를 누르고 :q! 를 입력하면 저장하지 않고 밖으로 나옵니다. 다시 vi initXE.ora 로 진행하시면 됩니다. )
들여쓰기 상태에서 다음의 파라미터를 입력합니다.
log_archive_dest='/arch' log_archive_format='arch_%r_%t_%s.arc' |
입력하였으면 [esc] :wq 를 입력하여 저장합니다.
다음의 명령어를 입력하여 sqlplus 관리자 모드로 접속합니다
다음의 명령어를 입력하여 mount 모드까지 DB를 기동합니다
database mounted. 라는 메세지 까지 떳습니다.
다음의 명령어로 아카이브 모드로 변경합니다.
alter database archivelog; |
database altered. 라는 메세지가 나옵니다.
다음의 명령어로 spfile 을 생성한 후 데이터베이스를 재기동합니다.
create spfile from pfile;
startup force |
이제 명령어로 정상적으로 archive log 모드가 적용되었는지 확인합니다.
다음명령어를 입력하세요
Archive Mode 로 변경된 것을 확인할 수 있습니다.
11 ) 아카이브가 잘 떨어지는지 확인해봅시다.
다음의 명령어로 로그스위치를 일으켜 아카이브가 잘 떨어지는지 확인해 봅시다.
alter system switch logfile; |
실제 /arch 경로에 아카이브 로그가 잘 떨어졌는지 확인해 봅시다.
다음의 명령어로 sqlplus 관리자 모드에서 접속 종료합니다.
다음의 명령어로 아카이브 로그파일이 잘 떨어졌는지 확인합니다
oracle : dba 권한으로 arc 파일이 생성되었으면 정상적으로 설정된 것 입니다.
이상으로 아카이브 모드로 변경을 마칩니다.