행위

"Rac 아카이브모드"의 두 판 사이의 차이

DB CAFE

1번째 줄: 1번째 줄:
= RAC 환경 아카이브 로그 전환 방법 =
+
== RAC 환경 아카이브 로그 전환 방법 ==
  
 
0.아카이브로그 모드 확인  
 
0.아카이브로그 모드 확인  
42번째 줄: 42번째 줄:
  
  
 +
== 노드별 작업 방법 ==
 +
※ 설명
 +
: Raw device 환경에서 archive log file은 각 로컬 노드에 저장해야 한다.
 +
: 이유 - raw device(공유스토리지) 에서는 하나의 파일이 하나의 디스크처럼 취급되는데,
 +
          log switch 가 생길 때마다 Archive redo log file 이 생기게 되면
 +
          그 파일들을 일일이 raw device 를 생성해 줄 수 없기 때문이다.
  
 +
# 양쪽 노드 모두 shutdown immediate 수행
 +
# 한쪽 노드만 마운트 단계로 시작 startup mount
 +
# Alter system set log_archive_dest_1='location=/data/arc1';
 +
# Alter system set log_archive_dest_2='location=/data/arc2';
 +
# Alter database archivelog;
 +
# Alter database open;
 +
# Archive log list 로 결과 확인 후, 다른 노드에서도 2,3,4 단계 수행 (#1에서 변경한 상태면, #2는 해당 디렉토리만 만들고 open하면 적용됨)
 +
 +
 +
=== [노드1], [노드2] DB 정지 ===
 +
<source lang=sql>
 +
SQL> shutdown immediate;
 +
</source>
 +
 +
=== [노드1] 아카이브로그 디렉토리 생성 ===
 +
<source lang=sql>
 +
[root@rac1 ~]# mkdir -p /data/arc1
 +
[root@rac1 ~]# mkdir -p /data/arc2
 +
[root@rac1 ~]# chown oracle.dba -R /data/
 +
[root@rac1 ~]# ls -lSh /data/
 +
</source>
 +
* 로그저장위치를 미리 작업해 둔다.
 +
=== [노드1] 마운트로 시작 ===
 +
<source lang=sql>
 +
SQL> startup mount
 +
</source>
 +
<source lang=sql>
 +
SQL> alter system set log_archive_dest_1='location=/data/arc1';
 +
SQL> alter system set log_archive_dest_2='location=/data/arc2';
 +
</source>
 +
=== [노드1] 아카이브 로그 모드 로 변경 ===
 +
<source lang=sql>
 +
SQL> alter database archivelog;
 +
</source>
 +
=== [노드1] DB 오픈 변경 ===
 +
<source lang=sql>
 +
SQL> alter database open;
 +
</source>
 +
=== [노드1] 아카이브 로그 상태 확인  ===
 +
<source lang=sql>
 +
SQL> archive log list;
 +
</source>
 +
 +
 +
=== [노드2] 아카이브로그 디렉토리 생성 ===
 +
<source lang=sql>
 +
[root@rac2 ~]# mkdir -p /data/arc1
 +
[root@rac2 ~]# mkdir -p /data/arc2
 +
[root@rac2 ~]# chown oracle.dba -R /data/
 +
</source>
 +
* 아카이브로그모드로 변경후 DB오픈 하기 전에 양쪽노드(rac1,rac2)에 해당 디렉토리가 존재해야 한다는 것이다.
 +
 +
=== [노드2] DB시작 ===
 +
SQL> startup
 +
 +
SQL> archive log list
 +
Database log mode              Archive Mode
 +
Automatic archival            Enabled
 +
Archive destination            /data/arc2
 +
Oldest online log sequence    3
 +
Next log sequence to archive  4
 +
Current log sequence          4
 +
 +
--- ---  ---  ---  ---  ---
 
[[Category:oracle]]
 
[[Category:oracle]]

2021년 3월 23일 (화) 22:11 판

thumb_up 추천메뉴 바로가기


1 RAC 환경 아카이브 로그 전환 방법[편집]

0.아카이브로그 모드 확인

$ sqlplus / as sysdba
sql> archive log list;

1.DB 종료 (stop/immediate)

$ srvctl stop database -d <DB명> -o immediate;

2.DB MOUNT 모드로 시작

$ srvctl start database -d <DB명> -o mount

3.아카이브 모드로 변경(sqlplus 작업)

$ sqlplus / as sysdba

sql> alter database archivelog;
sql> exit;

4.DB 종료

$ srvctl stop database -d <DB명> -o immediate;

5.DB 시작

$ srvctl start database -d <DB명>

6.아카이브로그 모드 확인

sql> archive log list;


2 노드별 작업 방법[편집]

※ 설명

: Raw device 환경에서 archive log file은 각 로컬 노드에 저장해야 한다.
: 이유 - raw device(공유스토리지) 에서는 하나의 파일이 하나의 디스크처럼 취급되는데,
         log switch 가 생길 때마다 Archive redo log file 이 생기게 되면
         그 파일들을 일일이 raw device 를 생성해 줄 수 없기 때문이다. 
  1. 양쪽 노드 모두 shutdown immediate 수행
  2. 한쪽 노드만 마운트 단계로 시작 startup mount
  3. Alter system set log_archive_dest_1='location=/data/arc1';
  4. Alter system set log_archive_dest_2='location=/data/arc2';
  5. Alter database archivelog;
  6. Alter database open;
  7. Archive log list 로 결과 확인 후, 다른 노드에서도 2,3,4 단계 수행 (#1에서 변경한 상태면, #2는 해당 디렉토리만 만들고 open하면 적용됨)


2.1 [노드1], [노드2] DB 정지[편집]

SQL> shutdown immediate;

2.2 [노드1] 아카이브로그 디렉토리 생성[편집]

[root@rac1 ~]# mkdir -p /data/arc1
[root@rac1 ~]# mkdir -p /data/arc2
[root@rac1 ~]# chown oracle.dba -R /data/
[root@rac1 ~]# ls -lSh /data/
  • 로그저장위치를 미리 작업해 둔다.

2.3 [노드1] 마운트로 시작[편집]

SQL> startup mount
SQL> alter system set log_archive_dest_1='location=/data/arc1';
SQL> alter system set log_archive_dest_2='location=/data/arc2';

2.4 [노드1] 아카이브 로그 모드 로 변경[편집]

SQL> alter database archivelog;

2.5 [노드1] DB 오픈 변경[편집]

SQL> alter database open;

2.6 [노드1] 아카이브 로그 상태 확인[편집]

SQL> archive log list;


2.7 [노드2] 아카이브로그 디렉토리 생성[편집]

[root@rac2 ~]# mkdir -p /data/arc1
[root@rac2 ~]# mkdir -p /data/arc2
[root@rac2 ~]# chown oracle.dba -R /data/
  • 아카이브로그모드로 변경후 DB오픈 하기 전에 양쪽노드(rac1,rac2)에 해당 디렉토리가 존재해야 한다는 것이다.

2.8 [노드2] DB시작[편집]

SQL> startup

SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination /data/arc2 Oldest online log sequence 3 Next log sequence to archive 4 Current log sequence 4

--- --- --- --- --- ---