1. 2018.04.09 Oracle 8i Startup, shutdown
  2. 2018.03.12 ASM
  3. 2017.12.18 Hint 정리
  4. 2017.12.07 CBO와 히스토그램 정리
  5. 2017.11.14 옵티마이저 기본기능
  6. 2017.04.05 RMAN 마지막 백업 확인
  7. 2016.10.06 DB의 실패한 로그인 확인하는 방법
  8. 2016.04.06 오라클 라이센스별 차이

Oracle 8i Startup, shutdown

* Oracle 8i startup


$svrmgrl


SVRMGRL>connect internal


SVRMGRL>startup


SVRMGRL>exit


$lsnrctl start




* Oracle 8i shutdown


$lsnrctl stop


$svrmgrl


SVRMGRL>connect internal


SVRMGRL>shutdown (or shutdown immediate)


SVRMGRL>exit

'ORACLE > Operation & Admin' 카테고리의 다른 글

Listener password  (0) 2018.10.14
CBO 와 바인드 변수, 바인드 피크  (0) 2018.05.17
Oracle 8i Startup, shutdown  (0) 2018.04.09
ASM  (0) 2018.03.12
Hint 정리  (0) 2017.12.18
CBO와 히스토그램 정리  (0) 2017.12.07

ASM

ASM이란?


ASM은 데이터베이스 구성 시 기본이 되는 디스크를 효율적으로 관리하기 위하여 오라클 10g에서 새로 선보인 데이터베이스 서비스이다. ASM은 하나의 SMP 장비뿐만 아니라 클러스터를 구성하는 모든 노드들에 대해서도 지원이 가능하다. ASM이 관리하는 모든 디스크에 대한 업무 분산 작업을 자동적으로 처리해 줌으로써 특정 디스크에 로드가 집중되는 핫 스팟(hot spot)현상을 최소할 수 있으며 이로 인해 성능을 극대화할 수 있다. 또한 데이터가 디스크에 균등한 크기로 저장 관리되어 fragmentation 현상이 발생하지 않는다. 그리고 ASM이 관리하는 영역에서 새로운 디스크가 추가되거나 삭제될 때마다, 기존 데이터들에 대해 재구성 작업이 자동적으로 일어난다. 또한 ASM은 특정 데이터에 대한 복사본을 자기 자신의 디스크에 유지할 수 있기 때문에 소프트웨어 미러링 효과를 볼 수 있다.

 

RAC 환경에서의 ASM 인스턴스


RAC 데이터베이스처럼 ASM 인스턴스들도 자체적으로 클러스터링을 할 수 있다. 이는 이미 셋업이 되어 있는 DLM 체계를 사용해서 가능한 것이다. 일반적으로 클러스터를 이루는 하나의 노드에는 하나의 ASM 인스턴스가 뜨도록 구성한다. 그리고 RAC 구성처럼 ASM 인스턴스가 관리하는 디스크는 모든 노드에서 인식 가능하도록 구성해야 한다. 데이터베이스 인스턴스는 오직 동일 노드에 있는 ASM 인스턴스와 상호 통신하게 된다. 만약 동일 노드에 서로 다른 데이터베이스 인스턴스가 존재할 경우, 그들은 그 노드에 있는 하나의 ASM 인스턴스를 공유하게 되는 것이다.

 

특정 디스크 그룹은 서로 다른 데이터베이스 파일을 저장할 수 있다. 이처럼 RAC 환경이 아닌 상태에서 서로 다른 데이터베이스가 동일한 디스크 그룹에 접근하는 것이 가능하다. 또한 하나의 데이터베이스는 동일한 ASM 인스턴스에 의해 관리되는 여러 개의 디스크 그룹에 그 데이터베이스 파일을 저장할 수도 있다.



Scalability

ASM imposes the following limits:

  • 63 disk groups in a storage system
  • 10,000 ASM disks in a storage system
  • 4 petabyte maximum storage for each ASM disk
  • 40 exabyte maximum storage for each storage system
  • 1 million files for each disk group
  • Maximum files sizes as shown in the following table:

Disk Group Type

Maximum File Size

External redundancy

35 TB

Normal redundancy

5.8 TB

High redundancy

3.9 TB

 

 

ASM을 설치하기 위한 최소 설정


1.     ASM에 사용할 디스크가 필요합니다.

2.     커널 버전에 맞는 ASMLib 파일이 필요합니다.

3.     Initialization Parameters for ASM Instances

4.     수동으로 ASM을 구성을 위해 init파일을 작성을 합니다. 최소 다음의 내용을 작성해야 합니다.

 

Name

Description

INSTANCE_TYPE

Type은 반드시 ASM으로 구성해야 합니다.

 

Note: 반드시 포함되어야 하는 최소한의 옵션입니다.모든 변수에서 기본이 되는 값입니다.

ASM_POWER_LIMIT

디스크의 기본이 되는 power해당되는 값입니다.

Default: 1, Range: 0 11

 

See Also: "Tuning Rebalance Operations"

ASM_DISKSTRING

ASM_DISKSTRING 디스크의 순서를 생각 할 수 있습니다. Diskstring을 아래와 같이 기재하면 자동으로 인식하게 됩니다.

/dev/rdsk/*

/dev/rdsk/*s3,/dev/rdsk/*s4

위의 내용을 다음과 같이 간단히 할 수도 있습니다.:

/dev/rdsk/*s[34]

기본 값은 NULL이고 필수사항이 아닙니다기재하지 않으면 기본값으로 설정됩니다.

 

See Also: "Improving Disk Discovery Time"

ASM_DISKGROUPS

ASM instance 시작 시에 자동으로 Mount할 디스크 그룹의 목록을 기재하는 항목입니다. 기본 값은 NULL입니다. 만일 설정값에 아무 값도 없다면 no disk 상태로 마운트됩니다. 설정 값이 static이 아닌 dynamic으로 되어 있기 때문에 spfile에 기록해서 자동으로 ASM에 추가할 수도 있습니다.

 

Note: Issuing the ALTER DISKGROUP...ALL MOUNT or ALTER DISKGROUP...ALL DISMOUNTcommand does not affect the value of this parameter.

 

 

 

 


 

ASM의 장점들

 

1. 디스크 I/O의 효과적인 분산

스토리지를 추가하면 이전 스토리지안에 있던 자료들이 자동으로 rebalance되어서 자료들이 분산됩니다.

 

2. VLDB지원(Very Large DB)

 

 

ASM Disk Group


ASM에서는 디스크를 여러개 묶어서 디스크 그룹으로 관리하는데, 1개의 그룹에는 최소 2개의 디스크가 있어야 합니다.

데이터가 들어올 때 AU라는 단위로 나누어서 각 디스크그룹별로 분산해서 저장하게 되는데,

AU(Allocation Unit)

   1) COARSE grained 방식 : 1MB단위로 기록되고, 주로 data, archivelog 파일에 사용

   2) FINE grained 방식 : 128KB단위로 기록되고, 주로 redo, control, flashback log 파일에 사용

의 두가지 옵션을 가집니다.

(11g  ASM부터는 AU의 종류가 1/2/4/8/16/32/64 MB로 다양하게 지원되어,

DB운영계획에 따라 적절히 지정하여 성능개선을 할 수 있습니다.)

 

 

Rebalance


Filesystem을 사용하게 되면 디스크그룹 내에 새 디스크가 추가되거나 제거되면 성능개선을 하기 위해서는

DBA가 직접 기존 디스크의 내용을 분산하거나, 이동시켜야 합니다.

 

ASM을 이용하게 되면 이러한 rebalance작업은 자동으로 ASM에서 수행하게 되고,

DB부하에 따라 rebalance에 얼마나 많은 CPU%를 배당할지도 지정할 수 있습니다.

 

alter diskgroup testdb_dg1 add disk '/dev/sdf1' rebalance power 11;

(1~11 : 1 rebalance되는 속도가 가장느리고, 11이 가장 빠름. 11로 갈수록 rebalance하는데 더 많은 CPU부하를 일으킵니다.)

 

 

ASM에서의 Restrict 옵션


관리자가 disk group 유지보수를 하기 위해 restrict 옵션을 제공하고, 이 옵션으로 디스크그룹을 mount할 경우 일반사용자는 접속할 수 없게되어,

유지관리성능을 더 향상시킬 수 있습니다.

alter diskgroup data mount restrict;

   유지보수종료 후 -->  alter diskgroup data dismount;  --> alter diskgroup data mount;


ASM Instance : 디스크그룹에 대한 정보를 수집해서 Database Instance에 제공, ASMB가 교두보역할

      ORACLE_SID=+ASM 으로 해당 인스턴스에 접속해서 mount, shutdown 할 수 있음

RBAL process : 디스크추가 및 삭제 시 디스크그룹에 대한 Rebalance담당, ASM Instance의 요청이 있을 경우 디스크를 열고 닫는 프로세스

ARBn : RBAL의 명령을 받아 실질적으로 작업을 수행하는 process



ASM parameter

instacne_type: ASM (default: rdbms)
db_unique_name: +asm
asm_power+limit: 1(low)~11(high) 설정 가능. ASM 데이터 리밸런싱 속도 조정 레벨 값 (기본값 1)
asm_diskgroups: ASM 인스턴스 시작시 구동되는 디스크 그룹
asm_diskstring: ASM에 사용된 디스크가 포함된 물리적 경로
asm_preferred_read_failure_groups:I/O 실패가 발생한 그룹을 명시.

ASM SGA 및 주요 parameters
 : ASM Instance 를 통해서 입 출력이 되기 때문에 관련 파일과 파라미터들이 있다.
 
주요파라미터
 - db_cache_size : ASM Instance 가 사용할 cache 크기 결정. 오라클권장값 64M
 - shared_pool : ASM Instance를 관리하는 용도로 사용. 오라클권장값 128M
 - Large_pool : Extent Maps 을 저장하는 용도. 오라클권장값 64M
 
※ 참고
$ORACLE_HOME/dbs/init+ASM.ora
내용
 
*.asm_diskgroups='DATA','FRA'
+ASM.asm_diskgroups='DATA','FRA','NEW_ASM'#Manual Mount
*.background_dump_dest='/home/oracle/admin/+ASM/bdump' → alert log file 저장 경로 지정
*.core_dump_dest='/home/oracle/admin/+ASM/cdump' → core dump 를 저장할 경로 지정
*.instance_type='asm'
*.large_pool_size=12M
*.remote_login_passwordfile='SHARED'
*.user_dump_dest='/home/oracle/admin/+ASM/udump'
 
▶ 위 파라미터 외 다른 파라미터를 잘못 지정 할 경우 ORA_15021 에러 발생 - ASM Instance 가 구동 되지 않는다.

col "Parameter Name" for a40
col "Instance Value" for a20

select 
   a.ksppinm "Parameter Name", 
   c.ksppstvl "Instance Value"
from 
   x$ksppi a, 
   x$ksppcv b, 
   x$ksppsv c
where 
   a.indx = b.indx 
and 
   a.indx = c.indx
and 
   ksppinm like '%asm%'
order by 
   a.ksppinm;


Parameter Name Instance Value
---------------------------------------- --------------------
_asm_acd_chunks 1
_asm_admin_with_sysdba FALSE
_asm_allow_appliance_dropdisk_noforce FALSE
_asm_allow_lvm_resilvering TRUE
_asm_allow_only_raw_disks TRUE
_asm_allow_system_alias_rename FALSE
_asm_appliance_config_file
_asm_ausize 1048576
_asm_automatic_rezone TRUE
_asm_avoid_pst_scans TRUE
_asm_blksize 4096
_asm_check_for_misbehaving_cf_clients FALSE
_asm_compatibility 10.1
_asm_dba_batch 500000
_asm_dba_spcchk_thld 20000
_asm_dba_threshold 0
_asm_dbmsdg_nohdrchk FALSE
_asm_diag_dead_clients FALSE
_asm_direct_con_expire_time 120
_asm_disable_amdu_dump FALSE
_asm_disable_async_msgs FALSE
_asm_disable_multiple_instance_check FALSE
_asm_disable_profilediscovery FALSE
_asm_disable_smr_creation FALSE
_asm_disable_ufg_dump FALSE
_asm_disk_repair_time 14400
_asm_emulate_nfs_disk FALSE
_asm_emulmax 10000
_asm_emultimeout 0
_asm_evenread 2
_asm_evenread_alpha 0
_asm_evenread_alpha2 0
_asm_evenread_faststart 0
_asm_fail_random_rx FALSE
_asm_fd_cln_idle_sess_twait 10000000
_asm_fd_cln_on_fg TRUE
_asm_fob_tac_frequency 9
_asm_force_quiesce FALSE
_asm_global_dump_level 267
_asm_hbeatiowait 15
_asm_hbeatwaitquantum 2
_asm_imbalance_tolerance 3
_asm_instlock_quota 0
_asm_iostat_latch_count 31
_asm_kfdpevent 0
_asm_kfioevent 0
_asm_kill_unresponsive_clients TRUE
_asm_libraries ufs
_asm_log_scale_rebalance FALSE
_asm_lsod_bucket_size 67
_asm_max_cod_strides 5
_asm_max_redo_buffer_size 2097152
_asm_maxio 1048576
_asm_partner_target_disk_part 8
_asm_partner_target_fg_rel 4
_asm_primary_load 1
_asm_primary_load_cycles TRUE
_asm_random_zone FALSE
_asm_rebalance_plan_size 120
_asm_rebalance_space_errors 4
_asm_repairquantum 60
_asm_reserve_slaves TRUE
_asm_root_directory ASM
_asm_runtime_capability_volume_support FALSE
_asm_secondary_load 10000
_asm_secondary_load_cycles FALSE
_asm_serialize_volume_rebalance FALSE
_asm_shadow_cycle 3
_asm_skip_rename_check FALSE
_asm_skip_resize_check FALSE
_asm_storagemaysplit FALSE
_asm_stripesize 131072
_asm_stripewidth 8
_asm_sync_rebalance FALSE
_asm_usd_batch 64
_asm_wait_time 18
_asmlib_test 0
_asmsid asm
_ges_diagnostics_asm_dump_level 11
_lm_asm_enq_hashing TRUE
asm_diskgroups DATA, ACFS
asm_diskstring /dev/asm*
asm_power_limit 1
asm_preferred_read_failure_groups


ASM datafile name 변경

ASM에서 Datafile 이름은 랜덤숫자가 붙은 형식으로 끝나는데, 이것을 유저친화적 형식으로 알아보기 쉽게 바꾼다면, alias를 사용해야 한다.
데이터 파일을 바로 생성하는 것이 아닌 기존 파일을 이용한 alias 생성방법.

alter diskgroup disk_group_1 
   add alias 
 '+DISK_GROUP_1/oratst1/datafile/my_system_dbf'
   for 
 '+DISK_GROUP_1/oratst1/datafile/system.1122.764387443';


ASM datafile Copy

$ rman target /

 

Recovery Manager: Release 10.2.0.5.0 - Production on Tue Feb 28 17:50:37 2012

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

connected to target database: TESTDB (DBID=2559693415)

 

RMAN> copy datafile '+DATA/testdb/datafile/ts_new.266.776453331' to '+FRA';

 

Starting backup at 28-FEB-12

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=143 devtype=DISK

channel ORA_DISK_1: starting datafile copy

input datafile fno=00005 name=+DATA/testdb/datafile/ts_new.266.776453331

output filename=+FRA/testdb/datafile/ts_new.260.776454711 tag=TAG20120228T175149 recid=1 stamp=776454711

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03

Finished backup at 28-FEB-12

 

RMAN> copy datafile '+DATA/testdb/datafile/ts_new.267.776453579' to '+FRA';

 

Starting backup at 28-FEB-12

using channel ORA_DISK_1

channel ORA_DISK_1: starting datafile copy

input datafile fno=00006 name=+DATA/testdb/datafile/ts_new.267.776453579

output filename=+FRA/testdb/datafile/ts_new.261.776454737 tag=TAG20120228T175217 recid=2 stamp=776454738

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01

Finished backup at 28-FEB-12

 

※ 참고 - 주의!!!!!


 : RMAN에서 복사해주면 경로만 바뀌는게아니라 파일이름도 함께바뀐다. 


SQL> alter database rename file '+DATA/testdb/datafile/ts_new.266.776453331'

  2  to '+FRA/testdb/datafile/ts_new.266.776453331';

alter database rename file '+DATA/testdb/datafile/ts_new.266.776453331'

*

ERROR at line 1: ← 그런파일 없다고 에러난다.

ORA-01511: error in renaming log/data files

ORA-01141: error renaming data file 5 - new file '+FRA/testdb/datafile/ts_new.266.776453331' not found

ORA-01110: data file 5: '+DATA/testdb/datafile/ts_new.266.776453331'

ORA-17503: ksfdopn:2 Failed to open file +FRA/testdb/datafile/ts_new.266.776453331

ORA-15173: entry 'ts_new.266.776453331' does not exist in directory 'datafile'


▶ 위의 copy과정에 진하게 표시해 놓은 부분을 보면 +FRA로 경로가 이동된 파일의 파일 이름도 달라 졌음을 확인할 수 있다. 



ASM에서 pfile 수정


os filesystem 에다가 만든 pfile 을 수정하고 다시 asm 저장공간에 spfile로 만들려면 


SQL> create spfile='+DATA' from pfile;

SQL> exit

$asmcmd

asmcmd> ls parameterfile

spfile.260.672234945

spfile.267.776334921 <-- 요걸로 alias 만듬


asmcmd> rmalias spfileasmdb.ora

asmcmd> mkalias +DATA/TESTDB/PARAMETERFILE/spfile.267.776334921 spfiletestdb.ora



ASM 에서 디스크 추가 제거


$ export ORACLE_SID=+ASM

$ sqlplus / as sysasm;

ASM Disk중 사용 안 하는 것 조회

+ASM> 

set line 200
col path for a15

select group_number, mount_status, path, total_mb
from v$asm_disk where mount_status='CLOSED';

ex)
GROUP_NUMBER MOUNT_STATUS   PATH              TOTAL_MB
------------ -------------- --------------- ----------
0               CLOSED            ASM1                 102400
0               CLOSED            ASM2                 102400
0               CLOSED            ASM3                 102400

ASM Disk 추가

+ASM> alter diskgroup data add disk 'ORCL:ASM1' rebalance power 5;

ASM Disk 상태 조회
+ASM> select group_number, disk_number, name, mount_status, path, total_mb from v$asm_disk;

GROUP_NUMBER DISK_NUMBER NAME       MOUNT_STAT PATH              TOTAL_MB
------------ ----------- ---------- ---------- --------------- ----------
           0           4            CLOSED     /dev/raw/raw6           54
           0           5            CLOSED     /dev/raw/raw5          486
           0           6            CLOSED     /dev/raw/raw4          486
           0           7            CLOSED     /dev/raw/raw3          486
           0           8            CLOSED     /dev/raw/raw2          486
           0           9            CLOSED     /dev/raw/raw1          486
           1           0 DATA_0000  CACHED     /dev/raw/raw10      126849
           1           2 DATA_0002  CACHED     /dev/raw/raw8       126849
           1           3 DATA_0003  CACHED     /dev/raw/raw9       126849
           1           1 DATA_0001  CACHED     /dev/raw/raw7       126849
           1           1 ASM1       CACHED     /dev/asm/asm1       102400

ASM2,3 추가

ASM 디스크 상태조회

2) ASM Disk Group에 디스크 추가
+ASM> alter diskgroup DATA add disk 'ASM1' rebalance power 10;
+ASM> alter diskgroup DATA add disk 'ASM2' rebalance power 10;
+ASM> alter diskgroup DATA add disk 'ASM3' rebalance power 10;

3) 13:30 - asm 디스크 삭제 (구 스토리지의 디스크 삭제 후 rebalance)
+ASM> alter diskgroup data drop disk DATA_0000;
+ASM> alter diskgroup data drop disk DATA_0001;
+ASM> alter diskgroup data drop disk DATA_0002;
+ASM> alter diskgroup data drop disk DATA_0003;

명령실행후 diskgroup altered. 메시지가 보여지나 rebalancing 작업이 내부적으로 진행중이며 다음 v$asm_operation view를 통해 ACTIVE한 상태인지 확인할 수 있습니다.

+ASM> select name,header_status,state,free_mb from v$asm_disk;

NAME             HEADER_STATUS            STATE                FREE_MB 
---------------- ------------------------ -------------------- ------------ 
DATA_0000        MEMBER                   NORMAL               126849
DATA_0001        MEMBER                   NORMAL               126849
DATA_0002        MEMBER                   NORMAL               126849
DATA_0003        MEMBER                   DROPPING             126849     → DROP 진행중

내부적 rebalancing 작업이 완료되면 수행중인 OPERATION 이 없어지며 v$asm_disk view에DISK DATA_0003이 없어진 것을 확인할 수 있습니다.


'ORACLE > Operation & Admin' 카테고리의 다른 글

CBO 와 바인드 변수, 바인드 피크  (0) 2018.05.17
Oracle 8i Startup, shutdown  (0) 2018.04.09
ASM  (0) 2018.03.12
Hint 정리  (0) 2017.12.18
CBO와 히스토그램 정리  (0) 2017.12.07
옵티마이저 기본기능  (0) 2017.11.14

Hint 정리

1. 최적화 목표(GOAL) 제어힌트

          

 ALL_ROWS : 쿼리의전체 결과를 모두 수행 하는것에 대한 최적화를 목표로 최저비용의 실행 계획을 수립하도록 유도.


 CHOOSE : 엑세스 하는 테이블의 통계정보 유무에 따라 규칙기준 또는비용기준을 적용하여 최적화 수행.

              통계정보를 참조할 수 있는 경우 ALL_ROWS 방식으로 처리.


 FIRST_ROWS : 최적 응답시간을 목표로 최저 비용의 실행 계획을 수립하도록 유도.


 RULE : 규칙기준 옵티마이져를 이용하여 최적화를 요구.



2. 조인순서 조정을 위한 힌트

          

 ORDERED : FROM절에 기술한 순서대로 조인을 하도록 유도. 

           LEADING 힌트와 함께 쓰면 LEADING힌트는 무시.

           ORDERED는 엑세스 순서만 제시.

           조인방법을 유도하는 힌트. USE_NL,USE_MERGE와 함께 쓰는게 일반적. 

           ex>

           SELECT /*+ ORDERED USE_NL(A,B) */

           FROM TAB1 A , TAB2 B;

  

 LEADING : FROM절의 테이블 순서와 상관없이 조인순서를 제어.

           ex>

           SELECT /*+ LEADING(B,C) */

           FROM TAB1 A , TAB2 B , TAB3 C;

 

 

3. 조인방법 선택용 힌트

          

 USE_NL : NESTED LOOP 조인을 유도하는 힌트. 조인 순서가 아닌 조인 방식을 유도.

  

 NO_USE_NL : NESTED LOOP 조인을 제외한 방식으로 유도. NESTED LOOP가 최적일 경우 무시 가능.

  

 USE_NL_WITH_INDEX : NESTED LOOP 조인에서 외측 루프의 처리주관 인덱스를 지정할때 사용.

  

 USE_HASH : 해쉬 조인 방식으로 수행 되도록 유도.

  

 NO_USE_HASH : 해쉬 조인 방식을 제외한 다른 조인 방식으로 유도.

  

 USE_MERGE : SORT MERGE 조인 방식으로 수행 되도록 유도.

 

 

4. 병렬처리 관련힌트

          

 PARALLEL : 엑세스 할때와 DML 처리할때 SQL의 병렬처리를 유도하는 힌트.

  

 NOPARALLEL : PARALLEL 옵션이 부여된 테이블 엑세스시 해당 테이블의 PARALLEL 파라페터를 무시하고, 병렬처리를 하지 않고 수행 하도록 유도.

  

 PQ_DISTRIBUTE : 병렬 조인의 속도를 향상시키기 위해 슬페이브 프로세스-생산자 와 소비자-프로세스 사이에서 조인할 테이블의 로우를 서로 주고 받는 할당작업의 방법을 정의하는 힌트.

 

 PARALLEL_INDEX : 파티션 인덱스에 대한 인텍스 범위 스캔을 병렬로 수행하기 위한 병렬도를 지정하는 힌트.

 

 NOPARALLEL_INDEX : 병렬 인텍스 범위 스캔을 하지않게 하는 힌트.

 

 

5. 엑세스수단 선택을위한 힌트

          

 FULL : 힌트 내에 정의된 테이블을 풀스캔 방식으로 유도.

  

 HASH : 해쉬 클러스터 테이블을 엑세스 할때 해쉬 스캔 방식으로 유도.

  

 CLUSTER : 클러스터링 테이블 엑세스시 클러스터 인덱스 스캔 방식으로 유도.

  

 INDEX : 인덱스 범위 스캔에 의한 테이블 엑세스를 유도. 뷰의 경우 뷰 내의 테이블의 인덱스 스캔을 지정 할 수도 있다.

  

 NO_INDEX : 지정한 인덱스외에 다른 엑세스를 고려하도록 유도. 테이블만 정의하면 모든 인덱스를 제외.

  

 INDEX_ASC : 인덱스 컬럼값의 오름차순으로 범위스캔 하게 유도.

  

 INDEX_DESC  : 인덱스 컬럼값의 내림차순으로 범위스캔 하게 유도.

  

 INDEX_COMBINE : 2개 이상의 인덱스를 비트맵 인덱스로 변경/결합하여 엑세스 하는 방식으로 유도. 

                        다른 타입의 인덱스도 변경/결합 가능.

  

 INDEX_FFS : 전체범위를 스캔 하는 방식으로 유도. 멀티 블록을 스캔.

  

 INDEX_JOIN : 2개 이상의 인덱스들로 조인을 수행하도록 유도. 인덱스만으로 쿼리를 처리할수 있어야 함.

 

 INDEX_SS : 인덱스 스킵 스캔방식으로 엑세스 하도록 유도.

  

 NO_INDEX_SS : 스킵 스캔을 제외한 다른 엑세스방법을 유도.

  

 INDEX_SS_ASC : 인덱스 스킵 스캔방식으로 스캔 하는 경우 오름차순으로 인덱스를 읽도록 함.

  

 INDEX_SS_DESC : 인덱스 스킵 스캔방식으로 스캔 하는 경우 내림차순으로 인덱스를 읽도록 함.

 

          

6. 쿼리 형태변형을 위한힌트

          

 USE_CONCAT : OR(IN)연산자를 별도의 실행단위로 분리. 각각의 최적 엑세스경로를 수립후 연결 하는 실행 계획을 유도.

                    처리주관 조건이 OR 일경우만 사용가능. 잘못 사용시 비효율 발생.

  

 NO_EXPAND : OR(IN)연산자를 연결실행계획으로 처리되지 않도록 유도.

  

 REWRITE : 쿼리재작성(Query Rewrite)을 실행 하도록 하는 힌트.

           

               주)쿼리재작성(Query Rewrite) 란? 

               쿼리 수행시 테이블 엑세스 방법과 실체 뷰 엑세스 방법중 유리한 것을 선택하도록 쿼리를 변형하는 것.

  

 NO_REWRITE : 쿼리재작성(Query Rewrite)을 하지 않도록 하는 힌트.

  

 MERGE : 뷰 병합이 일어나지 않을때 적용 가능.

           

               주)뷰 병합 이란?

               뷰의 엑세스를 최적화 하기 위해 뷰 쿼리에 사용된 원래 테이블을 최적으로 엑세스하도록 문장을 변형시키는 것.

  

 STAR_TRANSFORMATION : 스타변형조인을 수행하도록 요구하는 힌트.

 

 FACT : 스타변형조인에서 팩트 테이블을 지정하기 위해 사용하는 힌트.

  

 UNNEST : 서브 쿼리와 메인 쿼리를 합쳐 조인 형테로 변형 하도록 하는 실행계획을 유도.

 

          

7. 기타힌트

 

 APPEND : INSERT문에서 사용하는 힌트. INSERT 작업을 'DIRECT-PATH' 방식으로 수행시켜 

              SGA를 거치지 않고 직접 저장 공간에 입력 시킴. APPEND 힌트는 반드시 최고수위점 다음 위치에 데이터를 저장한다.

 

 CACHE : 전체 테이블 스캔 방식으로 읽혀진 블록을 메모리내에 머물수 있도록 하는 힌트. 크기가 작은 테이블에 유용.

 

 NOCACHE : LRU리스트의끝에 위치하도록 유도해서 메모리에서 우선적으로 제거되도록 하는 힌트.

  

 CARDINALITY : 옵티마이져에게 카디널리티 값을 제시하여 실행 계획 수립에 참조하도록 하는 힌트.

 

 CURSOR_SHARING_EXACT : CURSOR_SHARING 과 관련하여 실행계획 공유 비율을 높일수 있다.

 

 DRIVING_SITE : 원격 테이블과 조회시 쿼리가 수행될 사이트를 지정하여 분산쿼리를 최적화하는 힌트.

  

 DYNAMIC_SAMPLING : 통계 정보를 가지고 있지 않을 경우 통계 정보를 동적 표본화 하는 기능을 단위 SQL에 적용하는 힌트.

  

 PUSH_PRED : 뷰 외부의 조인 조건을 뷰쿼리 내로 삽입하는 힌트.

  

 NO_PUSH_PRED : 뷰 외부의 조인 조건을 뷰내로 삽입하지 않도록 함.

  

 PUSH_SUBQ : MERGE 되지 않은 서브쿼리를 최대한 먼저 수행하도록 요구하여 수행 속도를 향상.

           

 QB_NAME : 쿼리 블록에 이름을 부여하여 다른 힌트에서 참조 할 수 있도록 함.

  

 REWRITE_ON_ERROR : 쿼리 재생성을 실행 할 수 없는 경우 ORA-30393 에러를 유발하여 쿼리 수행을 중단시킴.

'ORACLE > Operation & Admin' 카테고리의 다른 글

Oracle 8i Startup, shutdown  (0) 2018.04.09
ASM  (0) 2018.03.12
Hint 정리  (0) 2017.12.18
CBO와 히스토그램 정리  (0) 2017.12.07
옵티마이저 기본기능  (0) 2017.11.14
RMAN 마지막 백업 확인  (0) 2017.04.05

CBO와 히스토그램 정리

◆ CBO와 히스토그램 정리


 - 기본적으로 옵티마이저는 컬럼값 안에 최소값과 최대값 사이의 값이 균등하게 분포되고, 모든 값은 같은 수만큼 존재 한다고 가정한다. 그러므로 실제 값이 편중되어 있을 때 잘못된 액세스 패스를 선택 할 수 도 있다. 


 - 옵티마이저 통계를 수집할 때 컬럼값 히스토그램을 생성하는 것으로 올바른 액세스 패스를 선택할 가능성을 높일 수 있다. 


 - NDV가 적을 경우 빈도 분포 히스토그램을 만들면 정확한 선택도를 계산 할 수 있다.


 - NDV가 많을 경우에도 높이 균형 히스토 그램을 만들수 있다. 정확성은 분도 빈포 히스토그램보다 떨어지지만, 적절한 액세스 패스를 선택하기 위한 정보는 충분히 얻을 수 있다.



 1) 빈도 분포 히스토그램 (Frequency)


 - 오라클에서는 최대 254개의 버킷을 지정하여 컬럼값 히스토그램을 생성 할 수 있음.

 - 지정한 버킷 수 이하라면 '빈도 분포' 히스토그램이 만들어진다.

 - 빈도분포 히스토그램은 각 값이 몇 건이나 있는지 정확하게 기록 한다.

 - 256 종류 이상 (패킷0을 포함한 255 종류의 값이 기록 가능)의 값을 가진 컬럼에는 생성 불가능.

 - 버킷을 제한 없이 늘리면 히스토그램 생성 시간이 길어지고, 히스토그램 정보가 들어있는 딕셔너리 테이블도 대량으로 소비하게 된다. 



 2) 높이 균형 히스토그램 (Height Balanced)


 - 빈도분포 만큼 정확하지는 않지만, 편중된 값을 검출하기 위해 사용.

 - 정렬한 데이터를 지정한 버킷 수로 순서에 따라 균등하게 입력해 나가며, 각 버킷 마지막 값(ENDPOINT_VALUE)을 기록. 각 버킷에 같은 건수만 들어간다. 여러 버킷의 ENDPOINT_VALUE가 같다면, 이 값이 다른 값들보다 많이 존대 한다는 증거. 이렇게 여러 버킷의 ENDPOINT_VALUE가 되는 값을 '포뮬러값' 이라고 한다.

 - 같은 포뮬러값이 존재 하는 경우, 마지막 버킷 정보만 보관하고, 같은 포뮬러값의 이전 버킷의 정보는 생략.

 - 버킷 0은 특수한 버킷으로 최소값을 나타냄.

 - 마지막 ENDPOINT_VALUE 값은 최대값을 나타냄.

 - 포뮬러값이 존재하는경우 ENDPOINT_NUMBER의 값이 누락 된다. 



 ※ 히스토그램을 사용할 때 주의점


 1) 높이 균형 히스토그램의 경우 '=' 조건으로 포뮬러값 이외의 치우침은 찾아낼 수 없다. 포뮬러값을 찾아내기 위해서는 적절한 사이즈의 버킷수가 필요.


 2) NDV가 적으나 다른 값에 비해 수가 더욱 적은 임의의 값을 검색할 때, 인덱스 액세스를 선택하도록 하고 싶을 경우에는 빈도 분포 히스토그램이 필요.


 3) 문자형 데이터의 경우에는 히스토그램에 칼럼값으로 보관되는 것은 32 Byte까지이며, 첫 글자부터 동일 하게 32 Byte (한글은 16글자) 라면 히스토그램상에서는 같은 값으로 취급한다. 



'ORACLE > Operation & Admin' 카테고리의 다른 글

ASM  (0) 2018.03.12
Hint 정리  (0) 2017.12.18
CBO와 히스토그램 정리  (0) 2017.12.07
옵티마이저 기본기능  (0) 2017.11.14
RMAN 마지막 백업 확인  (0) 2017.04.05
DB의 실패한 로그인 확인하는 방법  (0) 2016.10.06

옵티마이저 기본기능

옵티마이저 기본 기능



1. RBO와 CBO의 차이



 RBO (Rule Based Optimizer) 규칙 기반 옵티마이저


 - Oracle 9i까지 사용하던 방식으로 Oracle 10g서 부터는 지원되지 않는다.


 RBO의 장점 


  1) 기능이 한정적이고 쉽기 때문에 배우기가 쉽다.

  2) 규칙을 외어버리면 튜닝이 쉽다.

  3) 오래전부터 사용된 기능이기 때문에 기존 지식을 사용 할 수 있다.

  4) 운영중에 SQL 실행계획이 거의 변하는 일이 없기 때문에 액세스 패스가 변경되어 성능이 떨어지는 장애가 발생하지 않는다.


 RBO의 단점


  1) 데이터 변동을 따라가지 못한다.

  2) SQL문 작성시 항목순서나 인덱스 만드는 순서가 중요하기 때문에 코드의 수정이나 인덱스 관리의 문제가 원인이 되어 성능       에 영향을 미치는 경우가 많다.

  3) 버전이 올라가면서 강화된 옵티마이저의 여러 기능 혜택을 받을수 없다. 



 CBO (Cost Based Optimizer) 비용 기반 옵티마이저


 - 내부적으로 통계정보를 참조하며 액세스 패스를 유연하게 최적화하는 기능.

 - CBO는 ANALYZE(통계수집)을 할 필요가 있으며, 통계를 최저한만 수집해서는 적절한 실행 계획을 얻지 못한다.



2. SQL문 처리에서 옵티마이저의 역할


 SQL문의 흐름


 - SQL문의 처리에는 소프트 파스와 하드 파스 두가지 방법이 있다.

 - 옵티마이저가 관여하는 경우와 관여하지 않는 경우로 나뉜다.


 소프트 파스


 - 실행한 SQL문은 파서에 의해 파스(Parse) 된다.

 - 파서는 SQL문을 컴포넌트 단위로 분해하여 문법적으로 틀리지 않았는지를 확인.

 - SGA에 캐시 되어 있는지를 조사. 캐시되어 있는 경우 SQL문을 즉시 실행가능


 하드 파스


 - SGA에 캐시가 없으면 SQL은 처음 실행되었거나 SGA에서 캐시 아웃된 상태. 이럴때 하드 파스 (Hard Parse)가 일어난다.

 - 하드 파스의 결과물로 옵티마이저가 '쿼리 실행 계획'을 만듬.

 - 실행 계획을 로우 소스 생성기가 받은후, 필요한 데이터 구조를 생성.

 - 로우 소스 생성기의 결과물을 이용해 SQL을 실행. 

 - DDL이나 UPDATE의 경우 실행 단계에서 작업이 완료되나, SELECT는 이후 Fetch 처리를 수행.



3. 옵티마이저가 수행하는 쿼리


 1) 옵티마이저가 가장 먼저 실행하는 처리는 쿼리의 변환(변형)

 - 작성된 SQL문을 다양한 형태로 변형한 후, 선택 가능한 실행 계획을 늘릭 위해 수행.

 2) 에스티메이터가 변환된 쿼리를 이용해 기초 비용을 예측하고 플랜 생성기가 실행 계획의 생성한 후, 다시 에스티메이터가 비용을 계산한다.

 - 계획의 비용을 예측할때에는 데이터 딕셔너리에 보관된 옵티마이저 통계를 이용.

 - 통계를 사전에 수집하지 않은 경우에는 다이내믹 샘플리을 수행하거나, 내부의 기본값이 사용되는 경우도 있음.


* 옵티마이저 통계에 포함된 정보

 

 테이블 통계

  - 건수

  - 블록 수

  - 평균 행 길이


 칼럼 통계

  - NDV(Number of distinct Value): 칼럼값의 종류 (Distinct count)

  - 칼럼 내의 NULL 수

  - 데이터 분포 (최댓값/최소값/히스토그램)

 

 인덱스 통계

  - 리프 블록 수

  - 레벨 (트리의 깊이)

  - 클러스터링 팩터


 시스템 통계

  - I/O 성능

  - CPU 성능


'ORACLE > Operation & Admin' 카테고리의 다른 글

Hint 정리  (0) 2017.12.18
CBO와 히스토그램 정리  (0) 2017.12.07
옵티마이저 기본기능  (0) 2017.11.14
RMAN 마지막 백업 확인  (0) 2017.04.05
DB의 실패한 로그인 확인하는 방법  (0) 2016.10.06
오라클 라이센스별 차이  (0) 2016.04.06

RMAN 마지막 백업 확인

RMAN 백업이 언제 마지막으로 되었는지, 어떻게 되었는지 확인 하는 쿼리



col type format a4

col handle format a35 trunc

col file# format 9999

col duration format a9


select decode(BACKUP_TYPE, 'L', 'ARCH', 'D', 'DB', 'I', 'INC',

'Unknown type='||BACKUP_TYPE) TYPE,

to_char(a.start_time, 'YYYY-MM-DD HH24:MI:SS') start_time,

to_char(a.elapsed_seconds/60, '99.9')||' Min' DURATION,

substr(handle, -35) handle,

nvl(d.file#, l.sequence#) file#, nvl(d.blocks, l.blocks) blocks,

to_char(a.COMPLETION_TIME, 'YYYY-MM-DD HH24:MI:SS') end_time

from SYS.V_$BACKUP_SET a, SYS.V_$BACKUP_PIECE b,

SYS.V_$BACKUP_DATAFILE d, SYS.V_$BACKUP_REDOLOG l

where a.start_time between sysdate-1 and sysdate

and a.SET_STAMP = b.SET_STAMP

and a.SET_STAMP = d.SET_STAMP(+)

and a.SET_STAMP = l.SET_STAMP(+)

order by start_time, file#

/



'ORACLE > Operation & Admin' 카테고리의 다른 글

CBO와 히스토그램 정리  (0) 2017.12.07
옵티마이저 기본기능  (0) 2017.11.14
RMAN 마지막 백업 확인  (0) 2017.04.05
DB의 실패한 로그인 확인하는 방법  (0) 2016.10.06
오라클 라이센스별 차이  (0) 2016.04.06
Oracle 8i Rollback segment 관리  (0) 2015.08.18

DB의 실패한 로그인 확인하는 방법

SQL> show parameter audit

audit_trail = db 인지 확인


DB가 아니라면

SQL> alter system set audit_trail=db scope=spfile;

적용하고 재구동



DB가 맞다면

SQL> audit create session whenever not successful;

로그인 실패 기록을 적용


set line 500
set pages 1000
col os_username for a20
col username for a20
col terminal for a20
col time for a26
col action_name for a18
col comment_text for a101

select
   os_username,
   username,
   terminal,
   to_char(timestamp,'YYYY-MM-DD HH24:MI:SS') "Time",
   action_name,
   returncode,
   comment_text
from
   dba_audit_trail
where username = 'APP_USER';
--and returncode > 0;


조건절에 해당 유저로 변경
맨 마지막줄 주석 해제하면 실패한 기록만 확인

RETURNCODE=0 indicates success
RETURNCODE=1017 indicates bad password
RETURNCODE=28000 indicates account is locked out



audit 설정 해제 하려면


SQL> noaudit create session whenever not successful;

'ORACLE > Operation & Admin' 카테고리의 다른 글

옵티마이저 기본기능  (0) 2017.11.14
RMAN 마지막 백업 확인  (0) 2017.04.05
DB의 실패한 로그인 확인하는 방법  (0) 2016.10.06
오라클 라이센스별 차이  (0) 2016.04.06
Oracle 8i Rollback segment 관리  (0) 2015.08.18
AWR 재설치하기  (0) 2015.05.11

오라클 라이센스별 차이

Oracle Database는 Enterprise, Standard, Personal, Lite Edition 4가지 에디션으로 제공됩니다. 


 
▶ Oracle Database: Enterprise Edition 


Oracle Database Enterprise Edition은 클러스터 및 단일 시스템 구성 모두에서 업계를 선도하는 확장성과 안정성을 제공합니다. 또한 OLTP 및 비즈니스 인텔리전스에 있어서 가장 포괄적인 기능을 제공하며 총소유 비용이 가장 저렴합니다. Enterprise Edition에는 다음이 포함됩니다 .
  • ETL, 데이터 웨어하우징, OLAP, 데이타 마이닝 등의 고성능 비즈니스 인텔리전스 서비스
  • SQL, Java, XML, 표준 웹 인터페이스를 통한 웹 서비스로의 종합적이고 개방적인 액세스
  • 시스템 오류, 사이트 오류, 사람으로 인한 오류, 계획된 유지 보수 등을 극복할 수 있는 지속적인 가용성
Oracle Database Enterprise Edition은 Windows와 Linux를 실행하는 소규모 서버에서 대형 UNIX 서버 및 메인 프레임에 이르기까지 각종 기록을 능가하는 시스템 성능과 확장성을 제공합니다. 
그리고 오라클은 17개의 독립 보안 평가를 보유하고 있는 유일한 데이타베이스 업체이기도 합니다.



▶ Oracle Database: Standard Edition 

Oracle Database 10g Standard Edition은 업계 최고의 오라클 데이타베이스의 성능, 안정성, 보안성을 필요로 하는 중소 규모 비즈니스 또는 부서별 시스템에 이상적인 제품입니다. Oracle Database 10g Standard Edition은 단일 서버 및 클러스터링된 서버(최대 4프로세서)에서 사용할 수 있습니다. 여기에 포함된 사항은 다음과 같습니다 .
  • 필요시 확장 가능하고 서버 고장으로부터 보호해 주는 Oracle Real Application Clusters
  • 빠른 설치, 간편한 구성 및 자동화된 관리 기능
  • 효율적이고 덜 복잡한 데이타 및 디스크 관리를 위한 ASM(Automated Storage Management)
Oracle Database 10g Standard Edition 라이센스는 최대 4프로세서의 용량을 갖춘 단일 서버 환경에서, 그리고 클러스터당 최대 4프로세서를 지원하는 서버의 클러스터 환경에서 받을 수 있습니다. 

Oracle Database 10g Standard Edition을 사용하면 트랜잭션 프로세싱, 데이타 웨어하우징, 타사 및 멀티미디어 애플리케이션을 비롯한 모든 유형의 애플리케이션을 비용 효율적으로 개발 및 배포할 수 있습니다.



▶ Oracle Standard Edition One--중소 규모 기업을 위해 마련된 Oracle Database 

오 라클의 Global Practices, Global Pricing and Licensing Strategy 부사장인 Jacqueline Woods는 "Oracle Standard Edition One은 세계적 수준의 데이타베이스를 매력적인 가격으로 소규모 기업들과 파트너 커뮤니티에 제공해 줍니다."라고 말합니다.

Oracle Standard Edition One은 빠르고 쉬운 설치 및 단순화된 관리 등 중소 규모 기업들을 위한 많은 기능을 갖추고 있습니다. Standard Edition One은 전체 Oracle Database 제품군의 일부분으로서, 가장 큰 문제들을 다룰 수 있도록 완벽한 호환성과 확장성을 제공합니다. 고객들은 소규모로 시작하여 요구가 증가하게 될 때 확장할 수 있습니다.

 

Oracle Database 11g Standard Edition One

Oracle Database 11g Standard Edition One은 최대 2소켓의 서버를 위한 저렴하면서도 전체 기능이 제공되는 데이터베이스입니다. 이 제품은 엔터프라이즈급 성능 및 보안을 제공하며, 관리가 간편하고, 필요에 따라 쉽게 확장 가능합니다. 또한, 다른 상위 데이터베이스 에디션들과 호환되며 고객의 성장에 맞춰 확장 가능하기 때문에 초기 투자가 보호됩니다.

Oracle Database Standard Edition One on Oracle Enterprise Linux는 최근의TPC-C 벤치마크에서 가장 강력한 경쟁업체보다 14% 적은 비용으로 45% 높은 성능을 기록하였습니다. 이제 귀사는최저의 비용으로 최고속 성능을 얻을 수 있습니다. 

혜택

  • 엔터프라이즈급 성능, 보안, 가용성 및 확장성으로 모든 비즈니스 애플리케이션 지원
  • WindowsLinux및 Unix 운영체제에서 사용할 수 있고, 자동 및 자가 관리 기능으로 관리 간편
  • Oracle Application Express, Oracle SQL Developer, 및Oracle Data Access Components for Windows로 애플리케이션 개발 간소화
  • 필요할 때 구매하고 향후 언제든지 손쉽게 확장 가능

- 지원하는 OS: NT/Win2000,Linux,Netware, Unixware/OpenServer, Solaris X86(Intel)/SPARC, AIX, Alpha Open VMS, Tru64 Unix, DG/UX,HP/UX, SGI IRIX
- 제품별 지원OS는 수시 변동되니 사전 문의 필요
- 확장CPU 2개 이하
- 최소구매수량 : 10 Named / Processor




▶ Oracle Database: Personal Edition

Oracle Database Personal Edition은 전체 Oracle Database 제품군과의 완벽한 호환성을 필요로 하는 개인 사용자를 위한, 모든 기능이 갖춰진 Oracle Database 버전입니다. 

Oracle Database Personal Edition은 사용하기 쉬운 만큼 고급 복제 및 배포 기능을 통해 PC의 사용을 극대화할 수 있으며, 오라클 엔터프라이즈 환경에서 작업을 쉽게 배포할 수도 있습니다.

기능 요약Standard Edition OneStandard EditionEnterprise or Personal
고가용성


Fail Safe
Microsoft Cluster Server와 통합되는 고가용성 소프트웨어를 통해 Windows 클러스터를 구성 및 확인하고 오라클 데이타베이스와 애플리케이션에 대한 장애 조치를 신속 및 정확하게 자동으로 수행하십시오.
플래시백 질의
시간이 오래 걸리는 복잡한 작업 없이 이전 버전의 데이타를 복구하십시오.
플래시백 테이블, 데이타베이스 및 트랜잭션 질의
단일 행에 대한 변경, 부적절한 트랜잭션에 의한 변경, 하나 이상의 테이블에 대한 변경(테이블 삭제 포함), 전체 데이타베이스 변경 등을 비롯한 오류를 진단하고 실행 취소하십시오.


Data Guard
프로덕션 데이타베이스의 여러 원격 대기 복사본을 자동으로 유지 관리하고 프로덕션 환경에서 대기 데이타베이스로 처리를 장애 조치하고 손상이 발생한 상황에서 다운타임을 대폭 줄이십시오.


확장성


Real Application Clusters
연결되었거나 "클러스터화된" 여러 서버에서 모든 패키지 또는 사용자 정의 애플리케이션을 변경 없이 실행하십시오.

Option
통합 클러스터웨어
내장된 공통 클러스터링 서비스 집합을 사용하여 데이타베이스 클러스터를 만들고 운영하십시오.

자동 작업 로드 관리
서비스 연결 요청을 로드량이 가장 적은 적절한 서버로 라우팅하십시오. 장애가 발생하면 서비스를 나머지 서버에 자동으로 재할당합니다.

Java, PL/SQL 기본 컴파일
데이타베이스에 배포되는 내장 프로시저를 Java 및 PL/SQL로 작성하십시오.
보안


암호 관리
기업 전체에서 하나의 사용자 이름과 암호를 사용하여 여러 데이타베이스에 연결하십시오.
암호화 툴킷
PL/SQL 패키지를 통해 저장된 데이타를 암호화 및 해독하십시오.
VPD(Virtual Private Database)
행 수준 보안을 프로그래밍하고 애플리케이션 컨텍스트를 보안하십시오.


Fine-Grained Auditing
잘못된 데이타 액세스 사용을 경고하는 기능이 포함된 특정 감사 정책을 정의하십시오.


애플리케이션 개발


Java 지원
Java 애플리케이션을 더 신속하게 실행하고, 기존 소프트웨어 자산을 통합하며, Java/J2EE 애플리케이션을 그리드 가능 데이타베이스에 연결하고, 웹 서비스를 통해 연결되지 않는 클라이언트를 지원하며, 로컬 데이타를 원격 및 동적 데이타와 연합하십시오.
HTML DB
신속한 웹 애플리케이션 개발 툴을 사용하여 빠르고 안전한 애플리케이션을 개발 및 배포하십시오.
포괄적인 XML 지원
W3C XML 데이타 모델 지원을 통해 XML을 기본적으로 저장 및 검색하고 표준 액세스 방법을 사용하여 XML을 탐색 및 질의하십시오.
PL/SQL 및 JSP(Java Server Page)
서버측 Java 및 내장 프로시저 언어를 사용하고 SQL을 통해 보안, 이식성 및 효율성을 제공하십시오.
COM 자동화, Microsoft Transaction Server/COM+ 통합, ODBC 및 OLE DB
여러 Windows 데이타 액세스 방법을 지원하십시오.
관리 용이성


Enterprise Manager
통합된 단일 콘솔을 통해 오라클 스택에 기초한 모든 애플리케이션 및 시스템을 관리하고 모니터링하십시오.
자동 메모리 관리
Oracle Database 인스턴스에 사용되는 공유 메모리의 관리를 자동화하십시오.
자동 저장소 관리
사용 가능한 모든 리소스에서 I/O 로드를 분산시키고, 수직으로 통합된 파일 시스템과 볼륨 관리자를 통해 성능을 최적화하여 수동 I/O 조정이 불필요해집니다.
자동 실행 취소 관리
모든 오라클 시스템에서 매개변수 설정, 보안 설정, 저장소 및 파일 공간 조건에 대한 구성을 모니터링하십시오.
서버에서 관리하는 백업 및 복구
Oracle Recovery Manager(RMAN)를 사용하여 백업 및 복구 작업을 단순화, 자동화 및 향상시키십시오.
데이타 웨어하우징


데이타 압축
질의 시간에 영향을 주지 않으면서 관계형 테이블에 저장된 데이타를 압축하고 디스크 시스템 비용을 줄이십시오.


오라클 분석 기능
OLAP(Online Analytical Processing)용의 내장된 분석 작업 영역을 사용하십시오.
크로스 플랫폼을 포함한 이동 가능한 테이블스페이스
테이블스페이스 집합을 특정 데이타베이스 내에서 또는 특정 데이타베이스에서 다른 데이타베이스로 이동하십시오.


스타 질의 최적화
사실 테이블과 다차원 테이블을 조인하십시오.
요약 관리 - 구체화된 뷰 질의 재작성
구체화된 뷰를 사용하여 요청을 충족할 수 있는 시점을 자동으로 인식하여 질의 성능을 향상시키고 구체화된 뷰를 사용하도록 요청을 투명하게 재작성하십시오.


통합


Oracle Streams
데이타베이스 내에서 또는 특정 데이타베이스와 다른 데이타베이스 사이에서 데이타 스트림의 데이타, 트랜잭션 및 이벤트를 전파 및 관리하십시오.


Advanced Queuing
대기열 기반의 게시/구독을 통해 데이타베이스 대기열이 지속적 메시지 저장소의 역할을 수행하도록 하십시오.
Workflow
완벽한 워크플로우 관리 시스템을 사용하여 비즈니스 프로세스 기반 통합을 지원하십시오.
분산 질의/트랜잭션
분산 데이타베이스의 둘 이상의 개별 노드에서 데이타를 질의하거나 업데이트하십시오.
컨텐트 관리
Ultra Search
오라클 데이타베이스, ODBC 호환 데이타베이스, IMAP 메일 서버, HTML 문서, 디스크의 파일 등을 비롯한 여러 저장소에서 데이타를 검색하십시오.
interMedia 
풍부한 미디어를 가장 널리 사용되는 형식으로 포함하는 일반, 웹 및 무선 애플리케이션을 개발, 배포 및 관리하십시오.
Text
텍스트 질의 애플리케이션 및 문서 분류 애플리케이션을 작성하십시오.


'ORACLE > Operation & Admin' 카테고리의 다른 글

RMAN 마지막 백업 확인  (0) 2017.04.05
DB의 실패한 로그인 확인하는 방법  (0) 2016.10.06
오라클 라이센스별 차이  (0) 2016.04.06
Oracle 8i Rollback segment 관리  (0) 2015.08.18
AWR 재설치하기  (0) 2015.05.11
RAC에서 IP를 변경하는 작업  (0) 2014.10.20