ORACLE/ADMIN2023. 9. 15. 11:26
반응형

 

11G 
Database Shutdown ( 1&2 노드 )
< 1번노드 >
1. $ <ORACLE_HOME>/bin/srvctl stop home -o <ORACLE_HOME> -s <status file location> -n <node name>
2. # <GI_HOME>/crs/install/rootcrs.pl –unlock
3. $<GI_HOME>/OPatch/opatch napply -oh <GI_HOME> -local
<UNZIPPED_PATCH_LOCATION>/<GI_PSU_number>/<OCW Components_number>
$ <GI_HOME>/OPatch/opatch napply -oh <GI_HOME> -local
<UNZIPPED_PATCH_LOCATION>/<GI_PSU_number>/<ACFS Components_number>
$ <GI_HOME>/OPatch/opatch apply -oh <GI_HOME> -local
<UNZIPPED_PATCH_LOCATION>/<GI_PSU_number>/<DB_PSU_number>
4. $<UNZIPPED_PATCH_LOCATION>/<GI_PSU_number>/<OCW Components_number>/custom/server/
<OCW Components_number>/custom/scripts/prepatch.sh -dbhome <ORACLE_HOME>
$ <ORACLE_HOME>/OPatch/opatch napply -oh <ORACLE_HOME> -local
<UNZIPPED_PATCH_LOCATION>/<GI_PSU_number>/<OCW Components_number>
/custom/server/<OCW Components_number>
$ <ORACLE_HOME>/OPatch/opatch apply -oh <ORACLE_HOME> -local
<UNZIPPED_PATCH_LOCATION>/<GI_PSU_number>/<DB_PSU_number>
$ <UNZIPPED_PATCH_LOCATION>/<GI_PSU_number>/<OCW Components_number>/custom/server/
<OCW Components_number>/custom/scripts/postpatch.sh -dbhome <ORACLE_HOME>
5. # <GI_HOME>/rdbms/install/rootadd_rdbms.sh
# <GI_HOME>/crs/install/rootcrs.pl –patch
6. $ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location> -n <node name>
<2번 노드도 동일하게 수행>
1 ~ 6
Database Startup ( 1&2 노드 )
<한노드에서만 수행>
7. cd $ORACLE_HOME/rdbms/admin
SQL> @catbundle.sql psu apply

반응형
Posted by [PineTree]
ORACLE/ADMIN2017. 10. 10. 22:16
반응형

downgrading oracle database to earlier release , 11.2.0.3 to 11.2.0.1 , oracle 11g to 10g


http://orababy.blogspot.kr/2013/08/downgrade-oracle-database-to-earlier.html
Below are the steps for downgrading oracle databases from 11.2.0.3 to 11.2.0.1 and from 11g to 10g

This assumes a) you do not have oracle valult installed. 2) You do not have oracle application express 3) you do not have objects created from fixed tables 4) database is not configured for Label Security 5) this is single instance database

Step 1 : Timzone data types consideration:

A). If you previously had upgraded the database and then used the DBMS_DST PL/SQL package to update the database time zone version, then you must apply the patch for the same time zone file version into the earlier release's Oracle home before downgrading.

As an example scenario, assume that a release 10.2.0.4 database on Linux x64 using DSTv4 had been upgraded to release 11.2.0.2, and DBMS_DST was then run to update this database to DSTv14. Then, before downgrading from release 11.2.0.3 to 10.2.0.4, you need to apply on the release 10.2.0.4 side the DSTv14 patch for 10.2.0.4 for Linux x64. This ensures that your TIMESTAMP WITH TIME ZONE data is not logically corrupted during retrieval.

To find which time zone file version your database is using, run:

SELECT value$ FROM sys.props$ WHERE NAME = 'DST_PRIMARY_TT_VERSION';
B). If you had set the ORA_TZFILE environment variable to the full path name of the timezone.dat file when you upgraded to Oracle Database 11g Release 2 (11.2), then you must unset it if you subsequently downgrade your database.

Two time zone files are included in the Oracle home directory:

◦The default time zone file at
$ORACLE_HOME/oracore/zoneinfo/timezonelrg.dat
◦A smaller time zone file at
$ORACLE_HOME/oracore/zoneinfo/timezone.dat
If you do not unset the ORA_TZFILE variable, then connecting to the database using the smaller time zone file might produce the following errors:
SP2-1503: Unable to initialize Oracle call interface
SP2-0152: ORACLE may not be functioning properly

Step 3:  Connect to sys user from higher ORACLE_HOME and run downgrade scripts

sqlplus / as sysdba
 
SQL> STARTUP DOWNGRADE
 
SQL> drop user sysman cascade [ if you have existing sysman user]
 
SQL> spool downgrade.log
 
SQL> @?/rdbms/admin/catdwgrd.sql
  
SQL>spool off

Step 4:  Start Oracle database service from lower ORACLE_HOME and reload old dictionary

A) Now copy init files and password files from higher ORACLE_HOME to lower ORACLE_HOME
 
B) If you are on windows then delete existing Oracle database service by
 
 oradim -delete -sid SID_NAME from Higher ORACLE_HOME\bin

and create oracle service in lower ORACLE_HOME by 
 
oradim -new -sid ORCL -startmode auto -srvcstart system
 
C) set ORACLE_HOME=LOWER_ORACLE_HOME or export ORACLE_HOME=LOWER_ORACLE_HOME
 
D) sqlplus / as sysdba [ using binaries of OLD_ORACLE_HOME]
 
SQL>spool reload.log

SQL> startup upgrade
 
SQL> @?/rdbms/admin/catrelod.sql
 
Additional steps:
 
If you are downgrading to Oracle Database 11g Release 1 (11.1.0.6), run the xsrelod.sql script:
SQL> @xsrelod.sql
If you are downgrading to Oracle Database 10g Release 1 (10.1.0.5) and you have XDB in your database, then run the dbmsxdbt.sql script:
@dbmsxdbt.sql
SQL>spool off
 

Step 6: Open the database in normal mode

sqlplus / as sysdba
SQL>shutdown immediate
 
SQL> startup
 
SQL>@?/rdbms/admin/utlrp.sql
 
SQL> col comp_name form a50
SQL> select comp_name,version,status from dba_registry ;

-- done--
 
Query from DBA_REGISTRY should show all components to earlier ORACLE_HOME versions.

Below is output from downgrading 11.2.0.3 to 11.2.0.1
Before upgrade i.e before running catdwgrd in higher ORACLE_HOME:

COMP_NAME                                          VERSION                        STATUS   
-------------------------------------------------- ------------------------------ -----------                                                                                                                                                                                                               
OWB                                                11.2.0.1.0                     VALID                   
Oracle Application Express                         3.2.1.00.10                    VALID    
Oracle Enterprise Manager                          11.2.0.3.0                     VALID    
LAP Catalog                                       11.2.0.3.0                    VALID                                                                                                                                                                                                                     
Spatial                                            11.2.0.3.0                     VALID       
Oracle Multimedia                                  11.2.0.3.0                     VALID 
Oracle XML Database                                11.2.0.3.0                     VALID 
Oracle Text                                        11.2.0.3.0                     VALID   
Oracle Expression Filter                           11.2.0.3.0                     VALID  
Oracle Rules Manager                               11.2.0.3.0                     VALID   
Oracle Workspace Manager                           11.2.0.3.0                     VALID  
Oracle Database Catalog Views                      11.2.0.3.0                     VALID 
Oracle Database Packages and Types                 11.2.0.3.0                     VALID     
JServer JAVA Virtual Machine                       11.2.0.3.0                     VALID  
Oracle XDK                                         11.2.0.3.0                     VALID 
Oracle Database Java Packages                      11.2.0.3.0                     VALID    
OLAP Analytic Workspace                            11.2.0.3.0                     VALID                                                                                                                                                                                                                     
Oracle OLAP API                                    11.2.0.3.0                     VALID    


After upgrade:

COMP_NAME                           STATUS      VERSION
----------------------------------- ----------- ----------
Oracle Database Packages and Types  VALID       11.2.0.1.0
Oracle Database Catalog Views       VALID       11.2.0.1.0
JServer JAVA Virtual Machine        VALID       11.2.0.1.0
Oracle XDK                          VALID       11.2.0.1.0
Oracle Database Java Packages       VALID       11.2.0.1.0
Oracle Text                         INVALID     11.2.0.1.0
Oracle XML Database                 VALID       11.2.0.1.0
Oracle Workspace Manager            VALID       11.2.0.1.0
OLAP Analytic Workspace             VALID       11.2.0.1.0
OLAP Catalog                        VALID       11.2.0.1.0
Oracle OLAP API                     VALID       11.2.0.1.0
Oracle Multimedia                   INVALID     11.2.0.1.0
Spatial                             INVALID     11.2.0.1.0
Oracle Expression Filter            VALID       11.2.0.1.0
Oracle Rules Manager                VALID       11.2.0.1.0
Oracle Application Express          VALID       3.2.1.00.1
OWB                                 VALID       11.2.0.1.0

1. Oracle MultiMedia component became VALID after running utlrp.sql
2. For making Oracle Text Valid perform below step in Lower Oracle home:

sqlplus / as sysdba
SQL>shutdown immediate
SQL>startup upgrade
SQL> drop public synonym ctx_filter_cache_statistics;
SQL> drop view ctx_filter_cache_statistics;
SQL>@?/rdbms/admin/catrelod.sql
SQL>shutdown immediate
SQL>startup 
SQL>@utlrp.sql


반응형
Posted by [PineTree]
ORACLE/INSTALL2013. 10. 29. 16:02
반응형

 

11g NEWFEATURE.(upgrade).pdf

 

4-oracle-db-11g-best-practice-forum.pdf

 

반응형
Posted by [PineTree]
ORACLE/RAC2013. 5. 30. 11:27
반응형


출처 : http://leejehong.tistory.com/170


[root@RAC1 ~]# srvctl config database -d devdb -v
Database unique name: devdb
Database name: devdb
Oracle home: /u01/app/11.2.0/db
Oracle user: oracle

10g CRS AUTO_START 값 변경.txt


11G Oracle RAC Startup Policy 변경.txt


11gR2 Disable Enable Automatic startup Oracle HAS.txt


Changing Resource Attributes in 11gR2 Grid Infrastructure.txt


crs_stat_resource상태확인(AUTO_START).txt


Spfile: /dev/raw/raw6
Domain: 
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: devdb
Database instances: devdb1,devdb2
Disk Groups: 
Mount point paths: 
Services: 
Type: RAC
Database is administrator managed
[root@RAC1 ~]#


oracle@RAC1:/>crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora....ER.lsnr ora....er.type ONLINE    ONLINE    rac1        
ora....N1.lsnr ora....er.type ONLINE    ONLINE    rac2        
ora.cvu        ora.cvu.type   ONLINE    ONLINE    rac1        
ora.devdb.db   ora....se.type OFFLINE   OFFLINE               
ora.gsd        ora.gsd.type   ONLINE    ONLINE    rac1        
ora....network ora....rk.type ONLINE    ONLINE    rac1        
ora.oc4j       ora.oc4j.type  ONLINE    ONLINE    rac1        
ora.ons        ora.ons.type   ONLINE    ONLINE    rac1        
ora....C1.lsnr application    ONLINE    ONLINE    rac1        
ora.rac1.gsd   application    ONLINE    ONLINE    rac1        
ora.rac1.ons   application    ONLINE    ONLINE    rac1        
ora.rac1.vip   ora....t1.type ONLINE    ONLINE    rac1        
ora....C2.lsnr application    ONLINE    ONLINE    rac2        
ora.rac2.gsd   application    ONLINE    ONLINE    rac2        
ora.rac2.ons   application    ONLINE    ONLINE    rac2        
ora.rac2.vip   ora....t1.type ONLINE    ONLINE    rac2        
ora....ry.acfs ora....fs.type OFFLINE   OFFLINE               
ora.scan1.vip  ora....ip.type ONLINE    ONLINE    rac2        
oracle@RAC1:/>
oracle@RAC1:/>

reboot시 Database가 자동으로 시작되지 않음.


oracle@RAC1:/>crs_stat -p ora.devdb.db |grep -i start
AUTO_START=restore
GEN_START_OPTIONS@SERVERNAME(rac1)=open
GEN_START_OPTIONS@SERVERNAME(rac2)=open
RESTART_ATTEMPTS=2
START_TIMEOUT=600
oracle@RAC1:/>

AUTO_START=restore 로 되어있어서 startup 되지 않음.

# 참고
* AUTO_START=1(always) -> 그 전의 상태와 상관없이 하드웨어 설정상태만 정상이면 crs 재구동시 리소스가 online 되어짐. * * AUTO_START=2(never) -> 모든 리소스를 수동으로 시작 
* AUTO_START=0(restore) -> 모든 리소스는 내리기 전 상태로 복귀.

[root@RAC1 profile]# crs_stat -p ora.devdb.db |grep -i start
AUTO_START=restore
GEN_START_OPTIONS@SERVERNAME(rac1)=open
GEN_START_OPTIONS@SERVERNAME(rac2)=open
RESTART_ATTEMPTS=2
START_TIMEOUT=600

[root@RAC1 profile]# 
[root@RAC1 profile]# crsctl modify resource "ora.devdb.db" -attr "AUTO_START=always"
[root@RAC1 profile]# crs_stat -p ora.devdb.db |grep -i start
AUTO_START=always
GEN_START_OPTIONS@SERVERNAME(rac1)=open
GEN_START_OPTIONS@SERVERNAME(rac2)=open
RESTART_ATTEMPTS=2
START_TIMEOUT=600
[root@RAC1 profile]#

Changing Resource Attributes in 11gR2 Grid Infrastructure 
In 11gR2 grid infrastructure installations certain resources may have auto start set to never and restore. 
This was observed both on environments where clusterware was upgraded to 11.2 as well as newly installed environments. 
Depending on the situation these may not be desirable. Auto start attribute setting could be changed as follows.

1. Check the current auto start values

# crsctl stat res -p
NAME=ora.FLASH.dg
TYPE=ora.diskgroup.type
ACL=owner:oracle:rwx,pgrp:oinstall:rwx,other::r--
ACTION_FAILURE_TEMPLATE=
ACTION_SCRIPT=
AGENT_FILENAME=%CRS_HOME%/bin/oraagent%CRS_EXE_SUFFIX%
ALIAS_NAME=
AUTO_START=never     

NAME=ora.DATA.dg
TYPE=ora.diskgroup.type
ACL=owner:oracle:rwx,pgrp:oinstall:rwx,other::r--
ACTION_FAILURE_TEMPLATE=
ACTION_SCRIPT=
AGENT_FILENAME=%CRS_HOME%/bin/oraagent%CRS_EXE_SUFFIX%
ALIAS_NAME=
AUTO_START=never    

NAME=ora.clusdb.db
TYPE=ora.database.type
ACL=owner:oracle:rwx,pgrp:oinstall:rwx,other::r--
ACTION_FAILURE_TEMPLATE=
ACTION_SCRIPT=
ACTIVE_PLACEMENT=1
AGENT_FILENAME=%CRS_HOME%/bin/oraagent%CRS_EXE_SUFFIX%
AUTO_START=restore

2. Since ASM diskgroup that database depend on will never auto start database will also be unavailable.

3. Change the resource start attribute with

# crsctl modify resource "ora.FLASH.dg" -attr "AUTO_START=always"
# crsctl modify resource "ora.DATA.dg" -attr "AUTO_START=always"
# crsctl modify resource ora.clusdb.db -attr "AUTO_START=always"
Auto start must be upper case if not command will fail 
crsctl modify resource ora.clusdb.db -attr "auto_start=always"
CRS-0160: The attribute 'auto_start' is not supported in this resource type.
CRS-4000: Command Modify failed, or completed with errors.


4. Verify the status change with 
# crsctl stat res -p
NAME=ora.clusdb.db
TYPE=ora.database.type
ACL=owner:oracle:rwx,pgrp:oinstall:rwx,other::r--
ACTION_FAILURE_TEMPLATE=
ACTION_SCRIPT=
ACTIVE_PLACEMENT=1
AGENT_FILENAME=%CRS_HOME%/bin/oraagent%CRS_EXE_SUFFIX%
AUTO_START=always

반응형
Posted by [PineTree]
ORACLE/11G2012. 5. 11. 10:54
반응형
OTN펌
  • 목적 :
    Oracle 11g 부터 Alert.log 와 trace file 은 새로운 형식으로 생성이 되며, 이는 ADR (Automatic Diagnotic Repository) 에 생성이 된다.
    본 문서에서는 Database 에 심각한 에러가 발생한 경우, ADRCI 명령어를 이용하여 에러를 확인하고 관련된 alert.log 및 trace file 을 오라클 고객지원센터로 전송하는 방법에 대해서 설명한다.

  • IPS 사용법 :
    ORACLE 11g 는 problem (Database 에서 발생한 에러코드)과 incident (에러가 발생한 기록)에 관련된 trace file 들을 자동으로 수집해주는 기능을 제공한다.
    이 기능을 IPS (Incident Packaging Service) 라고 하며, 인터페이스로 GUI 환경과 ADRCI command 를 제공한다.
    Database 에 발생한 모든 심각한 에러들은 각각의 incident 를 생성한다.
    IPS 를 통해서 생성된 압축 파일은 에러에 대한 alert.log file, 모든 trace file 과 진단 정보를 포함하고 있기 때문에, 해당 error 에 대한 정보수집을 간편히 수행할 수 있다.

    Database 의 에러 확인 및 관련 file을 오라클 고객지원센터로 전송하는 방법 :

    1. Database 에서 발생한 심각한 에러 발생

    SQL> select * from atab;
    select * from atab
    *
    ERROR at line 1:
    ORA-01578: ORACLE data block corrupted (file # 6, block # 11)
    ORA-01110: data file 6: '/opt/oracle/oradata/db11g/tt.dbf'

    2. ADR과 Alert.log 에서 에러를 확인한다.

    ADR에서 에러를 확인하기 위하여 11g 환경의 OS prompt에서 adrci를 실행한다.

    %] adrci

    ADR 홈 경로를 확인한다.

    adrci> show home
    --> 모든 ADR HOME 을 보여준다. 확인하고자 하는 ADR HOME 을 지정한다.

    adrci> set homepath <ADR HOME>

    에러 코드를 problem 이라고 하며, 이를 확인하기 위해서 다음을 실행한다.

    adrci> show problem

    ADR Home = /opt/oracle/diag/rdbms/db11g/db11g:
    *************************************************************************
    PROBLEM_ID PROBLEM_KEY LAST_INCIDENT LASTINC_TIME
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    1 ORA 1578 18104 2009-06-01 22:06:19.501207 +10:00
    1 rows fetched

    Database 에 문제가 되고 있는 에러 코드를 확인할 수 있다.
    이 중, 분석이 필요한 에러코드에 대하여 압축파일을 생성할 수 있다.

    3. 분석이 필요한 에러의 발생 기록을 확인한다.

    에러의 발생 기록들은 Incident 라고 하며, 모든 incident 는 Alert.log 에 기록된다.
    각각의 incident 는 유일한 incident ID 를 가진다.

    ADR 에서 'show incident' 명령을 수행하여 에러 발생 기록을 확인할 수가 있으며,
    에러에 대한 problem key를 확인하기 위해서는 'show problem' 을 수행한다.

    adrci> show incident -p "problem_key='ORA 1578'"

    ADR Home = /opt/oracle/diag/rdbms/db11g/db11g:
    *************************************************************************
    INCIDENT_ID PROBLEM_KEY CREATE_TIME
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    18147 ORA 1578 2009-06-01 22:02:08.805002 +10:00

    동일한 problem에 대한 incidnet는 여러 건이 발생할 수 있다.

    4. IPS (incident packaging service) 를 수행하여 alert.log , trace file 및 diag 정보에 대한 압축 파일 생성.

    압축 파일을 생성하기 위해서는 특정 경로를 포함한 'IPS pack' 명령을 사용한다.
    다음의 예는 incident 관련 file들을 /tmp directory 에 압축 파일로 생성하는 방법이다.

    adrci> ips pack incident 18147 in /tmp
    Generated package 9 in file /tmp/ORA1578_20090602113045_COM_1.zip, mode complete

    IPS pack 의 예제)

    ips pack problem 100 in /tmp
    -- problem id 100 에 관련된 trace file 들을 /tmp directory 에 압축파일로 생성한다.

    ips pack incident 6439 in /tmp
    -- incident id 6439 에 관련된 trace file 들을 /tmp directory 에 압축파일로 생성한다.

    ips pack problemkey "ORA 1578"
    -- problem_key 'ORA 1578' 를 가지는 모든 problem 에 관련된 trace file 들을 현재 directory 에 압축파일로 생성한다.

    ips pack seconds 8
    -- 최근 8 초 이내에 발생한 incident 에 대한 압축 파일을 생성한다.

    ips pack time '2007-05-01 10:00:00.00' to '2007-05-01 23:00:00.00'
    -- 특정 시간대의 incident 에 대한 압축파일을 생성한다.

    'IPS pack' 명령은 'IPC create' 와 'IPS generage' 명령을 일괄적으로 수행할 수 있는 명령이다.

    이와 같이 생성된 압축 파일을 SR (service request)을 통해 오라클 고객지원센터로 전송하면 된다.

    동영상 참조 :
    IPS package 를 생성하는 방법 (동영상 자료 02:30)
    (My Oracle Support 접속 필요)

    참고자료 :
    DOC ID : 443529.1
    11g Quick Steps to Package and Send Critical Error Diagnostic Information to Support (Video)

    DOC ID: 738732.1
    ADR Different Methods to Create IPS Package

  •  
     

    추가적으로 trace file정리시

    adrci>purge -age 30

    하면 됩니다.

     

    반응형

    'ORACLE > 11G' 카테고리의 다른 글

    11g: 스케줄러 유지 관리 작업 또는 자동작업 (문서 ID 1534329.1)  (0) 2014.06.14
    oracle 11g에 추가된 파티션  (0) 2013.08.20
    ADR  (0) 2013.05.19
    기준선 및 개선된 계획  (0) 2009.08.25
    Oracle Advanced Compression  (0) 2009.04.02
    Posted by [PineTree]
    ORACLE/11G2009. 4. 2. 15:31
    반응형

    Oracle Advanced Compression

     

     

    도입

     

    효과적인 사업 운영에 필요한 데이터 용량의 폭발적 증가로 기업이 골치를 앓고 있 습니다. 이런 데이터 증가 추세의 원인으로 몇 가지 중대한 요인을 들 수 있습니다. 우선, 사베인스 옥슬리와 HIPP 등 최근에 분 규제 환경의 변화가 이런 추세를 일으 키고 있습니다. 그러면서 방대한 정보를 장기간 보유하도록 기업에 요구하고 있습니 다. 광대역 기술의 발전으로 가능해진 리치 멀티미디어 컨텐츠의 인터넷 대량 배포 역시 전체 데이터 용량의 증가에 한몫 하고 있습니다. 기하급수적인 데이터 증가 추 세를 더욱 촉발시킨 것은 웹 2.0의 도래입니다. 웹 2.0에서는 협업 애플리케이션이 엄청난 양의 사용자 생성 컨텐츠(UGC)를 선전합니다. 여러 자료를 살펴 보면 데이 터 용량이 2-3년마다 거의 두 배로 증가하고 있습니다.

     

    이같은 데이터 용량의 급격한 증가는 IT 관리자에게 위협적인 관리 문제를 던져줍 니다. 무엇보다 가장 큰 문제는 스토리지 비용의 상승입니다. MB당 스토리지 비용 이 지난 몇 년간 큰 폭으로 떨어지고 있긴 하지만, 온라인에 보관해야 하는 데이터 용량이 엄청나게 증가하면서 스토리지가 IT 예산의 최대 지출 항목이 되었습니다. 게다가 데이터 용량이 급증하는데 따른 애플리케이션의 확장성과 성능도 지속적으 로 사업상 요구에 맞춰 증가해야 합니다.

     

    Oracle Database 11g는 Advanced Compression 옵션을 도입하여 고객이 이 문제 에 대처할 수 있게 지원합니다. 오라클 압축 기술의 혁신 덕택에 고객은 대량의 데이 터 관리에 따르는 자원과 비용을 절감할 수 있습니다. 한때는 신기하게 생각했던 테 라바이트 규모의 데이터베이스가 기업 데이터 센터에 널리 확산되고 있어 이같은 신기술의 도입은 시기 적절합니다.

     

    Oracle Advanced Compression

     

    Oracle Database 11g의 Advanced Compression 옵션은 고객이 자원 활용을 극대 화하고 비용을 절감할 수 있게 지원하는 광범위한 압축 기능 세트를 가지고 있습니 다. 정규 관계형(체계화) 데이터, 비체계화 데이터 (문서, 스프레드시트 등), 백업 데 이터를 비롯한 모든 데이터 유형의 압축을 지원하므로 IT 관리자는 전체 데이터베 이스 저장 용량을 크게 줄일 수 있습니다. 그리고 사람들은 압축의 가장 확실한 이점 이 스토리지 비용의 감소라고 생각하지만, Advanced Compression 옵션에 포함된 혁신적인 기술들은 메모리와 네트워크 대역폭을 비롯하여 IT 인프라의 모든 구성요 소에 대한 자원 요구와 기술 비용을 낮출 수 있게 고안되어 있습니다.

     

    관계형 데이터의 압축

     

    오라클은 데이터베이스 압축 기술 도입의 선구자 중 하나입니다. Oracle Database 9i는 Direct path loading 과 CREATE TABLE AS SELECT…(CTAS) 등의 대량 로딩 작업 중에 데이터를 압축할 수 있게 해주는 테이블 압축을 여러 해 전에 도입했 습니다. 이런 압축 형태는 일괄 처리를 통해 데이터베이스에 대부분의 데이터를 로 딩하는 데이터웨어하우징 환경에 가장 적합했습니다. Oracle Database 11g는 OLTP 테이블 압축이라는 새로운 기능을 도입하고 있는데, 이는 INSERT, UPDATE, DELETE와 같이 전통적인 DML (데이터 조작어)을 포함하여 모든 유형 의 데이터 조작 작업 중에 데이터를 압축할 수 있는 기능입니다. 또한 이 기능은 쓰 기 작업의 오버헤드를 낮춰서 성능을 크게 향상시키기 때문에 데이터웨어하우징 환 경이나 OLTP 환경에도 적합합니다. 이 획기적인 신기능은 모든 애플리케이션 작업 에 압축의 이점을 제공합니다.

     

    Oracle Database 9i에 도입된 테이블 압축 기능이Enterprise Edition (EE)의 기본 기능이며 Database 11g에서도 기본 기능이라는 데 주목할 필요가 있습니다. 하지만 새로운 OLTP 테이블 압축 기능은 엔터프라이즈 에디션에 추가로 라이센스를 받아 야 하는 Oracle Advanced Compression 옵션의 일부입니다.

     

    혁신적인 알고리즘

     

    오라클은 관계형 데이터와 함께 실행할 수 있게 특별 설계된 고유한 압축 알고리즘 을 사용합니다. 이 알고리즘을 실행하면 데이터베이스 블록 내부에서, 그것도 여러 줄(column)을 가로지르며 중복 값을 제거합니다. 압축 블록에는 압축 메타데이터를 보존하는 심볼 테이블(symbol table)이란 구조가 있는데, 블록을 압축할 때 제일 먼 저 중복 값의 복사본 하나를 심볼 테이블에 추가하여 중복 값을 제거합니다. 그런 다 음 각 중복 값을 심볼 테이블의 해당 항목에 대한 짧은 참조로 대체합니다. 압축 데 이터를 원상태로 바꾸는 데 사용하는 메타데이터가 블록 내부에 들어 있기 때문에, 이 혁신적 설계의 압축 데이터는 데이터베이스 블록 내부에 독립적으로 존재합니다. 전역 데이터베이스 심볼 테이블을 유지하는 경쟁 압축 알고리즘과 비교할 때, 압축 데이터 이용 시 추가 I/O를 도입하지 않는 오라클의 고유한 방식이 이롭습니다.

     

     

    그림 1. 압축 블록 對비압축 블록

     

    테이블 압축의 이점

     

    일정 환경에서 추출한 압축비는 압축하는 데이터의 성향, 특히 데이터의 개체 수에 따라 달라집니다. 일반적으로, 테이블 압축 기능을 이용하여 고객이 압축 데이터의 저장 공간 사용을 2-3배 줄일 수 있다고 예상할 수 있습니다. 즉, 비압축 데이터가 사용하는 공간 용량이 압축 데이터의 그것보다 2-3배 많아지게 됩니다. 압축의 이 점은 단순히 디스크 저장 공간의 절약에 그치지 않습니다. 처음에 블록의 압축을 해 제하지 않고도 오라클이 압축 블록을 직접 읽을 수 있다는 것이 한 가지 중요한 장점 입니다. 그래서 압축 데이터를 이용해도 눈에 띄는 성능 저하가 없습니다. 사실, 많 은 경우 이용하는 블록 수가 줄기 때문에 I/O 감소로 인해 성능이 향상될 수도 있습 니다. 게다가, 메모리 공간을 늘리지 않고도 캐시에 더 많은 데이터를 저장할 수 있 어 버퍼 캐시의 효율성이 높아질 수 있습니다.

     

    최소 성능 오버헤드

     

    앞서 설명했듯이, 테이블 압축 기능은 읽기 작업에 악영향을 끼치지 않습니다. 그러 나 데이터 작성 시에는 쓰기 작업에 대한 성능 오버헤드가 제거되는 것이 불가피한 반면 압축 시에는 추가 작업이 필요합니다. 하지만 오라클은 OLTP 테이블 압축에 대한 오버헤드를 최소화하기 위해 많은 연구를 했습니다. 오라클은 쓰기 작업이 발 생할 때마다 데이터를 압축하기보다는 일괄 방식으로 블록을 압축합니다. 새롭게 초 기화된 블록은 블록의 데이터가 내부에서 통제되는 임계에 도달할 때까지 압축되지 않고 그대로 있습니다. 트랜잭션으로 인해 블록 내 데이터가 이 임계에 도달하면, 해 당 블록의 모든 컨텐츠가 압축됩니다. 이후 더 많은 데이터가 블록에 추가되어 다시 임계에 도달하면 블록 전체가 재압축되면서 압축 수준이 최고 수준에 이르게 됩니 다. 더 이상 압축하면 블록에 이로울 수 없다고 오라클이 판단할 때까지 이 프로세스 가 반복됩니다. 블록의 압축을 유발하는 트랜잭션만 압축 오버헤드가 최소화 됩니 다. 때문에 압축된 블록에 있는 대부분의 OLTP 트랜잭션이 압축되지 않은 블록의 트랜잭션과 동일한 성능을 갖게 되는 것입니다.

     

    그림 2. 블록 압축 프로세스

     

    비체계화 데이터의 압축

     

    Oracle Database 11g의 새로운 기능인 SecureFiles는 문서, 스프레드시트 및 XML 파일과 같은 비체계화 컨텐츠의 저장에“두 세계의 최고 장점”을 지닌 아키텍처를 지원합니다. SecureFiles 은 오라클 데이터베이스의 장점을 모두 갖고 있으면서 전 통적인 시스템과 비교하여 파일 데이터에 대해 뛰어난 성능을 구현하도록 특별 설 계되어 있습니다. SecureFiles는 ANSI 표준 대형 객체(LOB)의 수퍼세트 용으로, 기존의 LOB나 베이직 파일 (BasicFiles)에서 수월하게 마이그레이션할 수 있게 지 원합니다. 이제 IT 조직들은 SecureFiles 로 오라클의 관계형 데이터와 관련 파일 데이터 모두를 관리할 수 있습니다. Oracle Database 11g의 Advanced Compression 옵션에는 SecureFiles 데이터의 저장 공간을 크게 감소시키는 기술이 적용되어 있습니다.

     

    SecureFiles 복제

     

    애플리케이션에서 똑같은 파일 사본을 저장하는 일은 매우 흔합니다. 한 가지 일반 적인 예가 이메일 애플리케이션입니다. 이메일 애플리케이션에서는 사용자가 똑같 은 첨부 파일을 수신할 수 있습니다. SecureFiles 복제는 SecureFiles 데이터의 복 사본을 제거하는 지능형 기술입니다. 오라클은 SecureFiles 데이터의 한 이미지를 저장하고서 복사본을 이 이미지의 참조로 대체합니다. 10명의 사용자가 1MB의 똑 같은 파일이 첨부된 이메일을 받는 이메일 애플리케이션에 대해 생각해 보십시오.

     

    SecureFiles 복제가 없다면 시스템에서 10명의 사용자 한명 한명에 대해 파일 사본 을 하나씩 저장할 것이고 그러면 10MB의 저장 공간이 필요할 것입니다. 이 경우 이 메일 애플리케이션에서 SecureFiles 복제 기술을 사용했다면, 1MB의 첨부 파일을 한번만 저장하면 됐을 것입니다. 그러면 스토리지 요구량이 90% 절약될 것입니다. 스토리지 절약 외에 SecureFiles 복제 기술은 애플리케이션 성능을 높이기도 합니다. 구체적으로 말해서, SecureFiles 이미지의 참조만 작성하기 때문에 쓰기와 복사 작업의 효율성이 높아집니다. 게다가, 똑같은 SecureFiles 데이터가 이미 버퍼 캐시 에 존재하면, 읽기 작업이 향상될 수도 있습니다.

     

    그림 3. SecureFiles 복제

     

    SecureFiles 압축

     

    Oracle Database 11g의 Advanced Compression 옵션은 SecureFiles 데이터의 크 기를 제어하는 또 다른 메카니즘을 제공합니다. 앞서 논의한 복제 외에, SecureFiles 압축(SecureFiles Compression)은 업계 표준의 압축 알고리즘을 활용하여 SecureFiles 데이터의 스토리지 요구량을 더욱 최소화합니다. 문서나 XML 파일과 같은 일반 파일을 압축하면 크기가 2-3배 줄어듭니다. 내장된 지능형 기술을 이용 하는 SecureFiles 압축은 압축의 이점이 없는 데이터의 경우 압축을 피합니다. SecureFiles 자격으로 데이터베이스에 끼워 넣기 전에 타사 도구를 통해 압축된 문 서가 그 예입니다.

     

    현재 지원하는 압축 수준은 두 종류이며, 그 중 높은 쪽의 경우 압축률이 높지만 대 신 CPU 사용이 더 많이 요구됩니다. SecureFiles 압축의 일반적인 CPU 오버헤드는 3%와 5% 사이입니다. 애플리케이션에서는 압축된 SecureFiles 데이터에 대한 무 작위 읽기/쓰기를 여전히 수행할 수 있습니다. 압축된 데이터가 더 작은 크기의 데이 터로 분해되기 때문입니다. 이렇게 하면, 전체 파일을 데이터베이스에 끼워 넣기 전 에 압축할 때와 비교하여 성능을 크게 향상시킬 수 있습니다.

     

    백업 데이터의 압축

     

    데이터베이스 내부에 저장된 데이터를 압축하는 것 외에, Oracle Advanced Compression은 백업 데이터를 압축하는 기능도 있습니다. Recovery Manager (RMAN)와 Data Pump는 오라클 데이터베이스에 저장된 데이터를 백업할 때 가장 많이 사용하는 도구 두 가지입니다. RMAN은 데이터베이스 데이터를 블록별로 백 업하는데, 이를 일명“물리적”백업이라고 합니다. 이 물리적 백업은 데이터베이스, 테이블 공간 또는 블록 단위 복구를 수행할 때 사용할 수 있습니다. 반면, Data Pump는“논리적”백업을 수행할 때 사용하며, 하나 이상의 테이블에 있는 데이터를 플랫 파일(flat file)에 오프로딩합니다. Oracle Advanced Compression은 두 도구 중 하나에 의해 생성된 백업 데이터를 압축하는 기능이 있습니다.

     

    Data Pump 압축

     

    Data Pump와 관련된 메타데이터를 압축하는 기능은 Oracle Database 10g Release 2에서 제공합니다. Oracle Database 11g에서는 내보내기할 테이블 데이터를 압축 할 수 있도록 이 압축 기능을 확장했습니다. Data Pump 압축은 인라인 작업이므로파일 크기가 감소하면 디스크 공간이 크게 절약됩니다. 운영 체제나 파일 시스템의 압축 유틸리티와 달리, Data Pump 압축은 가져오기 측면에서 볼 때 완전히 인라인 방식입니다. 따라서 덤프 파일(dump file)을 가져오기 전에 압축을 해제하지 않아도 됩니다. 압축된 덤프 파일 집합은 데이터베이스 관리자가 추가 절차를 밟지 않아도 가져오기 작업 중에 자동으로 압축이 풀립니다.

     

    오라클 샘플 데이터베이스에 있는 다음의 압축 예에서, 모든 데이터와 메타데이터를 동시에 압축하면서 OE 및 SH 스키마를 내보냈습니다. 그 결과, 덤프 파일의 크기가 74.67% 감소했습니다.

     

    3가지 버전의 gzip (GNU zip) 유틸리티와 한 가지 UNIX 압축 유틸리티를 6.0MB의 덤프 파일 집합을 압축하는 데 사용했습니다. 덤프 파일 크기의 감소가 Data Pump 압축과 비슷했습니다. 덤프 파일 크기의 감소폭은 데이터 유형과 기타 요인에 따라 달라진다는 점에 유의하십시오.

     

    압축 파일을 이용하여 Data Pump 기능을 충분히 사용할 수 있습니다. 정규 파일에 서 사용하는 모든 명령어는 압축 파일에서도 효력을 발휘합니다. 덤프 파일 집합에 서 어떤 부분을 압축해야 할지는 사용자가 다음의 옵션으로 결정할 수 있습니다.

    • ALL: 모든 내보내기 작업의 압축을 지원합니다.

    • DATA-OLNY: 모든 데이터가 덤프 파일에 압축 포맷으로 작성됩니다.

    • METADATA-ONLY: 모든 메타데이터가 덤프 파일에 압축 포맷으로 작 성됩니다. 이것이 기본값입니다.

    • NONE: 전체 내보내기 작업의 압축을 사용 안 함으로 합니다.

    Recovery Manager 압축

     

    기업 데이터베이스의 지속적인 팽창은 데이터베이스 관리자에게 커다란 도전입니 다. 데이터베이스 백업을 보존하는 스토리지 요구량과 백업 절차의 수행은 데이터베 이스 크기의 영향을 직접적으로 받습니다. 오라클의 백업 및 복구 유틸리티인 Recovery Manager (RMAN)는 Oracle Database 10g에 압축 기능을 도입했습니 다. RMAN 압축을 이용하면 백업에 필요한 스토리지가 대폭 줄어듭니다. RMAN이 오라클 데이터베이스와 긴밀하게 통합되어 있어서 디스크나 테이프에 기록하기 전 에 백업 데이터가 압축되므로 복구에 앞서 압축을 풀 필요가 없습니다. 이렇게 하면 스토리지 비용이 상당히 줄어듭니다. 그러나 엄청난 압축비로 인해 백업 성능이 영 향을 받아 백업 창이 길어질 수 있습니다.

     

    Oracle Advanced Compression은 백업에 쓰이는 스토리지 요구량을 크게 감소시키 면서 RMAN 성능을 향상시키는 RMAN 압축 기능을 도입하고 있습니다. 업계 표준 의 ZLIB 압축 알고리즘에 기반한 RMAN 압축 백업은 Oracle Database 10g의 압축 백업보다 최대 40% 빠릅니다. 오라클은 압축비의 감소폭을 약 20%로 하여 이런 급 격한 성능 향상을 달성하고 있습니다. 빠른 RMAN 압축은 정상 근무 시간에 행하는 점증 백업을 위한 완벽한 솔루션입니다.

     

    네트워크 트래픽의 압축

     

    Data Guard는 관리, 모니터링 및 자동화 소프트웨어 인프라를 지원하여 하나 이상 의 스탠바이 데이터베이스를 생성, 유지, 모니터링함으로써 기업 데이터의 고장, 재 해, 오류, 데이터 손상을 방지합니다. Data Guard는 리두 데이터 (트랜잭션 복구에 필요한 정보)를 이용하여 기본 데이터베이스와 스탠바이 데이터베이스의 동기화를 유지합니다. 트랜잭션이 기본 데이터베이스에서 발생하면, 리두 데이터가 생성되어 로컬 리두 로그 파일에 작성됩니다. Data Guard의 리두 전송 서비스 (Redo Transport Services)는 이 리두 데이터를 스탠바이 데이터베이스로 전송하는 데 사 용합니다.

     

    네트워크나 스탠바이 서비스의 작동이 중단되면 리두 데이터가 스탠바이 서버에 전 송되는 것이 차단됩니다. 작동 중단이 해결되면, 오라클이 스탠바이 데이터베이스의 동기화에 필요한 모든 리두 데이터를 전송하는 식으로 Redo gap resolution을 자동 수행합니다. Oracle Advanced Compression에는 Redo gap resolution 도중에 리두 데이터가 네트워크에서 전송될 때 이를 압축하는 기능이 있습니다. 이 압축을 통해 네트워크 대역폭이 극대화되어 Redo gap resolution 처리량이 증가합니다. 압축으 로 Redo gap resolution이 최대 2배까지 빨라질 수 있으며, 그러면 스탠바이 데이터 베이스가 신속하게 동기화되고 고가용성이 구현됩니다.

     

    결론

     

    데이터 용량의 폭발적 증가가 기업에 심각한 위협이 되고 있습니다. 기업은 순익에 영향을 끼치지 않는 범위에서 변화하는 비즈니스 환경에 빠르게 적응해야 합니다. 그리고 IT 관리자는 비용 억제를 위해 기존 인프라를 효율적으로 관리하되, 높은 애 플리케이션 성능을 계속 구현해야 합니다.

     

    Oracle Database 11g의 Advanced Compression 옵션은 IT 관리자가 복잡한 환경 에서 성공할 수 있게 견고한 압축 기능 세트를 지원합니다. Advanced Compression 옵션을 이용하여 기업은 데이터 센터의 모든 구성요소 전반에 걸쳐 늘어나는 데이 터 요구량을 효율적으로 관리할 수 있습니다. 이를 통해 최고 수준의 애플리케이션 성능을 계속 구현하면서 비용을 최소화할 수 있습니다.

     

     

    출처 : 한국 오라클

    제공 : DB포탈사이트 DBguide.net

    출처명 : 한국 오라클
    반응형
    Posted by [PineTree]