ORACLE
HOME > DB > ORACLE
2018.12.07 / 17:46

[OracleDB] DB Á¢¼Ó ÈÄ DBMS_WORKLOAD_REPOSITORY ·Î AWR Report Á¶È¸

hanulbit
Ãßõ ¼ö 222
IT-Tech/Database2016.08.29 15:43

  OS ÀÇ Oracle Account ¸¦ ȹµæÇÑ °æ¿ì, sqlplus ·Î Á¢¼ÓÇؼ­ ?/rdbms/admin/awrrpt.sql À» ¼öÇàÇÏ¸é µÇ°ÚÁö¸¸, OS °èÁ¤À» »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì¿¡µµ, DB User ¸¦ »ç¿ëÇÒ ¼ö ÀÖ°í, ÇÊ¿äÇÑ ±ÇÇÑÀÌ ÀÖ´Ù¸é AWR Report ¸¦ »Ì¾Æº¼ ¼ö ÀÖ´Ù.



1. DBMS_WORKLOAD_REPOSITORY ÀϹÝ


  - Oracle ¿¡¼­ AWR Snapshot °ü¸® ÆíÀǸ¦ À§ÇØ Á¦°øÇÏ´Â Package  

  - ÁÖ·Î »ç¿ëµÇ´Â Snapshot °ü¸® ¹æ¹ý

 Ç׸ñ

¸í·É¾î 

 AWR Snapshot

 ¼³Á¤ º¯°æ


 DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS

 ( [RETENTION => retention_time], [INTERVAL => interval_time], [TOPNSQL => topn_sql_number] ) ;


 AWR Snapshot 

 »èÁ¦


 DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHO_RANGE

 ( LOW_SNAP_ID => snap_id, HIGH_SNAP_ID => snapid [DBID => dbid] ) ;


Baseline 

»ý¼º


 PROCEDURE create_baseline(start_snap_id  IN NUMBER,
                                      end_snap_id    IN NUMBER,

                                      baseline_name  IN VARCHAR2,

                                      dbid           IN NUMBER DEFAULT NULL,

                                      expiration     IN NUMBER DEFAULT NULL ) ;


Baseline 
À̸§º¯°æ


 PROCEDURE rename_baseline(old_baseline_name IN VARCHAR2,
                                        new_baseline_name IN VARCHAR2,
                                        dbid              IN NUMBER DEFAULT NULL ) ;

  - DBMS_WORKLOAD_REPOSITORY ¿¡ ´ëÇؼ­´Â Manual ¿¡ ÀÚ¼¼È÷ ±â¼úµÊ



2. DBMS_WORKLOAD_REPOSITORY ·Î AWR Report Á¶È¸


  A. ÇÊ¿äÇÑ ±ÇÇÑ ¹× ¸í·É¾î


  - ÇÊ¿ä±ÇÇÑ : DBMS_WORKLOAD_REPOSITORY ½ÇÇà, select any dictionary µî (Privilege ºÎÁ· ½Ã ORA-06550 µî ¹ß»ý)     

  - DBID µîÀº dba_hist_snapshot ¿¡¼­ Á¶È¸

 SQL> select * from dba_hist_snapshot order by begin_interval_time desc ;


  - ÁÖ·Î »ç¿ëµÇ´Â AWR Report Á¶È¸ ¹æ¹ý

 Ç׸ñ

¸í·É¾î 

 AWR Report 

 Text Format


 DBMS_WORKLOAD_REPOSITOR.AWR_REPORT_TEXT

 ( :DBID, :INST_ID, :BEGIN_SNAP, :END_SNAP ) ;


  -- ÀÌÇÏ ÂüÁ¶

  FUNCTION awr_report_text(l_dbid     IN NUMBER,

                                      l_inst_num IN NUMBER,

                                      l_bid      IN NUMBER,

                                      l_eid      IN NUMBER,

                                      l_options  IN NUMBER DEFAULT 0)

  RETURN awrrpt_text_type_table PIPELINED;


 AWR Report 

 html Format


 DBMS_WORKLOAD_REPOSITOR.AWR_REPORT_HTML

 ( :DBID, :INST_ID, :BEGIN_SNAP, :END_SNAP ) ;


  -- ÀÌÇÏ ÂüÁ¶


  FUNCTION awr_report_html(l_dbid     IN NUMBER,

                                      l_inst_num IN NUMBER,

                                      l_bid      IN NUMBER,

                                      l_eid      IN NUMBER,

                                      l_options  IN NUMBER DEFAULT 0)

  RETURN awrrpt_html_type_table PIPELINED;



  B. AWR Report Á¶È¸ ¼ÀÇ®


    B-1. html format 


  -- ½ÇÇà ¼ÀÇ® : Á¶È¸



  -- ½ÇÇà ¼ÀÇ® : °á°ú°ª



  --  ½ÇÇà ¼ÀÇ® : AWR Report <- Copy & Past ·Î »õ·Î¿î html È­ÀÏÀ» »ý¼º



    B-2. text format 


  -- ½ÇÇà ¼ÀÇ® : Á¶È¸



  -- ½ÇÇà ¼ÀÇ® : °á°ú°ª




Posted by Æ÷µ¿Çª¿ì
IT-Tech/Database2016.08.22 09:50

//-- ÀÌ ³»¿ëÀº Eegloos ÀÇ ºí·ç¿À¼Ç [BLUE OCEAN] ¿¡¼­ "À嶯" ´Ô ±ÛÀ» ±×´ë·Î °¡Á® ¿Ô½À´Ï´Ù.

//-- ºí·ç¿À¼Ç ¿ø¹® ¸µÅ©´Â http://repository.egloos.com/5790800 ÀÔ´Ï´Ù.

//-- ¾Æ·¡ "recover database until cancel ; " ¸¦ ¼öÇàÇϱâ À§Çؼ­´Â Archive Log Mode ÀÌ¿©¾ß ÇÕ´Ï´Ù.  

1. Çö»ó


$ lsnrctl start
$ sqlplus "/as sysdba"

SQL*Plus: Release 11.2.0.1.0 Production on Tue Feb 18 10:24:27 2014

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

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> startup
ORACLE instance started.

Total System Global Area 2.6991E+10 bytes
Fixed Size                  2213976 bytes
Variable Size            1.9059E+10 bytes
Database Buffers         7784628224 bytes
Redo Buffers              145174528 bytes
Database mounted.
ORA-03113: end-of-file on communication channel
Process ID: 25292
Session ID: 177 Serial number: 3


2. È®ÀÎ ¹× Á¶Ä¡»çÇ×


# startup´Ü°è¸¦ ÇϳªÇϳª ½ÇÇàÇÏ¿© ¾îµð°¡ ¹®Á¦ÀÎÁö È®ÀÎÇÑ´Ù.
SQL> startup nomount;
SQL> alter database mount;
SQL> alter database open; ==> ¿©±â¼­ ¿¡·¯°¡ ¹ß»ýÇß´Ù.
alter database open
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
Process ID: 24832
Session ID: 177 Serial number: 1

# aleter databse mountÀÌÈÄ¿¡ ¾Æ·¡ ¸í·É¾î¸¦ ½ÇÇàÇÑ´Ù.
SQL> recover database until cancel ;
Media recovery complete.
SQL> alter database open resetlogs ;
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area 2.6991E+10 bytes
Fixed Size                  2213976 bytes
Variable Size            1.9059E+10 bytes
Database Buffers         7784628224 bytes
Redo Buffers              145174528 bytes
Database mounted.
Database opened.
SQL>

* database open½Ç ¹ß»ýÇÏ´Â ¿øÀÎÀº ´ÙÀ½°ú °°Àºµ¥
  À§ »çÇ×Àº 1)¹ø »çÇ×ÀÌ´Ù.
 1) DATAÆÄÀÏÀÌ ±úÁ³À» ¶§
 2) SN¹øÈ£ ºÒÀÏÄ¡ ½Ã -> "SCN ¹øÈ£ ºÒÀÏÄ¡" ÀÇ ¿ÀŸ·Î º¸ÀÓ
 3) DBÀÇ ÄÁÆ®·Ñ ÆÄÀϹ®Á¦ ½Ã
 4) ¼³Á¤ÆÄÀÏ ¿À·ù

3. Ãß°¡»çÇ×

DB¿¡ ¹®Á¦°¡ »ý°Ü¼­ °­Á¦·Î kill·Î Á׿´À» ¶§ 
$ sqlplus "/as sysdba"·Î Á¢¼ÓÇÏ¿©
$ startupÇϸé ORA-01012: not logged on ¿¡·¯°¡ ¹ß»ýÇÑ´Ù.
±×¶§´Â SQL> startup force·Î ½ÇÇàÇÑ´Ù.




Posted by Æ÷µ¿Çª¿ì
IT-Tech/Database2016.08.16 15:20

1. DB Instance ÀÇ Archive Log Mode Ãʱⱸ¼º °á°ú on 11gR2 


  -- ÇöÀç ¼³Á¤ ³»¿ë

 

 SQL> connect /as sysdba

 Connected.

 SQL> archive log list 

 Database log mode              No Archive Mode

 Automatic archival             Disabled

 Archive destination            USE_DB_RECOVERY_FILE_DEST

 Oldest online log sequence     36

 Current log sequence           38

 SQL>  



2. Archive Destination À» LOG_ARCHIVE_DEST_1 ·Î º¯°æ 


  -- fast_recovery_area ¿¡ Archive Log ¸¦ ¶³¾î ¶ß¸®Áö ¾Ê±â À§Çؼ­ µîµî....


 SQL> alter system set LOG_ARCHIVE_START = TRUE scope=spfile ;      

 SQL> alter system set LOG_ARCHIVE_FORMAT = 'DAPPE02_%r_%T_%S.arc' scope=spfile ; 

 SQL> alter system set LOG_ARCHIVE_DEST = '' scope = spfile ; 

 SQL> alter system set LOG_ARCHIVE_DEST_1 = 'location=/u02/arch/DAPPE02' scope = spfile ; 


 -- DB Instance Àç°¡µ¿ÀÌ ÇÊ¿ä

 SQL> shutdown immediate ; 

 SQL> startup mount ; 

 SQL> alter database archivelog ; 

 SQL> alter database open ;



3. Àç°¡µ¿ ÈÄ º¯°æ ³»¿ë È®ÀÎ


  -- Ç×»ó, È®ÀÎÀº ÇÊ¿äÇÏ´Ù.


 SQL> archive log list ;

 Database log mode              Archive Mode

 Automatic archival             Enabled

 Archive destination            /u02/arch/DAPPE02

 Oldest online log sequence     36

 Next log sequence to archive   38

 Current log sequence           38

 SQL> 


  -- ¾Æ·¡ÀÇ File name ó·³ »ý¼ºµÈ´Ù. : Æ÷¸ËÀº À§¿¡¼­ 'DAPPE02_%r_%T_%S.arc' ¼³Á¤ ÇßÀ½ => Áö±Ý º¸´Ï, ±»ÀÌ ÀÚ¸®¼ö¸¦ ¸ÂÃâ ÇÊ¿ä ¾øÀÌ %T Àº %t ·Î Çß¾ú¾îµµ ÁÁ¾ÒÀ» °ÍÀ»...


 oraapp112@mwapp:/u02/arch/DAPPE02] ls -al 

 drwxr-xr-x 2 oraapp121 dba     4096 Aug 10 13:33 .

 drwxrwxr-x 4 oraapp112 dba     4096 Aug 10 13:28 ..

 -rw-r----- 1 oraapp121 dba 15956480 Aug 10 13:33 DAPPE02_919102183_0001_0000000038.arc

 -rw-r----- 1 oraapp121 dba     1024 Aug 10 13:33 DAPPE02_919102183_0001_0000000039.arc

 oraapp112@mwapp:/u02/arch/DAPPE02] 






Posted by Æ÷µ¿Çª¿ì
IT-Tech/Database2016.08.16 14:58

//-- DB 11gR2 Silent Install Script : Short Guide


1. DB ¿£Áø¼³Ä¡ 


  -- ¼³Ä¡ÆÄÀÏ Áغñ


 oraapp112@mwapp:/home/oraapp112/media] unzip p13390677_112040_Linux-x86-64_1of7.zip

 oraapp112@mwapp:/home/oraapp112/media] unzip p13390677_112040_Linux-x86-64_2of7.zip 


  -- response ÆÄÀÏ ¼öÁ¤


 oraapp112@mwapp:/home/oraapp112/media/database/response] cp -p db_install.rsp db_install.rsp.orig

 oraapp112@mwapp:/home/oraapp112/media/database/response] vi db_install.rsp 

    >> ¼öÁ¤ »çÇ× ÂüÁ¶ : ÀϺΠDefault Value µµ Ç¥±â

 oracle.install.option=INSTALL_DB_SWONLY

 ORACLE_HOSTNAME=mwapp

 INVENTORY_LOCATION=/u02/oracle/oraInventory_112

 SELECTED_LANGUAGES=en,ko

 ORACLE_HOME=/u02/oracle/product/11.2.0/db

 ORACLE_BASE=/u02/oracle

 oracle.install.db.InstallEdition=EE

 oracle.install.db.EEOptionsSelection=true

 oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0

 oracle.install.db.DBA_GROUP=dba

 oracle.install.db.OPER_GROUP=dba

 oracle.install.db.config.starterdb.type=GENERAL_PURPOSE

 DECLINE_SECURITY_UPDATES=true


  -- Silent ·Î DB¿£Áø ¼³Ä¡


oraapp112@mwapp:/home/oraapp112/media/database] ./runInstaller -silent -responseFile /home/oraapp112/media/database/response/db_install.rsp 


 As a root user, execute the following script(s):

        1. /u02/oracle/product/11.2.0/db/root.sh


 Successfully Setup Software.    ==> ÀÌ·¸°Ô ³ª¿À¸é, ¿£ÁøÀÌ Á¤»ó¼³Ä¡ µÈ °Í 

    


2. ÀûÀýÇÑ PUS Àû¿ë


  -- OPatch Update : »ý·«, ´Ù½Ã È®ÀΠ6880880

  -- ÀûÀýÇÑ PSU Apply : »ý·«, 2016³âµµ ¾î´À ¶§ºÎÅÍ ³¯ÀÚ·Î Ãâ½Ã.



3. Listener ±¸¼º


  -- response ÆÄÀÏ ¼öÁ¤


 oraapp112@mwapp:/home/oraapp112/media/database/response] cp -p netca.rsp netca.rsp.orig

 oraapp112@mwapp:/home/oraapp112/media/database/response] vi netca.rsp 

    >> ¼öÁ¤ »çÇ× ÂüÁ¶ : ÀϺΠDefault Value µµ Ç¥±â

 RESPONSEFILE_VERSION="11.2"

 CREATE_TYPE="CUSTOM"

 LOG_FILE=""/home/oraapp112/media/database/response/netca_inst.log""

 LISTENER_NAMES={"LISTENER_DAPPE01"}

 LISTENER_PROTOCOLS={"TCP;1621"}

 LISTENER_START=""LISTENER_DAPPE01""

 NSN_PROTOCOLS={"TCP;HOSTNAME;1621"} 


  -- Silent ·Î DB Listener ±¸¼º


 oraapp112@mwapp:/home/oraapp112/media/database/response] cd $ORACLE_HOME/bin 

 oraapp112@mwapp:/u02/oracle/product/11.2.0/db/bin] ./netca -silent -responseFile /home/oraapp112/media/database/response/netca.rsp 



4. DB Instance »ý¼º


  -- response ÆÄÀÏ ¼öÁ¤


 oraapp112@mwapp:/home/oraapp112/media/database/response] cp -p dbca.rsp dbca.rsp.orig

 oraapp112@mwapp:/home/oraapp112/media/database/response] vi dbca.rsp 

    >> ¼öÁ¤ »çÇ× ÂüÁ¶ : ÀϺΠDefault Value µµ Ç¥±â

RESPONSEFILE_VERSION = "11.2.0"

 OPERATION_TYPE = "createDatabase"

 GDBNAME = "DAPPE01"

 SID = "DAPPE01"

 SYSPASSWORD = "Customized_Password"

 SYSTEMPASSWORD = "Customized_Password"

 SYSMANPASSWORD = "Customized_Password"

 DATAFILEDESTINATION = "/u02/data01/oradata"

 STORAGETYPE=FS

 CHARACTERSET = "KO16MSWIN949"

 NATIONALCHARACTERSET= "AL16UTF16"

 SAMPLESCHEMA=TRUE

 AUTOMATICMEMORYMANAGEMENT = "TRUE"

 TOTALMEMORY = "2048"

    # ÀÏ´ÜÀº, AMM À» È°¼ºÈ­ ÇÏ°í, ÃÖ¼Ò ¸Þ¸ð¸®·Î DB Instance ¸¦ »ý¼º, DB SID ¿Í CHARACTERSET ¿¡ ÁÖÀÇ


  -- Silent ·Î Instance »ý¼º


 oraapp112@mwapp:/home/oraapp112/media/database/response] cd $ORACLE_HOME/bin

 oraapp112@mwapp:/u02/oracle/product/11.2.0/db/bin] ./dbca -silent -responseFile /home/oraapp112/media/database/response/dbca.rsp



5. Ãß°¡»çÇ×


  -- root.sh ¼öÇà ÀØÁö ¸»±â : ¿£Áø ¼³Ä¡ ÈÄ, DB Instance ±¸¼º ÈÄ

  -- ¿©·¯°¡Áö ±¸¼ºÀ» ´ëºñ?Çؼ­, oraInventory ¿Í diag ¸¦ unique ÇÏ°Ô »ý¼º~ ³ªÁß¿¡ file name ÀÌ unique Çؼ­ Æú´õ º´ÇÕÀÌ ¹ø°Å·Î¿öÁü..  




Posted by Æ÷µ¿Çª¿ì
IT-Tech/Database2016.08.16 13:25

1. Çö»ó


  - DB12c À̻󿡼­, ƯÁ¤ Column ¿¡ ´ëÇÑ rename column ȤÀº drop column ½Ã, ORA-54032 ¿Í ÇÔ²² º¯°æÀÌ ¾ÈµÊ


SQL> alter table OWNER.AG_NB_RD_SBAS_DD_SUM rename column MRD_STAT_CD to REP_POL_STAT_CD ; 

¼öÇà ½Ã,, ¾Æ·¡ Message ¸¦ Ãâ·Â 

"ORA-54032: column to be renamed is used in a virtual column expression"

"ORA-54033: column to be modified is used in a virtual column expression"



2. ¿øÀÎ


  - ÇØ´ç Ä÷³ÀÌ virtual column ¿¡ Æ÷ÇԵǾî À־ º¯°æÀÌ ¾ÈµÊ

  - DB12c ÀÌ»ó ¿¡¼­´Â, extended statistics ±â´ÉÀ» À§ÇØ, »ç¿ëÀÚ°¡ »ý¼ºÇÏÁö ¾ÊÀº Ä÷³µµ DB ¿£ÁøÀÌ virtual column À¸·Î ÁöÁ¤ÇØ º°µµ »ý¼º, °ü¸®

  - extended statistics ¿¡ ´ëÇؼ­ ±â¼úµÈ ³»¿ë : This feature enables to Oracle calculate statistics on a group of columns. It uses this information to improve row estimates. This is useful when there's a correlation between the values of two (or more) columns in a table.

  - SYS_OP_COMBINED_HASH Àº an undocumented feature ¶ó°í ÇÕ´Ï´Ù. The name implies Oracle is merging the arguments together to form a hash ¶ó°í ±â¼úµÇ¾î ÀÖ½À´Ï´Ù.

  

  - È®ÀÎ ¹æ¹ý

SQL> select OWNER, table_name, column_name, data_type, hidden_column, data_default

        from dba_tab_cols

        where table_name ='ÇØ´ç_TABLE_NAME' and virtual_column = 'YES' ; 

  # data_default ¿¡ ÇØ´ç column ÀÌ Æ÷ÇԵǾî ÀÖ´Ù¸é, ORA-54032, ORA-54033 ¿Í ÇÔ²² º¯°æÀÌ ¾ÈµÊ


  - È®ÀÎ °á°ú (¼ÀÇ®)

COLUMN_NAME                  DATA_DEFAULT         HIDDEN_COLUMN

------------------------------                  --------------------------------------   ---------------------

SYS_STUYPW88OE302TFVBNC6$MMQXE SYS_OP_COMBINED_HASH("X","Y") YES

Z                                                                                         NO

Y                                         NO

X                                         NO 

  # À§¿Í °°ÀÌ Á¶È¸ µÇ´Â °æ¿ì, X ¿Í Y ÀÇ 2°³ Column Àº SYS_OP_COMBINED_HASH ¿¡ ¼ÓÇÑ virtual column ÀÌ µË´Ï´Ù.



3. Á¶Ä¡¹æ¹ý


  3-A. ÇØ´ç extended statistics Ä÷¯À» »èÁ¦


  - ¾Æ·¡ Package ¸¦ ÅëÇØ »èÁ¦ °¡´É


SQL> exec dbms_stats.drop_extended_stats( ownname => 'OWNER', tabname => 'ÇØ´ç_TABLE_NAME', extension => '("BASE_YM","MRD_STAT_CD","MRD_PROD_CD")' ) ;

  ȤÀº

SQL> exec dbms_stats.drop_extended_stats(OWNER, 'ÇØ´ç_TABLE_NAME', '(BASE_YM, MRD_STAT_CD, MRD_PROD_CD)');


  - ¾Æ·¡ Package ¸¦ ÅëÇØ »ý¼º °¡´É (ÇÊ¿äÇÏ´Ù°í ÆÇ´ÜÇÒ °æ¿ì, DB °¡ ´Ù½Ã »ý¼º)


SQL> exec dbms_stats.create_extended_stats( ownname => 'OWNER', tabname => 'ÇØ´ç_TABLE_NAME', extension => '("BASE_YM","MRD_STAT_CD","MRD_PROD_CD")' ) ;


  3-B. ÇØ´ç Table À» Àç»ý¼º : Àç»ý¼º µ¥ µû¸¥ Á¦¾àÀº ¾ø½À´Ï´Ù. 


SQL> alter table OWNER.AG_NB_RD_SBAS_DD_SUM drop primary key cascade ;  

SQL> drop table OWNER.AG_NB_RD_SBAS_DD_SUM cascade constraints ;

 

SQL> create table OWNER.AG_NB_RD_SBAS_DD_SUM ( ------  »ý·«  ) ;



ps. ÀÌ ³»¿ëÀº ´ÙÀ½ URLÀ» ÂüÁ¶ÇÏ¿´½À´Ï´Ù : https://blogs.oracle.com/sql/entry/ora_54033_and_the_hidden 

Posted by Æ÷µ¿Çª¿ì
IT-Tech/Database2016.08.09 13:17

1. Oracle DB ¿¡ Á¢¼ÓÀÌ µÇ¾ú´Ù°¡, ¿¬°áÀÌ Á¾·áµÇ´Â °æ¿ì


  A. ƯÁ¤ »ç¿ëÀÚ Profile ¿¡ ¼³Á¤µÈ limit ¶§¹®¿¡ ¿¬°áÀÌ Á¾·á µÇ´Â °æ¿ì Àϼöµµ ÀÖÀ½


    -- È®ÀÎ


      > Profile À» »ç¿ëÇÏ·Á¸é, resource_limit ÀÌ true ·Î ¼³Á¤µÇ¾î ÀÖ¾î¾ß ÇÔ -- 11gR2 Default ´Â false


        SQL> select name, value from v$parameter where name like '%resource%' ;

        SQL> alter system set resource_limit = true scope=spfile ; -- ¼³Á¤¹æ¹ý


      > »ý¼ºµÇ¾î ÀÖ´Â, Profile µéÀ» È®ÀÎ : PROFILE ¸íÀÌ Dafault ÀÎ °ÍÀÌ ±âº»¼³Á¤ Profile ÀÔ´Ï´Ù.


        SQL> select profile, resource_name, limit from dba_profiles where profile = '%NEW';

   

    -- Á¶Ä¡¹æ¹ý


      > ÇØ´ç Limit À» Á¦°ÅÇÑ Profile À» »ý¼ºÇÏ¿©, ÇØ´ç User ¿¡ ºÎ¿© (¾Æ·¡´Â Sample)

      > ƯÁ¤ÇÏÁö ¾ÊÀº limit Àº Default profile À» µû¸§

 

        SQL> ALTER PROFILE Profile_NEW limit 

              PASSWORD_GRACE_TIME UNLIMITED 

              FAILED_LOGIN_ATTEMPTS UNLIMITED

              PASSWORD_LIFE_TIME UNLIMITED

              PASSWORD_LOCK_TIME UNLIMITED 

              idle_time UNLIMITED  ; 


        SQL> alter user user_new profile Profile_new  ; 


    -- ÂüÁ¶°ª

      

      > sessions_per_user 2 => À¯Àú´ç 2°³ÀÇ ¼¼¼ÇÀ» Çã¿ë

      > idle_time 1 => Á¢¼ÓÈÄ 1ºÐ µ¿¾È ¾Æ¹«·± ÀÛ¾÷ÀÌ ÀϾÁö ¾Ê´Â´Ù¸é ÀÚµ¿À¸·Î SessionÀ» Á¾·á

      > connect_time 480 => Open µÈ ¼¼¼ÇÀ» 8ºÐ(480ÃÊ) µ¿¾È¸¸ »ç¿ë Çã¶ô,  ºÐ´ÜÀ§ÀÇ ¿¬°á½Ã°£ Á¦ÇÑ

      > LOGICAL_READS_PER_SESSION 1028 => SESSIONÀÌ ¿­·ÁÀÖ´Â µ¿¾È disk³ª memory¿¡¼­ ÀÐÀ» ¼ö ÀÖ´Â data block ¼ö°¡ 1024 Block



  B. DB Instance Lelvel ·Î ¼³Á¤µÈ limit ¶§¹®¿¡ ¿¬°áÀÌ Á¾·á µÇ´Â °æ¿ìÀÏ ¼öµµ ÀÖÀ½


    -- È®ÀÎ


 SQL> select * from v$resource_limit ; 


RESOURCE_NAME

 CURRENT UTILIZATION

 MAX UTILIZATION

 INITIAL ALLOCATION

 LIMIT VALUE

 processes

 31

 1800

 2000

 2000

 sessions

 39

 3024

 3024

 3024

 enqueue_locks

 25

 61

 34780

 34780

 enqueue_resources

 22

 59

 13524

 UNLIMITED

 ges_procs

 0

 0

 0

 0

 ges_ress

 0

 0

 0

 UNLIMITED


      À§ÀÇ ¼ÀÇ® °á°ú¿¡¼­ processes °¡ ÇÁ·Î¼¼½º °¹¼ö(¹é±×¶ó¿îµå+Dedicate Process), ±×¸®°í session ÀÌ µ¿½ÃÁ¢¼Ó ¼¼¼Ç ¼ö ÀÔ´Ï´Ù.

      current_utilization ÀÌ ÇöÀç Á¢¼Ó Ä«¿îÆ®ÀÌ°í... (1¸í Á¢¼ÓÇÒ ¶§ ¸¶´Ù 1¾¿ Áõ°¡)

      max_utilization  ÀÌ ¿À¶óŬÀ» ½ÃÀÛÇÑ ÀÌ·¡·Î ÃÖ´ë·Î Á¢¼ÓÇßÀ» ¶§ ÇÇÅ© ¼öÄ¡ÀÔ´Ï´Ù


    -- Á¶Ä¡ 


      session (µ¿½ÃÁ¢¼Ó ¼¼¼Ç ¼ö) °¡ 3024 ·Î ¼³Á¤µÇ¾î Àִµ¥ ( Defailt °ªµµ 3024 , Çö ¼³Á¤°ªµµ 3024 ÀÓ), 

      ÇöÀç´Â session (µ¿½ÃÁ¢¼Ó ¼¼¼Ç ¼ö) °¡ 39 ÀÔ´Ï´Ù¸¸, DB ±¸µ¿ ÈÄ µ¿½ÃÁ¢¼Ó ¼¼¼Ç ¼ö°¡ 3024 ¿¡ µµ´ÞÇÒ ÀûÀÌ ÀÖÀ¸¹Ç·Î, 

      ÀÌ ¶§, ´õ ÀÌ»óÀÇ session µéÀÌ DB ¿¡ ¿¬°áµÇÁö ¸øÇÏ´Â »óȲÀ̾ùÀ» °ÍÀÔ´Ï´Ù. ==> µû¶ó¼­ session À» 5000 °³ Á¤µµ·Î ´Ã¸± ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.


      sessions °ú processes ´Â ÇÔ²¾ Áõ°¡ µÇ¾î¾ß Çϸç, sessions Àº processes * 1.1 + 5°³ ÀÌ»óÀÌ µÇ¾î¾ß ÇÕ´Ï´Ù. (DB ¹öÀü¿¡ µû¶ó »óÀÌ)


 SQL> alter system set sessions = 5550 scope = spfile ; 

 SQL> alter system set processes = 5000 scope = spfile ; 


 SQL> shutdown immediate ; 

 SQL> startup ; 



      

  





Posted by Æ÷µ¿Çª¿ì
IT-Tech/Database2016.07.20 15:02

//-- Oracle DB ÀÇ Datapump ¸¦ ÀÌ¿ëÇÑ DB °£ Data ÀÌ°ü 

//-- Draft ¹öÀü 



1. °³¿ä 


  -- ÇÊ¿äÇÑ°æ¿ì 

    > Oracle DB °£ÀÇ Data Migration

    > »ç·Ê1) °³¹ßDB¿¡ Àִ ƯÁ¤ÇÑ SchemaÀÇ ¸ðµç ObjectµéÀ» ¿î¿µDB·Î ¸ðµÎ ¿Å±â´Â °æ¿ì µî 

  -- Á¦¾à»çÇ×

    > Oracle DB 10.2.0.X ÀÌ»ó (11.1.0.X ÀÌ»ó ±Ç°í) => ÇØ´ç ¹öÀü À̻󿡼­ Á¦°øÇÏ´Â datapump ¸¦ »ç¿ë


  

2. ÀüüÀûÀÎ °¡À̵å


  A. Datapump ¸¦ ¶³¾î¶ß¸± Directory¸¦ ¼Ò½º/ŸÄÏ ¾çÂÊ¿¡ »ý¼º

  B. Datapump ¸í·É¾î·Î, ÇØ´ç Data ¸¦ OS File ÇüÅ·ΠÃßÃâ

  C. FTP ·Î ŸÄϼ­¹ö·Î Àü¼Û

  D. Datapump ¸í·É¾î·Î, ÇØ´ç OS File À» DB¿¡ ÀûÀç 



3. ¼¼ºÎ¹æ¹ý


  A. (¼Ò½º/ŸÄÏ ¾çÂÊ DB¿¡) Directory ¼³Á¤ 


  -- ±âÁ¸ Directory Áß Àû´çÇÑ °ÍÀ» »ç¿ëÇصµ µÇ°í, »õ·Î ¸¸µé¾î »ç¿ëÇصµ µÊ

  -- DB °ü¸®user ÀÎ system À» »ç¿ëÇÏ´Â °ÍÀÌ ¹«³­ÇÔ => ±×·¸Áö ¾ÊÀº °æ¿ì, ÀÏ¹Ý User ¿¡ ÇÊ¿äÇÑ ±ÇÇÑÀ» ¼³Á¤ ÇÊ¿ä

  

  -- ±âÁ¸ Directory Á¶È¸

  -- ¾Æ·¡ÀÇ °æ¿ì, DATA_PUMP_DIR °¡ »ç¿ëÇϱ⿡ ¹«³­

  

SQL> set linesize 350

SQL> set pagesize 100

SQL> col owner format a15

SQL> col directory_path format a80  

SQL> select * from dba_directories ; 


OWNER        DIRECTORY_NAME                 DIRECTORY_PATH

----------   ------------------------------ ----------------------------------------------------------------------------

SYS          SUBDIR                            /app/oracle/product/11.2.0/db/demo/schema/order_entry/2002/Sep

SYS          SS_OE_XMLDIR                   /app/oracle/product/11.2.0/db/demo/schema/order_entry/

SYS          JOOYH_DIR                        /home/oracle/data_pump

SYS          LOG_FILE_DIR                     /app/oracle/product/11.2.0/db/demo/schema/log/

SYS          MEDIA_DIR                        /app/oracle/product/11.2.0/db/demo/schema/product_media/

SYS          XMLDIR                             /app/oracle/product/11.2.0/db/rdbms/xml

SYS          DATA_FILE_DIR                    /app/oracle/product/11.2.0/db/demo/schema/sales_history/

SYS          DATA_PUMP_DIR                 /app/oracle/admin/ogg25/dpdump/

SYS          ORACLE_OCM_CONFIG_DIR    /app/oracle/product/11.2.0/db/ccr/state

9 rows selected.

SQL> 


  -- »õ·Î¿î Directory »ý¼º (tran_pump ·Î »ý¼º) ¹× ÇÊ¿ä±ÇÇÑ ºÎ¿©

  -- system ¿¡´Â ÀÌ¹Ì ±ÇÇÑÀÌ ÀÖÀ¸³ª, ¼ÀÇ®Query¸¦ ¼öÇà

  

[/home/oracle]$ id

 uid=401(oracle) gid=512(dba) groups=512(dba)

 [/home/oracle]$ cd /app/oracle/admin/ogg25/

 [/app/oracle/admin/ogg25/]$ mkdir tran_pump         --  dpdir Á¤µµÀÇ À̸§À¸·Î ¸¸µé¾îÁø °ÍÀ» »ç¿ëÇÏ¸é µÊ


-- ÀÏ¹Ý User·Î Directory »ý¼º½Ã ÇÊ¿ä (system Àº ±â º¸À¯) 

SQL> GRANT CREATE ANY DIRECTORY TO SYSTEM ;   

-- ¿øÇÏ´Â Directory »ý¼º

SQL> CREATE DIRECTORY tran_pump AS '/app/oracle/admin/ogg25/tran_pump' ; 

-- DIRECTORY ¿¡ °³º°±ÇÇÑ ºÎ¿©

SQL> GRANT READ, WRITE ON DIRECTORY tran_pump TO SYSTEM ;  

-- ÀÏ¹Ý User·Î ÃßÃâ/ÀûÀç ½Ã ÇÊ¿ä (system Àº ÀÌ¹Ì ±ÇÇÑÀÌ ÀÖÀ½}

SQL> grant EXP_FULL_DATABASE, IMP_FULL_DATABASE to SYSTEM ;  


  B. Datadump ¸í·É¾î·Î, ÇØ´ç Data ¸¦ OS File ÇüÅ·ΠÃßÃâ

  

  -- ÃßÃâ´ë»ó Object È®ÀÎ : ÇÏ´Ü ÂüÁ¶

  

  -- »õ·Î »ý¼ºÇÑ tran_pump ¿¡ Data ¸¦ ÃßÃâ/ÀûÀç

  -- tran_pump À̸§ÀÇ directory ¿¡ dumpfile ÀÌ »ý¼ºµÊ

  

[/home/oracle]$ expdp system/oracle directory=tran_pump schemas=BIGDATA01 job_name=bigdata01_expdp dumpfile=src_schema_bigdata01.dmp logfile=src_schema_bigdata01.expdp.log


[/app/oracle/admin/ogg25/tran_pump]$ du -hs *

5.1G    src_schema_bigdata01.dmp      -> 14:13:13 ¼Ò¿äµÊ, tran_pump ¶õ directory ¿¡ »ý¼ºµÊ

12K     src_schema_bigdata01.expdp.log

[/app/oracle/admin/ogg25/tran_pump]$ 

  C. FTP ·Î ŸÄϼ­¹ö·Î Àü¼Û : »ý·«

  

  D. Datadump ¸í·É¾î·Î, ÇØ´ç OS File À» DB¿¡ ÀûÀç 

  

** ÁÖÀÇ»çÇ×

     -- »çÀü¿¡ ÀûÀç µÉ Schema ´Â ÀÌ¹Ì ¸¸µé¾î µÎ¾î¾ß ÇÔ

     -- ÀÌ¹Ì »ý¼ºÇÏÁö ¾ÊÀ¸¸é, ÀûÀç ½Ã »ý¼ºÇϳª (µ¿ÀÏ DB¼­¹ö¿¡ º¹±¸ ÇÏ´Â °æ¿ì°¡ ¾Æ´Ï¶ó¸é) ÀÌ¹Ì »ý¼ºÇØ µÎ¾î¾ß ÇÔ

     -- ÀûÀçµÈ Tablespace ¿¡µµ ÃæºÐÇÑ °ø°£ÀÌ È®º¸µÇ¾î ÀÖ¾î¾ß ÇÔ


SQL> drop user bigdata02 cascade ;          -- ÇØ´ç Schema °¡ ÀÌ¹Ì ÀÖ´Â °æ¿ì, »èÁ¦ÇÏ°í Àç»ý¼º ÇÊ¿ä

SQL> create user bigdata02 identified by bigdata02

        default tablespace tmp_data

        temporary tablespace temp ; 

SQL> grant resource, connect to bigdata02 ; 

SQL> grant dba, sysdba to tranm ;          -- TRANManager DB User ¿¡´Â  dba, sysdba ±ÇÇѵµ Ãß°¡·Î ºÎ¿© 


 ** ¸¸¾à impdp °¡ ÆÛ¹Ì¼Ç ¹®Á¦·Î ½ÇÇàµÇÁö ¾Ê´Â´Ù¸é SYSDBA ·Î ·Î±×ÀÎÇÑ ÈÄ, ¾Æ·¡ Query ¸¦ ½ÇÇàÇÑ ÈÄ Àç½Ãµµ.

SQL> execute dbms_metadata_util.load_stylesheets ;

-- ¾Æ·¡ ¸í·É¾î·Î ÀûÀç

-- ÃßÃâÇÏ´Â Schema ¿Í ÀûÀçµÇ´Â Schema °¡ ´Ù¸¥ °æ¿ì REMAP_SCHEMA »ç¿ëÇØ¾ß ÇÔ

-- ¼Ò½ºDB ÀÇ Tablespace ¸íÀÌ Å¸ÄÏDB¿¡¼­ ´Þ¶óÁö´Â °æ¿ì, REMAP_TABLESPACE ¸¦ »ç¿ëÇØ¾ß ÇÔ


[/home/oracle]$ impdp system/oracle directory=tran_pump job_name=bigdata01_impdp dumpfile=src_schema_bigdata01.dmp logfile=src_schema_bigdata01.impdp.log REMAP_SCHEMA=bigdata01:bigdata02

    

 


8. °ü·Ã Query 


  A. ÃßÃâ ´ë»ó Schema ÀÇ Object Á¤º¸ »çÀü È®ÀÎ


SQL> set linesize 350  

SELECT DB.NAME DBNAME

, USERNAME

        , NVL(ROUND(SUM(CASE WHEN SEGMENT_TYPE LIKE 'INDEX%' THEN NULL ELSE BYTES END)/1024/1024/1024,1),-1) TABLE_SIZE

, NVL(ROUND(SUM(CASE WHEN SEGMENT_TYPE LIKE 'INDEX%' THEN BYTES ELSE NULL END)/1024/1024/1024,1),-1) INDEX_SIZE

, COUNT(B.SEGMENT_NAME) SEGMENT_COUNT

, MAX(C.OBJ_CNT) OBJECT_COUNT

FROM DBA_USERS A

INNER JOIN

(SELECT NAME FROM V$DATABASE) DB

ON 1=1

LEFT OUTER JOIN DBA_SEGMENTS B

ON A.USERNAME=B.OWNER

AND SEGMENT_NAME NOT LIKE 'BIN%'

LEFT OUTER JOIN (SELECT OWNER OWNER2,COUNT(*) OBJ_CNT FROM DBA_OBJECTS GROUP BY OWNER) C

ON A.USERNAME = C.OWNER2

WHERE A.USERNAME IN ('BIGDATA01')

GROUP BY DB.NAME,USERNAME

ORDER BY USERNAME  


SQL> /


DBNAME    USERNAME                       TABLE_SIZE INDEX_SIZE SEGMENT_COUNT OBJECT_COUNT

--------- ------------------------------ ---------- ---------- ------------- ------------

OGG25     BIGDATA01                             4.7        1.4           126          134


SQL> 


select owner, object_type, count(1)

  from dba_objects 

 where owner in ('BIGDATA01') 

 group by owner, object_type

 order by owner, object_type


OWNER           OBJECT_TYPE           COUNT(1)

--------------- ------------------- ----------

BIGDATA01       INDEX                       42

BIGDATA01       PACKAGE                      1

BIGDATA01       PACKAGE BODY                 1

BIGDATA01       PROCEDURE                    3

BIGDATA01       SEQUENCE                     1

BIGDATA01       TABLE                       84

BIGDATA01       VIEW                         2


7 rows selected.

SQL> 



9. ÂüÁ¶ »ç·Ê/¼ÀÇ®


  A. ÃßÃâ ÇÏÁö ¾Ê°í, »ý¼ºµÉ dump file ÀÇ Size ¸¸ °è»ê : estimate_only »ç¿ë 

  

    -- ´ÙÀ½ ¿É¼ÇÀ¸·Î expdp¿¡ »ç¿ëµÇ´Â °ø°£À» ÃßÁ¤ÇÒ ¼ö ÀÖ´Ù.

$ expdp dpumpuser/dpumpuser full=y estimate_only=Y

  


  B. ÃßÃâ/ÀûÀç ½Ã º´·Äó¸® ÇÏ´Â °æ¿ì : %U ¸¦ »ç¿ë


    -- parallel ÆĶó¸ÞÅÍ´Â ¸î °³ÀÇ ½º·¹µå·Î º´·Ä ó¸® ÇÒ °Í ÀÎÁö ÁöÁ¤ÇÑ´Ù.

# expdp hr/hr tables=paratest directory=data_pump_test dumpfile=paratest%U.dmp parallel=4 job_name=parr_test;


    -- paratest01.dmp, paratest02.dmp, paratest03.dmp paratest04.dmp => 4 °³ÀÇ ÆÄÀÏÀÌ »ý¼ºµÈ´Ù.

# impdp hr/hr directory=data_pump_test dumpfile=paratest%U.dmp job_name=parr_test;


  C. ÃßÃâ ½Ã, ƯÁ¤ Schema µ¥¿¡Å͸¸ ÃßÃâ


    -- ƯÁ¤ ½ºÅ°¸¶ÀÇ ±¸Á¶¿Í µ¥ÀÌÅÍ ÃßÃâ : schema ¸¦ »ç¿ë

$expdp dpumpuser/dpumpuser schema=PORTAL directory=data_pump dumpfile=portal_schema_20081031.dmp


  D. ÃßÃâ ´ë»ó Á¤Çϱâ - Metadata ¸¸À» ÃßÃâÇϰųª, Table ÀÇ Data ¸¸ ÃßÃâÇÏ´Â °æ¿ì : content ¸¦ »ç¿ë

  

    -- content¸¦ »ç¿ëÇØ Æ¯Á¤ ½ºÅ°¸¶ÀÇ µ¥ÀÌÅ͸¸ ÃßÃâ (all Àüü | metadata_only ²®µ¥±â¸¸ | data_only tableÀÇData¸¸ ) 

$expdp dpumpuser/dpumpuser schemas=PORTAL content=data_only directory=data_pump dumpfile=portal_schema_data_20081031.dmp

  E. ÀûÀç ½Ã, Schema ¹× Tablespace °¡ º¯°æµÇ´Â °æ¿ì : REMAP_XXXXX »ç¿ë

    -- µ¥ÀÌÅÍ ÆÄÀÏ, Å×ÀÌºí ½ºÆäÀ̽º, À¯Àú´Â °¢°¢ ´ÙÀ½ÀÇ ¿É¼ÇÀ¸·Î º¯°æÇÒ ¼ö ÀÖ´Ù.

REMAP_DATAFILE='C:\user01.dbf':'/usr/data/user01.dbf'

REMAP_TABLESPACE='users':'user'

REMAP_SCHEMA=scott:stralth

    -- TABLESPACE º¯°æÀÌ ¿©·¯°³ÀÎ °æ¿ì, "," ¸¦ ±¸ºÐÀÚ·Î ÇÊ¿äÇÑ ¸¸Å­ ±â¼ú °¡´É

    --  ex) impdp system/oracle directory=datapump dumpfile=scott.dmp remap_tablespace =users1_data:users2_data, users1_index:users2_index schemas=scott;

  

  F. ÀûÀç ½Ã ÀÌ¹Ì Table ÀÌ Á¸ÀçÇÏ´Â °æ¿ì ¼±Åà °¡´É : table_exists »ç¿ë


$ impdp dpumpuser/dpumpuser table_exists_action=truncate directory=data_pump dumpfile=portal_schema_data_20081031.dmp  

    -- table_exists_action ¿É¼Ç »ç¿ë, ±âÁ¸ÀÇ µ¥ÀÌÅ͸¦ truncate Çϵµ·Ï (skip | append | truncate | replace)

skip      : Á¸ÀçÇÏ´Â ¿ÀºêÁ§Æ®¿¡ ´ëÇØ ÀÓÆ÷Æ® ½ºÅµ

append : ±âÁ¸ ¿ÀºêÁ§Æ®¿¡¼­ ¾÷´Â ÇุÀ» ÀÓÆ÷Æ®

truncate : ±âÁ¸ Å×À̺í truncate

replace : drop & recreate 



Posted by Æ÷µ¿Çª¿ì
IT-Tech/Database2012.05.03 14:05

1. Oracle DB ¿¡¼­ Á¦°øÇÏ´Â º¯È¯Çü ÇÔ¼ö(Conversion function)µé

 

ÁÖ·Î ¾Æ·¡ 3°¡Áö º¯È¯ÇÔ¼ö°¡ ¸¹ÀÌ »ç¿ëµË´Ï´Ù.

Parameter

Explanation

to_char

¼ýÀÚ³ª ³¯Â¥¸¦ ¹®ÀÚ¿­·Î º¯È¯

to_date

¹®ÀÚ¸¦ ³¯Â¥·Î º¯È¯

to_number

¹®ÀÚ¸¦ ¼ýÀÚ·Î º¯È¯

±âŸ ÂüÁ¶ÇÒ ¸¸ÇÑ Conversion function À¸·Î´Â

-       Bin_To_Num / NumToDSInterval / NumToYMInterval  

-       To_Single_Byte / To_Multi_Byte / To_Clob / To_NClob / To_Lob

-       From_Tz / To_Timestamp / To_Timestamp_Tz / To_YMInterval / To_DSInterval

-       HexToRaw / CharToRowid / RawToHex

µîÀÌ ÀÖÀ¸³ª, À̹ø¿¡´Â ¾ð±ÞÇÏÁö ¾Ê°Ú½À´Ï´Ù.

 

°¡´ÉÇÑ DB ¹öÀü : Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

-       ¾Æ¸¶ °ð GA release µÉ Oracle 12c ¿¡¼­µµ Áö¿øµÇ°ÚÁö¿ä?

 

2. to_char function

 

Syntax : TO_CHAR(¹®ÀÚ°ª,¡®Çü½Ä¡¯) / to_char( value, [format_mask], [nls_language])

-       value can either be a number or date that will be converted to a string.

-       format_mask is optional. This is the format that will be used to convert value to a string.

-       nls_language is optional. This is the nls language used to convert value to a string.

 

Example : ¼ýÀÚ¸¦ ¹®ÀÚ¿­·Î º¯È¯

SQL> select TO_CHAR(350000,'$999,999') from dual ;

 

TO_CHAR(3

---------

 $350,000

 

SQL>

 

Example : ³¯Â¥¸¦ ¹®ÀÚ¿­·Î º¯È¯

SQL> select to_char(sysdate, 'yyyy/mm/dd HH24:MI:SS') from dual ;

 

TO_CHAR(SYSDATE,'YY

-------------------

2012/05/03 13:24:25

 

SQL> select to_char(sysdate - 31, 'yyyymmdd') from dual ;

 

TO_CHAR(

--------

20120402

 

SQL> select to_char(sysdate, 'yyyy/mm/dd') from dual ;

 

TO_CHAR(SY

----------

2012/05/03

 

SQL> select to_char(sysdate, 'Month DD, YYYY') from dual ;

 

TO_CHAR(SYSDATE,'MONTHDD,YYYY')

---------------------------------------------

May       03, 2012

 

SQL> select to_char(sysdate, 'FMMonth DD, YYYY') from dual ;

 

TO_CHAR(SYSDATE,'FMMONTHDD,YYYY')

---------------------------------------------

May 3, 2012

 

SQL> select to_char(sysdate, 'MON DDth, YYYY') from dual ;

 

TO_CHAR(SYSDATE,'MONDDT

-----------------------

MAY 03RD, 2012

 

SQL> select to_char(sysdate, 'FMMON DDth, YYYY') from dual ;

 

TO_CHAR(SYSDATE,'FMMOND

-----------------------

MAY 3RD, 2012

 

SQL> select to_char(sysdate, 'FMMon ddth, YYYY') from dual ;

 

TO_CHAR(SYSDATE,'FMMOND

-----------------------

May 3rd, 2012

 

SQL>

 

Frequently Asked Questions

Question:

Why doesn't this sort the days of the week in order?

 

    select ename, hiredate, to_char((hiredate),'fmDay') "Day"

    from emp

    order by "Day";

 

Answer:

In the above SQL, the fmDay format mask used in the to_char function will return the name of the Day and not the numeric value of the day.

To sort the days of the week in order, you need to return the numeric value of the day by using the fmD format mask as follows:

 

    select ename, hiredate, to_char((hiredate),'fmD') "Day"

    from emp

    order by "Day";

 

3. to_date function

 

Syntax : TO_DATE(¹®ÀÚ°ª, ¡®Çü½Ä¡¯) / to_date(string1, [format_mask], [nls_language])

-       string1 is the string that will be converted to a date.

-       format_mask is optional. This is the format that will be used to convert string1 to a date.

-       nls_language is optional. This is the nls language used to convert string1 to a date.

 

Example : ¹®ÀÚ¸¦ ³¯Â¥·Î º¯È¯

SQL> select TO_DATE('May 3 2012','MONTH DD YYYY') from dual ;

 

TO_DATE('

---------

03-MAY-12

 

SQL> select sysdate - to_date('20120101', 'yyyymmdd') from dual ;

 

SYSDATE-TO_DATE('20120101','YYYYMMDD')

--------------------------------------

                            123.577465

 

SQL> select to_date('2012/05/03', 'yyyy/mm/dd') from dual ;

 

TO_DATE('

---------

03-MAY-12

 

SQL> select to_date('050312', 'MMDDYY') from dual ;

 

TO_DATE('

---------

03-MAY-12

 

SQL> select to_date('20120503', 'yyyymmdd') from dual ;

 

TO_DATE('

---------

03-MAY-12

 

SQL>

 

4. to_number function

 

Syntax : TO_NUMBER(¹®ÀÚ°ª) / to_number( string1, [format_mask], [nls_language] )

-       string1 is the string that will be converted to a number.

-       format_mask is optional. This is the format that will be used to convert string1 to a number.

-       nls_language is optional. This is the nls language used to convert string1 to a number.

 

Example : ¹®ÀÚ¸¦ ¼ýÀÚ·Î º¯È¯

SQL> select TO_NUMBER('1234567') from dual ;

 

TO_NUMBER('1234567')

--------------------

             1234567

 

SQL> select to_number('1210.73', '9999.99') from dual ; 

 

TO_NUMBER('1210.73','9999.99')

------------------------------

                       1210.73

 

SQL> select to_number('546', '999') from dual ; 

 

TO_NUMBER('546','999')

----------------------

                   546

 

SQL> select to_number('23', '99') from dual ; 

 

TO_NUMBER('23','99')

--------------------

                  23

 

SQL>

 

5. Syntax ÀÇ Çü½Ä¿¡ ´ëÇؼ­

 

Çü½Ä : ¼ýÀÚ¸¦ ¹®ÀÚ·Î º¯È¯½Ã¿¡ Çü½Ä¿¡ »ç¿ëµÇ´Â ¿ä¼Ò

Parameter

Explanation

9

ÀϹÝÀûÀÎ ¼ýÀÚ¸¦ ³ªÅ¸³¿

0

¾ÕÀÇ ºóÀÚ¸®¸¦ 0À¸·Î ä¿ò

$

dollar¸¦ Ç¥½ÃÇÔ

L

Áö¿ª ÅëÈ­ ´ÜÀ§

.

¼Ò¼ýÁ¡À» Ç¥½ÃÇÔ

,

õ´ÜÀ§¸¦ Ç¥½ÃÇÔ

 

  Çü½Ä : ³¯Â¥¸¦ ¹®ÀÚ·Î º¯È¯½Ã¿¡ Çü½Ä¿¡ »ç¿ëµÇ´Â ¿ä¼Ò

Parameter

Explanation

SCC

¼¼±â¸¦ Ç¥½Ã S´Â ±â¿øÀü(BC)

YEAR

¿¬µµ¸¦ ¾ËÆĺªÀ¸·Î spelling

YYYY

4ÀÚ¸® ¿¬µµ·Î Ç¥½Ã

YYY / YY / Y

³¡ÀÇ 3 / 2 / 1 ÀÚ¸® ¿¬µµ·Î Ç¥½Ã

Q

Quarter(ºÐ±â) of year (1, 2, 3, 4; JAN-MAR = 1).

MONTH

¿ùÀ» ¾ËÆĺªÀ¸·Î spelling

MON

¿ùÀÇ ¾ËÆĺª ¾à¾î

MM

¿ùÀ» 2ÀÚ¸® ¼ýÀڷΠǥ½Ã

RM

Roman numeral month (I-XII; JAN = I).

WW

Week of year (1-53) where week 1 starts on the first day of the year and continues to the seventh day of the year.

W

Week of month (1-5) where week 1 starts on the first day of the month and ends on the seventh.

DAY

ÀÏ¿¡ ÇØ´çÇÏ´Â ¿äÀÏ, Name of day.

DY

ÀÏ¿¡ ÇØ´çÇÏ´Â ¿äÀÏÀÇ ¾à¾î

DDD

¿¬µµ,¿ù,ÀÏ ÁßÀÇ ³¯Â¥¸¦ ¼ýÀڷΠǥ½Ã, Day of year (1-366).

DD

Day of month (1-31).

D

Day of week (1-7).

HH

½Ã°£À» Ç¥½Ã, Hour of day (1-12).

HH12

½Ã°£À» Ç¥½Ã, Hour of day (1-12).

HH24

½Ã°£À» Ç¥½Ã, Hour of day (0-23).

MI

ºÐÀ» Ç¥½Ã, Minute (0-59).

SS

Ãʸ¦ Ç¥½Ã, Second (0-59).

SSSSS

Seconds past midnight (0-86399).

FF

Fractional seconds. Use a value from 1 to 9 after FF to indicate the number of digits in the fractional seconds. For example, 'FF4'.

AM(A.M.),PM(P.M.)

¿ÀÀüÀÎÁö ¿ÀÈÄÀÎÁö¸¦ Ç¥½Ã

AD or A.D

AD indicator

BC or B.C.

BC indicator

TZD

Daylight savings information. For example, 'PST'

TZH

Time zone hour.

TZM

Time zone minute.

TZR

Time zone region.

 

Reference : http://www.techonthenet.com/oracle/functions/index.php

End of dicument.

Posted by Æ÷µ¿Çª¿ì
IT-Tech/Database2012.05.02 10:53

// Subject : [OracleDB] °øÅë Invalid Object Compile ¹æ¹ý

// Tag : Oracle DB Invalid Object Compile Manually Recompile script

 

1. Oracle DB ¿¡¼­ ¿Ö ÁÖ±âÀûÀΠInvalid Object ReCompile ÀÌ ÇÊ¿äÇÑ°¡ ?

 

¾Æ·¡ÀÇ ¿©·¯ °¡Áö »çÀ¯µé·Î, Object µéÀÌ Invalid »óÅ·ΠºüÁö°Ô µË´Ï´Ù.

-       Oracle DB ¿¡ ´ëÇÑ Major, Minor Upgrade ¼öÇà ÈÄ

-       Function ÀÌ »ç¿ëÇϴ Table ÀÇ Column Ãß°¡/»èÁ¦/º¯°æÀÌ ¹ß»ýµÇ´Â °æ¿ì

 

º¸ÅëÀº Object µéÀ» CALL/USE ÇÏ°Ô µÇ¸é´Ù½Ã Valid »óÅ·ΠÀÚµ¿ Compile ÀÌ µÇ³ª,

¶§·Î´Â ¾Æ·¡ÀÇ ¹®Á¦µéÀ» ¹ß»ý½ÃÅ°±âµµ ÇÕ´Ï´Ù. DB Àå¾ÖÀÇ ¿øÀÎÀÌ µÇ±âµµ ÇÕ´Ï´Ù.

-       ORA-4020 : Deadlock ÀÌ °¨ÁöµÈ »óÅ¿¡¼­ÀÇ library object ¿¡ ´ëÇÑ lockÀ» ȹµæ ½ÇÆÐ, <Note:130409.1> ÂüÁ¶

-       ORA-00911 : User miss ·Î (Descriptive Flexfield µîÀ» ½Å±Ô»ý¼º/¼öÁ¤ ½Ã, Segment name ÀÇ Ã¹ CHARACTER ·Î ¼ýÀÚ³ª ¾ËÆĺª ȤÀº ÇѱÛÀÌ ¾Æ´Ñ Ư¼ö¹®ÀÚ(ex> "[]")¸¦ »ç¿ë) Object °¡ Compile ºÒ°¡ »óÅ·Πº¯°æµÈ °æ¿ì

 

µû¶ó¼­, DBA µéÀºÁÖ±âÀûÀ¸·Î Invalid Object µéÀ» Á¶»çÇؼ­»çÀü¿¡ Recompile À» ÅëÇØ°ü·Ã Object µéÀÇ ¹®Á¦¸¦ Á¶Ä¡ÇÏ°í¿¹±âÄ¡ ¸øÇÑ Issue ¹ß»ý¿¡ ´ëºñÇÏ°í ÀÖ½À´Ï´Ù.

 

2. Invalid Object ¸¦ Re compile ÇÏ´Â ¹æ¹ý

 

±âº»ÀûÀ¸·Î Oracle DB ¿¡´Â Invalid Object µéÀ» Compile Çϴ 5°¡Áö ¹æ¹ýÀÌ Á¸ÀçÇÕ´Ï´Ù.

- DBMS_DDL

- DBMS_UTILITY

- UTL_RECOMP

- UTLRP.SQL

- Manually Recompile

 

 Àú´Â °£´ÜÇÑ Script ¸¦ ÀÌ¿ëÇؼ­, Manual recompile Çϱ⸦ ÁÁ¾Æ Çϴµ¥, text mode ÀÇ telnet Ã¢¿¡ Á¢¼ÓÇÏ¿©, ´Ù¼öÀÇ ¼­¹öµé¿¡¼­ logging Çϸ鼭 µ¿½Ã ÀÛ¾÷ÇϱⰡ ÆíÇϱ⠶§¹®ÀÔ´Ï´Ù. °¢°¢ÀÇ ¹æ¹ýµéÀº Àå´ÜÁ¡µéÀÌ ÀÖÁö¸¸, ¿©±â¼­´Â ¾ð±ÞÇÏÁö ¾Ê°í, ¼öÇà ¹æ¹ýµé¸¸ ±â¼úÇϵµ·Ï ÇÏ°Ú½À´Ï´Ù.

 

2-A. DBMS_DDL.ALTER_COMPILE

 

    Definition : ALTER PROCEDUREFUNCTIONPACKAGE [.] COMPILE [BODY]

    Syntax : Exec dbms_ddl.alter_compile ( type , schema, name);

-       Type : Must be either PROCEDURE, FUNCTION, PACKAGE, PACKAGE BODY or TRIGGER.

 

    Example

SQL> exec dbms_ddl.alter_compile ('PROCEDURE','SCOTT','TEST');

PL/SQL procedure successfully completed.

SQL>

 

2-B. DBMS_UTILITY.COMPILE_SCHEMA

 

    Definition : This procedure compiles all procedures, functions, packages, and triggers in the specified schema.

    Syntax : Exec dbms_utility.compile_schema ( schema,compile all)

-       Compile All : Object type ( procedure, function, packages,trigger)

 

    Example

SQL> exec dbms_utility.compile_schema('SCOTT');

PL/SQL procedure successfully completed.

SQL>

 

2-C. UTL_RECOMP

 

    Definition : This script is particularly useful after a major-version upgrade that typically invalidates all PL/SQL and Java objects.

    Syntax : Exec UTL_RECOMP.RECOMP_SERIAL ();

-       Note: Required SYS user to run this package.

 

    Example

SQL> Exec UTL_RECOMP.RECOMP_SERIAL ();

PL/SQL procedure successfully completed.

SQL>

 

2-D. UTLRP.SQL scripts

 

    Definition : Recompiles all existing PL/SQL modules that were previously in an INVALID state, such as packages, procedures, and types.

    Syntax : Located: $ORACLE_HOME/rdbms/admin

-       Note: Required SYS user to run this script.

-       Recommended: After upgrade or migrate database.

 

    Example

SQL> @ c:\oracle\product\10.2.0\db_1\rdbms\admin\UTLRP.SQL

    TIMESTAMP

    -----------------------------------------------------------------------

    COMP_TIMESTAMP UTLRP_BGN 2012-02-03 10:40:22

    PL/SQL procedure successfully completed.

    COMP_TIMESTAMP UTLRP_END 2012-02-03 10:40:29

    PL/SQL procedure successfully completed.

SQL>

 

2-E. Manually recompiling : Best Approach to Recompile all Invalid Objects

 

    Syntax : ALTER OBJECT_TYPE.OBJECT_NAME COMPILE ;

-       Note: VIEW, SYNONYM, PUBLIC SYNONYM, PROCEDURE, FUNCTION, PACKAGE, PACKAGE BODY, TRIGGER, UNDEFINED (MATERIALIZED VIEW), JAVA CLASS, TYPE, TYPE BODY

 

    Example : Object Type ¿¡ µû¶ó¸î °³ÀÇ Script ·Î ³ª´­ ¼ö ÀÖ½À´Ï´Ù.

 

SQL> Spool recompile.sql

SQL> Select ¡®alter ¡®object_type¡¯ ¡¯object_name¡¯ compile ; ¡¯ From user_objects where status <> ¡®VALID¡¯ and object_type IN (¡®VIEW¡¯, ¡¯SYNONYM¡¯, ¡®PROCEDURE¡¯, ¡¯FUNCTION¡¯,     ¡®PACKAGE¡¯, ¡¯TRIGGER¡¯) ;

SQL> spool off

SQL> @ recompile.sql

-       Note : VIEW, SYNONYM, PROCEDURE, PACKAGE, FUNCTION, TRIGGER

 

SQL> Spool pkg_body.sql

SQL> Select ¡®alter package ¡¯object_name¡¯ compile body ; ¡¯ from user_objects where status <> ¡®VALID¡¯ and object_type = ¡®PACKAGE BODY¡¯ ;

SQL> spool off

SQL> @ pkg_body.sql

-       Note : PACKAGE BODY

 

SQL> Spool undefined.sql

SQL> select ¡®alter materizlized view ¡¯object_name¡¯ compile ; ¡¯ from user_objects where status <> ¡®VALID¡¯ and object_type =¡®UNDEFINED¡¯ ;

SQL> spool off

SQL> @ undefined.sql

-       Note : UNDEFINED

 

SQL> Spool javaclass.sql

SQL> Select ¡®alter java class ¡¯object_name¡¯ resolve ; ¡¯ from user_objects where status <> ¡®VALID¡¯ and object_type =¡®JAVA CLASS¡¯ ;

SQL> spool off

SQL> @ javaclass.sql

-       Note : JAVA CLASS¡¯

 

SQL> Spool typebody.sql

SQL> Select ¡®alter type ¡®object_name¡¯ compile body ; ¡¯ from user_objects where status <> ¡®VALID¡¯ and object_type =¡®TYPE BODY¡¯ ;

SQL> spool off

SQL> @ typebody.sql

-       Note : TYPE BODY

 

SQL> Spool public_synonym.sql

SQL> Select ¡®alter public synonym ¡®object_name¡¯ compile ; ¡¯ from user_objects where status <> ¡®VALID¡¯ and owner = ¡®PUBLIC¡¯ and object_type = ¡®SYNONYM¡¯ ;

SQL> spool off

SQL> @ public_synonym.sql

-       Note : PUBLIC SYNONYM

 

End of document.

Posted by Æ÷µ¿Çª¿ì
IT-Tech/Database2012.04.30 17:24

1.1.1  Windows 7 ¿¡¼­ Oracle 10g ¼³Ä¡½Ã Error ¹ß»ý

 

A.    °³¿ä

 

Oracle Database 12c(Cloud version)ÀÌ °ð GA release¸¦ ¾ÕµÎ°í ÀÖÀ¸³ª, ¾ÆÁ÷µµ ¸¹Àº °í°´µéÀÌ Oracle 8.0.x, 8i, 9i, 10g, 11g¸¦ »ç¿ëÇÏ°í ÀÖ°í, À̸¦ ÃֽŠWindows ÀΠ7 (ȤÀº Vista)¿¡ ¼³Ä¡ÇÏ´Â °æ¿ì°¡ ÀÖ´Ù. ¼³Ä¡ÇÒ DBÀÇ version Àº Á¤Ã¥Àû °áÁ¤ »çÇ×ÀÌ´Ù.

ÇöÀç °¡Àå ¸¹ÀÌ »ç¿ëµÇ°í Àִ Oracle DB 10g ¹öÀüÀ» Windows 7 È¯°æ¿¡¼­ ¼³Ä¡Çϱâ À§ÇØ TipÀÌ ÇÊ¿äÇÑ ÀÌÀ¯´Â, 10g Ãâ½Ã ¶§¿¡´Â windows 7 µîÀÌ ¾ÆÁ÷ Ãâ½ÃµÇÁö ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù. ÀÌ¹Ì ¸¹Àº »ç·ÊµéÀ» ÅëÇØ, Support °¡ È®ÀεǾúÀ¸¹Ç·Î, ¾Æ·¡ÀÇ TipÀ» ÅëÇؼ³Ä¡°¡ °¡´ÉÇÏ´Ù

¾Æ·¡ÀÇ Tip Àº 10g DBMS ȤÀº Client ¼³Ä¡ ¸ðµÎ¿¡ Àû¿ë °¡´ÉÇÕ´Ï´Ù. 


B.    Windows 7/Vista/2008R2 ¿¡¼­, Oracle 10g DBMS/Client ¼³Ä¡ ½Ã, Error ¹ß»ý

 

¹ß»ý Error Message »ý·«

ƯÁ¤ÇÑ È­ÀÏÀ» ãÀ» ¼ö ¾ø´Ù°Å³ª, ÇöÁ¦ ¹öÀüÀ» Áö¿øÇÒ ¼ö ¾ø´Ù´Â ¸Þ¼¼Áö°¡ Ãâ·ÂµÈ´Ù.

 

1.1.2  W/A(Support List Ãß°¡) Á¶Ä¡ ÈÄ Install °¡´É

 

A.    ¼³Ä¡ Binary ¼±ÅÃ

 

Windows 7 64 bit ÀÎ °æ¿ì 10204_vista_w2k8_x64_production_db.zip À» »ç¿ë

 

B.    ¼³Ä¡ Binary ¼öÁ¤

¼³Ä¡ ȯ°æÈ­ÀÏ Áß¿¡, ¾Æ·¡ 3°³ file ¿¡ Windows 7 ¿¡ ÇØ´çÇÏ´Â Code 6.1 À» ³ÖÀº ÈÄ, °í±Þ¼³Ä¡¸¦ ¼±ÅÃÇØ ¼³Ä¡¸¦ ÁøÇàÇÏ¸é µË´Ï´Ù. OS, DB ¼¼ºÎ version ¿¡ µû¶ó À¯»ç À̸§ÀÇ ´Ù¸¥ Æú´õ¿¡ È­ÀÏÀÌ Á¸ÀçÇϰųª, µ¿ÀÏ Æú´õ¿¡ À¯»çÇÑ À̸§ÀÇ È­ÀÏÀÌ Á¸ÀçÇϱ⵵ ÇÕ´Ï´Ù.  

À§Ä¡ : \10204_vista_w2k8_x64_production_db\database\install\oraparam.ini

¼öÁ¤»çÇ× : Windows 7 À» ÀǹÌÇϴ 6.1À» Ãß°¡

[Certified Versions]

#You can customise error message shown for failure, provide value for CERTIFIED_VERSION_FAILURE_MESSAGE

Windows=5.0,5.1,5.2,6.0,6.1

 

À§Ä¡ : \10204_vista_w2k8_x64_production_db\database\stage\prereq\db\refhost.xml

¼öÁ¤»çÇ× : Windows 7 À» ÀǹÌÇϴ 6.1¶óÀεéÀ» Ãß°¡

<CERTIFIED_SYSTEMS>

    <OPERATING_SYSTEM>

      <VERSION VALUE="5.0"/>

      <SERVICE_PACK VALUE="1"/>

    </OPERATING_SYSTEM>

    <OPERATING_SYSTEM>

      <VERSION VALUE="5.1"/>

      <SERVICE_PACK VALUE="1"/>

    </OPERATING_SYSTEM>

    <OPERATING_SYSTEM>

      <VERSION VALUE="5.2"/>

    </OPERATING_SYSTEM>

    <!--Microsoft Windows Vista-->

    <OPERATING_SYSTEM>

      <VERSION VALUE="6.0"/>

    </OPERATING_SYSTEM>

    <!--Microsoft Windows 7-->

    <OPERATING_SYSTEM>

       <VERSION VALUE="6.1"/>

    </OPERATING_SYSTEM>

  </CERTIFIED_SYSTEMS>

 

À§Ä¡ :  \10204_vista_w2k8_x64_production_db\database\stage\prereq\db_prereqs\db\refhost.xml

¼öÁ¤»çÇ× : Windows 7 À» ÀǹÌÇϴ 6.1¶óÀεéÀ» Ãß°¡

<CERTIFIED_SYSTEMS>

    <OPERATING_SYSTEM>

      <VERSION VALUE="5.0"/>

      <SERVICE_PACK VALUE="1"/>

    </OPERATING_SYSTEM>

    <OPERATING_SYSTEM>

      <VERSION VALUE="5.1"/>

      <SERVICE_PACK VALUE="1"/>

    </OPERATING_SYSTEM>

    <OPERATING_SYSTEM>

      <VERSION VALUE="5.2"/>

    </OPERATING_SYSTEM>

    <!--Microsoft Windows Vista-->

    <OPERATING_SYSTEM>

      <VERSION VALUE="6.0"/>

    </OPERATING_SYSTEM>

    <!--Microsoft Windows 7-->

    <OPERATING_SYSTEM>

      <VERSION VALUE="6.1"/>

    </OPERATING_SYSTEM>

  </CERTIFIED_SYSTEMS>

 

C.    Installer ¿¡¼­ °í±Þ¼³Ä¡¸¦ ¼±ÅÃ


±âº» ¼³Ä¡·Î ÁøÇà ÇÒ °æ¿ì ¿À·ù°¡ ¹ß»ýÇÕ´Ï´Ù. ¡°°í±Þ ¼³Ä¡¡±·Î ÁøÇàÇÕ´Ï´Ù.

 

End of Documents.



Ãâó: http://datacloud.tistory.com/category/IT-Tech/Database [DataCloud]