ALTER DATABASE
ALTER DATABASE#
구문#
alter_database ::=#
startup_clause ::=, rename_datafile_clause ::=, create_datafile_clause ::=, create_checkpoint_image_clause ::= session_clause ::=, archivelog_option ::=, backup_clause ::=, incremental_backup_clause ::=, recover_clause ::=, restore_clause ::=, change_backup_directory_clause ::=, move_backup_clause ::=, delete_backup_clause ::=, change_tracking_clause ::=
startup_clause ::=#
rename_datafile_clause ::=#
create_datafile_clause ::=#
create_checkpoint_image_clause ::=#
session_clause ::=#
archivelog_option ::=#
backup_clause ::=#
incremental_backup_clause ::=#
incremental_level_clause ::=#
with_tag_clause ::=#
recover_clause ::=#
from_tag_clause ::=#
until_option ::=#
restore_clause ::=#
restore_database_clause ::=#
restore_tablespace_clause ::=#
change_backup_directory_clause ::=#
move_backup_clause ::=#
delete_backup_clause ::=#
change_tracking_clause ::=#
snapshot_clause ::=#
전제 조건#
ALTER DATABASE구문은 Altibase 다단계 구동에서 서비스 전 단계에서 SYS 사용자가 -sysdba 관리자 모드로 접속한 후 수행할 수 있다. 단 SESSION CLOSE 의 경우에는 -sysdba 모드로 접속하지 않아도 사용할 수 있다.
설명#
기존 데이터베이스의 정의를 변경하는 구문이다.
database_name#
변경될 데이터베이스 이름을 명시한다.
startup_clauses#
이 절은 Altibase 구동 단계를 명시하는데 사용된다.
CONTROL#
데이터베이스 구동 단계를 CONTROL 단계로 변경한다. 이 단계에서 데이터베이스 미디어 복구가 가능하다. 또한, 테이블스페이스를 Discard할 수 있는 단계이다. 데이터베이스 다단계 구동 단계에 대한 자세한 설명은 Administrator's Manual을 참조한다. CONTROL 다음 단계인 META단계로 가기 위해서는 다음 구문을 수행해야 한다:
ALTER DATABASE dababase_name META;
META#
데이터베이스 구동 단계를 META 단계로 변경한다. 전 단계인 CONTROL단계에서 이 단계로 오는 중에 데이터베이스 메타 데이터가 로딩된다. 다음 단계로 가기 위해서는 다음 구문을 수행해야 한다:
ALTER DATABASE dababase_name SERVICE;
SERVICE#
데이터베이스 구동 단계를 SERVICE 단계로 변경한다. 이 단계로 오면서 메모리 DB와 디스크 DB가 로딩된다. 이 단계에서 이중화 또는 SNMP 등의 확장 서비스가 모두 구동될 수 있다. 데이터베이스가 이 단계로 성공적으로 구동되었다면, 필요한 복구가 완료되어 시스템이 정상적으로 서비스를 제공하는 상태임을 의미한다.
UPGRADE#
이 옵션은 데이터베이스 구동 단계를 META UPGRADE 단계로 변경한다. 데이터베이스가 이 단계로 구동될 때, 모든 복구 작업이 완료된다.
다음 단계로 가기 위해서는 다음 구문을 수행해야 한다:
ALTER DATABASE dababase_name SERVICE;
RESETLOGS#
CONTROL 단계에서 불완전 복구를 수행한 후, 서버를 정상 구동하기 위해 필요한 작업이다. 불완전 복구로 인해 더 이상 필요하지 않게 된 로그 레코드들을 초기화한다.
다음 단계로 가기 위해서는 다음 구문을 수행해야 한다:
ALTER DATABASE dababase_name SERVICE;
META RESETUNDO#
이 옵션을 사용하면, SYS_TBS_DISK_UNDO 테이블스페이스가 초기화된다. 그러나 테이블스페이스 파일의 크기는 변경되지 않는다. 이 구문 실행 전에, 데이터베이스의 무결성을 검사하고 디스크 가비지 콜레션이 수행된 것을 확인하고, 서버를 정상 종료해야 한다.
SHUTDOWN NORMAL#
서버에 접속한 모든 클라이언트의 연결이 정상적으로 해제될 때까지 대기한 후 서버를 정상 종료한다.
SHUTDOWN IMMEDIATE#
서버에 접속된 모든 클라이언트의 연결을 강제로 해제한 후, 서버를 정상 종료한다.
SHUTDOWN EXIT#
이 옵션은 Altibase 서버를 강제로 종료하는데 사용된다. 이 방법으로 Altibase가 종료되면, 데이터베이스의 내용이 올바르지 않게 되어 다음 서버 구동시에 복구 작업이 수행될 것이다.
RENAME DATAFILE#
이 구문은 디스크 데이터파일 위치를 이동시켜야 할 때 사용하는 기능으로, 데이터베이스에 속한 데이터 파일을 새로운 이름으로 변경하거나 다른 디렉터리에 둔다. TO 'datafile_path'에 명시된 데이터 파일은 존재해야 한다. 이 절은 CONTROL 단계에서만 실행 가능하다. datafile_path는 절대 경로여야 한다.
참고로, 메모리 테이블스페이스의 체크포인트 이미지파일을 이동하기 위해서는 ALTER TABLESPACE 구문이 사용된다.
CREATE DATAFILE#
이 구문은 디스크 데이터 파일이 유실되었을 때, 로그 앵커의 정보를 참고하여 데이터 파일을 생성하기 위해 사용된다. 이 구문을 실행한 후에는 매체 완전 복구를 수행하여 데이터 파일을 복구하도록 한다.
이 구문은 CONTROL 단계에서만 실행 가능하다.
데이터 파일이 생성될 datafile_path는 절대 경로이어야 한다.
참고로 메모리 테이블스페이스의 체크포인트 이미지파일을 생성하려면 ALTER TABLESPACE 구문을 사용한다.
CREATE CHECKPOINT IMAGE#
이 구문은 메모리 체크포인트 이미지파일이 유실되었을 때, 로그 앵커의 정보를 참고하여 체크포인트 이미지 파일을 생성하기 위해 사용된다. 이 구문을 실행한 후에는 매체 완전 복구를 수행하여 메모리 체크포인트 이미지 파일을 복구하도록 한다.
체크포인트 이미지파일은 메모리 테이블스페이스에 정의된 체크포인트 경로에 생성되므로, 경로는 지정할 필요가 없고 파일명만 명시하면 된다.
이 구문은 CONTROL 단계에서만 실행 가능하다.
<질의> 'MEM-TBS-1' 이름의 체크포인트 이미지파일을 다시 생성한다.
iSQL> ALTER DATABASE CREATE CHECKPOINT IMAGE 'MEM-TBS-1';
SESSION CLOSE#
이 구문은 세션을 강제로 종료시킨다. 세션ID(number) 및 사용자 이름을 지정하여 해당 세션을 종료할 수 있으며, ALL구문으로 모든 세션을 한 번에 종료할 수도 있다.
현재 접속한 사용자의 세션은 종료되지 않는다. 이 구문이 실행되면 해당 세션의 트랜잭션은 롤백된다.
Note: 세션이 락을 잡기 위해 대기중이라면 즉시 종료되지 않는다.
archivelog_option#
CONTROL 단계에서 아카이브로그 모드와 노아카이브로그 모드를 전환하는데 사용된다.
BACKUP LOGANCHOR#
데이터베이스가 아카이브로그 모드로 운영중일때, 이 구문은 서비스를 중지하지 않은 상태에서 로그 앵커를 온라인 백업하는데 사용된다.
BACKUP TABLESPACE#
데이터베이스가 아카이브로그 모드로 운영중일때, 이 구문은 서비스를 중지하지 않은 상태에서 지정된 테이블스페이스를 백업 디렉토리에 백업하는데 사용된다.
BACKUP DATABASE#
데이터베이스가 아카이브로그 모드로 운영중일때, 이 구문은 서비스를 중지하지 않은 상태에서 모든 메모리 테이블스페이스, 디스크 테이블스페이스, 및 로그앵커를 백업하는데 사용된다.
incremental_backup_clause#
데이터베이스 전체 또는 특정 테이블스페이스들을 증분 백업한다.
incremental_level_clause#
증분 백업 레벨을 지정한다.
WITH TAG tag_name#
백업에 태그 이름을 지정한다.
RECOVER DATABASE#
이 구문은 매체 완전복구를 수행한다. 아카이브 로그 디렉토리의 로그 파일을 판독하여 매체 오류가 발생한 데이터 파일들을 현재 시점으로 복구한다.
FROM TAG tag_name#
태그 이름이 tag_name인 백업으로부터 데이터베이스를 복원 또는 복구할 것을 지정한다.
RECOVER DATABASE UNTIL TIME#
이 구문은 특정 시점으로 매체 불완전 복구를 수행하는데 사용된다. 아카이브 로그 디렉토리의 로그 파일을 판독하여 매체 오류가 발생한 데이터 파일들을 특정 시점으로 복구한다.
RECOVER DATABASE UNTIL CANCEL#
이 구문은 아카이브 로그 파일들 중 유효한 가장 최근 시점으로 매체 불완전 복구를 수행하는데 사용된다. 아카이브 로그 디렉토리의 로그 파일을 판독하여 매체 오류가 발생한 데이터 파일들을 유효한 시점까지 복구한다.
restore_database_clause#
데이터베이스에 대한 매체 완전복원을 수행하거나 또는 특정 태그 이름이나 특정 시점으로 불완전 복원을 수행한다.
restore_tablespace_clause#
테이블스페이스를 완전 복원한다.
change_backup_directory_clause#
증분 백업 수행으로 생성되는 백업 파일들의 위치를 지정한다.
move_backup_clause [WITH CONTENTS]#
증분 백업 디렉토리를 변경한다. WITH CONTENTS 옵션을 지정하면 기존 백업 파일이 새로운 디렉토리로 이동한다.
delete_backup_clause#
유효 기간이 지난 증분 백업 파일을 삭제한다.
change_tracking_clause#
증분 백업을 위한 페이지 변경 추적 기능의 활성화 또는 비활성화를 지정한다.
snapshot_clauses#
BEGIN SNAPSHOT을 할 때의 시점을 기준 SNAPSHOT SCN으로 설정하고, 설정된 SCN을 기준으로 iLoader를 사용하여 데이터를 EXPORT한다.
예제#
<질의> 데이터베이스 mydb를 구동하여 정상 서비스를 제공하도록 한다.
iSQL> ALTER DATABASE mydb SERVICE;
<질의> 아카이브로그 모드로 데이터베이스를 전환한다.
iSQL> ALTER DATABASE ARCHIVELOG;
<질의> 불완전 복구 수행 후 데이터베이스를 정상 구동한다.
iSQL> ALTER DATABASE mydb META RESETLOGS;
<질의> SYS_TBS_DISK_DATA 테이블스페이스를 /altibase_backup디렉터리에 백업한다.
iSQL> ALTER DATABASE TABLESPACE SYS_TBS_DISK_DATA TO '/altibase_backup/';
<질의> 이전 백업으로부터 2008년 2월 16일 오후 12시 시점으로 데이터베이스를 복원한다.
iSQL> ALTER DATABASE RECOVER DATABASE UNTIL TIME '2008-02-16:12:00:00';
<질의> 이전 백업으로부터 유실된 로그파일 20001번 이전인 로그파일 20000번까지의 변경이 반영되도록 데이터베이스를 복원한다.
iSQL> ALTER DATABASE RECOVER DATABASE UNTIL CANCEL;