database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Tutorials 9061 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 9061
NT 에서 자동 백업을 받을 수 있는 방법
작성자
정재익(advance)
작성일
2001-12-25 14:24
조회수
6,492

unix에서는 cron 이라는 것을 이용해서 주기적으로 데이타베이스를 원하는 시점에 shutdown 시킨 후 cold backup 을 할수 있다. 그렇다면 nt에서는 어떻게 이런 작업을 수행해 줄수 있을까. 여기서는 이렇게 주기적으로 database 를 cold backup받는 방법 에 관해서 설명하고자 한다.

 

데이타베이스 환경은 다음과 같이 가정한다.

 

ORACLE_HOME = c:\ORANT

ORACLE_SID = ORCL

 

데이타화일들은 c:\ORANT\DATABASE 디렉토리에 존재한다.

 

cold backup을 schedule하기 위해서는 windows NT의 AT scheduler utility 가 필요하며 이것의 GUI version은 windows NT의 Resource Kit에 포함되어 있다.

 

우선은 NT scheduler service가 동작하고 있는지 확인해야 한다.

확인 방법은 NT 제어판을 열고 Service icon을 더블클릭하여 schedule service가 동작하고 있으며 automatic인지 확인한다.

 

그러면 schedule 방법을 다음과 같이 정리하였다.

 

1. 만약 command line scheduler를 사용하고 있다면 다음과 같은 작업을 해준다.

 

backup.bat라는 batch file 을 만들어서 다음과 같은 내용을 입력한다.

     call c:\orant\bin\svrmgr23.exe command="@c:\shutdown.sql"
     copy c:\orant\database\*orcl.ora  c:\backup
     call c:\orant\bin\svrmgr23.exe command="@c:\startup.sql"

backup을 schedule 한다.

 

NT의 command prompt(Dos prompt)에서 다음과 같은 형식으로 입력한다.

   AT  time  "C:\backup.bat"

   eg.  C:\> at 14:45 "c:\backup.bat"

 

2. SHUTDOWN.SQL SCRIPT를 다음과 같이 만들어 준다.

      connect internal/password

      shutdown  immediate
      exit

 

3. STARTUP.SQL SCRIPT를 다음과 같이 만들어 준다.

      connect internal/password

      startup  pfile=C:\ORANT\DATABASE\INITORCL.ORA
      exit

이상과 같이 해주면 원하는 시간에 db를 cold backup 받을수 있을 것이다.

 

 

bulletin NO. : 11351

 

1. 데이타베이스를 archivelog mode로 설정하기

 

INIT.ORA 화일에 아래의 파라메터들을 추가하여 archiver bacground process에 대한 설정을 한다.

LOG_ARCHIVE_START = TRUE

LOG_ARCHIVE_DEST = D:\....

 

SERVER MANAGER 또는 SQLDBA에서 다음의 명령문들을 수행하여 database를 archive log mode로 전환한다.

     SVRMGR23> CONNECT INTERNAL 
     SVRMGR23> STARTUP MOUNT 
     SVRMGR23> ALTER DATABASE ARCHIVELOG; 
     SVRMGR23> ALTER DATABASE OPEN; 

이렇게 database를 archive log mode로 전화한 후 backup을 받아둔다.

 

2. Oldest online log sequence number를 확인하기

 SVRMGR23> archive log list 
 Database log mode           ARCHIVELOG 
     Automatic archival           ENABLED
     Archive destination           d:\... 
     Oldest online log sequence      59 
     Next log sequence to archive      61 
     Current log sequence           61 

확인되는 oldest online log sequence number부터 archive되는 모든 archive log file들이 online backup 내용으로 보존되어져야 한다.

 

3. Hot backup script

 

tablespace들을 online backup 상태로 설정하고 OCOPY 명령이 이용하여 tablespace들에 관계된 datafile들을 hard drive에 위치하는 backup 디렉토리로 복사하여 backup하는 script를 수행한다.

 

<주의> tape device에 file을 복사하는 경우에는 이 OCOPY 명령이 사용되어지지 못한다.

아래의 script는 ORCL database를 online backup하는 예제로 다른 database에서 사용되어질 때에는 각 database와 directory 구조에 맞게 수정되어져야 한다.

 

Tablespace의 이름을 확인하기 위해서는

select * from dba_tablespaces;

Datafile들의 위치를 확인하기 위해서는

select * from v$datafile;

을 사용한다.

 

다음의 online backup script는 NT scheduler나 command prompt하에서 사용이 가능하다.

    [file 1, d:\temp\autobackup.cmd]
     svrmgr23 @d:\temp\backup.sql 

    [file 2, d:\temp\backup.sql]
   connect system/manager  
  alter tablespace user_data begin backup;  
  host e:\orant\bin\ocopy73 e:\orant\database\usr1orcl.ora d:\tmp\usr1orcl.bck  
  alter tablespace user_data end backup;  
  alter tablespace SYSTEM begin backup;  
  host e:\orant\bin\ocopy73\ocopy73 e:\orant\database\SYS1orcl.ora d:\tmp\SYS1orcl.bck  
  alter tablespace SYSTEM end backup;  
  alter tablespace ROLLBACK_DATA begin backup;  
  host e:\orant\bin\ocopy73\ocopy73 e:\orant\database\RBS1orcl.ora d:\tmp\RBS1orcl.bck  
  alter tablespace ROLLBACK_DATA end backup;  
  alter tablespace TEMPORARY_DATA begin backup;  
  host e:\orant\bin\ocopy73\ocopy73 e:\orant\database\TMP1orcl.ora d:\tmp\TMP1orcl.bck  
  alter tablespace TEMPORARY_DATA end backup;  
  exit; 

일정한 시간에 online backup을 수행하기 위해 NT scheduler를 이용하는 경우의 예를 보면,

NT server의 control pannel에서 Services를 선택한다.

Schedule service가 Automatic Started 상태인지 확인한다.

매일 03:00에 online backup을 수행하기 위하여 다음과 같이 AT command를 사용한다.

AT 03:00 /every:m,t,w,th,f,s,su "d:\temp\autobackup.cmd"

 

4. 모든 archived log file들을 NT copy 명령을 이용하여 backup한다.

 

이 file들은 LOG_ARCHIVE_DEST directory에 위치한다.

 

5. 아래의 command를 이용하여 control file을 backup한다.

 

SVRMGR23> ALTER DATABASE BACKUP CONTROLFILE TO 'filespec';

또는,

SVRMGR23> ALTER DATABASE BACKUP CONTROLFILE TO TRACE ;

 

 

bulletin NO. : 11349

 

AT명령을 이용해 NT Backup 스케줄하기

====================================

 

[ 요약 ]

Microsoft Windows NT Backup 프로그램은 NTFS 또는 FAT 볼륨의 데이터를 백업과

복구할 때 쓰이는 그래픽 도구이다. NT BACKUP과 AT 유틸리티를 이용해 정기적인

일괄 작업을 작성하는 방법을 설명한다.

 

[예제] sqlplus 를 at 으로 실행하려면

 

DOS> AT /interactive cmd /c "sqlplus scott/tiger@tns @c:\aa.sql"

이때 file 은 꼭 full path 를 주어야 한다.

그리고 제어판에 scheduler 가 떠있는지 확인한다.

 

내용

(중요) 백업을 위한 Tape장치(테이프 드라이브)는 모두 NT의 하드웨어 호환목록

(Hardware compatibility List : HCL)에서 지원되는 것이어야 한다.

 

1. Schedule Service가 시작되었는지 확인한다.

Windows NT 제어판/서비스/Schedule Services 확인

 

2. 원하는 작업에 대한 batch file을 작성한다.

문장 : ntbackup 작업 경로 [/a][/v][/r][/d "문자열"][/hc:{on | off}]

[/t ][/l "파일

이름"][/e][/tape:]

작업 - backup, eject

경로 - 백업할 하나 이상의 디렉토리 경로를 지정

/a - 테잎의 마지막 백업 세트 다음에 백업 세트를 추가하거나 붙임.

/a를 지정하지 않으면 프로그램에서는 이전 데이터를 겹쳐씀.

/a 없이 둘 이상의 드라이브를 지정하면, 프로그램에서는 테잎의 내용을

선택한 첫째 드라이브의 정보로 겹쳐쓴 다음 나머지 드라이브의 백업

세트를 추가

/v - 작업을 확인

/r - 액세스를 제한

/d "문자열" - 백업 내용에 관한 설명을 지정

/b - 로컬 레지스트리를 백업하도록 지정

/hc:on 또는 /hc:off - 하드웨어 압축을 설정 또는 해제

/t - 백업 유형을 지정. 옵션에는 아래 유형 중 하나를 선택

Normal, copy ,incremental ,differential, daily

/l "파일 이름" - 백업 로그 파일 이름을 지정

/e - 백업 로그에 예외 오류만을 포함하도록 지정

/tape: - 파일을 백업할 테잎 드라이브를 지정. n은 테잎 드라이브를 설치할

때 지정한 드라이브 번호에 해당하는 0부터 9까지의 숫자

더 자세한 내용은 Help file을 참조하시기 바랍니다.

 

Sample batch file

1) Local 데이터 backup하기 (atbackup.bat로 작성)
ntbackup backup c:\tmp /d "My Backup" /t incremental /L "c:\backup.log" 
\tape:4
: c:\ 드라이브의 tmp디렉토리의 데이터를 backup한다.

2) Network상의 데이터 backup하기 (atbackup.bat로 작성)
  net use x: \server_name\public  c:
  ntbackup backup x:\ c:\tmp /d "My Backup" /t incremental /L "c:\backup.log" 
     \tape:4
     net use x: /d

: 네트웨크상의 server_name서버의 public디렉토리의 데이터와 local의 c:\tmp의 데이터를 backup한다.

 

3. AT명령어의 entry를 추가하기 위해 다음과 같이 한다.

C:>at 15:00 /interactive /every:M,W,F "c:\atbackup.bat"

.: 매 월요일,수요일,금요일 오후 3시에 atbackup.bat가 수행

(참고) 한글NT에서는 AT명령의 요일별 스케줄은 지원하지 않습니다.

 

 

[한국 Oracle 자료입니다.]

[Top]
No.
제목
작성자
작성일
조회
9068DataFile 위치 변경방법
정재익
2001-12-25
6612
9066오라클로 connect하는 시간이 너무 오래 걸리거나 혹은...
정재익
2001-12-25
5179
9063tnsping은 되는데, 실데 Program에서 DB 접속이 안되는경우
정재익
2001-12-25
4869
9061NT 에서 자동 백업을 받을 수 있는 방법
정재익
2001-12-25
6492
9060Rollback segment의 status가 FULL로 되는 경우와 조치 사항
정재익
2001-12-25
5656
9059PIPE 와 COMPRESS 를 사용한 export
정재익
2001-12-25
4400
9058EXCEPTION TABLE을 이용하여 중복된 자료를 확인하는 방법 [1]
정재익
2001-12-25
6183
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2021 DSN, All rights reserved.
작업시간: 0.037초, 이곳 서비스는
	PostgreSQL v13.3으로 자료를 관리합니다