*
-데이터베이스 모드 변경(archive log list)
1.마우틴 단계
2.오픈 단계
-아카이브 프로세스 활성화(자동으로 바꾸기)
1.아카이브 로그파일 이름 결정
2.위치결정
3.아카이브 프로세스의 활성화
4.에러 발생시
-로그 스위치 수동 작성 명령어
1.확인
-백업의 대상: 데이터파일, 컨트롤 파일, 리두로그 파일
-컨트롤 파일 위치 알기
-로그파일 위치 알기
-백업대상중인 파일 찾기
-복원해야할 파일이 있는 경우
-테이블스페이스의 백업
1)오라클 가동중 테이블 스페이스 백업
-백업모드로 변경
-백업
-일반모드로 변경
-백업에 실패시(비정상적인 종료)
-파라미터 파일 백업
-dbv 유틸리티(백업이 정상적인지 검사 -명령창에서실행)
-현 데이터 베이스 전체 백업
-아케이브로그 파일들 삭제
-에러시
-시스템 변경
=============================================================================================
sqlplus "/as sysdba"
select sysdate from dual;
archive log list
re:
데이터베이스 로그 모드 아카이브 모드가 아님
자동 아카이브 사용 안함
아카이브 대상 C:\oracle\ora92\RDBMS
가장 오래된 온라인 로그 순서 4
현재 로그 순서 6
-->1. 데이터베이스 모드 변경
shutdown immediate;
startup mount
alter database archivelog;
archive log list
--안되면
sqlplus /nolog
conn /as sysdba
--휴지인스턴스....
startup mount
alter database archivelog;
archive log list
--오픈 단계
alter database open;
-->2.아카이브 프로세스 활성화
show parameter log_archive_start
re:
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_start boolean FALSE
show parameter log_archive_dest
log_archive_dest_n
1)아카이브 로그파일 이름 결정
-show parameter log_archive_format
re:
NAME TYPE VALUE
------------------------------------ ----------- -------------
log_archive_format string ARC%S.%T
2)위치결정(폴더 위치 생성)
alter system
set log_archive_dest_1='location=D:\IEDU\archive1'
scope=spfile;
alter system
set log_archive_dest_2='location=D:\IEDU\archive2'
scope=spfile;
alter system
set log_archive_dest_3='location=D:\IEDU\archive3'
scope=spfile;
3)아카이브 프로세스의 활성화
-alter system set log_archive_start=true scope=spfile;
-shutdown immediate
-startup
-archive log list
re:
데이터베이스 로그 모드 아카이브 모드
자동 아카이브 사용
아카이브 대상 D:\IEDU\archive3
가장 오래된 온라인 로그 순서 4
아카이브할 다음 로그 6
현재 로그 순서 6
==============에러생기면
-sqlplus /nolog
-conn /as sysdba
휴지.....
-startup
-shutdown immdiate
-quit
---c:\oracle\ora90\database\spfileIEDU.ora를 확장자 변경
-sqlplus /nolog
-conn /as sysdba
-create spfile from pfile;
=======================================================
-->로그 스위치 수동 작성 명령어
-alter system switch logfile;
re:
시스템이 변경되었습니다.
---------------------------확인----------------------------------------------------------
-select * from v$archive_processes;
re:
PROCESS STATUS LOG_SEQUENCE STAT
---------- ---------- ------------ ----
0 ACTIVE 0 IDLE
1 ACTIVE 0 IDLE
2 STOPPED 0 IDLE
3 STOPPED 0 IDLE
4 STOPPED 0 IDLE
5 STOPPED 0 IDLE
6 STOPPED 0 IDLE
7 STOPPED 0 IDLE
8 STOPPED 0 IDLE
9 STOPPED 0 IDLE
10 개의 행이 선택되었습니다.
--확인 방법
-show parameter log_archive_max_processes;
re:
NAME TYPE VALUE
------------------------------------ ----------- -------------
log_archive_max_processes integer 2
-----------------
alter system set log_archive_max_processes=2;
re:
시스템이 변경되었습니다.
select * from v$archive_processes;
re:
PROCESS STATUS LOG_SEQUENCE STAT
--------- ---------- ------------ ----
0 ACTIVE 0 IDLE
1 ACTIVE 0 IDLE
2 STOPPED 0 IDLE
3 STOPPED 0 IDLE
4 STOPPED 0 IDLE
5 STOPPED 0 IDLE
6 STOPPED 0 IDLE
7 STOPPED 0 IDLE
8 STOPPED 0 IDLE
9 STOPPED 0 IDLE
창2)
-sqlplus "/as sysdba"
-select * from v$archive_processes;
창1)
-conn ejb/ejb
-create table test2(
a number,
b varchar2(20),
c timestamp default sysdate
);
begin
for z in 1.. 200000 loop
insert into test2 values(z,'askim2',default);
end loop;
end;
/
창2)
select * from v$archive_processes;
/
/
창1)
conn /as sysdba
select name from v$archived_log;
창1)
- 입력 취소
rollback;
창2)
select * from v$archive_processes;
창1)
conn /as sysdba
select name from v$archived_log;
select DESTINATION,DEST_name,BINDING,status
from v$archive_dest;
col DESTINATION format a20
col DEST_name format a20
col BINDING format a10
col status format a10
-->백업의 대상(데이터파일, 컨트롤 파일, 리두로그 파일)
select a.TS#,a.NAME tsname, b.FILE#,b.NAME fname,
b.STATUS, b.BYTES from v$tablespace a,v$tempfile b
where a.ts#=b.ts#;
col tname format a20
col tsname foramt a10
--컨트롤 파일에 위치 찾기
select * from v$controlfile;
--로그파일 위치 찾기
select * from v$logfile;
--백업대상중인 파일 찾기
select * from v$backup;
desc v$datafile;
select a.file#,b.name,a.status,a.change#,a.time
from v$backup a,v$datafile b
where a.file#=b.file#;
col name format a20
col status format a15
-복원해야할 파일이 있는 경우
select * from v$recover_file;
-->테이블스페이스의 백업
-1오라클 가동중 테이블 스페이스 백업
select a.TS#,a.NAME tsname, b.FILE#,b.NAME fname,
b.STATUS, b.BYTES from v$tablespace a,v$tempfile b
where a.ts#=b.ts#;
1)백업모드 변경
-alter tablespace ejb begin backup;
-select a.file#,b.name,a.status,a.change#,a.time
from v$backup a,v$datafile b
where a.file#=b.file#;
2)백업
-host
-copy D:\IEDU\ejb.dbf d:\bejb
-exit
3)일반모드 변경
-alter tablespace ejb end backup;
-select a.file#,b.name,a.status,a.change#,a.time
from v$backup a,v$datafile b
where a.file#=b.file#;
-->백업에 실패(백업중 전원등등의 문제로 실패)
-테이블스페이스 만듬
create tablespace ilgi
datafile 'd:\iedu\ilgi.dbf' size 100m;
-ejb로 접속
conn ejb/ejb
-테이블 ilgi tablespace 로 새성
create table test3(
a number,
b varchar2(20)
)
tablespace ilgi;
---비정상적인 종료
conn /as sysdba
alter tablespace ilgi begin backup;
host
copy D:\IEDU\ilgi.dbf D:\bejb
-컴 재부팅
--재시작후
sqlplus /nolog
conn /as sysdba
휴지..
startup
--에러메시지 확인
select a.file#,b.name,a.status,a.change#,a.time
from v$backup a,v$datafile b
where a.file#=b.file#;
host
copy d:\iedu\ilgi.dbf d:\bejb
exit
alter tablespace ilgi end backup; -- 에러시
alter datafase datafile 'd:\iedu\ilgi.dbf' end backup;
alter database open;
-->파라미터 파일 백업
conn /as sysdba
create pfile='d:\bejb\initiedu01.ora' from spfile;
-->dbv 유틸리티 (백업이 잘 되었는가 확인)
명령창에서)
dbv file=d:\bejb\ejb.dbf
logfile=d:\dbv.txt blocksize=8192
--현 데이터 베이스 전체 백업
host
copy d:\iedu\*.* d:\bejb
exit
--아케이브로그 파일들 삭제
conn ejb/ejb
create table test4(
a number,
b varchar2(20),
c timestamp default sysdate
);
begin
for z in 1..300000 loop
insert into test4 values(z,'asadf',default);
end loop;
end ;
/
commit;
-select count(*) from test4;
re:
COUNT(*)
----------
300000
-----------------------------
conn /as sysdba
--시스템 변경
alter system switch logfile;
===================================================================================
4-21(목에 배울 내용)
아카이브모드,자동프로세스
데이터베이스 전체백업
ejb 사용자에게 300000데이터 삽입
=============================================에러시=================================
conn /as sysdba
shutdown abort;
quit
sqlplus /nolog
conn /as sysdba
startup
--에러(메체 복구...)
alter database datafile '&&&&' offline;
alter tablespace ilgi end backup;
alter database open;
conn ejb/ejb
..
sqlplus "/as sysdba" (자동 startup)
sqlplus "/nolog" 로 접속하면 아무것도 접속 안함(startup 상태가 아님)
<==========데이터베이스 개방이 안되었습니다(.dbf 파일 을 날렸을때 다시 복구한후 ======>
SQL> alter database datafile 'D:\IEDU\ILGI' offline;
데이타베이스가 변경되었습니다.
SQL> alter database open;
데이타베이스가 변경되었습니다.
SQL> drop tablespace ilgi;
drop tablespace ilgi
*
1행에 오류:
ORA-01549: 테이블스페이스가 비어있지 않으므로 INCLUDING CONTENTS 옵션을 사용해
주십시오
SQL> drop tablespace ilgi INCLUDING CONTENTS;
테이블 영역이 삭제되었습니다.
SQL> shutdown
데이터베이스가 닫혔습니다.
데이터베이스가 마운트 해제되었습니다.
ORACLE 인스턴스가 종료되었습니다.
SQL> startup
ORACLE 인스턴스가 시작되었습니다.
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
데이터베이스가 마운트되었습니다.
데이터베이스가 열렸습니다.
'ORACLE' 카테고리의 다른 글
오라클 문제정리 (0) | 2024.01.17 |
---|---|
오라클 튜닝//옵티마이저 (0) | 2024.01.17 |
오라클 사용자 삭제//사용자 삭제//테이블 정보 (0) | 2024.01.17 |
오라클 테이블 스페이스 (0) | 2024.01.16 |
오라클 우편번호 만들는 법/제약조건/삭제,수정/데이터 입력 (1) | 2024.01.16 |