'DB > oralce' 카테고리의 다른 글
archive log mode 아카이브 로그 모드 장애 복구 (0) | 2014.11.03 |
---|---|
recovery 이론 및 dump파일 내용 (0) | 2014.11.01 |
오라클 실습시 용량부족으로 디스크 붙이는 방법 (0) | 2014.10.31 |
backup (0) | 2014.10.30 |
[실습] parameter file 삭제 후 재생성하기 (0) | 2014.10.29 |
archive log mode 아카이브 로그 모드 장애 복구 (0) | 2014.11.03 |
---|---|
recovery 이론 및 dump파일 내용 (0) | 2014.11.01 |
오라클 실습시 용량부족으로 디스크 붙이는 방법 (0) | 2014.10.31 |
backup (0) | 2014.10.30 |
[실습] parameter file 삭제 후 재생성하기 (0) | 2014.10.29 |
1. vmware에서 원하는 용량만큼 새로운 hard disk를 생성
2. fdisk -l 에서 83 형식
3. ext3.mkfs
4. mkdir /새로운 폴더
5. mount /디바이스 /불일폴더
6. vi /etc/fstab 편집
혹시
터미널 창에서 fdisk -l 명령어로 추가한 새로운 디스크가 나오지 않으면
vmware의 리눅스를 재부팅하면 새롭게 추가한 디스를 볼 수 있음
1. 루트로 터미널 창으로 접속함
2. 연결된 하드 디스크 내용 확인
[root@localhost ~]# fdisk -l
Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1288 10241437+ 83 Linux
/dev/sda3 1289 1925 5116702+ 83 Linux
/dev/sda4 1926 3916 15992707+ 5 Extended
/dev/sda5 1926 2180 2048256 82 Linux swap / Solaris
/dev/sda6 2181 2307 1020096 83 Linux
/dev/sda7 2308 3916 12924261 83 Linux
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
recovery 이론 및 dump파일 내용 (0) | 2014.11.01 |
---|---|
오라클이 시작되는 원리 (0) | 2014.10.31 |
backup (0) | 2014.10.30 |
[실습] parameter file 삭제 후 재생성하기 (0) | 2014.10.29 |
컨트롤 파일 다중화시 ora-00205 에러 (0) | 2014.10.29 |
1. 닫힌 백업( cold backup, close backup )
- database의 운영상태가 closed 된 상태에서 수행하는 백업을 의미
- 백업 시점이 모두 동일해야 함
- data file, online redo log file, control file 백업가능
- 운영중(open) 상태에서는 수행할 수 없음
- archived log mode / no archived mode 상관없음
2. 열린 백업(hot backup, begin backup, online backup)
- 닫힌 백업과 달리 DB가 운영중(open) 상태에서도 백업을 수행 가능
- archived log mode 상태에서만 수행 가능
- 많은 양의 redo log가 발생됨
- data file, control file만 백업가능(redo log file 백업 불가)
- hotbackup 할 때, 디비 offline 하면 안 됨
*노아카이브-아카이브 / 아카이브-노아카이브 모드가 바뀌면 무조건 백업을 받아야 한다.
왜냐하면 scn이 달라지기 때문이다.
cold back
백업대상확인 -> DB종료 -> 대상백업수행
1. data file 확인
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/app/oracle/oradata/testdb/system01.dbf
/app/oracle/oradata/testdb/sysaux01.dbf
/app/oracle/oradata/testdb/undotbs01.dbf
/app/oracle/oradata/testdb/users01.dbf
/app/oracle/oradata/testdb/example01.dbf
2. control file 확인
SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/app/oracle/oradata/testdb/control01.ctl
/app/oracle/oradata/testdb/control02.ctl
/app/oracle/oradata/testdb/control03.ctl
3. online redo log file 확인
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/app/oracle/oradata/testdb/redo01_a.log
/app/oracle/oradata/testdb/redo03_a.log
/app/oracle/oradata/testdb/redo01_b.log
/app/oracle/oradata/testdb/redo03_b.log
hot backup
tablespace를 백업 모드로 변경 - OS 명령어로 해당 tablespace의 datafile을 백업장소로 복사 - 파일 복사 후 백업모드 종료
1. 아카이브 로그 모드 확인
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /data/arc2
Oldest online log sequence 30
Next log sequence to archive 31
Current log sequence 31
오라클이 시작되는 원리 (0) | 2014.10.31 |
---|---|
오라클 실습시 용량부족으로 디스크 붙이는 방법 (0) | 2014.10.31 |
[실습] parameter file 삭제 후 재생성하기 (0) | 2014.10.29 |
컨트롤 파일 다중화시 ora-00205 에러 (0) | 2014.10.29 |
oracle client 윈도우 설정 (0) | 2014.10.28 |
login as: oracle
oracle@192.168.198.128's password:
Last login: Thu Oct 23 20:30:57 2014 from 192.168.198.1
[oracle@localhost ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Thu Oct 23 21:33:23 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning option
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> !
[oracle@localhost ~]$ cd $ORACLE_HOME/dbs
[oracle@localhost dbs]$ ls
hc_DBUA0.dat hc_testdb.dat init.ora lkTESTDB orapwtestdb spfiletestdb.ora
[oracle@localhost dbs]$ rm -fr spfiletestdb.ora
[oracle@localhost dbs]$ exit
exit
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/app/oracle/product/11g/dbs/inittestdb.ora
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning option
[oracle@localhost ~]$ ls
Desktop afiedt.buf disk1 disk3 disk5 test_data.sql
a.out database disk2 disk4 log.sql
[oracle@localhost ~]$ ls $ORACLE_BASE/admin/testdb/pfile
init.ora.8262014183029
[oracle@localhost ~]$ cd $ORACLE_HOME/dbs
[oracle@localhost dbs]$ cp /app/oracle/admin/testdb/pfile/init.ora.8262014183029 inittestdb.ora
[oracle@localhost dbs]$ ls
hc_DBUA0.dat hc_testdb.dat init.ora inittestdb.ora lkTESTDB orapwtestdb
SQL> startup
ORACLE instance started.
Total System Global Area 422670336 bytes
Fixed Size 1344616 bytes
Variable Size 260049816 bytes
Database Buffers 155189248 bytes
Redo Buffers 6086656 bytes
Database mounted.
Database opened.
value 의 값이 없으면 pfile
SQL> show parameter pfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> !ls $ORACLE_HOME/dbs
hc_DBUA0.dat hc_testdb.dat init.ora inittestdb.ora lkTESTDB orapwtestdb
SQL> create spfile from pfile;
File created.
SQL> !ls $ORACLE_HOME/dbs
hc_DBUA0.dat init.ora lkTESTDB spfiletestdb.ora
hc_testdb.dat inittestdb.ora orapwtestdb
SQL> !rm -fr $ORACLE_HOME/dbs/inittestdb.ora
SQL> !ls $ORACLE_HOME/dbs
hc_DBUA0.dat hc_testdb.dat init.ora lkTESTDB orapwtestdb spfiletestdb.ora
SQL> create pfile from spfile;
File created.
SQL> !ls $ORACLE_HOME/dbs
hc_DBUA0.dat init.ora lkTESTDB spfiletestdb.ora
hc_testdb.dat inittestdb.ora orapwtestdb
pfile과 spfile이 모두 있을 경우 spfile만 사용되므로 pfile을 사용하려면
spfile을 삭제하거나 이름을 변경해야함
오라클 실습시 용량부족으로 디스크 붙이는 방법 (0) | 2014.10.31 |
---|---|
backup (0) | 2014.10.30 |
컨트롤 파일 다중화시 ora-00205 에러 (0) | 2014.10.29 |
oracle client 윈도우 설정 (0) | 2014.10.28 |
dbms_job / dbms_scheduler (0) | 2014.10.27 |
문제점 : 컨트롤 파일을 오라클 계정으로 만들어준 것이 아니라 루트 계정으로 만들어 주고
오라클 DB를 open 하려고 했음
해결방안 : 컨트롤 파일에 오라클 권한을 주고, 다시 DB를 open하면 해결된다.
backup (0) | 2014.10.30 |
---|---|
[실습] parameter file 삭제 후 재생성하기 (0) | 2014.10.29 |
oracle client 윈도우 설정 (0) | 2014.10.28 |
dbms_job / dbms_scheduler (0) | 2014.10.27 |
사용자관리 (0) | 2014.10.27 |
1. 설치할 clinet 파일을 오라클 계정으로 로그인해서 다운 받는다.
자신의 컴퓨터가 몇 비트 운영체제인지 확인해서 파일을 받아야 한다.
확인법 : 제어판\시스템 및 보안\시스템 - 시스템 종류를 보면 알 수 있다. (윈도우 7기준)
* 파일 다운로드 받는 곳(64비트)
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html
2. client 파일을 설치한다.
- 시작프로그램-보조프로그램-실행
또는 windows 로고 + r 하면 cmd 실행
- netca 입력
- 아래와 같은 창들이 열리면 화면과 같이 실행한다.
로컬네트 서비스 이름 구성을 선택한다.
추가를 선택
서비스 이름은 반드시 DB 이름을 입력한다.
기본 tcp로 되어 있는데 다음
자신 접속할 DB 서버 아이피를 입력한다.
테스트 수행 선택, 테스트를 바라지 않으면 다음 클릭
이 에러는 리스너가 꺼져있을 때 나는 에러화면
오라클 서버에서 lsnrctl start 해 주고 테스트 해볼 것
tns 리스너가 DB가 뭔지 찾지 못할 때 생기는 오류
리스너를 올렸을 때 서비스 네임이 있어야 한다.
기본 설정시 서비스 네임을 주지 않으면 적용시 문제가 생길수도 있다.
들여쓰기 잘하기, 파일을 인식못할 수도 있음
로그인 변경을 해서 scott/tiger로 접속을 시도해본다.
아래와 같이 정상접속이 되면 테스트를 성공했다는 화면을 볼 수 있다.
3. 설치경로로 들어가서 tnsnames.ora 파일을 수정해준다.
나의 경우 설치경로 : D:\app\stu\product\11.2.0\client_1\network\admin
만약 파일이 없다면 sample 폴더 안에 들어가서 복사해서 안에 내용을 지운다음 아래와 같이 입력해준다.
TESTDB =
( DESCRIPTION =
( ADDRESS_LIST =
( ADDRESS = ( PROTOCOL = TCP ) ( HOST = 192.168.64.145 ) ( PORT = 1521 ) )
)
( CONNECT_DATA =
( SERVICE_NAME = testdb )
)
)
각 보라색 글씨의 의미
- TESTDB : 네트 서비스 이름
- 접속할 아이피와 포트번호
- SID이름
4 client의 cmd 창에서 서버로 접속을 시도하면 성공적으로 접속이 된다.
C:\Users\stu>sqlplus scott/tiger@testdb
SQL*Plus: Release 11.2.0.1.0 Production on 화 10월 28 16:55:38 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
다음에 접속됨:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning option
SQL>
[실습] parameter file 삭제 후 재생성하기 (0) | 2014.10.29 |
---|---|
컨트롤 파일 다중화시 ora-00205 에러 (0) | 2014.10.29 |
dbms_job / dbms_scheduler (0) | 2014.10.27 |
사용자관리 (0) | 2014.10.27 |
control file 다중화 실습 (0) | 2014.10.26 |
1. os 의 예약 작업 기능
리눅스, 유닉스 - shell scripts - cron 작업
cron 에 기록해 있는데로 일정시간에 사용자가 지정한 작업들을 스스로 처리해줌
2. 오라클 내에 cron 에 해당하는 기능임
DBMS_JOB/DBMS_SCHEDULER
3 DBMS_JOB
새로운 JOB 등록 테스트 하기
실습
새로운 job을 등록하는 테스트
job_test01 테이블 생성 후 1분에 1번씩 해당테이블에 데이터 insert 함
테스트용 테이블과 시퀀스, 프로시저를 생성함
SCOTT>create sequence seq_job_seq1;
Sequence created.
SCOTT>create table job_test01
2 (no number,
3 name varchar2(5));
Table created.
SCOTT>ed
Wrote file afiedt.buf
create or replace procedure insert_job_test01
is
begin
insert into scott.job_test01
values(seq_job_seq1.nextval, dbms_random.string('a',3));
end;
/
DBMS_SCHEDULER
DBMS_JOB과의 차이점 : 외부스크립트도 실행할 수 있음
단, 이 기능은 10g 이상일 때만 사용 가능
사용
정해진 시간에 튜닝에 필요한 필요한 테이블, 인텍스, 클러스터 등의 각종 통계값을 계산해서 저장
정해진 시간에 백업 수행
Mview나 standby 서버, 원본과의 동기화 작업 등...
주기적으로 반복되어야 하는 작업을 자동화시켜서 작업을 할 때 사용함
특징
-
-
-
-
-
4 DBMS_SCHEDULER
새로운 JOB 등록 테스트 하기
실습
새로운 job을 등록하는 테스트
job_test1 이라는 테이블에 3초에 1회씩 데이터를 insert 하는 작업
작업을 위해서 create any job의 권한이 있어야 함
scott 계정에 먼저 이 권한을 주고 실행함
SCOTT>conn / as sysdba
Connected.
SYS>grant create any job to scott;
Grant succeeded.
컨트롤 파일 다중화시 ora-00205 에러 (0) | 2014.10.29 |
---|---|
oracle client 윈도우 설정 (0) | 2014.10.28 |
사용자관리 (0) | 2014.10.27 |
control file 다중화 실습 (0) | 2014.10.26 |
oracle의 시작단계 (0) | 2014.10.26 |
1 사용자 생성하기
[oracle@localhost ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Thu Oct 23 13:48:59 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning option
SYS>set line 200
SYS>col tablespace_name for a10
SYS>col file_name for a50
SYS>select tablespace_name, bytes/1024/1024 MB, file_name
2 from dba_data_files;
TABLESPACE MB FILE_NAME
---------- ---------- --------------------------------------------------
EXAMPLE 345.625 /home/oracle/disk4/example01.dbf
USERS 5 /home/oracle/disk5/users01.dbf
UNDOTBS1 310 /home/oracle/disk5/undo01.dbf
SYSAUX 510 /home/oracle/disk4/sysaux01.dbf
SYSTEM 710 /home/oracle/disk4/system01.dbf
HAKSA /app/oracle/product/11g/dbs/MISSING00006
HAKSA /app/oracle/product/11g/dbs/MISSING00007
7 rows selected.
SYS>SYS>create tablespace ts_webhard
2 datafile '/app/oracle/oradata/testdb/ts_web01.dbf' size 100M;
Tablespace created.
SYS>create tablespace ts_web_idx
2 datafile '/app/oracle/oradata/testdb/ts_web_idx01.dbf' size 100M;
Tablespace created.
2 사용자 정보 확인하기
default tablespace 와 temporary tablespace 정보 확인하기
SYS>set line 200
SYS>col default_tablespace for a10
SYS>col temporary_tablespace for a10
SYS>select username, default_tablespace "Defautlt TS", temporary_tablespace "Temp TS"
2 from dba_users
3 where username='WEBUSER';
USERNAME Defautlt TS Temp TS
------------------------------ ------------------------------ ------------------------------
WEBUSER TS_WEBHARD TEMP_WEB
3 password 관련 profile 생성하기
조건
로그인 시도 5회 실패시 계정을 5일 동안 사용 못하게 할 것
계정의 암호는 10일에 한 번씩 변경하게 할 것
동일한 암호는 10일 동안 사용 못하게 할 것
SYS>create profile sample_prof limit
2 failed_login_attempts 5
3 password_lock_time 5
4 password_life_time 10
5 password_reuse_time 10;
Profile created.
4 resource 관련 profile 만들기
조건
1명당 연속적으로 cpu를 사용할 수 있는 시간을 10초로 제한할 것
하루 중 8시간만 db에 접속 가능하게 할 것
10분 동안 사용하지 않으면 강제로 접속을 끊을 것
profile을 9i 이상 버전에서 즉시 적용시키기 위해서 입력하는 명령어
SYS>alter system set resource_limit=true;
System altered.
권한 관리하기
-system 관련 주요 권한
- sysoper / sysdba 권한
- system 관련 권한 할당하기 / 해제하기
scott 사용자에게 create table, create session 권한을 할당
SYS>grant create table, create session to scott;
Grant succeeded.
scott 사용자에게 create table 권한 해제
- 사용자가 가지고 있는 권한 조회
SYS>select * from dba_sys_privs
2 where grantee='SCOTT';
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
SCOTT UNLIMITED TABLESPACE NO
SCOTT CREATE SESSION NO
-object 관련 권한(privilege)
주로 dml과 연관 많음 : object 를 select, insert, update, delete 등을 할 수 있는 권한을 말함
-object 권한 할당 / 해제하기
scott 사용자에게 webuser가 만든 webuser 테이블을 select 할 수 있도록 하기
WEBUSER>create table webtest
2 ( no number,
3 name varchar2(10));
Table created.
WEBUSER>insert into webtest values(1, 'sss');
1 row created.
WEBUSER>select * from webtest;
NO NAME
---------- ----------
1 sss
SCOTT>select * from webuser.webtest;
select * from webuser.webtest
*
ERROR at line 1:
ORA-00942: table or view does not exist
role 관리하기
role: 권한의 그룹
role 생성하기
SYS>create role trole;
Role created.
role에 create session, create table 권한 할당하기
SYS>grant create session, create table to trole;
Grant succeeded.
scott 사용자에게 trole 할당하기
SYS>grant trole to scott;
Grant succeeded.
어떤 사용자가 어떤 role를 사용하는지 확인하기
SYS>SELECT * FROM dba_sys_privs
2 WHERE grantee='SCOTT';
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
SCOTT UNLIMITED TABLESPACE NO
SCOTT CREATE SESSION NO
oracle client 윈도우 설정 (0) | 2014.10.28 |
---|---|
dbms_job / dbms_scheduler (0) | 2014.10.27 |
control file 다중화 실습 (0) | 2014.10.26 |
oracle의 시작단계 (0) | 2014.10.26 |
3 oracle background processes (0) | 2014.10.24 |
1 컨트롤 파일 / 다중화 의미
- control file : 오라클 서버를 운영하는데 필수적인 정보들이 저장되어 있음
instance가 mount 이상의 상태일 때부터 실시간으로 control file의 내용이 변경, 조회됨
이 파일이 깨지면 DB가 망가짐
파일삭제 등 문제가 생기더라도 복구 할 수 있도록 복사본을 만들어 분산시켜 저장함 (multiplexing 다중화)
2. 작동 순서와 다중화 하는 방법
- 작동순서
startup - parameter file 읽어서 control file의 위치 확인 - control file을 메모리로 불러와 내용 확인
- 다중화하는 방법
parameter file에 control file의 위치를 기록한 후 그 경로에 control file을 복사하면 다중화가 됨
* spfile 일 경우 다중화하는 방법
- 실습예제
현재 운영중인 control file의 경로 확인 후
/home/oracle/disk1/control01.ctl
/home/oracle/disk2/control02.ctl
/home/oracle/disk3/controlo03.ctl 로 다중화(복사)
- 하는 순서
1. DB 상태 확인
2. 현재 운영중인 control file의 경로 확인
3. spfile경로 변경
4. instance 종료
5. 대상 디렉토리 생성 및 컨트롤 파일을 spfile 수정한 경로로 생성
6. instance open -> startup
간략히
spfile의 내용 변경 -> instance 종료 -> control file 복사 -> instance open
- 과정
현재 db 상태 확인
SYS>select status from v$instance;
STATUS
------------
OPEN
spfile 인지 pfile 인지 확인
SYS>show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /app/oracle/product/11g/dbs/sp
filetestdb.ora
* pfile 일 경우 다중화하는 방법
현재 spfile을 사용하는 상태 -> pfile 생성 -> spfile 삭제 -> instance 재시작 후 다중화 작업을 함
조회한 컨트롤 파일 위치를 아래 경로로 다중화
/home/oracle/disk4/control01.ctl
/home/oracle/disk5/control01.ctl
/home/oracle/disk6/control01.ctl
SYS>!ls $ORACLE_HOME/dbs
hc_DBUA0.dat hc_testdb.dat init.ora lkTESTDB orapwtestdb spfiletestdb.ora
SYS>create pfile from spfile;
File created.
SYS>!rm -f $ORACLE_HOME/dbs/spfiletestdb.ora
SYS>!ls $ORACLE_HOME/dbs
hc_DBUA0.dat hc_testdb.dat init.ora inittestdb.ora lkTESTDB orapwtestdb
SYS>shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SYS>startup
ORACLE instance started.
Total System Global Area 422670336 bytes
Fixed Size 1344616 bytes
Variable Size 322964376 bytes
Database Buffers 92274688 bytes
Redo Buffers 6086656 bytes
Database mounted.
Database opened.
pfil 확인, 아래 조회내용에서 value 부분에 아무것도 나오지 않으면 pfile
SYS>show parameter pfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string
SYS>select name from v$controlfile;
NAME
----------------------------------------------------------------------
/home/oracle/disk1/control01.ctl
/home/oracle/disk2/control02.ctl
/home/oracle/disk3/control03.ctl
SYS>shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SYS>!vi $ORACLE_HOME/dbs/inittestdb.ora
testdb.__db_cache_size=92274688
testdb.__java_pool_size=4194304
testdb.__large_pool_size=4194304
testdb.__oracle_base='/app/oracle'#ORACLE_BASE set from environment
testdb.__pga_aggregate_target=155189248
testdb.__sga_target=268435456
testdb.__shared_io_pool_size=0
testdb.__shared_pool_size=159383552
testdb.__streams_pool_size=0
*.audit_file_dest='/app/oracle/admin/testdb/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
주석처리 한 부분을 파란색 글씨처럼 원하는 경로로 수정해줌
#*.control_files='/home/oracle/disk1/control01.ctl','/home/oracle/disk2/control02.ctl','/home/oracle/disk3/control03.ctl'
*.control_files='/home/oracle/disk4/control01.ctl','/home/oracle/disk5/control02.ctl','/home/oracle/disk6/control03.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='testdb'
*.db_recovery_file_dest='/home/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4196401152
*.diagnostic_dest='/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=testdbXDB)'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=422576128
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
~
~
~
~
~
~
~
~
~
"/app/oracle/product/11g/dbs/inittestdb.ora" 26L, 950C
:wq!
SYS>!
[oracle@localhost ~]$ cd /home/oracle
[oracle@localhost ~]$ mkdir disk4 disk5 disk6
[oracle@localhost ~]$ cp /home/oracle/disk1/control01.ctl /home/oracle/disk4/control01.ctl
[oracle@localhost ~]$ cp /home/oracle/disk1/control01.ctl /home/oracle/disk5/control02.ctl
[oracle@localhost ~]$ cp /home/oracle/disk1/control01.ctl /home/oracle/disk6/control03.ctl
[oracle@localhost ~]$ exit
exit
SYS>startup
ORACLE instance started.
Total System Global Area 422670336 bytes
Fixed Size 1344616 bytes
Variable Size 322964376 bytes
Database Buffers 92274688 bytes
Redo Buffers 6086656 bytes
Database mounted.
Database opened.
SYS>select name from v$controlfile;
NAME
----------------------------------------------------------------------
/home/oracle/disk4/control01.ctl
/home/oracle/disk5/control02.ctl
/home/oracle/disk6/control03.ctl
pfile을 사용, 컨트롤파일을 다중화 하는 경우는 복사하고 경로를 수정해줘도 전혀 문제가 없지만
spfile일 때, 나머지 과정들은 꼭 순서대로 해야만 한다.
장애 생김
컨트롤 파일에 변경되는 정보가 실시간으로 저장 되기 때문에 가장 최근에 사용한 것만 진짜 컨트롤 파일이고
나머지 컨트롤 파일은 예전파일로 변한다.
이동이나 복사를 할 때, 가장 최근에 사용했던것만 사용해야 한다.
dbms_job / dbms_scheduler (0) | 2014.10.27 |
---|---|
사용자관리 (0) | 2014.10.27 |
oracle의 시작단계 (0) | 2014.10.26 |
3 oracle background processes (0) | 2014.10.24 |
9 메모리 관리 기법 (0) | 2014.10.24 |
1. 오라클의 시작단계
* 사용 중인 파일은 절대로 이동 및 복사를 하면 안된다.(DB깨짐)
단, parameter file 중에 pfile은 예외
* 어떤 작업을 하느냐에 따라 시작되는 단계가 다르다.
원하는 단계까지만 실행 후 db open을 하려면 alter database 라는 명령어를 사용.
반드시 startup-nomount-mount-open 단계를 순서대로 거쳐야 함
예) nomount->open 할 때, mount를 건너뛰고 바로 open 상태로 갈 수 없음
실습1
nomount 단계까지만 시작한 후 나머지 단계 진행하기
SYS>startup nomount;
ORACLE instance started.
Total System Global Area 422670336 bytes
Fixed Size 1344616 bytes
Variable Size 322964376 bytes
Database Buffers 92274688 bytes
Redo Buffers 6086656 bytes
SYS>alter database mount;
Database altered.
SYS>alter database open;
Database altered.
실습2
mount 단계까지만 시작한 후 나머지 단계 진행하기
실습3
읽기 전용인 상태로 open 하기
select 작업만 가능한 상태로 open : 감사 작업과 같이 데이터 변경이 안되고 조회만 가능한 상태임
read only 모드로 open 후에 다시 데이터 변경이 가능하도록 하려면 instance 종료 후 다시 시작하면 됨
SYS>startup mount;
ORACLE instance started.
Total System Global Area 422670336 bytes
Fixed Size 1344616 bytes
Variable Size 322964376 bytes
Database Buffers 92274688 bytes
Redo Buffers 6086656 bytes
Database mounted.
SYS>alter database open read only;
Database altered.
SYS>select status from v$instance; db 현재 상태 조회
STATUS
------------
OPEN
SYS>alter system enable restricted session; 제한된 모드 사용
System altered.
SYS>alter system disable restricted session; 제한된 모드 사용안 함
System altered.
제한된 모드로 open된 instance에 접속하려면 restricted session 라는 권한을 가지고 있어야만 함
사용자관리 (0) | 2014.10.27 |
---|---|
control file 다중화 실습 (0) | 2014.10.26 |
3 oracle background processes (0) | 2014.10.24 |
9 메모리 관리 기법 (0) | 2014.10.24 |
6 redo log 관리하기 (0) | 2014.10.21 |