Microsoft Word - Goodus_기술노트[19회]_Flashback
|
|
- 승남 장
- 7 years ago
- Views:
Transcription
1 Goodus 기술노트 [19 회 ] Flashback Author 권웅원, 나지혜 Creation Date Last Updated Version 1.0 Copyright(C) 2004 Goodus Inc. All Rights Reserved Version 변경일자 변경자 ( 작성자 ) 주요내용 권웅원, 나지혜 문서최초작성 2 3
2 Flashback Contents 1. Flashback Flashback이란? Flashback(9i) Flashback Overview 예제 1 (AS OF SCN) 예제 2 (AS OF TIMESTAMP) 예제 3 (Package, SCN / timestamp) Flashback(10g) Flashback Database Flashback Drop Flashback Versions Query Flashback Query Flashback transaction query Flashback Table Flashback Use Case
3 1. Flashback 1.1. Flashback 이란? Flashback 사용자실수에의한손상된데이터를 Database 의크기와상관없이복구를할수있는기능이다. 이 Flashback 기능은일반적인복구에서우려되는데이터베이스의크기를걱정하지않아도된다. 보통의사용자실수는커다란시스템장애가수반되며, 이를복구하기위해서는많은자원과시간이필요하다. 하지만 9i 에서지원되는 flashback query 와 10g 에서지원하는다양한 flashback 을통하여손쉽게사용자실수를손쉽게복구한다. Oracle 9i 부터는 AUM 환경하에서 Flashback 기능을이용하여잘못된 DML operation 으로인한복구를쉽게할수있다. 물론이전까지했던방법인 Point in Time Recovery 또한유효하다. 9i : Flashback query 10g : Flashback Database Flashback Drop Flashback Version Query Flashback Transaction Query Flashback Table Oracle Flashback Feature 는 10g Standard Edition 에서는지원하지않는다. Note : 여기서한가지짚고넘어갈점은 Flashback table, Flashback Database, Flashback Drop, Flashback Version Query, Flashback Transaction Query 는아래의표와같이각기다른영역을사용한다는점이다. Flashback Technologies Flashback Operation Flashback Database Flashback Drop Flashback Version Query Flashback Transaction Query Flashback Table Implementation Flashback logs + Redo logs Recycle bin Undo Undo Undo 1.2. Flashback(9i) Flashback Overview - Oracle 9i New features - Flashback 은사용자가 Database 의과거시점의 Consistent view 를볼수있게해준다. - 사용자들은 System time or SCN 를기초로 Read-only view 를생성할수있다. - 그시점의 Transaction committed 부분만볼수있다. - Self-service repair 를가능하게해준다. - DDL 은지원하지않는다. - Flashback 은 AUM (Automate Undo Management) 사용시만가능하다. - Undo 정보는 System level 의 Undo retention 기간동안만유지한다. - Flashback 은 Session level 에서 Enabled 할수있다. - Flashback 기능을 disable 하기전에 open 된 PL/SQL cursor 를이용하면 disable 시킨후에는 DML 를통해서 self-service repair 를할수있다. Undo Retention 지정 SQL> connect /as sysdba SQL> alter system set undo_retention = <seconds> ; 이 parameter 은 dynamic 하게변경이가능하며 initsid.ora 에지정할수있다. undo_retention 은각 Site 별로업무성격및 Undo Size 에따라서적절하게산정해서명시해준다. 또한 undo_management=auto 인지확인한다. 권한부여 - 3 -
4 SQL> grant execute on dbms_flashback to scott; 예제 1 (AS OF SCN) Flashback SCOTT session 에서 SYSTEMSTAMP 를이용하여현재시간을조회하시오. SQL> conn soctt/tiger Connected. SQL> select systimestamp from dual; SYSTIMESTAMP AUG AM -07:00 SQL> conn /as sysdba Connected. SQL> grant execute on dbms_flashback to scott; Grant succeeded. SQL> conn scott/tiger Connected. SQL> select dbms_flashback.get_system_change_number() from dual; DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER() SCOTT 소유의 Table 에서부서번호가 20 인부서원, 부서정보를모두삭제, Commit 하시오. SQL> delete from emp where deptno=20; 5 rows deleted. SQL> commit; Commit complete. 삭제된 Data 가잘못삭제된것을알게되었다. 삭제된 Data 를다시되살리고자한다. 5 분후에 SQL>!date Sun Aug 7 07:40:59 PDT 2005 SQL> select * from emp where deptno=20; no rows selected SQL> select * from emp as of scn where deptno=20; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SMITH CLERK DEC JONES MANAGER APR SCOTT ANALYST DEC ADAMS CLERK JAN FORD ANALYST DEC SQL> insert into emp 2 select * from emp as of scn where deptno=20; 5 rows created
5 SQL> commit; Flashback Commit complete. SQL> select * from emp 2 where deptno=20; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SMITH CLERK DEC JONES MANAGER APR SCOTT ANALYST DEC ADAMS CLERK JAN FORD ANALYST DEC 예제 2 (AS OF TIMESTAMP) HR_TEST01 session 에서 SYSTEMSTAMP 를이용하여현재시간을조회하시오. SQL> show user USER is "HR_TEST1" SQL> select systimestamp from dual; SYSTIMESTAMP AUG AM -05:00 SQL> delete emp_test1 where department_id=20; 2 rows deleted. SQL> commit; Commit complete. SQL> select employee_id from emp_test1 2 where department_id=20; no rows selected 삭제된 Data 가잘못삭제된것을알게되었다. 삭제된 Data 를다시되살리고자한다. 5 분후에 SQL> select employee_id 2 from emp_test1 as of timestamp(to_timestamp('02-aug-05:03:09:52', 'DD-MON-YY:HH24:MI:SS')) 3* where department_id=20; EMPLOYEE_ID SQL> select employee_id 2 from emp_test1 3 where department_id=20; no rows selected SQL> insert into emp_test1 2 select * from emp_test1 as of timestamp(to_timestamp('02-aug-05:03:09:52', 'DD-MON-YY:HH24:MI:SS')) 3 where department_id=20; 2 rows created. SQL> commit; - 5 -
6 Commit complete. Flashback SQL> select employee_id 2 from emp_test1 3* where department_id=20; EMPLOYEE_ID 예제 3 (Package, SCN / timestamp) HR_TEST01 session 에서 SYSTEMSTAMP 를이용하여현재시간을조회하시오. SQL> show user USER is "HR_TEST1" SQL> select systimestamp from dual; SYSTIMESTAMP AUG AM -05:00 SQL> conn /as sysdba Connected. SQL> select dbms_flashback.get_system_change_number() from dual; DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER() SQL> conn hr_test1/oracle Connected. SQL> delete from emp_test1 2 where department_id=20; 2 rows deleted. SQL> delete from dept_test1 2 where department_id=20; 1 row deleted. SQL> commit; Commit complete. 삭제된 Data 가잘못삭제된것을알게되었다. 삭제된 Data 를다시되살리고자한다. 5 분후에 SQL> conn /as sysdba SQL> grant execute on dbms_flashback to hr_test1; Grant succeeded. SQL> conn hr_test01/oracle SQL> begin dbms_flashback.enable_at_system_change_number(107270); end; / - 6 -
7 PL/SQL procedure successfully completed. Flashback SQL> select employee_id from emp_test1 where department_id=20; EMPLOYEE_ID SQL> select * from dept_test1 where department_id=20; DEPARTMENT_ID DEPARTMENT_NAME MANAGER_ID LOCATION_ID Marketing SQL> begin dbms_flashback.disable; end; / PL/SQL procedure successfully completed. SQL> declare cursor emp_curs is select * from emp_test1 where department_id = 20; cursor dept_curs is select * from dept_test1 where department_id = 20; emp_rec emp_curs%rowtype; dept_rec dept_curs%rowtype; begin dbms_flashback.enable_at_system_change_number(107270); -- dbms_flashback.enable_at_time(to_timestamp( 02-AUG-05:03.31:21, DD-MON-YY:HH24:MI:SS )); open emp_curs; open dept_curs; dbms_flashback.disable; loop fetch dept_curs into dept_rec; exit when dept_curs%notfound; insert into dept_test1 values(dept_rec.department_id, dept_rec.department_name, dept_rec.manager_id, dept_rec.location_id); end loop; loop fetch emp_curs into emp_rec; exit when emp_curs%notfound; insert into emp_test1 values(emp_rec.employee_id, emp_rec.first_name,emp_rec.last_name, emp_rec. , emp_rec.phone_number,emp_rec.hire_date, emp_rec.job_id, emp_rec.salary, emp_rec.commission_pct, emp_rec.manager_id, emp_rec.department_id); end loop; end; / PL/SQL procedure successfully completed. 또는, 위내용을 Procedure 를생성해서복구할수도있다.(flash.sql) - 7 -
8 Flashback create or replace procedure exam_flash as cursor tmp_curs is select * from emp where deptno = 20; emp_rec tmp_curs%rowtype; begin end; / dbms_flashback.enable_at_time('03/08/21 10:47:32 '); open tmp_curs; dbms_flashback.disable; loop fetch tmp_curs into emp_rec; exit when tmp_curs%notfound; insert into emp values ( emp_rec.empno, emp_rec.ename, emp_rec.job, emp_rec.mgr,emp_rec.hiredate, emp_rec.sal, emp_rec.comm, emp_rec.deptno ); end loop; Flashback 을이용해과거데이터복구 /* exam_flash procedure 생성 */ SQL> exec exam_flash SQL> select employee_id from emp_test1 where department_id = 20; EMPLOYEE_ID SQL> select * from dept_test1 where department_id=20; DEPARTMENT_ID DEPARTMENT_NAME MANAGER_ID LOCATION_ID Marketing SQL> commit; Commit complete Flashback(10g) Flashback Database Flashback Database 개요 Oracle Database 10g 이전까지는 transactional point-in-time recovery 를위해서는 backup 용 file 과 redo log file 을이용하여원하는시간까지의복구를하였었다. 그러나이방법은 backup 용 file 이오래된것이며, archive log 가많이쌓여있을때는많은시간이소요된다. Oracle Database 10g 부터는 flashback database 를이용하여좀더빠른 recovery 가가능하게되었다. Flashback Database 는오라클데이터베이스를과거시점으로되돌리고, 논리적인데이터손상또는사용자실수로인해발생한문제를해결할수있게한다. Flashback Database 는데이터베이스를위한 ' 되감기버튼 ' 과도같다. 데이터베이스백업본을이용하여복구작업을수행하지않고도데이터베이스를과거의시점으로되돌릴수있다. 포인트 - 인 - 타임복구작업에는테이프에저장된데이터베이스백업을복구하는시간이불필요하므로, 한층신속한 - 8 -
9 복구가가능하다. Flashback Flashback Database 기능은 RMAN, SQL*Plus 에서 FLASHBACK DATABASE 커맨드를이용하여실행되며, 그효과면에서일반적인포인트 - 인 - 타임복구방식과매우유사하다. 이기능을이용하면과거특정시점으로데이터베이스의상태를되돌릴수있다. Flashback Database 기능을활성화하려면, 먼저 Flash Recovery Area 를설정해야한다. Flash Recovery Area 는 Oracle Database 10g 에추가된새로운기능으로, 오라클데이터베이스복구관련파일및작업을위한통합적인저장공간으로활용된다. 복구영역에는 Flash Database 로그이외에도아카이브리두로그, RMAN 백업등이저장된다. 오라클은 Flash Recovery Area 내에 Flashback Log 를자동생성 / 관리한다. Flash Recovery Area 에는쿼타 (quota) 가설정되며, 따라서 Flashback Log 에는공간제한이적용된다. Flashback Log 의사이즈는로그저장기간동안의데이터베이스변경과정에서발생한읽기 / 쓰기작업량에따라크게달라진다. 오래된블록버전의복사본은 Flashback Log 에기록된다. 하루동안 10% 의데이터베이스블록이업데이트되었다면, 24 시간동안의 Flashback Log 사이즈는전체데이터베이스용량의 10 분의 1 수준이될것이다. 데이터베이스를과거시점으로복구하는과정에서더많은디스크공간이필요한경우, DBA 는디스크쿼타를다이내믹하게확장할수있다. Flashback database 의사용용도는 logical data corruption 이나 user error 시유용하다. (Physical data corruption 은 H/W 문제이기때문에 Flashback database 로 recovery 는불가능하다.) Flashback Database 의장점은기존의 traditional point-in-time recovery 에비해매우빠른 recovery 가가능하다는것이다. 이러한빠른성능을낼수있는이유는 flashback database 는 database 의크기에비례해서 recovery 시간이늘어나는것이아니라, 변경된 data 의양에비례해서 recovery 시간이걸린다는점이다. 위의그림, 앞의설명과같이 Flashback Database 는매우빠른시간의 recovery 를가능하게한다. Flashback Database 를수행하기위한 3 가지구성요소 1. Archive Mode Flashback Database 기능을적용하기위해서는 Archive Mode 로설정하여야한다. 2. Flashback Log File Flashback Log File 은오라클 Database 를구성하는 Block( 변경되기이전의이미지 Block) 을저장하는로그파일로서 10g 에서새롭게소개되고있는데이터베이스복구영역 (database recovery area) 에생성되어진다. 기존의 redo log 와의차이점 - redo log 의경우에는 archive 할수있는기능이함께제공되었지만, Flashback Log 는 archive 기능이따로제공될필요가없다.(db_recovery_file_dest, db_recovery_file_dest_size) - Flashback Log 의경우에는물리적인 database 복구에는사용될수없다는점이다. 3. RVWR Background Process Flashback Database 기능이활성화되어지면, rvwr 이라는 background process 가시작된다
10 Flashback 역할 : Flashback Database Data 를 Flashback Log 에기록 Flashback Database 테스트 Database 에 Flashback 기능이 ON 되어있는지확인한다. SQL> select FLASHBACK_ON from v$database; FLASHBACK_ON NO SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area bytes Fixed Size bytes Variable Size bytes Database Buffers bytes Redo Buffers bytes Database mounted. SQL> alter database flashback on; Database altered. SQL> select FLASHBACK_ON from v$database; FLASHBACK_ON YES SQL> alter database open; Database altered. Test Case 생성 SQL> conn scott/tiger Connected. SQL> create table flash as select * from user_objects; Table created. SQL> select count(*) from flash; COUNT(*) SQL> select current_scn from v$database; CURRENT_SCN
11 SQL> truncate table flash; Flashback Table truncated. SQL> select current_scn from v$database; CURRENT_SCN SQL> select count(*) from flash; COUNT(*) Flashback Database 를위해 Instance 를종료시킨다. SQL> conn /as sysdba Connected. SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. Flashback Database 를위해 Instance 를 Mount 시킨다. SQL> startup mount ORACLE instance started. Total System Global Area bytes Fixed Size bytes Variable Size bytes Database Buffers bytes Redo Buffers bytes Database mounted. 원하는시점으로되돌아가기위해조금전에기록했던 SCN 으로 Flash Back 한다. SQL> flashback database to scn ; Flashback complete. alter_<sid>.log Incomplete Recovery applied until change Flashback Media Recovery Complete Completed: flashback database to scn Database 를 read only 로 open 하여 Data 를확인후에, Resetlogs 로 Open 하여 truncate 전의데이터를복구한다. SQL> alter database open; alter database open * ERROR at line 1: ORA-01589: must use RESETLOGS or NORESETLOGS option for database open SQL> alter database open read only; Database altered. SQL> select count(*) from scott.flash;
12 Flashback COUNT(*) SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount; ORACLE instance started. Total System Global Area bytes Fixed Size bytes Variable Size bytes Database Buffers bytes Redo Buffers bytes Database mounted. SQL> alter database open resetlogs; Database altered. SQL> select count(*) from scott.flash; COUNT(*) 관련 view V$FLASHBACK_DATABASE_LOG; V$FLASHBACK_DATABASE_STAT; Flashback Drop 사용자와 DBA 모두에게있어실수로오브젝트를드롭 (drop) 처리하는경우는흔하게발생한다. 사용자들이실수를깨달았을때에는이미때가늦다. 과거에는이렇게드롭처리된테이블, 인덱스, 제약조건, 트리거등을쉽게복구할수있는방법이없었다. Flashback Drop 은 Oracle Database 10g 환경의오브젝트드롭작업을위한안전망을제공한다. 사용자가테이블을드롭하면, 오라클은드롭된오브젝트를 Recyble Bin 에보관한다. 10g 에서 DROP TABLE 을하게되면기본적으로실제그것을 DROP 하는것보다 RECYCLE BIN 에이동시키거나이름을바꾸게된다. Drop 된 Table 을복구한다. Drop table 이완전 drop 되지않고, window 의휴지통과같은 recyclebin 에보관된다. 이 drop 된 table 은완전삭제를위해서는 purge 작업이필요하며, space 가부족한경우에는자동 reuse 된다. Drop 되어 recyclebin 에있는 bin$xxxxxx table 에대한직접조회도가능함. 관련 view - dba_recyclebin, user_recyclebin 관련 parameter _recyclebin = FALSE : recyclebin 기능을사용하지않는경우 False 로지정 제약사항 : table 이 system tablespace 에있는 object 는복구불가. locally managed tablespace 에위치해있는 table 만복구가능. Table 이복구되면그 table 의 index, trigger 등의연관된 object 도함께복구된다. (bitmap join index 제외 ) Partioned index-organized table 은 recycle bin 에의해보호받지못한다. recycle bin 은참조무결성을보장하지않는다. 예제 1 1) Table 을 drop 하기 ( 장애만들기 )
13 SQL> select * from tab; Flashback TNAME TABTYPE CLUSTERID EMP TABLE DEPT TABLE BONUS TABLE SALGRADE TABLE DUMMY TABLE SQL> drop table emp; Table dropped. SQL> select * from tab; TNAME TABTYPE CLUSTERID BIN$Lr5d8GB+sLbgQz36Y8Owtg==$0 TABLE DEPT TABLE BONUS TABLE SALGRADE TABLE DUMMY TABLE Recycle Bin 보기 SQL> select object_name, original_name, type, DROPTIME, can_undrop from user_recyclebin 2 order by droptime; OBJECT_NAME ORIGINAL_NAME TYPE DROPTIME CAN BIN$LumGwpeDSHHgRAAQgzW92A==$0 EMP TABLE :15:01:08 YES 2) Drop 된 Table 복구하기 1 SQL> flashback table emp to before drop; Flashback complete. SQL> select object_name, original_name, type from user_recyclebin; no rows selected SQL> select table_name from user_tables; TABLE_NAME DUMMY SALGRADE BONUS DEPT EMP 3) Drop 된 table 복구하기 2 ( 동일이름의 table 이이미있는경우, 다른이름으로복구하기 ) SQL> flashback table scott.emp to before drop rename to dropped_emp; Drop된 table 완전삭제하기 SQL> drop table scott.emp purge; SQL> purge recyclebin; or SQL> purge dba_recyclebin; or -- drop 시바로 purge 하는경우
14 SQL> purge table scott.emp 아래는몇가지 PURGE 옵션의예입니다. PURGE TABLE tablename; PURGE INDEX indexname; PURGE TABLESPACE ts_name; PURGE TABLESPACE ts_name USER username; PURGE RECYCLEBIN; PURGE DBA_RECYCLEBIN; Flashback Specific table Specific index All tables in a specific tablespace All tables in a specific tablespace for a specific user The current users entire recycle bin The whole recycle bin 예제 2 휴지통 (recyclebin) 에같은이름의 table 이여러개있을때 PURGE and FLASHBACK TO BEFORE DROP 방법 같은이름을가지는 table 이휴지통 (recyclebin) 에하나이상있을경우다루는방법입니다. table 을 PURGE 하는경우가장오래된 table 이휴지통에서 PURGE 되고 table 을 restore(flashback BEFORE DROP) 하는경우가장최근의 table 이저장됩니다. Example ======== 5 개의 table 을생성하고 drop 하자.. $ sqlplus scott/tiger SQL> CREATE TABLE t1(a NUMBER); SQL> DROP TABLE t1; SQL> CREATE TABLE t1(a varchar2(10)); SQL> DROP TABLE t1; SQL> CREATE TABLE t1(a date); SQL> DROP TABLE t1; SQL> CREATE TABLE t1(a varchar2(5)); SQL> DROP TABLE t1; SQL> CREATE TABLE t1(a number); SQL> DROP TABLE t1; SQL> SELECT object_name,original_name,droptime,dropscn FROM recyclebin; OBJECT_NAME ORIGINAL_NAME DROPTIME DROPSCN BIN$14s6rPqoHQngMEWYESkRng==$0 T :17:40: BIN$14s6rPqmHQngMEWYESkRng==$0 T :17:40: BIN$14s6rPqnHQngMEWYESkRng==$0 T :17:40: BIN$14s6rPqpHQngMEWYESkRng==$0 T :17:40: BIN$14s6rPqqHQngMEWYESkRng==$0 T :17:40: 만일 table t1 을 purge 한다면 dropscn= 가 purge 될것이다. SQL> PURGE TABLE t1; Table purged. SQL> SELECT object_name,original_name,droptime,dropscn FROM recyclebin; OBJECT_NAME ORIGINAL_NAME DROPTIME DROPSCN BIN$14s6rPqoHQngMEWYESkRng==$0 T :17:40: BIN$14s6rPqnHQngMEWYESkRng==$0 T :17:40: BIN$14s6rPqpHQngMEWYESkRng==$0 T :17:40: BIN$14s6rPqqHQngMEWYESkRng==$0 T :17:40: 만일 table t1 을 restore 한다면 dropscn= 이 restore 할것이다
15 Flashback SQL> FLASHBACK TABLE t1 TO BEFORE DROP ; Flashback complete. SQL> SELECT object_name,original_name,droptime,dropscn FROM recyclebin; OBJECT_NAME ORIGINAL_NAME DROPTIME DROPSCN BIN$14s6rPqoHQngMEWYESkRng==$0 T :17:40: BIN$14s6rPqnHQngMEWYESkRng==$0 T :17:40: BIN$14s6rPqpHQngMEWYESkRng==$0 T :17:40: => 이문제를해결하기위해서.. ================================ 이문제를극복하기위해서우리는 original 이름대신에 drop 된 object name 을사용하면된다. object name 은 unique 하므로원하는것을 purge 와 restore 할수있다. Examples: SQL> FLASHBACK TABLE "BIN$14s6rPqoHQngMEWYESkRng==$0" TO BEFORE DROP RENAME TO t2; Flashback complete. SQL> select tname from tab; TNAME DEPT EMP BIN$14s6rPqnHQngMEWYESkRng==$0 T1 BIN$14s6rPqpHQngMEWYESkRng==$0 T2 6 rows selected. SQL> SELECT object_name,original_name,droptime,dropscn FROM recyclebin; OBJECT_NAME ORIGINAL_NAME DROPTIME DROPSCN BIN$14s6rPqnHQngMEWYESkRng==$0 T :17:40: BIN$14s6rPqpHQngMEWYESkRng==$0 T :17:40: 비슷한방법으로 purge 할수있다. SQL> PURGE TABLE "BIN$14s6rPqnHQngMEWYESkRng==$0"; Table purged. SQL> SELECT object_name,original_name,droptime,dropscn FROM recyclebin; OBJECT_NAME ORIGINAL_NAME DROPTIME DROPSCN BIN$14s6rPqpHQngMEWYESkRng==$0 T :17:40:
16 Flashback Versions Query Flashback 과거의어떤시점의정보를시간과 SCN(SystemChange Number) 를이용하여 Query 하는기능. 9i 부터지원된 Flashback Query 가있으며, 10g 에서는그기능이확장되어 Versions between 을이용해서일정시점이아닌시간간격의데이터를조회할수있는기능. Flashback versions query 에의해추출된 row 들은 transaction 에의해변화된 row 들의 history 를보여줌. 이기능은 data 가어떻게바뀌었는지 auditing 기능을가능하게하며 commit 된데이터만추출함. Flashback versions query 를통해서알수있는 transaction id 를통하여더추가적인정보를 Flashback Transaction Query 를통해얻을수있다. DDL 이수행되어 table 의구조가바뀌면사용불가. Flashback versions query 는 undo 를이용하여과거데이터를읽어오는것은 undo_retention 값과 undo size 에의해자동으로관리됨. 만약 undo_retention 이아주크다고하더라도, undo size 가작아서 undo 를보관하지않고재사용하게되면 flashback versions query 가수행되지않을수있음. Versions between 은시간과 SCN 으로지정할수있음 이기능을지원하기위해 scn_to_timestamp 와 timestamp_to_scn function 이지원된다. 과거의시점에대한 SCN 확인. SQL> select timestamp_to_scn(to_timestamp(' ', 'yyyymmdd hh24miss')) SCN from dual; SCN 과거의 SCN 을이용하여 Time 확인. SQL> select scn_to_timestamp( ) TIME from dual; TIME /02/13 17:12: Versions Query 의 Pseudo column (Select 절에사용할수있음 ) Versions_startscn, Versions_starttime Versions_endscn Versions_endtime Versions_xid Versions_operation 주의 : undo retention 보다이전의 version 을 query 하면 ora : invalid lower limit snapshot expression 발생함. 예제 Data 변경 (Update) 하기 SQL> conn scott/tiger Connected. SQL> select * from emp; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SMITH CLERK DEC ALLEN SALESMAN FEB WARD SALESMAN FEB JONES MANAGER APR MARTIN SALESMAN SEP BLAKE MANAGER MAY CLARK MANAGER JUN SCOTT ANALYST DEC KING PRESIDENT 17-NOV TURNER SALESMAN SEP ADAMS CLERK JAN JAMES CLERK DEC FORD ANALYST DEC MILLER CLERK JAN rows selected
17 Flashback SQL> update emp 2 set comm= where empno=7934; 1 row updated. SQL> commit; Commit complete. SQL> update emp 2 set comm= where empno=7934; 1 row updated. SQL> rollback; Rollback complete. SQL> update emp 2 set comm= where empno=7934; 1 row updated. SQL> commit; Commit complete. SQL> update emp 2 set comm= where empno=7934; 1 row updated. SQL> commit; Commit complete. SQL> select * from emp; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SMITH CLERK :00: ALLEN SALESMAN :00: WARD SALESMAN :00: JONES MANAGER :00: MARTIN SALESMAN :00: BLAKE MANAGER :00: CLARK MANAGER :00: SCOTT ANALYST :00: KING PRESIDENT :00: TURNER SALESMAN :00: ADAMS CLERK :00: JAMES CLERK :00: FORD ANALYST :00: MILLER CLERK :00:
18 14 rows selected. Flashback 월 25 일 15 시 50 분 ~ 16 시 00 분까지 empno 가 7934 인 data 가변한내역조회 SQL> col start_time format a21 SQL> col end_time format a21 SQL> set lines 200 SQL> SELECT empno, ename, sal, comm, deptno, 2 versions_xid AS XID, 3 versions_operation as operation, 4 versions_startscn AS START_SCN, 5 versions_starttime as start_time, 6 versions_endscn AS END_SCN, 7 versions_endtime as end_time 8 FROM emp VERSIONS BETWEEN TIMESTAMP 9 TO_TIMESTAMP(' :50:00','YYYY-MM-DD HH24:MI:SS') 10 AND TO_TIMESTAMP(' :00:00','YYYY-MM-DD HH24:MI:SS') 11 WHERE empno=7934; EMPNO ENAME SAL COMM DEPTNO XID O START_SCN START_TIME END_SCN END_TIME MILLER U APR PM 7934 MILLER D U APR PM APR PM 7934 MILLER C U APR PM APR PM 7934 MILLER APR PM SQL> SELECT empno, ename, sal, comm, deptno, 2 versions_xid AS XID, 3 versions_operation as operation, 4 versions_startscn AS START_SCN, 5 versions_starttime as start_time, 6 versions_endscn AS END_SCN, 7 versions_endtime as end_time 8 FROM emp VERSIONS BETWEEN TIMESTAMP 9 systimestamp - interval '10' minute and systimestamp - interval '1' minute 10 WHERE empno=7934; EMPNO ENAME SAL COMM DEPTNO XID O START_SCN START_TIME END_SCN END_TIME MILLER U APR PM 7934 MILLER D U APR PM APR PM 7934 MILLER C U APR PM APR PM 7934 MILLER APR PM 조회결과로 Null 으로변경된내역을볼수있다 Flashback Query Oracle9i 에서처음소개된 Flashback Query 는과거시점의데이터를조회하는기능을제공한다. 기본적으로데이터베이스는가장최근에커밋된데이터를기준으로작업을수행한다. 하지만과거의특정시점을기준으로데이터베이스를조회하고자한다면, Flashback Query 기능을이용할수있다. Flashback Query 는특정시점또는 SCN(System Change Number) 을기준으로, 해당시점에커밋된데이터를조회할수있게한다. Flashback Query 메커니즘은 Automatic Undo Management 를이용하는경우가장효과적으로동작한다. 오라클데이터베이스는언두 (undo) 를중요한데이터베이스오브젝트로관리한다. 언두데이터는영구적으로저장 / 관리되며데이터베이스시스템에크래쉬, 셧다운이발생하는경우에도유지된다. 또다른데이터베이스오브젝트와함께데이터베이스버퍼캐시를공유하므로성능보장이가능하다. 오라클데이터베이스는트랜잭션이커밋된이후에도언두데이터를관리하고, 필요한경우논리적손상으로부터복구할수있게한다
19 Flashback 오라클데이터베이스의관리자는보존할언두데이터의양을명시적으로지정할수있다. 시스템은새로운트랜잭션의언두데이터를생성하기위해만료된언두데이터를자동으로삭제한다. 언두데이터의보존기간은롱 - 러닝 (long-running) 쿼리의실행시간또는논리적손상에대한복구요구사항에따라다르게설정된다. 또는언두보존기간을설정하지않고데이터베이스가알아서최적의보존정책을관리하도록할수도있다. 그러면데이터베이스는롱 - 러닝쿼리에대한실행시간과논리적손상의복구를최대한보장할수있는방안을자동으로적용한다. 디폴트상태에서언두데이터의보존은보장되지않는다. 시스템은현재진행중인트랜잭션의언두데이터기록을위해필요한경우, 언제든오래된언두데이터를만료처리할수있다. 10g R1 부터는 UNDO_RETENTION 이 5 일이상으로지정되어있는경우, 5 일또는그이상경과한과거의데이터를쿼리할수있는기능이추가되었다. 오라클은 Undo Tablespace 데이터파일에충분한공간이남아있는한, 언두데이터를유지한다. 데이터베이스에서 Flashback Query 와기타언두데이터관련플래시백기능을활성화하기위한방법이아래와같다 : 1. 데이터베이스가 Undo Tablespace 를사용하고있는지확인한다. Undo Tablespace 를사용하려면 UNDO_MANAGEMENT 초기화매개변수를 AUTO 로설정해놓아야한다. 2. 가장긴실행시간을갖는쿼리를성공적으로복구할수있는시간, 또는사용자에러로부터복구하기에충분한시간으로 UNDO_RETENTION 초기화매개변수를설정한다. 3. 만료되지않은언두데이터가덮어씌워지지않도록, 언두테이블스페이스에 RETENTION GUARANTEE 조건을추가한다. Flashback Query 기능을이용하면과거의데이터시점의데이터를확인할수있을뿐아니라데이터를처리하는방법을선택하는것도가능하다. 분석작업을수행한후에모든변경작업을취소하거나, 변경데이터를캡처하여다른작업에활용할수도있다. Flashback Query 메커니즘은다양한상황에서활용될수있는유연성을제공한다. 몇가지활용예가아래와같다 : 과거시점의데이터를조회. 현재데이터와과거데이터를비교. ( 개별로우를비교하거나 Intersection, Union 등의조건을이용하여복잡한비교작업을수행할수도있다.) 삭제, 변경된데이터의복구. Oracle9i 에서부터지난시점의데이터를질의하기위한 DBMS_PACKAGE 를제공했으며 10g 에서는훨씬기능을유연하게발전시켰다. Flashback Query 는 AS OF 절을사용하여해당시점에서의데이터값에대한질의가가능하며, 이기능은 DBMS_FLASHBACK 패키지의기능과유사하다. Flashback versions query 는과거의일정시간구간에서조회하는것에비해 Flashback query 는, 과거의일정한시간에서 query 를하는것. Database 는현재의시간이지만, 수행하는 SQL 은혼자과거의정보를보게됨. 예제 -- Data 삭제 ( 장애만들기 ) SQL> select * from emp; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SMITH CLERK :00: ALLEN SALESMAN :00: WARD SALESMAN :00: JONES MANAGER :00: MARTIN SALESMAN :00: BLAKE MANAGER :00: CLARK MANAGER :00: SCOTT ANALYST :00: KING PRESIDENT :00: TURNER SALESMAN :00: ADAMS CLERK :00: JAMES CLERK :00: FORD ANALYST :00: MILLER CLERK :00:
20 Flashback 14 rows selected. SQL> delete emp 2 where empno=7934; 1 row deleted. SQL> commit; Commit complete. SQL> select * from emp; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SMITH CLERK :00: ALLEN SALESMAN :00: WARD SALESMAN :00: JONES MANAGER :00: MARTIN SALESMAN :00: BLAKE MANAGER :00: CLARK MANAGER :00: SCOTT ANALYST :00: KING PRESIDENT :00: TURNER SALESMAN :00: ADAMS CLERK :00: JAMES CLERK :00: FORD ANALYST :00: rows selected. (1 건이삭제되었음 ) -- 1 시간전 Data 를구하기 SQL> select * from emp as of timestamp ( systimestamp - interval '1' hour); EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SMITH CLERK :00: ALLEN SALESMAN :00: WARD SALESMAN :00: JONES MANAGER :00: MARTIN SALESMAN :00: BLAKE MANAGER :00: CLARK MANAGER :00: SCOTT ANALYST :00: KING PRESIDENT :00: TURNER SALESMAN :00: ADAMS CLERK :00: JAMES CLERK :00: FORD ANALYST :00: MILLER CLERK :00: rows selected 분전 Data 를구하기 delete 후바로조회하면아직 delete 되지않은것으로보인다. SQL> select * from emp as of timestamp ( systimestamp - interval '1' minute); EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
21 Flashback 7369 SMITH CLERK :00: ALLEN SALESMAN :00: WARD SALESMAN :00: JONES MANAGER :00: MARTIN SALESMAN :00: BLAKE MANAGER :00: CLARK MANAGER :00: SCOTT ANALYST :00: KING PRESIDENT :00: TURNER SALESMAN :00: ADAMS CLERK :00: JAMES CLERK :00: FORD ANALYST :00: MILLER CLERK :00: rows selected 시간전 Data 와현재 Data 의차이를알고싶을때. -- 즉, 1 시간전과같지않은데이터를모두찾는다. SQL> select * from emp as of timestamp ( systimestamp - interval '1' hour) 2 minus 3 select * from emp; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO MILLER CLERK :00: 시간전의 Table 을 Backup 해놓을수있다. SQL> create table emp_back 2 as select * from emp as of timestamp ( systimestamp - interval '1' hour); Table created. -- 급하게복구를해야할때. 약 1 시간전에많은건수를삭제한경우. SQL> insert into emp 2 select * from emp as of timestamp ( systimestamp - interval '1' hour) 3 minus 4 select * from emp; 1 row created. SQL> commit; Commit complete. SQL> select * from emp; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SMITH CLERK :00: ALLEN SALESMAN :00: WARD SALESMAN :00: JONES MANAGER :00: MARTIN SALESMAN :00: BLAKE MANAGER :00: CLARK MANAGER :00: SCOTT ANALYST :00: KING PRESIDENT :00: TURNER SALESMAN :00:
22 Flashback 7876 ADAMS CLERK :00: JAMES CLERK :00: FORD ANALYST :00: MILLER CLERK :00: rows selected Flashback transaction query 테이블의데이터변경작업이잘못수행되었음을나중에야발견하는경우가있다. 변경내역을조사하기위해, DBA 는플래시백쿼리를실행하여특정시점의로우데이터를조회할수있다. 또는좀더효율적인방법으로, Flashback Versions Query 기능을이용하여일정기간동안의로우변경내역과트랜잭션 ID 를한꺼번에확인할수도있다. 이때 DBA 는 SELECT 구문에 VERSIONS BETWEEN 절을적용하고, SCN 또는타임스탬프를기준으로일정기간의로우변경히스토리를조회한다. 문제가되는트랜잭션을발견했다면, 다시 Flashback Transaction Query 기능을이용하여해당트랜잭션에의해수행된다른변경사항을확인한다. 그리고변경사항을복구하기위한언두 (undo) SQL 을요청한다. 이때트랜잭션히스토리와언두 SQL 을확인하기위해사용되는것이바로 FLASHBACK_TRANSACTION_QUERY 뷰이다. 잘못실행된트랜잭션을완전히취소하기위해, 언두 SQL 구문을수동으로실행하고사용자 / 애플리케이션에러를쉽게복구할수있다. Flashback Transaction Query 는데이터베이스의온라인진단범위를확장하고, 분석및트랜잭션감사환경을개선할수있게한다. VERSIONS_XID 값이트랜잭션의 ID라고했는데, 이값을 FLASHBACK_TRANSACTION_QUERY의인자값으로 줘서쿼리를실행하면해당트랜잭션에대한정보를볼수있다. 예를들면어떤 DML을이용했으며어떠한 SQL이실행되었는지하는것이확인가능하다. Flashback transaction query는 Transaction level에서 Data의변경사항을추적하기위한기능 Transaction의분석과진단을하는기능임. 변경사항뿐만아니라, Undo SQL을생성할수있으며, 이 SQL을이용하여 Transaction level의작업을 rollback할수있음 undo data를 index access 방식으로조회하므로 logminor 주의 : xid column에조건을줄때반드시 hextoraw function을사용해야만 fixed view의 index를사용함. Flashback versions query와마찬가지로 undo data를이용함. Flashback Transaction query를사용하기위해서는 Database level에 logging이 enable되어야한다. alter database add supplemental log data; 확인방법 : select supplemental_log_data_min from v$database ( YES 가정상 ) 필요권한 : grant select any transaction to XXX; 기본적으로 flashback_transaction_query 라는 view table을이용하여 query한다. flashback_transaction_query columns. XID RAW(8) Transaction identifier START_SCN NUMBER Transaction start system change number (SCN) START_TIMESTAMP DATE Transaction start timestamp COMMIT_SCN NUMBER Transaction commit system change number (null for active transactions) COMMIT_TIMESTAMP DATE Transaction commit timestamp (null for active transactions) LOGON_USER VARCHAR2(30) Logon user for the transaction UNDO_CHANGE# NUMBER Undo system change number (1 or higher) OPERATION VARCHAR2(32) Forward-going DML operation performed by the transaction: D - Delete I - Insert U - Update B - UNKNOWN TABLE_NAME VARCHAR2(256) Name of the table to which the DML applies TABLE_OWNER VARCHAR2(32) Owner of the table to which the DML applies ROW_ID VARCHAR2(19) Rowid of the row that was modified by the DML Database level 에 logging 이 enable 되어있는지확인한다. SQL> select supplemental_log_data_min from v$database;
23 Flashback SUPPLEME NO SQL> alter database add supplemental log data; Database altered. SQL> select supplemental_log_data_min from v$database; SUPPLEME YES emp 와 dept 를각각수정한후, 이에대한 transaction query 를하는예제. SQL> conn scott/tiger SQL> select * from emp; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SMITH CLERK DEC ALLEN SALESMAN FEB WARD SALESMAN FEB JONES MANAGER APR MARTIN SALESMAN SEP BLAKE MANAGER MAY CLARK MANAGER JUN SCOTT ANALYST DEC KING PRESIDENT 17-NOV TURNER SALESMAN SEP ADAMS CLERK JAN JAMES CLERK DEC FORD ANALYST DEC MILLER CLERK JAN rows selected. SQL> select * from dept; DEPTNO DNAME LOC ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON SQL> SQL> update emp set sal = 9999, job='2030' where empno=7934; 1 row updated. SQL> update dept set dname = 'ADMIN' where deptno = 40; 1 row updated. SQL> commit; Commit complete
24 Flashback SQL> select * from emp; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SMITH CLERK DEC ALLEN SALESMAN FEB WARD SALESMAN FEB JONES MANAGER APR MARTIN SALESMAN SEP BLAKE MANAGER MAY CLARK MANAGER JUN SCOTT ANALYST DEC KING PRESIDENT 17-NOV TURNER SALESMAN SEP ADAMS CLERK JAN JAMES CLERK DEC FORD ANALYST DEC MILLER JAN rows selected. SQL> select * from dept; DEPTNO DNAME LOC ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 ADMIN BOSTON -- flashback versions query 를이용하여 xid 를찾는다. SQL> col versions_starttime format a30 SQL> col versions_endtime format a30 SQL> select versions_starttime, versions_endtime, versions_xid, versions_operation, empno, sal 2 from scott.emp versions between timestamp minvalue and maxvalue 3 where empno = order by VERSIONS_STARTTIME; VERSIONS_STARTTIME VERSIONS_ENDTIME VERSIONS_XID V EMPNO SAL APR PM 000A B U APR PM SQL> select versions_starttime, versions_endtime, versions_xid, versions_operation, deptno, dname 2 from scott.dept versions between timestamp minvalue and maxvalue 3 where deptno = 40 4 order by VERSIONS_STARTTIME; VERSIONS_STARTTIME VERSIONS_ENDTIME VERSIONS_XID V DEPTNO DNAME APR PM 000A B U 40 ADMIN 25-APR PM 40 OPERATIONS SQL> col OPERATION format a12 SQL> col LOGON_USER format a12 SQL> col UNDO_SQL format a100 SQL> SELECT xid, operation,logon_user, undo_sql
25 Flashback 2 FROM flashback_transaction_query 3 WHERE xid = HEXTORAW('000A B'); -- hextoraw 를사용하지않으면, undo tablespace 의크기에따라 10 분이상걸림. XID OPERATION LOGON_USER UNDO_SQL A B UPDATE SCOTT update "SCOTT"."DEPT" set "DNAME" = 'OPERATIONS' where ROWID = 'AAAQLHAAHAAACfeAAD'; 000A B UPDATE SCOTT update "SCOTT"."EMP" set "JOB" = 'CLERK', "SAL" = '1300' where ROWID = 'AAAQLGAAHAAACfWAAN'; 000A B BEGIN SCOTT -- 해당 Transaction 을 rollback 하기위해서는아래와같이 undo_sql 을수행한다. SQL> update "SCOTT"."DEPT" set "DNAME" = 'OPERATIONS' where ROWID = 'AAAQLHAAHAAACfeAAD'; 1 row updated. SQL> update "SCOTT"."EMP" set "JOB" = 'CLERK', "SAL" = '1300' where ROWID = 'AAAQLGAAHAAACfWAAN'; 1 row updated. SQL> commit; SQL> select * from emp; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SMITH CLERK DEC ALLEN SALESMAN FEB WARD SALESMAN FEB JONES MANAGER APR MARTIN SALESMAN SEP BLAKE MANAGER MAY CLARK MANAGER JUN SCOTT ANALYST DEC KING PRESIDENT 17-NOV TURNER SALESMAN SEP ADAMS CLERK JAN JAMES CLERK DEC FORD ANALYST DEC MILLER CLERK JAN rows selected. SQL> select * from dept; DEPTNO DNAME LOC ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON Flashback Table Oracle9i Database 에는 Flashback 질의옵션개념이도입되어데이타를과거의시점에서부터검색하지만, 테이블삭제같은 DDL 작업을순간적으로되돌릴수는없습니다. 이경우유일한수단은다른데이타베이스에서테이블스페이스적시복구를사용한다음, 엑스포트 / 임포트또는기타메서드를사용해현재데이타베이스에테이블을다시생성하는것입니다. 이프로시저를수행하려면복제를위해다른데이타베이스를사용하는것은물론, DBA 의많은노력과귀중한시간이요구됩니다. 하지만 Oracle Database 10g 의 Flashback 테이블기능으로들어가면몇개의문만실행하여삭제된테이블을간단히검색할수있습니다. Flashback Table은잘못된데이터처리를한경우, 작업전의시점으로빠르게돌려주기위한기능. (SCN or
26 Flashback 시간 ) Flashback Table 명령을통해개별적인테이블에대해시간에준한복구를위해서는아래에있는조건을만족해야합니다. 테이블의데이터에대해과거시점으로돌아가서값들을확인하는것이가능합니다. Flashback any table 또는해당 Table 에대한 Flashback object privilege 를가지고있어야합니다. 테이블에대한 SELECT, INSERT, DELETE, ALTER 권한이있어야합니다. ROW MOVEMENT 의경우테이블에대해 ALTER TABLE tablename ENABLE ROW MOVEMENT; 가설정되어있어야합니다. Backup 의 restore 없이 Table 을지정한시점까지되돌려줌. Table 의데이터만을과거시점의데이터로돌려주며, Table 과관련한모든 object (index, constrains, trigger) 등은현재시점으로유지됨 Table 이 Flashback 하는동안에는 exclusive lock 을잡게됨. Flashback 한후, 다시현재시점의 Data 로돌아올수있음. 그러나현재의 SCN 을알고있어야함. SELECT current_scn FROM v$database; -- 현재 SCN 알기 다음의 Object 들에는 Flashback table 안됨. Cluster, Mview, AQ tables, static data dictionary, system tables, remote tables Undo Data 를이용함. undo retention 이전의데이터는복구안됨. flashback versions query 로부터원하는 SCN 을찾아서 flashback table 을할수있음. (VERSIONS_STARTSCN, VERSIONS_ENDSCN) 필요권한 : flashback object, flashback any table, 해당 table 에대한 select, insert, update, delete, alter table 권한. flashback table 을하기위해서는 row movement 를 enable 해주어야함. alter table XXXX enable row movement; Table 에 DDL 의변경작업이있었다면, flashback 불가 (moving, truncate, add, modify, drop,merging, split, coalescing) Flashback Table 예제 : SCN 을이용한과거시점으로 Flashback 하기 SQL> select count(*) from emp; COUNT(*) SQL> select current_scn from v$database; CURRENT_SCN SQL> delete from emp where rownum < 5; -- 잘못된 transaction 을수행함. 4 rows deleted. SQL> commit; Commit complete. SQL> select current_scn from v$database; CURRENT_SCN SQL> alter table emp enable row movement; -- flashback table 을하기위해 enable 시킴. Table altered. SQL> flashback table emp to scn ;
27 Flashback complete. Flashback SQL> select count(*) from emp; Flashback 후, delete 전의데이터가됨. COUNT(*) Flashback Use Case 장애의경우에따라 Use Case 를사용하여신속히복구한다. 장애 Case Case 상세복구방법 Table 이 Drop 된경우 Table 에데이터를잘못변경하고 commit 한경우 Program 이잘못수행되어여러개의 table 에변경되었을경우. 데이터에대한변경이력추적시 많은데이터변경시적은데이터변경시 Commit이한번일경우 Commit이여러번인경우 Recyclebin 을조회하여 drop 한 table 의복구가능성을확인한다. Flashback Drop 을이용하여복구한다. 변경시점으로 Table 을 flashback 하는방법. Table에대해 Version query를이용하여해당data의변경 tx를찾는방법. 하나의 Table에서, 변경된 Data에대한 Versions query를하여 Transaction을찾은후, Transaction에대한 undo를뽑아복구. Flashback query 를통해여러 Table 을 Select 하여 backup 본구성. Flashback Version Query 를이용하여변경이력추적
28 Pro-Active Tuning Service 소개 1. 실제사용자 (End-User) 관점의응답시간튜닝 Pro-active tuning service 는사용자관점의모니터링및분석을통하여실제 End-User 가느끼는응답시간 (Response Time) 을튜닝합니다. APM(Application Performance Management) 툴을이용하여 End-User 의 Request 결과를반환받기까지의모든구간 (Client PC, Internet 구간, FireWall, DNS, Web Server, WAS, DBMS) 을분석하여가장 Delay Time 이많이소요된구간을찾아냅니다. ISP Backb one ISP Client Time Internet Time Firewall Time DNS Time Backend Systems Time 2. 최상의성능상태로비즈니스고가용성을유지 Pro-Active Tuning Service 매업무단위프로젝트마다참여하여업무적용 (Open) 前문제요소를분석하여튜닝. 단위업무적용 (Open) 후매 3 개월 ( 데이터량갱신주기 ) 마다튜닝포인트를설정, 성능둔화요소를해결. 전사적으로새롭게추가되는업무단위프로젝트의모든 SQL 쿼리를검토및튜닝. 다양한대용량데이터베이스관리 / 튜닝기법을도입하여최적의 DB 상태를 1 년내내상시유지. 전략적튜닝 Factor 를분석, 투자대비효율이높은 Targeting 기법적용. ( 비중도높은 SQL 을튜닝함 ) 3. Knowledge Transfer Pro-Active Tuning Service 는고객의 Business Process 를이해하고시스템을분석한후튜닝하는것으로완료되지않습니다. 실제로고객사환경에서튜닝한내용을그대로실무자들에게전수하여내부임직원의역량을제고시킵니다. 또한, Oracle RDBMS 신버젼의 New Features 를교육함으로써, 이용자 ( 관리자및개발자 ) 가스스로개발업무의효율및생산성을향상시킬수있도록지원합니다. 이외에도 DBMS 관리자를위한관리노하우 ( 고급 Trouble-Shooting, 대용량 DB 처리, 병렬처리등 ) 를전수함으로써, 최상의시스템을최고의기술로유지할수있도록지원합니다. UAS (User Adapted Seminar) 진행사례및내용 (Contents) 개발자를위한 SQL 튜닝실무사례세미나 G 쇼핑몰업체튜닝후실제고객사의튜닝사례를개발자들에게전수하여개발자들이성능을고려한 SQL 을작성할수있도록내부역량을제고시킴. Oracle 10g New Features 세미나 S Global 전자기업 : Oracle 10g 버전으로업그레이드하기전, 신버전의새로운기능과주의사항을전파함으로써, 업그레이드후발생할수있는문제점의사전제거와개발자들이새로운기능을이용함으로써, 개발생산성을향상시킴. K 국가기관 DBMS 관리노하우세미나내부관리자 (DBA,SE) 들을대상으로 DBMS 관리자들이흔히겪을수있는상황에대한 Administration Know-How 와고급 Trouble-Shooting 사례를소개함으로써, 관리기술력을향상시킴
FlashBackt.ppt
1. Flashback 목적 Flashback 이란? 사용자실수에의한손상된데이터를 Database 의크기와상관없이복구를할수있는기능이다. 이 Flashback 기능은일반적인복구에서우려되는데이터베이스의크기를걱정하지않아도된다. 보통의사용자실수는커다란시스템장애가수반되며, 이를복구하기위해서는많은자원과시간이필요하다. 하지만 9i 에서지원되느 flashback query
More informationMicrosoft Word - 기술노트[19회] Flashback.doc
Goodus 기술노트 [19 회 ] Flashback Author 권웅원, 나지혜 Creation Date 2007-04-25 Last Updated 2007-04-25 Version 1.0 Copyright(C) 2004 Goodus Inc. All Rights Reserved Version 변경일자 변경자 ( 작성자 ) 주요내용 1 2007-04-25 권웅원,
More informationMicrosoft PowerPoint - Tech-iSeminar_Flashback.ppt
Getting the most out of MetaLink 이은지 한국오라클 ( 주 ) 제품지원실 목차 1. Flashback Overview 2. Flashback drop 3. Flashback Versions Query 4. Flashback Transaction Query 5. Flashback Table 6. Flashback database 7.
More information목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate
ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition
More informationORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O
Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration
More information13주-14주proc.PDF
12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float
More information목 차
Oracle 9i Admim 1. Oracle RDBMS 1.1 (System Global Area:SGA) 1.1.1 (Shared Pool) 1.1.2 (Database Buffer Cache) 1.1.3 (Redo Log Buffer) 1.1.4 Java Pool Large Pool 1.2 Program Global Area (PGA) 1.3 Oracle
More information윈백및업그레이드 Tibero Flashback 가이드
Tibero Flashback 가이드 2014. 05. 09. 목차 1. FLASHBACK 소개... 3 1.1. Flashback 개요... 3 1.2. Flashback 기능... 3 2. FLASHBACK 기능... 3 2.1. FLASHBACK QUERY... 3 2.1.1. FLASHBACK QUERY 개요... 3 2.1.2. FLASHBACK QUERY
More information세미나(장애와복구-수강생용).ppt
DB PLAN Consultant jina6678@yahoo.co.kr 011-864-1858 - - 1. 2. DB 3. - 4. - 5. 6. 1 INSTANCE MMAN RECO RFS MRP ORBn RBAL MMON Dnnn Snnn Data Buffer Cache SGA Stream Pool Shared pool Large Pool PGA Log
More informationTablespace On-Offline 테이블스페이스 온라인/오프라인
2018/11/10 12:06 1/2 Tablespace On-Offline 테이블스페이스온라인 / 오프라인 목차 Tablespace On-Offline 테이블스페이스온라인 / 오프라인... 1 일반테이블스페이스 (TABLESPACE)... 1 일반테이블스페이스생성하기... 1 테이블스페이스조회하기... 1 테이블스페이스에데이터파일 (DATA FILE) 추가
More informationMicrosoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc
특정 Column 통계정보갱신가이드 유니원아이앤씨 DB 사업부이대혁 2015 년 03 월 02 일 문서정보프로젝트명서브시스템명 버전 1.0 문서명 특정 Column 통계정보갱신가이드 작성일 2015-03-02 작성자 DB사업부이대혁사원 최종수정일 2015-03-02 문서번호 UNIONE-201503021500-LDH 재개정이력 일자내용수정인버전 문서배포이력
More information목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE
ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....
More information歯sql_tuning2
SQL Tuning (2) SQL SQL SQL Tuning ROW(1) ROW(2) ROW(n) update ROW(2) at time 1 & Uncommitted update ROW(2) at time 2 SQLDBA> @ UTLLOCKT WAITING_SESSION TYPE MODE_REQUESTED MODE_HELD LOCK_ID1
More informationMicrosoft Word - SQL튜닝_실습교재_.doc
* 실습환경 * 1. 오라클데이터베이스의튜닝실습을하기위해서는기본적인테이블과데이터가필요합니다. 다음과같은절차에의해환경설정을하십시오. 1) 강사가제공하는 Export 된파일 (scott.dmp) 을자신의 ORACLE 경로에저장하십시오. [C: ] cd C: ORACLE ORA92 BIN [C: ] dir scott.dmp scott.dmp 2) SYSTEM 사용자로접속하여
More informationI T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r
I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r -------------------------------------------------------------------- -- 1. : ts_cre_bonsa.sql -- 2. :
More informationePapyrus PDF Document
Goodus 기술노트 [38 회 ] Author 윤병길, 이은정 Creation Date 2009-02-27 Last Updated Version 1.0 Copyright(C) 2004 Goodus Inc. All Rights Reserved Version 변경일자변경자 ( 작성자 ) 주요내용 1 2009-02-27 윤병길, 이은정문서최초작성 Contents
More informationSQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자
SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전
More informationOracle Database 10g: Self-Managing Database DB TSC
Oracle Database 10g: Self-Managing Database DB TSC Agenda Overview System Resource Application & SQL Storage Space Backup & Recovery ½ Cost ? 6% 12 % 6% 6% 55% : IOUG 2001 DBA Survey ? 6% & 12 % 6% 6%
More information단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT
Study Room Doc.03 : SQLD 예상문제 ( 단답형 ) 네이버 Cafe : 데이터베이스전문가포럼 Study Room http://cafe.naver.com/sqlpd SQLD 26,25,24,21 회기출문제를바탕으로작성 작성자 : 월야루 도움 : 빙수민외카페댓글 2017-11-30 단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL
More informationMicrosoft Word - 기술노트[23회]_Logminer_1.1
Goodus 기술노트 [23 회 ] Logminer Author 서강혁, 정철우 Creation Date 2007-08-30 Last Updated 2007-08-30 Version 1.0 Copyright(C) 2004 Goodus Inc. All Rights Reserved Version 변경일자 변경자 ( 작성자 ) 주요내용 1 2007-08-30 서강혁,
More informationMS-SQL SERVER 대비 기능
Business! ORACLE MS - SQL ORACLE MS - SQL Clustering A-Z A-F G-L M-R S-Z T-Z Microsoft EE : Works for benchmarks only CREATE VIEW Customers AS SELECT * FROM Server1.TableOwner.Customers_33 UNION ALL SELECT
More informationJerry Held
,, - - - : DELETE : ROW (ROWID) row ROWID : I/O Full Table Scan I/O Index Scan ROWID I/O Fast Full Index Scan scan scan scan I/O scan scan Unique, nonunique. (Concatenated Index) B* Tree Bitmap Reverse
More information,, - - - : DELETE : ROW (ROWID) row ROWID : I/O Full Table Scan scan I/O scan Index Scan ROWID scan I/O Fast Full Index Scan scan scan I/O Unique, nonunique. (Concatenated Index) B* Tree Bitmap Reverse
More informationDBMS & SQL Server Installation Database Laboratory
DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.
More information다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 6 장. DML 을배웁니다 1 - SQL 명령어들 DML (Data Manipulation Language) : INSERT( 입력 ), UPDATE( 변경 ), DELETE( 삭제 ), MERGE( 병합 ) DDL (Data Definition Language) : CREATE ( 생성 ), ALTER
More informationMicrosoft Word - 기술노트[23회] Logminer.doc
Goodus 기술노트 [23 회 ] Logminer Author 서강혁, 정철우 Creation Date 2007-08-30 Last Updated 2007-08-30 Version 1.0 Copyright(C) 2004 Goodus Inc. All Rights Reserved Version 변경일자 변경자 ( 작성자 ) 주요내용 1 2007-08-30 서강혁,
More information10.ppt
: SQL. SQL Plus. JDBC. SQL >> SQL create table : CREATE TABLE ( ( ), ( ),.. ) SQL >> SQL create table : id username dept birth email id username dept birth email CREATE TABLE member ( id NUMBER NOT NULL
More informationPRO1_09E [읽기 전용]
Siemens AG 1999 All rights reserved File: PRO1_09E1 Information and - ( ) 2 3 4 5 Monitor/Modify Variables" 6 7 8 9 10 11 CPU 12 Stop 13 (Forcing) 14 (1) 15 (2) 16 : 17 : Stop 18 : 19 : (Forcing) 20 :
More information다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 9 장인덱스를배웁니다 1 1. 인덱스란무엇인가? 2 - ROWID ( 주소 ) 조회하기 SCOTT>SELECT ROWID, empno, ename 2 FROM emp 3 WHERE empno=7902 ; ROWID EMPNO ENAME --------------------------------- ----------
More information´ÙÁß Row °á°ú¸¦ ´ÜÀÏÇàÀ¸·Î Äĸ¶·Î ºÐ¸®ÇØ Ãâ·ÂÇÏ´Â ¹æ¹ý
5 중 1 2007-06-12 오후 5:52 Home Login Register SQL Query SQL Tuning Oracle Administration Tools References Boards SoQooL? 쏘쿨 SoQooL) 이란? Q&A Tips Lectures Function Lectures Oracle Spatial Tips Scripts SQL
More informationPowerPoint 프레젠테이션
Reasons for Poor Performance Programs 60% Design 20% System 2.5% Database 17.5% Source: ORACLE Performance Tuning 1 SMS TOOL DBA Monitoring TOOL Administration TOOL Performance Insight Backup SQL TUNING
More informationMicrosoft PowerPoint - Tech-iSeminar_Logminer.ppt
Oracle LogMiner 의활용 Tips Getting the most out of MetaLink 천봉격, 김주연 한국오라클 ( 주 ) 제품지원실 기술적인질문은채팅으로 이번세미나에선 Oracle 8i, 9i, 10g 에서 Oracle Logminer 의활용팁에대해알아보도록하겠습니다. 본세미나에서는 Oracle 에서제공되는 Logminer 을사용하여 Online/Offline
More information最即時的Sybase ASE Server資料庫診斷工具
TOAD 9.5 Toad Oracle 料 SQL 料 行 理 SQLprofile Quest Software 了 Oracle -Toad Tools of Oracle Application Developers Toad 了 DBA DBA 理 易 度 Toad 料 SQL PL/SQL Toad Oracle PL/SQL Toad Schema Browser Schema Browser
More informationJerry Held
DB / TSC Oracle Database 10g (Self-Managing Database) (Common Infrastructure) (Automatic Workload Repository) (Server-generated Alerts) (Automated Maintenance Tasks) (Advisory Framework) (ADDM) (Self-Managing
More informationSimplify your Job Automatic Storage Management DB TSC
Simplify your Job Automatic Storage Management DB TSC 1. DBA Challenges 2. ASM Disk group 3. Mirroring/Striping/Rebalancing 4. Traditional vs. ASM 5. ASM administration 6. ASM Summary Capacity in Terabytes
More informationThe Self-Managing Database : Automatic Health Monitoring and Alerting
The Self-Managing Database : Automatic Health Monitoring and Alerting Agenda Oracle 10g Enterpirse Manager Oracle 10g 3 rd Party PL/SQL API Summary (Self-Managing Database) ? 6% 6% 12% 55% 6% Source: IOUG
More informationuntitled
PowerBuilder 連 Microsoft SQL Server database PB10.0 PB9.0 若 Microsoft SQL Server 料 database Profile MSS 料 (Microsoft SQL Server database interface) 行了 PB10.0 了 Sybase 不 Microsoft 料 了 SQL Server 料 PB10.0
More information歯PLSQL10.PDF
10 - SQL*Pl u s Pl / SQL - SQL*P lus 10-1 1 0.1 PL/ SQL SQL*Pl u s. SQL*P lus 10-2 1 0.2 S QL* Pl u s PL/ S QL SQL*Pl u s, Pl / SQL. - PL/ SQL (i npu t ), (s t or e ), (r un). - PL/ SQL s cr i pt,,. -
More informationuntitled
(shared) (integrated) (stored) (operational) (data) : (DBMS) :, (database) :DBMS File & Database - : - : ( : ) - : - : - :, - DB - - -DBMScatalog meta-data -DBMS -DBMS - -DBMS concurrency control E-R,
More informationPowerPoint Presentation
Server I/O utilization System I/O utilization V$FILESTAT V$DATAFILE Data files Statspack Performance tools TABLESPACE FILE_NAME PHYRDS PHYBLKRD READTIM PHYWRTS PHYBLKWRT WRITETIM ------------- -----------------------
More informationSQL Tuning Business Development DB
SQL Tuning Business Development DB Oracle Optimizer 4.1 Optimizer SQL SQL.. SQL Optimizer :.. Rule-Based Optimization (RBO), Cost-Based Optimization (CBO) SQL Optimizer SQL Query Parser Dictionary Rule-Based
More informationContents Data Mart 1. 개요 실습방향 테스트위한사전설정 본격실습시작 ) 데이터파일 dd 명령어로 백업수행및유실시키기 ) 장애복구수행 결론...7 페이지 2 / 7
( 참 ) 본상단부머리말에있는 Data Mart 는본문서작성자의블로그이름입니다 dd 명령어를 이용한백업수행 최소개념이해 본문서의 pdf 문서는다음 URL 참조 http://mindata.tistory.com/55 Version 변경일자 ( 작성일자 ) 변경자 ( 작성자 ) 주요내용 1 2013.4.3 김민기 최초작성 2 3 페이지 1 / 7 Contents
More informationBind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터
Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터를사용자에게전송하게되며 Parsing 단계에서실행계획이생성된다. Bind 변수를사용하는 SQL
More informationMicrosoft PowerPoint - Oracle Data Access Pattern.ppt
Special Key Note Oracle Data Access Pattern ( 주 ) 오픈메이드컨설팅 오동규수석컨설턴트 1 What is Data Access Pattern? > 데이터를 I/O 하는방식 Index Scan Full Table Scan Rowid 2 Why is The Pattern Important? >SQL 의성능을좌지우지함. >SQL
More informationResult Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUER
Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUERY 을실행하게된다면 BLOCK I/O 가많이발생하게된다. 이런이유로 QUERY 의성능은좋지못할것이다.
More information歯815설치1.PDF
1 Memory Swap Space Disk Drives 128 MB (JAVA VM 256MB ) RAM 3 (1GB ) 2 22 2GB 1 4 Oracle Software, 3 DB CD-ROM Drive LINUX CD-ROM Oracle8i Enterprise Edition Oracle8i Client Programmer/2000 Minimal 693MB
More information예제소스는 에서다운로드하여사용하거나툴바의 [ 새쿼리 ]( 에아래의소스를입력한다. 입력후에는앞으로실습을위해서저장해둔다. -- 실습에필요한 Madang DB 와 COMPANY DB 를모두생성한다. -- 데이터베이스생성 US
A.4 마당서점데이터베이스생성 1 마당서점의데이터베이스 Madang을생성하기위해윈도우의 [ 시작 ]-[ 모든프로그램 ]- [Microsoft SQL Server 2012]-[SQL Server Management Studio] 를선택한다. 인증을 [Windows 인증 ] 으로선택한후 < 연결 > 을클릭한다. 2 1 3 서버이름 MADANG_DB\SQLEXPRESS
More information배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 (
배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 ( 이후배치프로그램 ) 에대한성능문제를파악하기위해수행되는모든 SQL 에대한개별수행내역을정확히판단할수있어야한다.
More information다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
다양핚예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 10 장 view 를배웁니다 1 - View 란가상의테이블이다! 2 1. 단순 View (Simple View) SCOTT>CONN / AS SYSDBA; SYS>GRANT CREATE VIEW TO scott ; CREATE [OR REPLACE] [ FORCE NOFORCE] VIEW view
More informationALTIBASE HDB Patch Notes
ALTIBASE HDB 6.5.1.5.6 Patch Notes 목차 BUG-45643 암호화컬럼의경우, 이중화환경에서 DDL 수행시 Replication HandShake 가실패하는문제가있어수정하였습니다... 4 BUG-45652 이중화에서 Active Server 와 Standby Server 의 List Partition 테이블의범위조건이다른경우에 Handshake
More informationPowerPoint Presentation
FORENSIC INSIGHT; DIGITAL FORENSICS COMMUNITY IN KOREA SQL Server Forensic AhnLab A-FIRST Rea10ne unused6@gmail.com Choi Jinwon Contents 1. SQL Server Forensic 2. SQL Server Artifacts 3. Database Files
More information<4D F736F F D205BB4EBBBF3C1A4BAB8B1E2BCFA5DB1E2BCFAB9AEBCAD2D524D414EBBE7BFEBBFB9C1A65F39695F313067>
9i 에서의 RMAN 사용법예제 Author : 여현승 Creation Date : 2009-04-15 Last Updated : Latest Version : 1.0 Updated by Updated date Version < YYYY-MM-DD>
More informationCommit_Wait / Commit_Logging 두파라미터를통해 Log File Sync 대기시간을감소시킬수있다는것은놀라움과의아함을동시에느낄수있다. 단지파라미터의수정을통해당연히대기해야하는시간을감축한다는것은분명성능을개선해야하는입장에서는놀라운일이될것이다. 반면, 그에따
Commit Wait Class 대기시간감소방안 엑셈컨설팅본부 /DB 컨설팅팀박준연 개요 Wait Class 중 Commit 카테고리에해당하는 Wait Event 에의한대기현상으로 DB 시스템의성능저하현상이발생하는것은종종경험할수있다. 그중대표적인 Wait Event 는 Log File Sync 이다. 실제로대부분의 DB 시스템의 Top 5 Wait Event
More informationETL_project_best_practice1.ppt
ETL ETL Data,., Data Warehouse DataData Warehouse ETL tool/system: ETL, ETL Process Data Warehouse Platform Database, Access Method Data Source Data Operational Data Near Real-Time Data Modeling Refresh/Replication
More informationMySQL-.. 1
MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition
More information슬라이드 1
사례를통해본 RMAN (RMAN Case Study) 2013. 02. Seungtaek Lee( 放浪 A) RMAN 백업 Server-Managed Backup(RMAN) Components Target : 백업대상 Catalog : 백업정보가저장되는 RMAN Repository Auxiliary : 백업또는 Target 를 Restore하여여러가지용도로사용하는
More informationData Guard 기본개념.doc
Data Guard 개념 (9i R2 9.2.0.1) 김형일 HIKIM000@EMPAL.COM 1 목차 1. DataGuard 개념 3 1.1 Data Guard Architecture 3 1.2 DataGuard 장점 4 1.3 Switch over and Failover 5 1.4 Physical Standby 와 Logical Standby 5 2. Data
More informationNoSQL
MongoDB Daum Communications NoSQL Using Java Java VM, GC Low Scalability Using C Write speed Auto Sharding High Scalability Using Erlang Read/Update MapReduce R/U MR Cassandra Good Very Good MongoDB Good
More information슬라이드 1
Tadpole for DB 1. 도구개요 2. 설치및실행 4. 활용예제 1. 도구개요 도구명 소개 Tadpole for DB Tools (sites.google.com/site/tadpolefordb/) 웹기반의데이터베이스를관리하는도구 Database 스키마및데이터관리 라이선스 LGPL (Lesser General Public License) 특징 주요기능
More information오라클 데이터베이스 10g 핵심 요약 노트
1 10g 10g SYSAUX 10g 22 Oracle Database 10g, 10g. 10g. (Grid), 10g.. 10g SYSAUX (ASM, Automatic Storage Management) 10g 10g. g. (DBA).,., 1).,..? 10g,.. (Larry Ellison).. (Leverage Components), (ASM) (
More information@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a
1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL
More informationIntra_DW_Ch4.PDF
The Intranet Data Warehouse Richard Tanler Ch4 : Online Analytic Processing: From Data To Information 2000. 4. 14 All rights reserved OLAP OLAP OLAP OLAP OLAP OLAP is a label, rather than a technology
More informationPowerPoint Presentation
6 장 SQL (section 4-6) 목차 SECTION 01 SQL 의개요 1-1 SQL의역사 1-2 SQL의유형별종류 SECTION 02 데이터정의어 (DDL) 2-1 스키마 2-2 테이블생성 (CREATE TABLE) 2-3 테이블변경 (ALTER TABLE) 2-4 테이블제거 (DROP TABLE) 2-5 제약조건 SECTION 03 데이터조작어 (DML)
More informationMicrosoft Word - dataguard_세미나_v1.8.doc
Oracle9i Dataguard 기술서 작성일 : 2005년 3월 24일업데이트 : 2006년 1월 22일 v1.8 Final 작성자 : LG카드중형서버운영파트 DBA 민연홍 Phone : 016-744-0220 E-Mail : ses0124@hanmail.net 목 차 1. dataguard 개요및아키텍처...2 (1) dataguard 란무엇인가?...2
More informationMicrosoft Word - 05_SUBPROGRAM.doc
ORACLE SUBPROGRAM INTRODUCTION PLSQL 은오라클에서제공하는프로그래밍언어이다. 이는데이터베이스언어인 SQL 과함께효과적으로데이터베이스에접근할수있는방법을제공하고있다. Procedural LanguageSQL 의약자에서볼수있듯이절차적인기능을기본적으로가지는프로그래밍언어이다. PLSQL 은기본적으로블록 (BLOCK) 구조를가지고있다. 블록의기본적인구성은선언부
More information다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 4 장 JOIN 을배웁니다 1 2 1. Cartesian Product ( 카티션곱, CROSS Join) - Oracle Join 문법 SQL> SELECT e.ename, d.dname 2 FROM emp e, dept d ; - ANSI Join 문법 SQL> SELECT e.ename, d.dname
More information목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4
ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]
More informationORACLE-SQL
ORACLE-SQL SELECT 문 2014-04-12 Blog.ksh123jjang.me 내용 SELECT문이란?... 2 SLELECT문사용하기... 3 모든열선택... 4 특정열검색... 5 SQL문작성방법... 6 열머리글기본값... 7 산술식... 8 NULL... 9 열 alias... 10 연결연산자... 11 대체인용연산자 (q)... 12 중복행제거...
More informationWINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역
WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역시쉽게해결할수있다. 이번화이트페이퍼에서는 Window Function 중순위 RANK, ROW_NUMBER,
More information슬라이드 1
17.1 데이터베이스트리거 17.2 DML 트리거 17.3 DML 트리거작성 17.4 DML 트리거관리 17.5 INSTEAD OF 트리거 17.6 NON-DML 트리거 17.1 데이터베이스트리거 데이터베이스트리거 (database trigger) 테이블에어떤조작이가해졌을때에미리지정해놓은처리를자동으로실행시키는블록 PL/SQL 블록으로작성, 오라클데이터베이스에저장
More information<4D F736F F D203033C6C4C6BCBCC72DB8AEBFC0B1D7B9E6B9FD2E646F63>
Reviewed by Oracle Certified Master Korea Community ( http:www.ocmkorea.com http:cafe.daum.netoraclemanager ) 1.1.1 파티션테이블에서사용할수있는리오그방법파티션 level 의 importexport 방법을이용해파티션테이블중특정파티션 ( 혹은서브파티션 ) 만을선택적으로리오그할수있다.
More informationMicrosoft PowerPoint - 10Àå.ppt
10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어
More informationAPOGEE Insight_KR_Base_3P11
Technical Specification Sheet Document No. 149-332P25 September, 2010 Insight 3.11 Base Workstation 그림 1. Insight Base 메인메뉴 Insight Base Insight Insight Base, Insight Base Insight Base Insight Windows
More information대량의 DML 작업에대한성능개선방안 엑셈컨설팅본부 /DB 컨설팅팀박준연 개요 대량의데이터를변경해야하는작업은그자체만으로도큰부담으로다가온다. 하지만변경작업자체에만국한되는것이아니라변경되기전데이터와변경이후데이터를각각저장관리해야하는메커니즘이라면성능을개선해야하는입장에서는더욱큰부담
대량의 DML 작업에대한성능개선방안 엑셈컨설팅본부 /DB 컨설팅팀박준연 개요 대량의데이터를변경해야하는작업은그자체만으로도큰부담으로다가온다. 하지만변경작업자체에만국한되는것이아니라변경되기전데이터와변경이후데이터를각각저장관리해야하는메커니즘이라면성능을개선해야하는입장에서는더욱큰부담일것이다. 말그대로대량의데이터를변경해야하는작업의특성상 SQL Tuning 만으로성능을개선할여지는많지않을뿐더러개선을한다하더라도극적인효과를기대하기는어렵다.
More information1217 WebTrafMon II
(1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network
More information제목을 입력하세요.
1. 4 1.1. SQLGate for Oracle? 4 1.2. 4 1.3. 5 1.4. 7 2. SQLGate for Oracle 9 2.1. 9 2.2. 10 2.3. 10 2.4. 13 3. SQLGate for Oracle 15 3.1. Connection 15 Connect 15 Multi Connect 17 Disconnect 18 3.2. Query
More informationDW 개요.PDF
Data Warehouse Hammersoftkorea BI Group / DW / 1960 1970 1980 1990 2000 Automating Informating Source : Kelly, The Data Warehousing : The Route to Mass Customization, 1996. -,, Data .,.., /. ...,.,,,.
More informationRemote UI Guide
Remote UI KOR Remote UI Remote UI PDF Adobe Reader/Adobe Acrobat Reader. Adobe Reader/Adobe Acrobat Reader Adobe Systems Incorporated.. Canon. Remote UI GIF Adobe Systems Incorporated Photoshop. ..........................................................
More informationCache_cny.ppt [읽기 전용]
Application Server iplatform Oracle9 A P P L I C A T I O N S E R V E R i Improving Performance and Scalability with Oracle9iAS Cache Oracle9i Application Server Cache... Oracle9i Application Server Web
More informationSpring Boot/JDBC JdbcTemplate/CRUD 예제
Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.
More informationConnection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET
135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26
More informationRDB개요.ppt
1 2 3 < > 1 SQL SQL 2 SQL 3 column DEPT DEPT# DNAME BUDGET D1 D2 D3 Marketing Development Research 10M 12M 5M tuple EMP EMP# ENAME DEPT# SALARY D1 40 D1 45 E1 E2 E3 Lopez Cheng Finzi D2 30 E4 Satio D2
More information단계
본문서에서는 Tibero RDBMS 운영중에발생할수있는장애상황을가정하여각유형별장애상황에대해 Tibero 에서지원하고있는백업및복구방법을알아본다. Contents 1. BACKUP & RECOVERY 개요... 4 1.1. BACKUP( 백업 )... 4 1.2. RECOVERY( 복구 )... 4 2. BACKUP... 5 2.1. 백업형태... 5 2.1.1.
More informationORACLE EXADATA HCC 압축방식이해하기 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 시간이지나면서데이터는급속하게증가하고있다. 데이터가증가함에따라 DBMS 에서관리되어지는정보도급속하게증가하고있다. 이로인해저장공간의부족으로하드웨어비용의증가와데이터처리성능에많은문제점들
ORACLE EXADATA HCC 압축방식이해하기 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 시간이지나면서데이터는급속하게증가하고있다. 데이터가증가함에따라 DBMS 에서관리되어지는정보도급속하게증가하고있다. 이로인해저장공간의부족으로하드웨어비용의증가와데이터처리성능에많은문제점들이나타나고있다. 이러한문제점들을해결하고자 ORACLE 에서는 EXADATA 라는시스템을통해스토리지공간부족현상과데이터처리성능을향상시키고자하였다.
More information62
2 instance database physical storage 2 1 62 63 tablespace datafiles 2 2 64 1 2 logical view control files datafiles redo log files 65 2 3 9i OMF Oracle Managed Files, OMF 9i 9i / / OMF 9i 66 8 1MB 8 10MB
More informationPostgreSQL 2 Uniersity of California at Berkeley ( ) 에서개발된관계형데이터베이스서버인 Ingres 가시초 ( 후에 Computer Associates 에인수됨 ) 1
ERwin 과 PostgreSQL 연동하기 인하대학교지리정보공학과데이터베이스실습 PostgreSQL 2 http://www.postgresql.org/ Uniersity of California at Berkeley (1977-1985) 에서개발된관계형데이터베이스서버인 Ingres 가시초 ( 후에 Computer Associates 에인수됨 ) 1996 년부터
More information초보자를 위한 분산 캐시 활용 전략
초보자를위한분산캐시활용전략 강대명 charsyam@naver.com 우리가꿈꾸는서비스 우리가꿈꾸는서비스 우리가꿈꾸는서비스 우리가꿈꾸는서비스 그러나현실은? 서비스에필요한것은? 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 적절한기능 서비스안정성 트위터에매일고래만보이면? 트위터에매일고래만보이면?
More information객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES B WHERE 1=1 AND A.MANAGER_ID = B.EMPLOYEE_ID AND B.SALARY >= ANY A.SALARY;
Study Room Doc.02 : SQLD 예상문제 네이버 Cafe : 데이터베이스전문가포럼 Study Room http://cafe.naver.com/sqlpd SQLD 21 회기출문제를바탕으로작성 작성자 : 월야루 2016-09-04 객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES
More informationTina Admin
Lock session 확인 2010 년 01 월 27 일 DB 기술지원팀 문서정보 프로젝트명 Lock session 확인 서브시스템명 버전 1.0 문서명 작성일 2011-01-31 작성자 최종수정일 2011-01-31 문서번호 재개정이력 일자내용수정인버전 문서배포이력 발신자수신자배포목적일자비고 유니원아이앤씨 기술문서. Table of Contents 1 오라클의
More information디지털포렌식학회 논문양식
Windows Transactional NTFS(TxF), Registry(TxR) 기능 연구 유 병 영, 방 제 완, 이 상 진 고려대학교 디지털포렌식연구센터 Analysis of Windows Transactional NTFS(TxF) and Transactional Registry(TxR) Byeongyeong Yoo, Jewan Bang, Sangjing
More informationMySQL-Ch10
10 Chapter.,,.,, MySQL. MySQL mysqld MySQL.,. MySQL. MySQL....,.,..,,.,. UNIX, MySQL. mysqladm mysqlgrp. MySQL 608 MySQL(2/e) Chapter 10 MySQL. 10.1 (,, ). UNIX MySQL, /usr/local/mysql/var, /usr/local/mysql/data,
More informationFileMaker 15 ODBC 및 JDBC 설명서
FileMaker 15 ODBC JDBC 2004-2016 FileMaker, Inc.. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc.. FileMaker WebDirect FileMaker, Inc... FileMaker.
More information90
89 3 차원공간질의를위한효율적인위상학적데이터모델의검증 Validation of Efficient Topological Data Model for 3D Spatial Queries Seokho Lee Jiyeong Lee 요약 키워드 Abstract Keywords 90 91 92 93 94 95 96 -- 3D Brep adjacency_ordering DECLARE
More informationESQL/C
20 장. PL/SQL 커서 주요내용 암시적커서 명시적커서선언 명시적커서열기및닫기 명시적커서에서데이터 Fetch 커서의속성 (%ISOPEN, %ROWCOUNT, %FOUND, %NOTFOUND) 커서 FOR 루프 PL/SQL 의커서 (Cursor) 커서 SQL 문과프로그램실행과정에서결과를저장할수있는오라클메모리구조 ( 개별 SQL 작업영역 ) 암시적커서 (Implicit
More informationFMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2
FMX FMX 20062 () wwwexellencom sales@exellencom () 1 FMX 1 11 5M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2 FMX FMX D E (one
More informationMicrosoft PowerPoint - Oracle Data Join Method.pptx [읽기 전용]
Special Key Note Oracle Data Join Method ( 주 ) 오픈메이드컨설팅 오동규수석컨설턴트 1 What is Join? JOIN is Multiply. 2 Why is the Join Method so important? 잘못사용하면큰재앙이따른다.( 위의그림처럼 ) 두개의집합을연결할수있는유일한수단. Join Method 는모든 DBMS
More informationPowerPoint 프레젠테이션
MySQL - 명령어 1. 데이터베이스관련명령 2. 데이터베이스테이블관련명령 3. SQL 명령의일괄실행 4. 레코드관련명령 5. 데이터베이스백업및복원명령 1. 데이터베이스관련명령 데이터베이스접속명령 데이터베이스접속명령 mysql -u계정 -p비밀번호데이터베이스명 C: > mysql -ukdhong p1234 kdhong_db 데이터베이스생성명령 데이터베이스생성명령
More information3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT
3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT NOT NULL, FOREIGN KEY (parent_id) REFERENCES Comments(comment_id)
More informationInsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins
Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다.
More informationMicrosoft Word - PLSQL.doc
PL/SQL 2008 DB system and programming 보충자료 PL/SQL의실행절 BEGIN 절에서의몇가지규칙 - 실행문은여러라인에걸쳐사용할수있다. - 변수명의명명규칙은오라클의일반적인명명규칙과동일하다. PL/SQL 블록내에서 SQL 문을사용할때에는컬럼명과같은변수명은피해야한다. - SQL에서와마찬가지로날짜와문자는홑따옴표 ( ) 를사용하여인용하여야한다.
More information