프린트 하기

OS환경 : Oracle Linux 7.6 (64bit)

 

DB 환경 : Oracle Database 19.10.0.0

 

방법 : 오라클 19c rman 접속 여러가지 방법

rman 을 접속하기 위해 보통 아래와 같이 rman target / 명령을 이용해 많이 접속함

1
2
3
4
5
6
7
8
9
10
$ rman target /
 
Recovery Manager: Release 19.0.0.0.0 - Production on Mon Jan 30 04:20:55 2023
Version 19.4.0.0.0
 
Copyright (c) 19822019, Oracle and/or its affiliates.  All rights reserved.
 
connected to target database: ORCL19 (DBID=362905073)
 
RMAN> 

 

 

하지만 한 서버에 db가 여러개 올라가 있을 경우 아래와 같이 export ORALCE_SID를 환경변수를 변경해서 접속함

1
2
3
4
5
6
7
8
9
10
11
$ export ORACLE_SID=ORCLTEST
$ rman target /
 
Recovery Manager: Release 19.0.0.0.0 - Production on Mon Jan 30 04:21:53 2023
Version 19.4.0.0.0
 
Copyright (c) 19822019, Oracle and/or its affiliates.  All rights reserved.
 
connected to target database: ORCLTEST(DBID=362902947)
 
RMAN> 

 

 

하지만 백업 스크립트를 crontab 으로 실행할 경우

혹시나 다른 db를 rman 으로 접속되 스크립트가 실행될까봐 걱정할수 있음 

물론 export ORACLE_SID 를 넣어주겠지만 혹시나 잘못된 db에서 스크립트가 실행되는것을 방지하기 위해

아래와 같은 방법을 사용할수도 있음(tnsnames.ora 에 db 정보가 들어있어야함)

1
2
3
4
5
6
7
8
9
10
11
$ rman target sys/oracle@ORCL19 nocatalog
 
Recovery Manager: Release 19.0.0.0.0 - Production on Mon Jan 30 04:34:55 2023
Version 19.4.0.0.0
 
Copyright (c) 19822019, Oracle and/or its affiliates.  All rights reserved.
 
connected to target database: ORCL19 (DBID=362905073)
using target database control file instead of recovery catalog
 
RMAN> 

 

 

또는 rman 에 접속해서 connect 명령으로 tns를 이용해 db에 접속하는 방법도 있음

1
2
3
4
5
6
7
8
9
10
$ rman 
 
Recovery Manager: Release 19.0.0.0.0 - Production on Mon Jan 30 04:36:31 2023
Version 19.4.0.0.0
 
Copyright (c) 19822019, Oracle and/or its affiliates.  All rights reserved.
 
RMAN> connect target sys/oracle@ORCL19
 
connected to target database: ORCL19 (DBID=362905073)

 

 

예를 들어 백업 스크립트에 넣고 싶다면 아래 링크에 있는 스크립트를 조금 수정해서 적용하면됨

참고 : rman 백업 정리 및 스크립트 https://positivemh.tistory.com/567

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
$ cat /home/oracle/rman_backup.sh
#!/bin/bash
# 20200610_positivemh.tistory.com
# rman_backup.sh
# Oracle rman backup
#===================================================================
# Oracle Environment Setting:
#===================================================================
umask 022
export ORACLE_SID=ORCL19
export ORACLE_BASE=/app/oracle;
export ORACLE_HOME=$ORACLE_BASE/product/19c;
export TNS_ADMIN=$ORACLE_HOME/network/admin
.
.
(생략)
rman target sys/oracle@ORCL19 << EOF >> $BKDIR/rman_$date.log
 
run
{
CONFIGURE RETENTION POLICY TO REDUNDANCY 1;
CONFIGURE MAXSETSIZE TO UNLIMITED;
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '$BKDIR/%d_%U_FULL_database_%T.bk';
CONFIGURE CONTROLFILE AUTOBACKUP ON;
(생략)
.
.

다만 이 방법은 패스워드를 스크립트안에 직접 기입하기때문에 보안상으론 좋지 않을 수 있음

 

 

참고용 : 현재 tnsnames.ora에 등록된 tns 정보

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ cat $ORACLE_HOME/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /app/oracle/product/19.0.0/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
 
ORCL19 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ORACLE19)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL19)
    )
  )
 
LISTENER_ORCL19 =
  (ADDRESS = (PROTOCOL = TCP)(HOST = ORACLE19)(PORT = 1521))

 

 

참조 : 

https://docs.oracle.com/en/database/oracle/oracle-database/19/rcmrf/CONNECT.html#GUID-64ECF1B8-4F70-413E-BEBE-1D5E8CD48B67

http://haisins.epac.to/wordpress/?p=1296 

https://www.dba-oracle.com/t_rman_21_connect_to_rman.htm