본문 바로가기

I T./Oracle

Oracle Recovery 복구

오라클 데이타 베이스에 데이타파일, 컨트롤파일, 리두로그파일 들이 어디에 있는지 알아보죠
이 파일들이 꼭 있어야 백업이 가능하고 복구가 가능합니다.
오늘은 이 파일들을 가지고 놀아보겠습니다.
그리고 이 파일들을 가지고 백업을 하는건 다음시간에 하기로 하구요..
데이타 베이스에 데이터파일은
v$datafile, v$datafile_header, dba_data_files
이 값들을 추출해서 볼 수 있습니다..
데이터파일이란 테이블스페이스를 구성하는 파일로 실제로 데이타가 저장되는 곳입니다.
한번 실습해보죠..

일단 오라클이 시동이 안되어있다면 이렇게 시동하세요.

[oracle@crow oracle]$ svrmgrl
Oracle Server Manager Release 3.1.5.0.0 - Production
(c) Copyright 1997, Oracle Corporation.  All Rights Reserved.
Oracle8i Release 8.1.5.0.2 - Production
With the Java option
PL/SQL Release 8.1.5.0.0 - Production
SVRMGR> connect internal
Connected.
SVRMGR> startup
ORACLE instance started.
Total System Global Area                         71998864 bytes
Fixed Size                                          64912 bytes
Variable Size                                    54984704 bytes
Database Buffers                                 16777216 bytes
Redo Buffers                                       172032 bytes
Database mounted.
Database opened.

참고로 오라클 종료 명령어는 shutdown입니다.
이제 값을 추출해 보죠.

 

SVRMGR> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/home/oracle/oradata/ORCL/system01.dbf
/home/oracle/oradata/ORCL/oemrep01.dbf
/home/oracle/oradata/ORCL/rbs01.dbf
/home/oracle/oradata/ORCL/temp01.dbf
/home/oracle/oradata/ORCL/users01.dbf
/home/oracle/oradata/ORCL/indx01.dbf
/home/oracle/oradata/ORCL/drsys01.dbf

7 rows selected. 

 

데이타 파일 위치와 이름들이 보이시죠..  디비를 한번 만들어보신 분들은 그 사용 목적이 뭔지 아실껍니다..
모르시는 분들도 그냥 이런게 있구나만 알고 계십시요.
이 강좌는 오라클 백업과 복구이기 때문에 자세한 설명은
다음에 제가 오라클 디비를 만들어 볼 때 해드리거나 아니면 다른 참고 자료를 읽어보세요..
제가 잘가는 database.sarang.net에 가보시면 오라클뿐만아니라 여러가지 많은 디비들의 자료가 있습니다.
그럼 계속 나가보겠습니다..
데이터파일에 관한 정보는 v$datafile과 v$datafile_header, dba_files 에 있습니다.
또 있던거 같은데 생각이 나질 않네요...^^;
우리는 지금 데이타파일의 위치와 이름만 알면 되니까 이거면 충분합니다.
그리고 컨드롤파일의 위치와 파일 이름은 v$controlfile,
리두로그는 v$logfile, v$log를 통해서 볼 수 있습니다..

 

SVRMGR> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
/home/oracle/oradata/ORCL/control01.ctl
/home/oracle/oradata/ORCL/control02.ctl

2 rows selected. 

 

컨트롤 파일 위치 정보 입니다..
컨트롤 파일은 데이타 화일들의 위치나 Online/Offline 상태, 온라인 로그화일들의 위치와
가장 최근의 system change number 값과 가장최근에 발행한 CheckPoint 시간과
각종 오라클 관련 정보를 저장하는곳입니다.

 

SVRMGR> select * from v$logfile;
GROUP#     STATUS  MEMBER
=======================================================
1                 STALE   /home/oracle/oradata/ORCL/redo01.log <--현재 이것만 사용하고 있습니다..
2                         /home/oracle/oradata/ORCL/redo02.log <--이건 아직 사용대기중입니다..

2 rows selected.

 

로그파일 위치와 파일이름이 출력되었습니다.
리두로그파일은 변화된 모든 데이타를 저장하며 데이타베이스 복구 작업의 경우에만 사용됩니다.
참고로 데이타베이스 대한 정보는 v$database 로 보실 수 있습니다.
그리고 각 v$view 에 대한 필드명을 알고 싶으면,
알고 있겠지만
desc v$database, v$datafile(테이블명); 그럼 첫번째 강좌에 이어 오늘은 테이블스페이스를 만들어 보고, 크기 조정하고, 지우고...
그리고 테이블 스페이스가 지웠졌을 때 복구하는 이런 것들을 해보죠.
아무래도 데이타가 쌓이는 곳이 이곳이다 보니 쪼까 중요하자나요..
일단 오라클을 실행하구요..

 

[oracle@crow oracle]$ svrmgrl
SVRMGR> connect internal
SVRMGR> startup 전 시간에 배운걸 이용해서 테이블 스페이스가 어디있는지 확인하겠습니다.

SVRMGR> select tablespace_name, bytes, file_name from dba_data_files;
TABLESPACE_NAME                BYTES      FILE_NAME                                                  
-------------------------------------------------------------------------------
SYSTEM                              183500800   /home/oracle/oradata/ORCL/system01.dbf         
OEM_REPOSITORY                  5242880   /home/oracle/oradata/ORCL/oemrep01.dbf     
RBS                                     26540032   /home/oracle/oradata/ORCL/rbs01.dbf            
TEMP                                   10485760   /home/oracle/oradata/ORCL/temp01.dbf          
USERS                              2087409664   /home/oracle/oradata/ORCL/users01.dbf      
INDX                                    10485760   /home/oracle/oradata/ORCL/indx01.dbf         
DRSYS                                 83886080   /home/oracle/oradata/ORCL/drsys01.dbf      

7 rows selected.

 

보시는대로 /home/oracle/oradata/ORCL 에 다 있군요..
그러면 test라는 테이블 스페이스를 하나 만들어 보겠습니다.

 

SVRMGR> create tablespace test
     2> datafile '/home/oracle/oradata/ORCL/test_01.dbf'
     3> size 10K;
Statement processed.


SVRMGR> select tablespace_name, bytes, file_name from dba_data_files;
TABLESPACE_NAME                BYTES      FILE_NAME                           
------------------------------ ---------- ------------------------------------------
SYSTEM                            183500800     /home/oracle/oradata/ORCL/system01.dbf    
OEM_REPOSITORY                5242880     /home/oracle/oradata/ORCL/oemrep01.dbf    
RBS                                   26540032     /home/oracle/oradata/ORCL/rbs01.dbf         
TEMP                                 10485760     /home/oracle/oradata/ORCL/temp01.dbf    
USERS                            2087409664     /home/oracle/oradata/ORCL/users01.dbf      
INDX                                  10485760     /home/oracle/oradata/ORCL/indx01.dbf       
DRSYS                               83886080     /home/oracle/oradata/ORCL/drsys01.dbf          
TEST                                      10240     /home/oracle/oradata/ORCL/test_01.dbf<여기보이시죠
8 rows selected.

 

보시는대로 test라는 테이블 스페이스를 만들고요,
/home/oracle/oradata/ORCL/ 에 test_01.dbf라는 이름의 파일을 만들었습니다..
아.. 그리고 크기는 10kbyte 로 만들어놨습니다..
여기서 꼭 /home/oracle/oradata/ORCL/ 에 만들 필요는 없습니다.
전 그저 쉽게 하기 위해 이렇게 하는겁니다..^^
그럼 테이블 스페이스의 크기를 늘려볼까요?

 

SVRMGR> alter tablespace test add datafile '/home//oracle/oradata/ORCL/test_02.dbf' size 30K;
Statement processed.


SVRMGR> !ls -al /home/oracle/oradata/ORCL
total 2363008
drwxr-x--x   2 oracle   dba          4096 Apr 13 06:02 .
drwxr-x--x   3 oracle   dba          4096 Nov 27 05:54 ..
-rw-r-----   1 oracle   dba       4315136 Apr 13 06:03 control01.ctl
-rw-r-----   1 oracle   dba       4315136 Apr 13 06:03 control02.ctl
-rw-r-----   1 oracle   dba      83888128 Apr 13 05:48 drsys01.dbf
-rw-r-----   1 oracle   dba      10487808 Apr 13 05:48 indx01.dbf
-rw-r-----   1 oracle   dba       5244928 Apr 13 05:48 oemrep01.dbf
-rw-r-----   1 oracle   dba      26542080 Apr 13 05:48 rbs01.dbf
-rw-r-----   1 oracle   dba        512512 Apr 13 05:48 redo01.log
-rw-r-----   1 oracle   dba        512512 Apr 13 06:02 redo02.log
-rw-r-----   1 oracle   dba      183502848 Apr 13 05:48 system01.dbf
-rw-r-----   1 oracle   dba      10487808 Apr 13 05:48 temp01.dbf
-rw-r-----   1 oracle   dba         12288 Apr 13 05:53 test_01.dbf <== 첫번째 만든 테이블 스페이스
-rw-r-----   1 oracle   dba         32768 Apr 13 06:02 test_02.dbf <== 크기를 늘린 테이블 스페이스
-rw-r-----   1 oracle   dba      2087411712 Apr 13 05:48 users01.dbf 흠 그럼 데이타 파일 크기를 늘리죠.

 

SVRMGR> !ls -al /home/oracle/oradata/ORCL/test_02.dbf

-rw-r-----   1 oracle   dba     53248 Apr 13 06:05 /home//oracle/oradata/ORCL/test_02.dbf

 

크기가 늘어났군요..
그럼 지워볼까요..

 

SVRMGR> drop tablespace test;
Statement processed.

 

지금은 테이블 스페이스 안에 데이타가 없어서 그냥 이렇게 지워졌지만..
데이타가 들어있다면drop tablespace test including contents; 이렇게 하세요..
그럼 어디 데이타 파일도 지워졌나 보죠.

 

SVRMGR> !ls -al /home//oracle/oradata/ORCL/
total 2363032
drwxr-x--x   2 oracle   dba          4096 Apr 13 06:02 .
drwxr-x--x   3 oracle   dba          4096 Nov 27 05:54 ..
-rw-r-----   1 oracle   dba       4315136 Apr 13 06:11 control01.ctl
-rw-r-----   1 oracle   dba       4315136 Apr 13 06:11 control02.ctl
-rw-r-----   1 oracle   dba      83888128 Apr 13 05:48 drsys01.dbf
-rw-r-----   1 oracle   dba      10487808 Apr 13 05:48 indx01.dbf
-rw-r-----   1 oracle   dba       5244928 Apr 13 05:48 oemrep01.dbf
-rw-r-----   1 oracle   dba      26542080 Apr 13 05:48 rbs01.dbf
-rw-r-----   1 oracle   dba        512512 Apr 13 05:48 redo01.log
-rw-r-----   1 oracle   dba        512512 Apr 13 06:08 redo02.log
-rw-r-----   1 oracle   dba      183502848 Apr 13 05:48 system01.dbf
-rw-r-----   1 oracle   dba      10487808 Apr 13 05:48 temp01.dbf
-rw-r-----   1 oracle   dba         12288 Apr 13 06:08 test_01.dbf <==
-rw-r-----   1 oracle   dba         53248 Apr 13 06:08 test_02.dbf <==데이타파일은 이렇게 2개 살아있죠
-rw-r-----   1 oracle   dba      2087411712 Apr 13 05:48 users01.dbf 이 데이타 파일을 지워보겠습니다..

 

SVRMGR> !rm -f /home//oracle/oradata/ORCL/test_*

SVRMGR> !ls -al /home//oracle/oradata/ORCL/
total 2362964
drwxr-x--x   2 oracle   dba          4096 Apr 13 06:12 .
drwxr-x--x   3 oracle   dba          4096 Nov 27 05:54 ..
-rw-r-----   1 oracle   dba       4315136 Apr 13 06:12 control01.ctl
-rw-r-----   1 oracle   dba       4315136 Apr 13 06:12 control02.ctl
-rw-r-----   1 oracle   dba      83888128 Apr 13 05:48 drsys01.dbf
-rw-r-----   1 oracle   dba      10487808 Apr 13 05:48 indx01.dbf
-rw-r-----   1 oracle   dba       5244928 Apr 13 05:48 oemrep01.dbf
-rw-r-----   1 oracle   dba      26542080 Apr 13 05:48 rbs01.dbf
-rw-r-----   1 oracle   dba        512512 Apr 13 05:48 redo01.log
-rw-r-----   1 oracle   dba        512512 Apr 13 06:08 redo02.log
-rw-r-----   1 oracle   dba      183502848 Apr 13 05:48 system01.dbf
-rw-r-----   1 oracle   dba      10487808 Apr 13 05:48 temp01.dbf
-rw-r-----   1 oracle   dba      2087411712 Apr 13 05:48 users01.dbf 자 이렇게 해서 지워졌습니다..

 

SVRMGR> shutdown immediate;


SVRMGR> exit 데이타 베이스를 종료하고 나왔습니다..


지금까지 테이블스페이스를 만들어보고, 조정하고, 지워봤습니다.
자, 이제 temp 라는 테이블 스페이스를 유실시킨 후 복구 실습을 한번 해보겠습니다.
역시 오라클을 시동하시구요,

 

[oracle@crow oracle]$ svrmgrl
SVRMGR> connect internal
SVRMGR> startup 그럼 먼저 temp 테이블 스페이스의 크기와 경로를 알아보구요

 

SVRMGR> select tablespace_name, bytes, file_name from dba_data_files;


TABLESPACE_NAME                BYTES    FILE_NAME                                                            
------------------------------ ----------ㅡ------------------------------------------------
SYSTEM                            183500800     /home/oracle/oradata/ORCL/system01.dbf                
OEM_REPOSITORY                5242880     /home/oracle/oradata/ORCL/oemrep01.dbf              
RBS                                   26540032     /home/oracle/oradata/ORCL/rbs01.dbf 
--------------------------------------------------------------------------------         
TEMP                                 10485760     /home/oracle/oradata/ORCL/temp01.dbf<==여기 보이시죠
--------------------------------------------------------------------------------
USERS                            2087409664    /home/oracle/oradata/ORCL/users01.dbf                    
INDX                                  10485760    /home/oracle/oradata/ORCL/indx01.dbf                       
DRSYS                               83886080   /home/oracle/oradata/ORCL/drsys01.dbf                     
7 rows selected. 경로는 아까 본 거기이고 크기는 1M 네요.

 

SVRMGR> shutdown abort  <== failure가 되었다고 가정하는 것입니다.
ORACLE instance shut down.
SVRMGR> exit
Server Manager complete.


[oracle@crow ORCL]$ ls
control01.ctl  drsys01.dbf    oemrep01.dbf   redo01.log     system01.dbf   users01.dbf
control02.ctl  indx01.dbf     rbs01.dbf      redo02.log     temp01.dbf


[oracle@crow ORCL]$ mv temp01.dbf temp01.org <== rm으로 지워도 되지만 일부러 이름을 바꿨습니다.


사실 temp라는 테이블스페이스는 없으면 안되는 테이블스페이스거든요..^^
어쨌든 현재 temp01.dbf라는 파일이 유실되었다는 가정은 되었습니다..

[oracle@crow ORCL]$ svrmgrl


SVRMGR> connect internal
Connected.


SVRMGR> startup mount; <==마운트까지만 스타트하고요

 

SVRMGR> alter database open;
alter database open
*
ORA-01157: cannot identify/lock data file 4 - see DBWR trace file
ORA-01110: data file 4: '/home/oracle/oradata/ORCL/temp01.dbf'
==============파일유실이 발생했습니다.============

 

SVRMGR> alter database datafile '/home/oracle/oradata/ORCL/temp01.dbf' offline drop;
Statement processed. 위처럼 파일을 지우고요.


아래처럼

SVRMGR> alter database open;
Statement processed. 이렇게 데이타베이스를 open 합니다


그리고 나서

SVRMGR> drop tablespace temp including contents;
Statement processed. 이렇게 temp 스페이스를 지웁니다..


그런다음 아래와 같이SVRMGR> create tablespace temp datafile '/home/oracle/oradata/ORCL/temp01.dbf' size 1M;
Statement processed. 아까 경로 와 크기를 알아둔 거 있자나요. 그걸 그대로 이용해서 하나 다시 만들어줍니다..그럼 끝..


이제 오라클을 종료하고요..

 

SVRMGR> shutdown immediate

 

스타트업을 합니다..

 

SVRMGR> startup
ORACLE instance started.
Total System Global Area                         71998864 bytes
Fixed Size                                          64912 bytes
Variable Size                                    54984704 bytes
Database Buffers                                 16777216 bytes
Redo Buffers                                       172032 bytes
Database mounted.
Database opened. 잘 실행되네요..


다시 종료시키죠..

SVRMGR> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.


SVRMGR> exit
Server Manager complete. 파일이 복구되어있는지 ls로 확인해 보면.. [oracle@crow ORCL]$ ls
control01.ctl  drsys01.dbf    oemrep01.dbf   redo01.log     system01.dbf   temp01.org
control02.ctl  indx01.dbf     rbs01.dbf      redo02.log     temp01.dbf     users01.dbf
[oracle@crow ORCL]$ rm -f temp01.org <== 테스트가 끝났으므로 이젠 필요없는 파일을 지웁니다..

 

이렇게 테스트가 끝났습니다.  테이블스페이스 유실이었을때 이렇게 하면 됩니다..
그런데 여기서 중요한 건 경로와 크기를 잘 알아야 한다는 것이겠죠..  이걸 어떻게 기억하낭^^
오늘은 아카이브모드와 no아카이브모드에 대해서 쓰겠습니다..


--아카이브모드--
데이타베이스가 아카이브모드에서 오픈되어있는 경우에는
온라인 백업이 가능한 상태이구요 따라서 문제 발생시 처리중인 트랜잭션 중 COMMIT된
부분들은 전부 복구 가능합니다..


--노아카이브모드---
데이타베이스에 문제가 발생해서 복구해야 할 때에는 처리중이거나 데이타베이스를 close 한
상태에서 완전 백업을 수행한 이후에는 처리한 트랙잭션들을 복구할 수 없습니다..
다시 말해 백업한 것만 가능하다는겁니다..
그리고 온라인에서는 복구가 불가능합니다..
그럼 일단 어떤 아카이브모드인지 를 알아보져..


SVRMGR> select log_mode from sys.v$database;
LOG_MODE
------------
NOARCHIVELOG
1 row selected.


보시는데로 현재 no아카이브모드입니다..
그럼 노아카이브모드를 아카이브모드로 만들어보겠습니다..

SVRMGR> shutdown <--오라클 종료하구요
Database closed.
Database dismounted.
ORACLE instance shut down.


SVRMGR>startup mount <--오라클을 마운트까지만 시동합니다..
ORACLE instance started.


Total System Global Area                         71998864 bytes
Fixed Size                                          64912 bytes
Variable Size                                    54984704 bytes
Database Buffers                                 16777216 bytes
Redo Buffers                                       172032 bytes
Database mounted.


SVRMGR>  alter database archivelog; 아카이브모드로 변경합니다.
Statement processed.


SVRMGR> alter database open; <--오라클을 오픈합니다
Statement processed.


SVRMGR>  select log_mode from sys.v$database;
LOG_MODE
------------
ARCHIVELOG
1 row selected.


쉽죠 이게 다가 아니랍니다. 이렇게 쉬우면 아무나 오라클 하게요..^^


그럼 다시 no아카이브로 원상복귀시키구요..


SVRMGR> shutdown
Database closed.
Database dismounted.
ORACLE instance shut down.


SVRMGR> startup mount
ORACLE instance started.
Total System Global Area                         71998864 bytes
Fixed Size                                          64912 bytes
Variable Size                                    54984704 bytes
Database Buffers                                 16777216 bytes
Redo Buffers                                       172032 bytes
Database mounted.


SVRMGR> alter database noarchivelog; 
Statement processed.


SVRMGR> alter database open
     2> ;
Statement processed.


SVRMGR> select log_mode from sys.v$database;
LOG_MODE   
------------
NOARCHIVELOG
1 row selected.


그럼 다시 archive directory 가 user 의 home 에 존재하는지 확인하고 없다면 만듭니다.


그리고 일단 파라미터 파일을 확인하세요..


show parameter archive 하면 하나도 없을겁니다..


shutdown immediate 라고 하고 나오세요.
exit


vi $ORACLE_HOME/dbs/init.ora 을 엽니다..
$ORACLE_HOME <--오라클이 설치되어있는 곳입니다..
그리고,


# log_archive_start = true     
# log_archive_dest = disk$rdbms:[oracle.archive]
# log_archive_format = "T%TS%S.ARC"


이부분을 찾아서 #을 지워주세요 그리고 저장하고 종료하구요..


아까 했던데로


SVRMGR> connect internal
Connected.


SVRMGR> startup mount
ORACLE instance started.


Total System Global Area                         71998864 bytes
Fixed Size                                          64912 bytes
Variable Size                                    54984704 bytes
Database Buffers                                 16777216 bytes
Redo Buffers                                       172032 bytes
Database mounted.


SVRMGR> alter database archivelog;
Statement processed.
SVRMGR> alter database open;
Statement processed.


SVRMGR> !ps -aux | grep ora


oracle    2183  0.0  0.8  1792  1032  ?  S   07:13   0:00 -bash
oracle    2272  1.4  4.8  7692  6256  ?  S   07:25   0:00 svrmgrl
oracle    2273  2.5  9.5 115112 12228  ?  S   07:25   0:01 oracleORCL (DESCRIPTI
oracle    2275  0.1  4.4 114940  5692  ?  S   07:25   0:00 ora_pmon_ORCL
oracle    2277  0.1  4.5 114920  5840  ?  S   07:25   0:00 ora_dbw0_ORCL
oracle    2279  0.1  4.2 114404  5492  ?  S   07:25   0:00 ora_lgwr_ORCL
oracle    2281  0.1  4.0 114384  5196  ?  S   07:25   0:00 ora_ckpt_ORCL
oracle    2283  3.7  9.6 114424 12360  ?  S   07:25   0:01 ora_smon_ORCL
oracle    2285  0.1  3.9 114348  5004  ?  S   07:25   0:00 ora_reco_ORCL
oracle    2287  0.2  3.7 114324  4764  ?  S   07:25   0:00 ora_s000_ORCL
oracle    2289  0.1  3.9 114448  5000  ?  S   07:25   0:00 ora_d000_ORCL
oracle    2290  0.0  0.6  1704   816  ?  S   07:26   0:00 /bin/bash -c ps -aux
oracle    2291  0.0  0.3   944   424  ?  R   07:26   0:00 ps -aux
oracle    2292  0.0  0.4  2364   512  ?  S   07:26   0:00 grep ora
root      2182  0.0  0.8  2232  1116  ?  S   07:13   0:00 login – oracle    

SVRMGR> alter system switch logfile;
Statement processed.


SVRMGR> show parameter archive; <---파라미터 화일을 확인해보세요..


NAME                                TYPE    VALUE
----------------------------------- ------- ------------------------------
log_archive_dest                    string                               
log_archive_dest_1                  string                               
log_archive_dest_2                  string                               
log_archive_dest_3                  string                               
log_archive_dest_4                  string                               
log_archive_dest_5                  string                               
log_archive_dest_state_1            string  enable                       
log_archive_dest_state_2            string  enable                       
log_archive_dest_state_3            string  enable                       
log_archive_dest_state_4            string  enable                       
log_archive_dest_state_5            string  enable                       
log_archive_duplex_dest             string                               
log_archive_format                  string  %t_%s.dbf                    
log_archive_max_processes           integer 1                            
log_archive_min_succeed_dest        integer 1                            
log_archive_start                   boolean FALSE                        
standby_archive_dest                string  ?/dbs/arch

                  
SVRMGR>  select name, value from v$parameter
     2> where name like 'log_archive%';


NAME                                                             VALUE                     
---------------------------------------------------------------- -----------------
log_archive_start                                                FALSE                  
log_archive_dest                                                                              
log_archive_duplex_dest                                           
log_archive_dest_1                                                     
log_archive_dest_2                                                           
log_archive_dest_3                                                            
log_archive_dest_4                                                               
log_archive_dest_5                                                       
log_archive_dest_state_1                                         enable             
log_archive_dest_state_2                                         enable            
log_archive_dest_state_3                                         enable           
log_archive_dest_state_4                                         enable               
log_archive_dest_state_5                                         enable             
log_archive_max_processes                                        1                     
log_archive_min_succeed_dest                                     1               
log_archive_format                                               %t_%s.dbf                
16 rows selected.


자 이렇게 해서 아카이브모드 로 변경되었습니다..
부족한 설명이 많이 있습니다..
다른 책이나 database.sarang.net에 가보시면 좋을 듯하네요..

'I T. > Oracle' 카테고리의 다른 글

ORacle REDO/UNDO  (0) 2009.12.11
Oracle Tablespace  (0) 2009.12.11
ORacle Index 선정방법  (0) 2009.12.11
Oracle Backup  (0) 2009.12.10
Oracle 권한  (0) 2009.12.10
오라클 정리 From 송~  (0) 2009.12.10