¸®´ª½º¿ë Oracle8 °ü¸®ÀÚ Âü°í¼ (Administrator's Reference for LINUX) Release 8.0.5 A66585-01 |
|
ÀÌ ¹®¼¿¡¼´Â Oracle8 ¹èÆ÷ÆÇ°ú ÇÔ²² Á¦°øµÇ´Â ±âº»ÀûÀÎ init
sid.ora
file¿¡ °üÇÏ¿© ¼³¸íÇÏ°íÀÚ ÇÑ´Ù. Oracle Installer´Â ÀÌ ÆÄÀÏÀ» $ORACLE_BASE/admin/
db_name/pfile
directory µð·ºÅ丮 ³»¿¡ »ý¼ºÇÑ´Ù. ¿©·¯ºÐµéÀº Oracle8 ¼³Ä¡¸¦ customizeÇϱâ À§ÇÏ¿© ÀÌ°ÍÀ» ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.
ÀϺΠinit
sid.ora
ÀÎÀÚ ¼³Á¤Àº ¾î¶°ÇÑ Å©±âÀÇ ¼³Ä¡¿¡µµ °øÅëÀûÀÎ °ÍµéÀÌ´Ù. À̵é ÀÎÀÚ ¼³Á¤Àº Å©±â°¡ ´Ù¸¦ °æ¿ì ´Ù¸¥ °ªµéÀ» ¿ä±¸ÇÑ´Ù. ¼¼°¡Áö °æ¿ì¸¦ ¿¹ÃøÇÒ ¼ö ÀÖ´Ù: Å©±â°¡ ÀÛÀº°æ¿ì, Áß°£ÀÎ °æ¿ì, ±×¸®°í Å« °æ¿ì. init
sid.ora
»ùÇà ÆÄÀÏ¿¡¼, ¼³Ä¡ Å©±â¿¡ µû¸¥ ÀÎÀÚ°ªµéÀÇ ¼³Á¤À» º¸¿©ÁÖ°í ÀÖ´Ù. ¿©·¯ºÐµéÀÇ ¼³Á¤¿¡ ¸ÂÁö ¾Ê´Â ÁÙ¿¡´Â ÁÙÀÇ Ã¹Ä¿¡ number sign (#)À» ³Ö¾î ÁÖ¾î¼ ÁÖ¼® ó¸®ÇÏ¸é µÈ´Ù.
Table 2-1 suggests the approximate SGA sizes corresponding to the three scenarios provided for in the init
sid.ora
file.
Installation/Database Size | ||||
Block Size | Small | Medium | Large | |
2 KB |
4500 KB |
6800 KB |
17000 KB |
|
4 KB |
5500 KB |
8800 KB |
21000 KB |
ÀÌ ÆÄÀÏÀº ¿À¶óŬ ȸ»ç¿¡¼ RDBMS ¼³Ä¡¸¦ customizingȸ¦ Áö¿øÇϱâ À§ÇÏ¿© Á¦°øµÈ´Ù. ´Ù¸¥ ¼³Ä¡ ¸ðµ¨ÀÇ Å©±â°¡ ´Ù¸¦ °æ¿ì ´Ù¸¥ °ªÀ» °¡Áö´Â °Íµµ ÀÖ°í, ÀϺΠÀÎÀÚµéÀº ¼³Á¤ÀÌ °øÅëÀûÀÌ´Ù. ¼¼°¡Áö °æ¿ì°¡ Á¦°øµÈ´Ù: SMALL, MEDIUM ±×¸®°í LARGE. ¼³Ä¡Å©±â¿¡ µû¶ó Á¶ÀýÇØ¾ß ÇÏ´Â ÀÎÀÚµéÀº ¼¼°¡Áö ¼³Á¤À» ÇØ µÎ¾ú´Ù. ¼³Ä¡ÀÇ Å©±â¿¡ µû¶ó °¢°¢À» ÄÚ¸àÆ® ó¸®Çϵµ·Ï Ç϶ó.
# DEFAULT¸¦ ¿©·¯ºÐµéÀÇ µ¥ÀÌÅͺ£À̽º À̸§À¸·Î ´ëÄ¡Ç϶ó. db_name=DEFAULT db_files = 80 # SMALL # db_files = 400 # MEDIUM # db_files = 1000 # LARGE db_file_multiblock_read_count = 8 # SMALL # db_file_multiblock_read_count = 16 # MEDIUM # db_file_multiblock_read_count = 32 # LARGE db_block_buffers = 100 # SMALL # db_block_buffers = 550 # MEDIUM # db_block_buffers = 3200 # LARGE shared_pool_size = 3500000 # SMALL # shared_pool_size = 5000000 # MEDIUM # shared_pool_size = 9000000 # LARGE log_checkpoint_interval = 10000 processes = 50 # SMALL # processes = 100 # MEDIUM # processes = 200 # LARGE parallel_max_servers = 5 # SMALL # parallel_max_servers = 4 x (number of CPUs) # MEDIUM # parallel_max_servers = 4 x (number of CPUs) # LARGE log_buffer = 8192 # SMALL # log_buffer = 32768 # MEDIUM # log_buffer = 163840 # LARGE sequence_cache_entries = 10 # SMALL # sequence_cache_entries = 30 # MEDIUM # sequence_cache_entries = 100 # LARGE sequence_cache_hash_buckets = 10 # SMALL # sequence_cache_hash_buckets = 23 # MEDIUM # sequence_cache_hash_buckets = 89 # LARGE # audit_trail = true # if you want auditing # timed_statistics = true # if you want timed statistics max_dump_file_size = 10240 # limit trace file size to 5 Meg each # ´ÙÀ½ ÇàÀÇ ÁÖ¼®Ã³¸®¸¦ ÇØÁ¦Çϸé, ¸¸¾à ALTER DATABASE ARCHIVELOG¸¦ # ÀÌ¿ëÇÏ¿© archive ±â´ÉÀ» ¼³Á¤ÇØ µÎ¾úÀ» °æ¿ì automatic archivingÀÌ °¡´ÉÇϵµ·Ï ÇØÁØ´Ù. # log_archive_start = true # log_archive_dest = disk$rdbms:[oracle.archive] # log_archive_format = "T%TS%S.ARC" # ¸¸¾à °³º°ÀûÀÎ rollback segment¸¦ °¡´ÉÇÏ°Ô ÇÏ·Á¸é, ´ÙÀ½ ÇàÀ» # °¢°¢ÀÇ ÀνºÅϽº¿¡ ÀÖ´Â init.ora ÆÄÀÏ¿¡ Ãß°¡Ç϶ó: # rollback_segments = (name1, name2) # ¸¸¾à public rollback segments¸¦ ÀÌ¿ëÇϸé, °¢°¢ÀÇ ÀνºÅϽº¿¡ # ¾ó¸¶³ª ¸¹Àº rollback segments¸¦ Á¤ÀÇÇØ ÁÙ °ÍÀÎÁö ´ÙÀ½ °ø½ÄÀ» ÀÌ¿ëÇÏ¿© °è»êÇÑ´Ù. # # of rollback segments = transactions / transactions_per_rollback_segment # À̹ø ¿¹Á¦¿¡¼ °¢°¢ÀÇ ÀνºÅϽº´Â 40/10 = 4¸¦ °¡Áø´Ù: # transactions = 40 # transactions_per_rollback_segment = 10 # Global Naming -- db°¡ Á¢¼ÓÇÏ´Â dblink°¡ °°Àº À̸§À» °¡Áöµµ·Ï ÇØ ÁØ´Ù. global_names = TRUE # ´ÙÀ½ ÇàÀÇ ÁÖ¼® 󸮸¦ ÇØÁ¦Çϸé, µ¥ÀÌÅͺ£À̽º°¡ »ý¼ºµÉ ¶§ global database À̸§À¸·Î ÀúÀåµÇ°Ô ÇÑ´Ù. # db_name ÆĶó¸ÞÅÍÀÇ suffix (dot·Î ºÐ¸®µÈ)¸¦ Á¦°øÇÑ´Ù. # ¸¸¾à ¿©·¯ºÐµéÀÇ »çÀÌÆ®°¡ e-mailÀ» À§ÇÑ ÀÎÅÍ³Ý µµ¸ÞÀÎ À̸§À» ÀÌ¿ëÇÑ´Ù¸é, # ¿©·¯ºÐµéÀÇ e-mail ÁÖ¼Ò¿¡¼ '@' µÞºÎºÐÀÌ À̵é ÀÎÀÚÀÇ °ªÀ» À§ÇØ ÁÁÀº È帰¡ µÉ ¼ö ÀÖ´Ù. # db_domain = us.acme.com # global database name is db_name.db_domain #_db_block_cache_protect = true # memory protect buffers #event = "10210 trace name context forever, level 2" # data block checking #event = "10211 trace name context forever, level 2" # index block checking #event = "10235 trace name context forever, level 1" # memory heap checking #event = "10049 trace name context forever, level 2" # memory protect cursors # º´·Ä ¼¹ö ÀÎÀÚ (multi-instance) ¼³Á¤ #ifile = ora_system:initps.ora # ±âº»ÀûÀ¸·Î µÎ°³ÀÇ control fileÀ» Á¤ÀÇÇÑ´Ù. control_files = (ora_control1, ora_control2) # ¸¸¾à ¿©·¯ºÐµéÀÌ ¼¹ö µ¿ÀÛÀ» ÃßÀûÇϱâ À§ÇÏ¿© Oracle Trace Á¦Ç°À» # °¡µ¿½ÃÅ°·Á¸é ´ÙÀ½ÇàÀÇ ÁÖ¼®Ã³¸®¸¦ ÇØÁ¦Ç϶ó. # ÀÌ°ÍÀº Oracle Enterprise Manager console¿¡¼ ¼¹ö ½ºÄÉÁ층À» º¼¼ö ÀÖ°Ú²û ÇÑ´Ù. # ¸¶Âù°¡Áö·Î, ¸¸¾à oracle_trace_collection_name ÀÎÀÚ°¡ nullÀÌ ¾Æ´Ï¶ó¸é, # ¸ðµç sessionÀº ¸í¸íµÇ¾îÁø collectionÀ¸·Î ±â·ÏµÈ´Ù. # oracle_trace_enable = TRUE
ȯ°æº¯¼ö °ªÀ» ȸ鿡 Ãâ·ÂÇϱâ À§Çؼ´Â, echo
¸í·É¾î¸¦ ÀÌ¿ëÇ϶ó. ¿¹¸¦ µé¸é, ORACLE_SIDÀÇ °ªÀ» Ãâ·ÂÇÏ·Á¸é, ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇ϶ó:
$ echo $ORACLE_SID
Bourne ¶Ç´Â Korn shell¿¡¼´Â ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇ϶ó:
$ ORACLE_SID=test $ export ORACLE_SID
C shell¿¡¼´Â ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇ϶ó:
% setenv ORACLE_SID test
¿©±â¼ test ´Â º¯¼ö ORACLE_SIDÀÇ °ªÀÌ´Ù.
Oracle8Àº DBA°¡ ¸ðµç »ç¿ëÀÚ¿¡ ´ëÇÑ °øÅëȯ°æ ¼³Á¤À» Çã¿ëÇÑ´Ù. °øÅëȯ°æ ¼³Á¤Àº ½Ã½ºÅÛ °ü¸®ÀÚ³ª µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ·Î ÇÏ¿©±Ý ½ÇÁ¦ÀûÀÎ ¿À¶óŬ ¼¹ö ½Ã½ºÅÛÀÇ ¼öÁ¤À» ¿ëÀÌÇÏ°Ô ÇØ ÁØ´Ù.
oraenv
(C shell¿¡¼´Â coraenv
) ¸í·É¾î ÆÄÀÏÀº ¼³Ä¡µ¿¾È¿¡ »ý¼ºµÈ´Ù. ÀÌ°ÍÀº ¿À¶óŬ ȯ°æº¯¼ö¸¦ Æ÷ÇÔÇÏ°í Á¦°øÇÑ´Ù:
¿¹¸¦ µé¸é, µ¥ÀÌÅͺ£À̽º¸¦ /usr/oracle
¿¡¼ /usr1/oracle
·Î À̵¿ÇÑ´Ù°í ÇÏÀÚ. °øÅë ȯ°æ¼³Á¤ ·çƾÀÌ ¾ø´Â °æ¿ì, »ç¿ëÀÚ ½ÃÀÛ ÆÄÀÏÀ» °³º°ÀûÀ¸·Î °»½Å½ÃÄÑ¾ß ÇÑ´Ù. oraenv
¸¦ ÀÌ¿ëÇÏ´Â °æ¿ì, °¢°¢ÀÇ »ç¿ëÀÚ profile³»¿¡¼ oraenv
¸í·É¾î ÆÄÀÏÀ» È£ÃâÇϵµ·Ï ÇÏ°í °ü¸®ÀÚ´Â ±× ÆÄÀϸ¸À» º¯°æÇÔÀ¸·Î½á ¸ðµç ¼öÁ¤Àº ¿Ï·áµÉ ¼ö ÀÖ´Ù.
¿À¶óŬ ¼ÒÇÁÆ®¿þ¾î Ȩµð·ºÅ丮¿Í ºÐ¸®ÇÏ¿© oraenv
(¶Ç´Â coraenv
) ¿Í dbhome
À» local bin
directory¿¡ µÎ¾î¶ó. ±×¸®°í À̵é ÆÄÀϵéÀÌ ¸ðµç »ç¿ëÀÚ·Î ºÎÅÍ Á¢±Ù °¡´ÉÇÑÁö È®ÀÎÇ϶ó. ±×¸®°í oraenv
(coraenv
)°¡ ¿©·¯ºÐµéÀÌ ORACLE_HOME
¸¦ ´Ù¸¥ µð·ºÅ丮·Î º¯°æÇÑ °æ¿ì¿¡µµ °è¼Ó µ¿ÀÛÇÏ´ÂÁö È®ÀÎÇØ¾ß ÇÑ´Ù.
ÇϳªÀÇ µ¥ÀÌÅͺ£À̽º³ª ÀνºÅϽº·Î ºÎÅÍ ´Ù¸¥ °ÍÀ¸·Î ¹Ù²Ù·Á°í ÇÑ´Ù¸é, oraenv
routineÀ» È£ÃâÇÏ°í ¿øÇÏ´Â µ¥ÀÌÅͺ£À̽ºÀÇ sid¸¦ ¹¯´Â Áú¹®¿¡ ´äÇϵµ·Ï Ç϶ó. Ç×»ó oraenv
¸í·É¾î ÆÄÀÏÀÇ ¿ÏÀüÇÑ °æ·Î¸íÀ» ÁÖ¾î¾ß ÇÑ´Ù. ¿¹¸¦ µé¸é:
$ . /usr/local/bin/oraenv ORACLE_SID= [default]? sid
´ÙÀ½ ¿¹Á¦¿¡¼, ¿©·¯ºÐµéÀÇ local bin directory´Â /usr/local/bin
·Î °¡Á¤ÇÏ°í, ¿©·¯ºÐµéÀÇ Á¦Ç° µ¥ÀÌÅͺ£À̽º´Â PROD¶ó°í °¡Á¤ÇÑ´Ù. ¸¸¾à ¿©·¯ºÐµéÀÌ ½ÃÀ۽ÿ¡ ORACLE_SID¸¦ ¹¯´Â °ÍÀ» ÁÁ¾ÆÇÏÁö ¾Ê´Â´Ù¸é, ORAENV_ASK ȯ°æº¯¼ö¸¦ no
·Î ¼³Á¤ÇØ µÎ¶ó.
¾Æ·¡ ¿¹Á¦¿¡¼ oraenv
¸¦ ½ÇÇàÇÑ ÈÄ¿¡ ORAENV_ASK´Â ±âº»°ªÀÎ Yes
·Î ¼³Á¤ÇØ µÐ°ÍÀÌ´Ù. ÀÌ°ÍÀº ´ÙÀ½¹ø oraenv
°¡ ½ÇÇàµÈ ÈÄ¿¡ ´Ù¸¥ ORACLE_SID¸¦ ¹¯µµ·Ï Çϱâ À§ÇÑ °ÍÀÌ´Ù.
Bourne ¶Ç´Â Korn shell¿¡¼´Â, .profile
file¿¡¼ ´ÙÀ½ ÁÙÀ» Ãß°¡ÇÏ´øÁö ´ëÄ¡½ÃÅ°µµ·Ï Ç϶ó:
. local_bin_directory/oraenv
´ÙÀ½ Çàµé·Î:
PATH=${PATH}:/usr/local/bin ORACLE_SID=PROD export PATH ORACLE_SID ORAENV_ASK=NO . oraenv ORAENV_ASK=
C shell¿¡¼´Â, .cshrc
file¿¡ ´ÙÀ½ ÇàµéÀ» Ãß°¡ÇÏ´øÁö ´ëÄ¡Çϵµ·Ï Ç϶ó:
source local_bin_directory/coraenv
´ÙÀ½Çàµé·Î:
setenv PATH ${PATH}:/usr/local/bin setenv ORACLE_SID PROD set ORAENV_ASK = NO source /usr/local/bin/coraenv unset ORAENV_ASK
´ÙÁß ÀνºÅϽº ȯ°æÀÎ °æ¿ì, ½ÃÀ۽ÿ¡ sid¸¦ Á¤ÀÇÇ϶ó.
Bourne ¶Ç´Â Korn shell¿¡¼´Â:
PATH=${PATH}:/usr/local/bin ORACLE_SID=PROD export PATH ORACLE_SID SIDLIST= `awk -F: '/^[^#]/ {printf "%s ", $1}' /etc/oratab\Q echo "SIDS on this machine are $SIDLIST" ORAENV_ASK= oraenv
C shell¿¡¼´Â:
setenv PATH ${PATH}:/usr/local/bin setenv ORACLE_SID PROD set sidlist = `awk -F: '/^[^#]/ {printf "%s ", $1}' /etc/oratab\Q echo "SIDS on this machine are $sidlist" unset ORAENV_ASK source /usr/local/bin/coraenv
¸®´ª½º ȯ°æ¿¡¼ ¾î¶² º¯¼öµéÀº ¿À¶óŬ ½Ã½ºÅÛÀ» ¼³Ä¡Çϱâ Àü¿¡ ¼³Á¤µÇ¾î ÀÖ¾î¾ß¸¸ ÇÑ´Ù.
Table 2-2´Â Oracle8 º¯¼öÀÇ ¹®¹ý°ú ¿¹Á¦¸¦ º¸¿©ÁÖ°í ÀÖ´Ù.
Oracle8 Server files °ú programs¿¡¼, ¹°À½Ç¥(?)´Â ORACLE_HOMEÀÇ °ªÀ» ³ªÅ¸³½´Ù. ¿¹¸¦ µé¸é, ´ÙÀ½ SQL ¹®Àå¿¡¼ Oracle8Àº ¹°À½Ç¥¸¦ ORACLE_HOMEÀÇ ¿ÏÀüÇÑ °æ·Î¸íÀ¸·Î È®Àå ½ÃÄÑ ÁØ´Ù:
alter tablespace TEMP add datafile '?/dbs/dbs2.ora' size 2M
@ ±âÈ£´Â $ORACLE_SID
¸¦ Ç¥ÇöÇÑ´Ù. ¿¹¸¦ µé¸é, ÀνºÅϽº¿¡ Æ÷ÇԵǴ ÆÄÀÏÀ» °¡¸£Å°·Á¸é, ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇ϶ó:
alter tablespace tablespace_name add datafile 'dbsfile@.ora'
Table 2-3Àº Oracle8¿¡¼ »ç¿ëµÇ´Â ¸®´ª½º ȯ°æº¯¼ö¸¦ À§ÇÑ ¿¹Á¦¿Í ¹®¹ýÀ» Á¦°øÇÑ´Ù.
TZ º¯¼ö´Â ¿©·¯ºÐµéÀÇ time zoneÀ» ¼³Á¤ÇÑ´Ù. ¿©·¯ºÐµéÀÇ ¿î¿µÃ¼°è°¡ ÀÌ È¯°æº¯¼ö¸¦ »ç¿ëÇÏ·Á¸é ¸®´ª½º ¹®¼¸¦ Âü°íÇϵµ·Ï Ç϶ó.
ÀÌ°ÍÀº »ç¿ëÀÚ·Î ÇÏ¿©±Ý daylight saving time º¯È ¶Ç´Â ´Ù¸¥ ½Ã°£´ë¿¡ µû¸¥ ½Ã°è¸¦ ¸ÂÃâ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. ¸ÂÃçÁø ½Ã°£Àº date
¸í·É¾î¿¡ ÀÇÇØ Ãâ·ÂµÇ´Â time-stamp ÆÄÀÏ¿¡¼ ÀÌ¿ëµÈ´Ù. ±×¸®°í ÇöÀçÀÇ SYSDATE¸¦ ÀÌ¿ëÇÏ¿© ¾òÀ» ¼ö ÀÖ´Ù.
Oracle8 Server¸¦ ½ÃÀÛÇϱâ Àü¿¡, °¡»ó¸Þ¸ð¸® ¿ä±¸·®Àº ´ÙÀ½ °ø½ÄÀ» ÀÌ¿ëÇÏ¿© ¿¹ÃøÇÒ ¼ö ÀÖ´Ù:
<size of the oracle executable text>°¢°¢ÀÇ Oracle back-end Á¢¼Ó¿¡ ´ëÇÏ¿©, °¡»ó¸Þ¸ð¸® ¿ä±¸·®À» ¾ò±â À§ÇÏ¿© ´ÙÀ½ °ø½ÄÀ» ÀÌ¿ëÇ϶ó:
<size of oracle executable data section>
½ÇÇà°¡´ÉÇÑ text size, °³ÀÎÀûÀÎ data section size ±×¸®°í ÃʱâȵÇÁö ¾ÊÀº data section siz (¶Ç´Â bss)¸¦ ÃøÁ¤Çϱâ À§ÇÏ¿© size
¸í·É¾î¸¦ ÀÌ¿ëÇ϶ó. Program text´Â ¸î¹ø ½ÇÇàµÇ´øÁö°£¿¡, ¿ÀÁ÷ Çѹø¸¸ ¼¿¼ö ÀÖ´Ù. ¿Ö³ÄÇÏ¸é ¸ðµç ¿À¶óŬ ½ÇÇà ÅؽºÆ®´Â Ç×»ó °øÀ¯µÇ±â ¶§¹®ÀÌ´Ù.
µ¥ÀÌÅͺ£À̽º°¡ ±âµ¿µÇ°í »ç¿ëÀÚ°¡ Á¢¼ÓÇÒ ¶§ ÀÌ¿ëµÇ´Â ¿À¶óŬÀÇ ¹°¸®Àû ¸Þ¸ð¸®¸¦ °è»êÇϱâ À§ÇÏ¿©, ps
¸í·É¾î¸¦ ÀÌ¿ëÇÑ´Ù. ¸ðµç frontend, server ±×¸®°í background oracle process¸¦ Á¶»çÇϵµ·Ï Ç϶ó. °¢°¢¿¡ ´ëÇÏ¿© »óÁָ޸𸮸¦ À§ÇØ "real size of process" columnsÀ» Ãß°¡ÇÑ´Ù. ±×·¯°í ³ª¼ ¿À¶óŬ ½ÇÇà°¡´ÉÇÑ text size¿Í ½Ã½ºÅÛ¿¡¼ ½ÇÇàÁßÀÎ ¿À¶óŬ Åø ½ÇÇà ÇÁ·Î±×·¥À» ±× Ä÷³ÀÇ subtotal¿¡ ´õÇÏ¿© ÁØ´Ù. ¸î¹ø ½ÇÇàÀÌ µÇ¾ú´øÁö°£¿¡ ½ÇÇà ÇÁ·Î±×·¥ÀÇ Å©±â´Â ¿ÀÁ÷ Çѹø¸¸ °è»êÇÑ´Ù´Â °ÍÀ» ¸í½ÉÇØ¾ß ÇÑ´Ù.
Oracle8 Administrator's GuideÀÇ ºÎ·Ï A (Appendix A)¿¡ ÀÖ´Â °ø½ÄÀ» ÀÌ¿ëÇÏ¿© Ŭ·¯½ºÆ® »çÀÌÁ ±¸ÇÏ·Á¸é Table 2-4¿¡ ÀÖ´Â °¡À̵å¶óÀÎÀ» ÀÌ¿ëÇ϶ó.
Type | Size |
---|---|
Fixed header size |
68 bytes |
Variable transaction header |
24*INITRANS value for the table |
Row directory |
4 bytes per row of a clustered table |
Oracle8 Administrator's GuideÀÇ ºÎ·Ï A¿¡ ÀÖ´Â °ø½ÄÀ» ÀÌ¿ëÇÏ¿© index¿¡ ¿ä±¸µÇ´Â Å©±â¸¦ ±¸ÇÏ·Á¸é Table 2-5¸¦ ÀÌ¿ëÇ϶ó.
Type | Size |
Fixed header size |
113 bytes |
Variable transaction header |
24*INITRANS value for the index |
Entry header |
5 bytes |
LINUX´Â ÀÚ¿øÀÇ ÇѰ踦 ±× ºÎ¸ð ÇÁ·Î¼¼½º·Î ºÎÅÍ »ó¼Ó¹Þ´Â´Ù (¿î¿µÃ¼°è ¹®¼ÀÇ getrlimit
(2)¸¦ ÂüÁ¶Ç϶ó). ÀÌ ÇÑ°è´Â »ç¿ëÀÚ ÇÁ·Î¼¼½º¸¦ À§ÇØ ½ÇÇàµÇ´Â Oracle8 Server shadow process¿¡µµ Àû¿ëµÈ´Ù. ±×·¯³ª ¸¸¾à À̵é ÇÑ°è°¡ ³Ê¹« ³·°Ô ¼³Á¤µÇ¾î ÀÖÀ» °æ¿ì Oracle8 Server ½Ã½ºÅÛÀÌ ¿µÇâÀ» ¹ÞÀ» ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ¿©·¯ºÐµéÀÇ LINUX ½Ã½ºÅÛ °ü¸®ÀÚ¿Í »óÀÇÇϵµ·Ï Ç϶ó.
Oracle dba
»ç¿ëÀÚ °èÁ¤¿¡ ÇÒ´çµÈ Disk quota°¡ Oracle8 ½Ã½ºÅÛÀÇ ¿î¿ë¿¡ ¹æÇظ¦ Çؼ´Â ¾ÈµÈ´Ù. Oracle8 µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ¿Í ¸®´ª½º ½Ã½ºÅÛ °ü¸®ÀÚ°¡ ¼·Î µð½ºÅ© ÄõÅ͸¦ ¼³Á¤Çϱâ Àü¿¡ ¸¸³ª¼ ÀdzíÇϵµ·Ï Ç϶ó.
ÃʱâÈ ÀÎÀÚ´Â Oracle8 Server instanceÀÇ init
sid.ora
file¿¡¼ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.
Table 2-6¿¡´Â ¸®´ª½º¿¡¼ ÃʱâÈ ÀÎÀÚÀÇ ±âº»°ªÀÌ ³ª¿µÇ¾î ÀÖ´Ù. ¸¸¾à ¿©·¯ºÐµéÀÌ init
sid.ora
fileÀ» ¼öÁ¤ÇÏÁö ¾Ê´Â´Ù¸é ¸ðµç Oracle8 Server instance´Â ÀÌµé °ªÀ» ±âº»°ªÀ¸·Î ¿©±â°Ô µÈ´Ù. ¿À¶óŬ ȸ»ç´Â ¿©·¯ºÐµéÀÇ init
sid.ora
file¿¡´Â ±âº»ÀûÀÎ ÃʱâÈ °ªµé°ú ´Ù¸¥ ÀÎÀڵ鸸 Æ÷ÇÔÇÒ °ÍÀ» ±ÇÀåÇÑ´Ù.
½Ã½ºÅÛ»ó¿¡¼ À̵é ÀÎÀÚÀÇ ±âº»°ªÀ» º¸·Á¸é, Server Manager¸¦ ÀÌ¿ëÇؼ SHOW PARAMETERS¶ó´Â SQL ¹®ÀåÀ» ÀÌ¿ëÇ϶ó.
Parameter | Default Value |
---|---|
BACKGROUND_DUMP_DEST |
|
BITMAP_MERGE_AREA_SIZE |
1048576 |
COMMIT_POINT_STRENGTH |
1 |
CONTROL_FILES |
|
CREATE_BITMAP_AREA_SIZE |
8388608 |
DB_BLOCK_BUFFERS |
200 |
DB_BLOCK_SIZE |
2048 |
DB_FILES |
80 (maximum of 2000000) |
DB_FILE_DIRECT_IO_COUNT |
64 (maximum of 1048576) |
DB_FILE_MULTIBLOCK_READ_COUNT |
8 (range of 1-128, but should not exceed one quarter of DB_BLOCK_BUFFERS) |
DISTRIBUTED_TRANSACTIONS |
16 |
HASH_AREA_SIZE |
0 |
HASH_MULTIBLOCK_IO_COUNT |
1 |
LOCK_SGA |
FALSE |
LOCK_SGA_AREAS |
0 |
LOG_ARCHIVE_BUFFER_SIZE |
64 |
LOG_ARCHIVE_BUFFERS |
4 (maximum of 128) |
LOG_ARCHIVE_DEST |
|
LOG_ARCHIVE_FORMAT |
"%t_%s.dbf" |
LOG_BUFFER |
8192 |
LOG_CHECKPOINT_INTERVAL |
10000 |
LOG_SMALL_ENTRY_MAX_SIZE |
80 |
MTS_MAX_DISPATCHERS |
5 |
MTS_MAX_SERVERS |
20 |
MTS_SERVERS |
0 |
MTS_LISTENER_ADDRESS |
ADDRESS=address (See Chapter 6) |
NLS_LANGUAGE |
AMERICAN |
NLS_TERRITORY |
AMERICA |
OBJECT_CACHE_MAX_SIZE_PERCENT |
10 |
OBJECT_CACHE_OPTIMAL_SIZE |
102400 |
OPEN_CURSORS |
50 |
OS_AUTHENT_PREFIX |
ops$ |
PROCESSES |
50 |
SHARED_POOL_SIZE |
3500000 |
SORT_AREA_SIZE |
65536 |
SORT_READ_FAC |
5 |
SORT_SPACEMAP_SIZE |
512 |
USER_DUMP_DEST |
|
System Global Area (SGA)´Â °øÀ¯¸Þ¸ð¸® ³»¿¡ Á¸ÀçÇÏ´Â ¿À¶óŬÀÇ ±¸Á¶ÀÌ´Ù. ÀÌ°÷¿¡´Â ÀڷᱸÁ¶, lock ±×¸®°í data buffer°¡ Á¸ÀçÇÑ´Ù. Àüü SGA¸¦ ÁÖ¼Ò·Î ÁöÁ¤Çϱâ À§Çؼ´Â °¢°¢ÀÇ oracle
process¿¡ ´ëÇÏ¿© ÃæºÐÇÑ °øÀ¯¸Þ¸ð¸®¸¦ ÀÌ¿ë°¡´ÉÇϵµ·Ï ÁöÁ¤Çؾ߸¸ ÇÑ´Ù.
´ÜÀÏ °øÀ¯¸Þ¸ð¸® ¿µ¿ªÀÇ ÃÖ´ë Å©±â´Â ¸®´ª½ºÀÇ ÀÎÀÚ SHMMAX¿¡ ÀÇÇؼ °áÁ¤µÈ´Ù. SGA°¡ 2048KBÀÎ °æ¿ì °¢°¢ 512KBÀÎ °øÀ¯¸Þ¸ð¸® ¿µ¿ªÀ» 4°³ ÀÌ¿ëÇÏ°Ô µÈ´Ù.
¸¸¾à SGAÀÇ Å©±â°¡ ÁÖ¾îÁø °øÀ¯¸Þ¸ð¸® ¼¼±×¸ÕÆ®ÀÇ Å©±â(SHMMAX)¸¦ ³Ñ¾î°¥ °æ¿ì, Oracle8Àº ¿ä±¸µÈ SGA Å©±â¸¦ ¸ÂÃß¾î ÁÖ±â À§ÇÏ¿© Á»´õ ¿¬¼ÓÀûÀÎ ¼¼±×ÄÁÆ®¸¦ ÇÒ´çÇÏ·Á°í ³ë·ÂÇÏ°Ô µÈ´Ù. SHMSEG´Â ÇÁ·Î¼¼½º¿¡ ÀÇÇØ ºÙÀ» ¼ö ÀÖ´Â ¼¼±×¸ÕÆ® ¼öÀÇ ÃÖ´ëÄ¡¸¦ ¸»ÇÑ´Ù. ¼¼±×¸ÕÆ®¸¦ ¿¬¼ÓÀûÀÎ ÁÖ¼Ò°ø°£À¸·Î Ãß°¡Çϱâ À§ÇÏ¿©, SHMMAX´Â ½Ã½ºÅÛ¿¡¼ÀÇ ÇÑ°è°ª±îÁö ÃÖ´ë°ªÀ¸·Î ¼³Á¤µÇ¾î¾ß ÇÑ´Ù.
´ÙÀ½ init.or
a ÀÎÀÚ´Â SGAÀÇ Å©±â¸¦ Á¶ÀýÇÑ´Ù:
À̵é ÀÎÀÚµéÀ» ¼³Á¤ÇÒ ¶§´Â ÁÖÀǸ¦ ±â¿ï¿©¾ß ÇÑ´Ù. °ªÀÌ ³Ê¹« ³ô°Ô ÀâÈ÷¸é È£½ºÆ®ÀÇ ¹°¸®Àû ¸Þ¸ð¸®°¡ °øÀ¯¸Þ¸ð¸®·Î ³Ê¹« ¸¹ÀÌ ÇÒ´çµÇ¾î ¼öÇà´É·ÂÀÌ ¶³¾îÁö°Ô µÈ´Ù. °¡À̵å¶óÀÎÀ¸·Î¼ ¸ðµç ÀνºÅϽºÀÇ SGA Å©±â´Â ÃÑ ¹°¸®Àû ¸Þ¸ð¸® (RAM)ÀÇ 1/3À» ³ÑÁö ¾Êµµ·Ï ÇÑ´Ù.
ÀνºÅϽºÀÇ SGAÀÇ ´ë·«ÀûÀÎ Å©±â´Â ´ÙÀ½ °ø½ÄÀ» ÀÌ¿ëÇÏ¿© °è»êÇÒ ¼ö ÀÖ´Ù:
(
DB_BLOCK_BUFFERS \xb0 DB_BLOCK_SIZE)
+ SORT_AREA_SIZE
+ SHARED_POOL_SIZE
+ 1MB
½ÇÇàÁßÀÎ µ¥ÀÌÅͺ£À̽ºÀÇ SGAÀÇ Å©±â¸¦ Ãâ·ÂÇÏ·Á¸é, Server managerÀÇ show sga
¸í·É¾î¸¦ ÀÌ¿ëÇ϶ó. ÀÌ ¸í·É¾î´Â SGAÀÇ Å©±â¸¦ bytes ´ÜÀ§·Î º¸¿© ÁØ´Ù.
SGA°¡ ÀÖ´Â ÁÖ¼Ò´Â, SGA¿¡ ÀÖ´Â µ¥ÀÌÅͺ£À̽º ¹öÆÛ³ª »ç¿ëÀÚ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ data ¿µ¿ª¿¡¼ cursor¿Í °°Àº, ÀÌ¿ë°¡´ÉÇÑ °¡»ó¸Þ¸ð¸® ÁÖ¼Ò°ø°£¿¡ ¿µÇâÀ» ¹ÌÄ£´Ù.
tstshm
¿¡¼ "Lowest shared memory address"¿Í "Highest shared memory address" Çà¿¡¼ À¯È¿ÇÑ ¹üÀ§¸¦ Ãâ·ÂÇÑ´Ù.
$ tstshm
tstshm
ÀÇ Ãâ·Â Áß "Segment boundaries"¸¦ Á¡°ËÇ϶ó.
$ORACLE_HOME/rdbms/lib
directory·Î À̵¿ÇÏ°í ³ª¼, ksms.s
ÆÄÀÏÀ» »ý¼ºÇϱâ À§ÇÏ¿© genksms
À» ½ÇÇàÇ϶ó:
$ cd $ORACLE_HOME/rdbms/lib
$ $ORACLE_HOME/bin/genksms -b sgabeg > ksms.s
¿©±â¼ sgabeg´Â SGAÀÇ ½ÃÀÛÁÖ¼Ò (±âº»°ªÀº 0x80000000) ÀÌ´Ù. ±×¸®°í step 2¿¡¼ °áÁ¤µÈ ¹üÀ§³»¿¡ µé¾î ÀÖ¾î¾ß ÇÑ´Ù.
$ORACLE_HOME/rdbms/lib
directory¿¡ ÀÖ´Â oracle
½ÇÇà ÆÄÀÏÀ» ´Ù½Ã ¸¸µé¾î ÁÖ¾î¶ó:
$ make -f ins_rdbms.mk ksms.o
$ make -f ins_rdbms.mk ioracle
Using ioracle
:
oracle0
)
oracle
½ÇÇà ÆÄÀÏ¿¡ ÀûÀýÇÑ ±ÇÇÑÀ» ÁÖ¾î¶ó.
$ORACLE_HOME/bin
directory·Î ¿Å°Ü¶ó.
°á°úÀûÀ¸·Î »õ·Î¿î ¿À¶óŬ Ä¿³ÎÀÌ SGAÀÇ sgabeg
¿¡ ¸í½ÃµÈ ÁÖ¼Ò·Î ÀûÀçµÈ´Ù.
genksms -b
utility´Â °íÁ¤µÈ SGAÀÇ ½ÃÀÛÁ¡À» Á¶ÀýÇϴµ¥ »ç¿ëµÈ´Ù.
DBA´Â ¿À¶óŬ ¼¹ö¿¡ ÀÇÇØ ¿ä±¸µÇ´Â Ư¼öÇÑ °èÁ¤°ú Ä£¹ÐÇØ Á® ÀÖ¾î¾ß ÇÑ´Ù. ±×¸®°í ÀÌµé °èÁ¤ÀÌ ÀûÀýÇÑ group¿¡ Æ÷ÇԵǾî ÀÖ´ÂÁö È®ÀÎÇØ¾ß ÇÑ´Ù. ´ÙÀ½ Àå¿¡¼´Â À̵é Ư¼öÇÑ »ç¿ëÀÚ °èÁ¤¿¡ °üÇØ ¼³¸íÇÏ°íÀÚ ÇÑ´Ù. ¸®´ª½º °èÁ¤Àº Table 2-7¿¡ ¼³¸íµÇ¾î ÀÖÀ¸¸ç, ¿À¶óŬ ¼¹ö °èÁ¤Àº Table 2-8¿¡ ¼³¸íµÇ¾î ÀÖ´Ù.
.
Oracle8 uses several features of the LINUX operating system to provide a secure environment for users. These features include file ownership, group accounts, and the ability of a program to change its user ID upon execution.
Oracle8ÀÇ two-task ±¸Á¶´Â ÀÛ¾÷(±×¸®°í ÁÖ¼Ò°ø°£)À» »ç¿ëÀÚ ÇÁ·Î±×·¥°ú oracle
programÀ¸·Î ³ª´®À¸·Î½á Oracle8ÀÇ º¸¾ÈÀ» Çâ»ó½Ãų ¼ö ÀÖ´Ù. ¸ðµç µ¥ÀÌÅͺ£À̽ºÁ¢±ÙÀº shadow proces¿Í oracle
program»ó¿¡¼ Ưº°ÇÑ ÀÎÁõÀ» ÅëÇØ ÀÌ·ç¾î Áø´Ù.
Oracle8 µ¥ÀÌÅͺ£À̽º¿¡¼ °·ÂÇÑ º¸¾ÈÀ» ÇÊ¿ä·Î ÇÑ´Ù¸é, ¿î¿µÃ¼°è ¼öÁØ¿¡¼ »ç¿ëÀÚ ±×·ìÀ» »ý¼ºÇ϶ó. GroupÀº ¸®´ª½ºÀÇ /etc/group
ÆÄÀÏ¿¡ ÀÇÇØ Á¶ÀýµÈ´Ù. ¿À¶óŬ ÇÁ·Î±×·¥Àº º¸¾È ¸ñÀû»ó µÎ°¡Áö Á¾·ù·Î ³ª´©¾î Á® ÀÖ´Ù: ¸ðµÎ(¸®´ª½º ¿ë¾î·Î other)¿¡ ÀÇÇØ ½ÇÇà µÉ ¼ö ÀÖ´Â °Íµé, ±×¸®°í DBA¿¡ ÀÇÇؼ¸¸ ½ÇÇà µÉ ¼ö ÀÖ´Â °Íµé. º¸¾È¿¡ ´ëÇÑ ±ÇÀå Á¢±Ù¹ýÀº ´ÙÀ½°ú °°´Ù:
dba
)¸¦ »ý¼ºÇÏ°í root
¿Í oracle software ¼ÒÀ¯ÀÚ ID¸¦ ÀÌµé ±×·ì¿¡ ÇÒ´çÇ϶ó. dba
¿¡ ÀÇÇؼ¸¸ ½ÇÇà°¡´É ÇÑ ÇÁ·Î±×·¥µéÀº 710
Æ۹̼ÇÀ» °¡Áø´Ù. Server Manager ½Ã½ºÅÛ ±ÇÇÑÀÇ ¸í·É¾î´Â ¼³Ä¡µ¿¾È ÀÚµ¿ÀûÀ¸·Î dba
group¿¡°Ô ÇÒ´çµÈ´Ù.
oracle
group¿¡ Ãß°¡Ç϶ó. ¿À¶óŬ utilityµéÀ» oracle
group ID¿¡°Ô ÁÖ¾î¶ó. °ø°³ÀûÀ¸·Î ½ÇÇà°¡´ÉÇÑ ÇÁ·Î±×·¥µéÀº, SQL*Plus¿Í °°Àº, ÀÌ ±×·ì¿¡ ÀÇÇØ ½ÇÇà°¡´ÉÇÏ´Ù. À̵é À¯Æ¿¸®Æ¼¿¡ ´ëÇÑ permissionÀ» 710
À¸·Î ¼³Á¤ÇÏ¿© ÀÌµé ±×·ìÀº ½ÇÇàÇÒ ¼ö ÀÖÀ¸³ª ´Ù¸¥ À̵éÀº ½ÇÇà ÇÒ ¼ö ¾øµµ·Ï ¸¸µé¾î ÁØ´Ù.
711
permissionÀ» ÁÖ¸é other »ç¿ëÀÚ¿¡ ÀÇÇؼµµ ½ÇÇà°¡´ÉÇØ Áø´Ù. ÀÌµé ±ÇÇÑÀº µ¥ÀÌÅͺ£À̽ºÀÇ º¸¾È¿¡ ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê´Â ÇÁ·Î±×·¥¿¡°Ô¸¸ Á¦ÇÑÇϵµ·Ï ÇÑ´Ù.
ºñ·Ï ¿©·¯ºÐµéÀÌ µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ ±×·ì À̸§À¸·Î ¾î¶°ÇÑ °ÍÀ» ÇÒ´çÇÒ ¼öµµ ÀÖÁö¸¸ ±âº» ±×·ì À̸§Àº dba
ÀÌ´Ù. ±×¸®°í ÀÌ ¹®¼¿¡¼ ±âº»ÀûÀ¸·Î »ç¿ëÇÏ°Ô µÉ °ÍÀÌ´Ù. ¸¸¾à ¿©·¯ºÐµéÀÌ group À̸§À» ¹Ù²Û´Ù¸é ¿À¶óŬ Installer´Â ¼³Ä¡ÇÏ´Â µ¿¾È Ä¿³ÎÀ» ÀÚµ¿ÀûÀ¸·Î À翬°á ½ÃÅ°°Ô µÉ°ÍÀÌ´Ù. ¸¸¾à ¿©·¯ºÐµéÀÌ °°Àº ORACLE_HOMEÀ» °¡Áö´Â ¿©·¯°³ÀÇ µ¥ÀÌÅͺ£À̽º¸¦ °¡Áö°í ÀÖ´Ù¸é (¿À¶óŬ ȸ»ç¿¡¼´Â ÀÌ·¯ÇÑ ¼³Á¤Àº °·ÂÇÏ°Ô ÇÏÁö ¾Êµµ·Ï ±ÇÀåÇÏÁö¸¸), °°Àº µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ ±×·ìÀ» °¡Á®¾ß¸¸ ÇÑ´Ù. ÀÌ·¯ÇÑ Á¦ÇÑÁ¡Àº ÀϹÝÀûÀÎ »ç¿ëÀÚ¸¦ À§ÇÑ ±×·ìÀ̸§(oracle
groupÀ¸·Î ¾Ë·ÁÁ® ÀÖ´Â)¿¡´Â Àû¿ëµÇÁö ¾Ê´Â´Ù.
WARNING:
ºñ·Ï oracle software ¼ÒÀ¯ÀÚ¿Í |
Oracle8 ½ÇÇàÆÄÀϵéÀ» ÀÎÁõµÇÁö ¾ÊÀº °÷¿¡¼ »ç¿ëÇÏ´Â °ÍÀ» ¸·´Â´Ù. ¿©·¯ºÐµéÀÌ »ç¿ëÇÒ ¹æ¹ýÀº ¿©·¯ºÐµéÀÌ single-task utility¸¦ »ç¿ëÇÏ´Â °¡ Çϴ ȯ°æ¿¡ ´Þ·Á ÀÖ´Ù. ´ÙÀ½Àº Oracle8 ½ÇÇà ÆÄÀϵéÀ» º¸È£ÇÏ´Â ¹æ¹ýµéÀ» Á¦¾ÈÇÑ °ÍÀÌ´Ù:
$ORACLE_HOME/bin
directory¿¡ º¸°üÇÏ°í ¼ÒÀ¯ÀÚ¸¦ oracle software ¼ÒÀ¯ÀÚ·Î ¼³Á¤ÇØ ÁÖ¶ó.
sqlplus, exp, imp
) È£½ºÆ®»óÀÇ ¸ðµç »ç¿ëÀÚµéÀÌ Oracle Server·Î Á¢±ÙÇÒ¼ö ÀÖµµ·Ï 711
·Î permissionÀ» ÁØ´Ù.
700
À¸·Î Á¦ÇÑÇÑ´Ù.
¸¸¾à ¿©·¯ºÐµéÀÌ SQL*Plus¸¦ °¡Áö°í ÀÖÁö ¾Ê´Ù¸é, ¿©·¯ºÐµéÀº SQL query¸¦ Çϱâ À§ÇÏ¿© Server Manager¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ ½Ã½ºÅÛ ±ÇÇÑÀÇ ¹®ÀåµéÀº oracle software ¼ÒÀ¯ÀÚ ±×¸®°í dba
groupÀÇ »ç¿ëÀÚ¸¦ Á¦¿ÜÇÏ°í´Â ¾î´À ´©±¸µµ Á¢±ÙÇÒ ¼ö À־ ¾ÈµÈ´Ù. ±×µé¿¡°Ô´Â Ưº°ÇÑ ¿î¿µ½Ã½ºÅÛÀÇ ±ÇÇÑÀÌ ÁÖ¾îÁ® ÀÖ´Ù.
Oracle8À» ¼³Ä¡Çϴµ¥ »ç¿ëµÇ´Â »ç¿ëÀÚ ID´Â µ¥ÀÌÅͺ£À̽º ÆÄÀϵéÀ» ¼ÒÀ¯ÇÑ´Ù. ±âº»ÀûÀÎ »ç¿ëÀÚ ID´Â oracle software ¼ÒÀ¯ÀÚÀÌ´Ù. À̵é ÆÄÀϵéÀÇ ÀÎÁõÀ» permission 0600À¸·Î ¼³Á¤Ç϶ó: ¼ÒÀ¯ÀÚ¿¡°Ô¸¸ read/write (rw) ±ÇÇÑÀ» ÁÖ°í, groupÀ̳ª ´Ù¸¥ »ç¿ëÀڵ鿡°Ô´Â ¾²±â ±ÇÇÑÀ» ÁÖÁö ¾Ê¾Æ¾ß ÇÑ´Ù.
oracle software ¼ÒÀ¯ÀÚ´Â µ¥ÀÌÅͺ£À̽º ÆÄÀÏÀ» Æ÷ÇÔÇÏ°í ÀÖ´Â µð·ºÅ丮¸¦ ¼ÒÀ¯ÇØ¾ß ÇÑ´Ù. º¸¾ÈÀ» º¸¿ÏÇϱâ À§ÇÏ¿© group °ú ´Ù¸¥ »ç¿ëÀڵ鿡°Ô Àбâ Çã¿ëÀ» ÆóÁö½ÃÄÑ¾ß ÇÑ´Ù.
º¸È£µÈ µ¥ÀÌÅͺ£À̽º ÆÄÀÏ·Î Á¢±ÙÇϱâ À§ÇÏ¿©, oracle
programÀº ¹Ýµå½Ã set user ID (setuid
) bit¸¦ ¼³Á¤ÇØ µÎ¾î¾ß ÇÑ´Ù. ÀÌ bit¸¦ ¼³Á¤Çϱâ À§ÇÏ¿© ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù:
$ chmod 6751 $ORACLE_HOME/bin/oracle
ÀÌ°ÍÀº oracle
program¿¡ ´ëÇÏ¿© ÀÎÁõÀ» ¼³Á¤ÇÏ´Â °ÍÀÌ´Ù:
-rwsr-s--x 1 oracle dba 443578 Mar 10 23:03 oracle
Oracle Installer´Â ÀÚµ¿ÀûÀ¸·Î user ID¸¦ ¼³Á¤ÇÑ´Ù. ½ÇÇà field¿¡ ÀÖ´Â s
´Â ¿©·¯ºÐµéÀÌ oracle
programÀ» ½ÇÇà ÇÒ¶§, ±×°ÍÀ» ±âµ¿½ÃŲ ½ÇÁ¦ »ç¿ëÀÚ°¡ ´©±¸ÀεçÁö °£¿¡ À¯È¿»ç¿ëÀÚ ID°¡ oracleÀÌ µÈ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù.
³×Æ®¿öÅ© »ó¿¡¼ ¿ø°Ý »ç¿ëÀÚµéÀº ±×µéÀÇ password¸¦ ¸íÈ®È÷ ¶Ç´Â ¾ÏÈ£ÈµÈ ¹®À¸·Î ÀÔ·ÂÇØ¾ß ÇÑ´Ù. ¿©·¯ºÐµéÀÌ ¾ÏȣȵÇÁö ¾ÊÀº ÅؽºÆ®·Î ÀÔ·ÂÇÒ ¶§ Æнº¿öµå°¡ ÀÎÁõµÇÁö ¾ÊÀº »ç¿ëÀÚ¿¡ ÀÇÇØ °¡·Îä¾î Áú ¼ö ÀÖ´Ù. ÀÌ ¶§¹®¿¡ º¸¾È ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. Oracle Net8Àº ¾ÏÈ£ÈµÈ password¸¦ Áö¿øÇÑ´Ù.
DBA ±ÇÇÑÀ» ³×Æ®¿öÅ©»ó¿¡¼ Á¶ÀýÇϱâ À§ÇÏ¿© ´ÙÀ½Áß ÇÑ°¡Áö¸¦ ¼±ÅÃÇ϶ó:
/var/opt/oracle/listener.ora
ÆÄÀÏ¿¡¼ Çã¿ëÇÏÁö ¸»¾Æ¶ó.
orapwd
¿¡ Ưº°ÇÑ Æнº¿öµå¸¦ °É¾î µÎ¾î¶ó.
Oracle8Àº ³×Æ®¿öÅ©¸¦ ÅëÇÑ ÀÚµ¿ ·Î±×ÀÎÀ» Áö¿øÇÑ´Ù. (¿î¿µÃ¼°è ÀÎÁõ ·Î±×ÀÎ)
LINUX´Â dollar ±âÈ£($)¸¦ ȯ°æº¯¼öÀÇ ½ÃÀÛÀ¸·Î ¿©±ä´Ù. ±×·¯¹Ç·Î ¿©·¯ºÐµéÀÌ ½ºÅ©¸³Æ®¿¡¼³ª ¸í·É¾î¿¡¼ ¿î¿µÃ¼°è ÀÎÁõ (ops$
) login À» ½ÃµµÇϸé, ¸ÕÀú $
±âÈ£¸¦ backslash (\)·Î escape ½ÃÄÑ¾ß ÇÑ´Ù. ¿¹¸¦ µé¸é »ç¿ëÀÚ ID scott
´Â ¿ø°ÝÁö ·Î±×Àζ§ ops\$scott
·Î ¸í½ÃÇØ ÁÖ¾î¾ß ÇÑ´Ù.
root
user ID·Î´Â ÀÚµ¿ ·Î±×ÀÎÀÌ Çã¿ëµÇÁö ¾Ê´Â´Ù.
ÀÚµ¿ÀûÀÌ°í ±×¸®°í ¿ø°ÝÁö DBA ·Î±×ÀÎÀº Oracle Net8¿¡ ÀÇÇؼ Á¶ÀýµÇÁö ¾Ê´Â´Ù. ±×µéÀº Oracle8 ¼¹ö¿¡ ÀÇÇؼ init
sid.ora
file¿¡ ÀÖ´Â ÀÎÀÚµéÀ» ÀÌ¿ëÇÏ¿© ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ºñ·Ï ÀÚµ¿ loginsÀÌ Áö¿øµÇÁö¸¸, ±âº»ÀûÀ¸·Î´Â ºñÈ°¼ºÈ µÇ¾î ÀÖ´Ù. À̵éÀ» È°¼ºÈ ½ÃÅ°±â À§Çؼ´Â REMOTE_OS_AUTHENT ÃʱâÈ ÀÎÀÚÀÇ °ªÀ» true
·Î ¼³Á¤ÇØ µÎ°í, µ¥ÀÌÅͺ£À̽º¸¦ ½ÃÀÛÇ϶ó.
oracle
ÀÌ ÀÌµé ·Î±×ÀÎÀ» Á¶ÀýÇϱ⠶§¹®¿¡, Oracle Net8 listener
¸¦ root
¿¡ ´ëÇÏ¿© setuid
¸¦ ¼³Á¤ÇÏ°í¼ ½ÇÇàÇÒ ÇÊ¿ä°¡ ¾ø´Ù.
Oracle Net8À» ÀÌ¿ëÇÑ ÀÚµ¿ ·Î±×ÀÎÀ» ½ÇÇàÇÏ·Á¸é /etc/passwd
file¿¡ daemon
À̶ó°í ºÒ¸®´Â »ç¿ëÀÚ¸¦ ¸¸µé¾î¾ß ÇÑ´Ù. daemon
»ç¿ëÀÚ´Â ¾î¶² ·ÎÄà µ¥ÀÌÅͺ£À̽º¿¡µµ ops$
°èÁ¤À» °¡Á®¼´Â ¾ÈµÈ´Ù. ¶ÇÇÑ DBA ±×·ìÀ» °¡Á®¼µµ ¾ÈµÈ´Ù. Áï, ¿ÜºÎ »ç¿ëÀÚ°¡ ¿©·¯ºÐµéÀÇ ·ÎÄà µ¥ÀÌÅͺ£À̽º·Î ħÀÔÇÒ ¼ö ÀÖ´Â ops$daemon
°èÁ¤ÀÌ ¾Æ´Ï¾î¾ß ÇÑ´Ù.
Table 2-10Àº ¿ø°ÝÁö ·Î±×ÀÎÀ» Á¶ÀýÇÏ°í °¡´ÉÇÏ°Ô Çϱâ À§ÇÑ /var/opt/oracle/listener.ora
file¿¡ »ç¿ëµÇ´Â keyword¿¡ ´ëÇØ ±â¼ú ÇÏ°í ÀÖ´Ù.
¸¸¾à µ¥ÀÌÅͺ£À̽º·Î Á¢±ÙÇϱâ À§ÇÑ DBA group ID°¡ ±âº»°ª (dba
)ÀÌ ¾Æ´Ï¶ó¸é, ±× À̸§À» ¸í½ÃÇØ¾ß ÇÑ´Ù.
¿ø°ÝÁö ·Î±×Àΰú ¿ø°ÝÁö DBA Á¢¼ÓÀ» À§ÇÑ ÀÎÀÚ °ªÀ» ³×Æ®¿öÅ©»óÀÇ µ¥ÀÌÅͺ£À̽ºÀÇ ORACLE_SIDs ¿¡ ´ëÇÏ¿© °³º°ÀûÀ¸·Î ¼³Á¤À» ÇÏ´øÁö, ¶Ç´Â ¸ðµç sid¿¡ ´ëÇÏ¿© ÇѲ¨¹ø¿¡ ÇÒ ¼öµµ ÀÖ´Ù. ¿¹¸¦ µé¸é, ´ÙÀ½ ¹®Àåµé Áß Çϳª¸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù:
PARAMETER=ALL_SIDS PARAMETER=sid1[, sidn...]
sid¿¡ ´ëÇÏ¿© ¾î¶² ±ÇÇÑÀÌ ÇÒ´çµÇ¾î ÀÖ´ÂÁö È®ÀÎÇÏ·Á¸é, ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇ϶ó:
$ lsnrctl status
½Ã½ºÅÛÀº ¿ø°ÝÁö ·Î±×ÀÎ ÀÎÀÚµéÀ» ´ÙÀ½ ¼ø¼´ë·Î Á¡°ËÇÑ´Ù:
ÀÌµé ±ÇÇÑÀº ¿À¶óŬ Net8 listener¿¡ ÀÇÇØ ºÐ±âµÇ´Â shadow processÀÇ »ç¿ëÀÚ ID¿Í group ID¸¦ Á¶ÀýÇÏ¿© ±¸ÇöÇÏ°í ÀÖ´Ù. ¿¹¸¦ µé¸é:
true
·Î ¼³Á¤µÇ¾î ÀÖ´Ù¸é, ¶Ç´Â ¸¸¾à client-sideÀÇ ¿î¿µÃ¼°è¿¡¼ º¸°íµÇ¾îÁ® ¿Â »ç¿ëÀÚ ID°¡ µ¥ÀÌÅͺ£À̽º È£½ºÆ® ¸Ó½Å¿¡´Â ¾ø´Â °èÁ¤À̶ó¸é, »ç¿ëÀÚ ID¿Í group ID°¡ daemon
entry¾Æ·¡ÀÇ /etc/passwd
file¿¡¼ ¹ß°ßµÇ¾î¾ß ÇÑ´Ù.
true
·Î ¼³Á¤µÇ¾î ÀÖ´Ù¸é, ±×¸®°í client operating system¿¡¼ º¸°íµÇ¾îÁ® ¿Â user ID°¡ ÀÌ ½Ã½ºÅÛ °èÁ¤»ó¿¡ Á¸ÀçÇÑ´Ù¸é, ÀÌ »ç¿ëÀÚ ID¸¦ À§ÇÑ »ç¿ëÀÚ ID¿Í group ID°¡ /etc/passwd
¿¡¼ ¹ß°ßµÇ¾î¾ß ÇÑ´Ù.
true
·Î ¼³Á¤µÇ¾î ÀÖÀ¸³ª, REMOTE_DBA_OPS_ALLOWED°¡ false
·Î ¼³Á¤µÇ¾î ÀÖ´Ù¸é, ±×¸®°í ¸¸¾à user ID°¡ DBA ±ÇÇÑÀ» °¡Áø´Ù¸é, process´Â daemon
ÀÇ »ç¿ëÀÚ ID¿Í group ID¸¦ °¡Áø´Ù. ¸¸¾à ±×·¸Áö ¾ÊÀ¸¸é, process´Â ÀÌ »ç¿ëÀÚÀÇ »ç¿ëÀÚ ID¿Í group ID¸¦ °¡Áö°Ô µÈ´Ù.
¿©·¯ºÐµéÀº personal computer¿Í °°Àº ¿ø°ÝÁö ¸Ó½ÅÀ¸·Î ºÎÅÍ, ¿î¿µÃ¼°èÀÇ °èÁ¤¾øÀ̵µ µ¥ÀÌÅͺ£À̽º·Î Á¢±ÙÇÏ°í °ü¸®ÇÒ ¼ö ÀÖ´Ù. »ç¿ëÀÚ ÀÎÁõÀº ¿À¶óŬÀÇ orapwd
utility¿¡ ÀÇÇØ »ý¼ºµÇ°í °ü¸®µÇ´Â Oracle8 password fileÀ» ÀÌ¿ëÇÏ¿© ÇÑ´Ù. »ç¿ëÀÚ °èÁ¤À» Áö¿øÇÏ´Â ¿î¿µÃ¼°è»ó¿¡¼´Â ½Ã½ºÅÛÀÇ password ÆÄÀÏÀ» ÀÌ¿ëÇÑ ÀÎÁõÀ» ÇÒ ¼ö ÀÖ´Ù.
·ÎÄà password fileÀº $ORACLE_HOME/dbs
directory¿¡ ÀÖÀ¸¸ç, ´ÜÀÎ µ¥ÀÌÅͺ£À̽º¸¦ À§ÇÑ username°ú password Á¤º¸¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù. ¸¸¾à ÄÄÇ»ÅÍ»ó¿¡ ¿©·¯°³ÀÇ $ORACLE_HOME
directories°¡ ÀÖ´Ù¸é, °¢°¢ ºÐ¸®µÈ password ÆÄÀÏÀ» °¡Áú °ÍÀÌ´Ù.
orapwd
utility´Â $ORACLE_HOME/bin
¿¡ ÀÖÀ¸¸ç, oracle software ¼ÒÀ¯ÀÚ¿¡ ÀÇÇØ ½ÇÇà °¡´ÉÇÏ´Ù. ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÏ¿© orapwd
¸¦ ½ÇÇàÇ϶ó:
$ orapwd file=$ORACLE_HOME/dbs/orapw
sid password=password entries=max_users
ÀÌ ¹®¹ýÀº Table 2-11¿¡ ±â¼úµÇ¾î ÀÖ´Ù:
Note: »ç¿ëÀÚÀÇ ÃÖ´ë¼ö¸¦ Áõ°¡ ½ÃŲ´ÙµçÁö ÇÒ¶§¿¡´Â »õ·Î¿î password ÆÄÀÏÀ» »ý¼ºÇØ ÁÖ¾î¾ß¸¸ ÇÑ´Ù. ±×·¯¹Ç·Î max_users ´Â ¿©·¯ºÐµéÀÌ ¿¹»óÇÏ´Â ÃÖ´ë ¼ö º¸´Ù Á»´õ ³ô°Ô Àâ¾Æ ÁÖ´Â °ÍÀÌ ÁÁ´Ù. |
$ orapwd file=/u01/app/oracle/product/8.0.5/dbs/orapwV805 \
password=manager entries=30
±âº»ÀûÀÎ password fileÀÎ /dbs/orapwd
´Â ÃʱâÈ ÀÎÀÚÀÎ REMOTE_LOGIN_ PASSWORDFILEÀÌ ¿©·¯°³ÀÇ µ¥ÀÌÅͺ£À̽º¸¦ À§Çؼ SHARED·Î ¼³Á¤µÇ¾î ÀÖÀ» ¶§ »ç¿ëµÈ´Ù. ´ÙÁß µ¥ÀÌÅͺ£À̽º¿¡¼ sid¿¡ ƯÀÌÀûÀÎ password ÆÄÀÏÀº ¾ø´Ù.
Oracle8 password fileÀÌ ÀÖÀ» ¶§, ³×Æ®¿öÅ©ÀÇ PC users´Â ÀÌ µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÏ¿© INTERNAL·Î Á¢±ÙÇÒ ¼ö ÀÖ´Ù. ±ÇÇÑÀ» °¡ÁöÁö ¾ÊÀº »ç¿ëÀÚ´Â µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÏ´Â ¿À¶óŬ ÀÀ¿ë ÇÁ·Î±×·¥À» ½ÇÇàÇÔÀ¸·Î¼ Á¢¼ÓÇÒ ¼ö ÀÖ´Ù. µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇØ DBA ±â´ÉÀ» ¿øÇÏ´Â ±ÇÇÑÀ» °¡Áø »ç¿ëÀÚ´Â, dba
user password¸¦ Ãß°¡ÇÏ¿© ±×µéÀÇ PC·Î ºÎÅÍ ÀûÀýÇÑ Server Manager ¸í·É¾î¸¦ ½ÇÇàÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¸é:
SVRMGR> connect internal/dba_password
OPERATOR·Î¼ Á¢¼ÓÇÒ·Á¸é, OPERATOR password¿Í ÇÔ²² °°Àº ¸í·É¾î¸¦ »ç¿ëÇÑ´Ù.
Table 2-12¿¡¼ º¸¿©ÁÖ´Â ´ÙÀ½ init
sid.ora
parameter µéÀº º¸¾È¼ºÀÌ ¾ø´Â ÇÁ·ÎÅäÄÝÀ» ÀÌ¿ëÇÏ¿© ¿ø°ÝÁö·Î ºÎÅÍ Á¢¼ÓÇÒ °æ¿ìÀÇ ÇൿµéÀ» Á¶ÀýÇÑ´Ù.
REMOTE_OS_AUTHENT |
|
---|---|
OS_AUTHENT_PREFIX |
|
REMOTE_OS_ROLES |
¿ø°ÝÁö Á¢¼ÓÀ» ÅëÇØ roleÀ» °¡´É ¶Ç´Â ºÒ°¡´ÉÇÏ°Ô ¸¸µç´Ù. |
Note:
¸¸¾à REMOTE_OS_AUTHENT°¡ |
¼¹ö°¡ shutdown ÁßÀÎ ÀνºÅϽº·Î Á¢¼ÓÇÑ Å¬¶óÀ̾ðÆ®´Â µÚÀ̾î SQLÀ» »ç¿ëÇÒ °æ¿ì ´ÙÀ½Áß ÇϳªÀÇ ¿¡·¯¸Þ½ÃÁö¸¦ ¹Þ°Ô µÈ´Ù.
ORA-03113: end-of-file on communication channel ORA-12571: TNS:packet writer failure
±×µéÀ» ÂüÁ¶ÇÏ´Â ÇÁ·Î±×·¥À» ¼öÁ¤ÇÏÁö ¾Ê°í, ·Î±×ÀΠȨµð·ºÅ丮¸¦ À̵¿ÇÏ´øÁö Ãß°¡ ÇÏ°íÀÚ ÇÒ °æ¿ì ´ÙÀ½°ú °°ÀÌ ÇØ¾ß ÇÑ´Ù:
/etc/passwd
and /etc/oratab
/etc/group
file¿¡ ÀÖ´Â group membershipsÀ» ÂüÁ¶Ç϶ó.
Áß¾Ó ÂüÁ¶ÆÄÀÏÀ» Á¦¿ÜÇÏ°í °æ·Î¸íÀ» ±â·ÏÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ¿Ö³ÄÇÏ¸é »ç¿ëÀÚÀÇ È¨µð·ºÅ丮´Â ´ÙÀ½°ú ¹æ¹ý Áß Çϳª·Î¼ À¯ÃßÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù:
lhd
script¸¦ ÂüÁ¶Ç϶ó.
À¯»çÇÏ°Ô, group membershipsÀº /etc/group
·Î ºÎÅÍ °è»êÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ Àå¿¡ ÀÖ´Â sample grpx
script¸¦ ÂüÁ¶Ç϶ó.
#!/bin/sh # # lhd - print login home directory name for a given user # # SYNTAX # lhd [login] # prog=`basename $0` if [ $# -eq 0 ] ; then login=`whoami` elif [ $# -eq 1 ] ; then login=$1 else echo "Usage: $prog login" >&2 exit 2 fi awk -F: '$1==login {print $6}' login=$login /etc/passwd
#!/bin/sh # grpx - print the list of users belonging to a given group # prog=`basename $0` if [ $# -ne 1 ] ; then echo "Usage: $prog group" >&2 exit 2 fi g=$1 # calculate group id of g gid=`awk -F: '$1==g {print $3}' g=$g /etc/group` # list users whose default group id is gid u1=`awk -F: '$4==gid {print $1}' gid=$gid /etc/passwd` # list users who are recorded members of g u2=`awk -F: '$1==g {gsub(/,/," "); print $4}' g=$g /etc/group` # remove duplicates from the union of the two lists echo $u1 $u2 | tr " " "\012" | sort | uniq | tr "\012" " " echoExample 2-1 Using lhd and grpx Scripts
ÀÌ ¿¹Á¦´Â °ü¸®ÀÚ°¡ ¾î¶»°Ô .profile
À̶ó´Â °ñ°Ý ÆÄÀÏÀ» ±×·ìÀÇ ¸â¹öµé¿¡°Ô ÀüÆĽÃÅ°´Â Áö ÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù. ¸Ï¤¤¾à clerk
groupÀÇ membership list°¡ ¹Ù²î´õ¶óµµ ÄÚµå ÀÚü¸¦ ¹Ù²Ü ÇÊ¿ä´Â ¾ø´Ù.
$ for u in `grpx clerk` ; do > cp /etc/skel/.profile `lhd $u` > done
PL/SQLÀº ¿©·¯ºÐµéÀÌ ¿Ã·Á º¼¼ö ÀÖ´Â ¸¹Àº ¼öÀÇ ¿¹Á¦¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù. µ¥¸ð¿Í ¸Þ½ÃÁö ÆÄÀϵéÀÌ rdbms
directory¿¡ ÀúÀåµÇ¾î ÀÖ´Ù. Oracle8 Server¸¦ open ½ÃÅ°°í ¸¶¿îÆ® ÇÏ´Â ÀÛ¾÷À» ½ÇÇàÇ϶ó:
scott/tiger
·Î Á¢¼ÓÇ϶ó:
$ cd $ORACLE_HOME/plsql/demo $ svrmgrl SVRMGR > connect scott/tiger
exampbld.sql
À» ½ÇÇàÇ϶ó:
SVRMGR > @exampbld
Table 2-13¿¡´Â Ä¿³Î µ¥¸ð¸¦ ³ª¿ÇÏ°í ÀÖ´Ù.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Table 2-14¿¡´Â precompiler µ¥¸ð¸¦ ³ª¿ÇÏ°í ÀÖ´Ù.
examp9.pc |
examp10.pc |
sample5.pc |
sample6.pc |
Ä¿³Î PL/SQL demonstrationsÀ» ½ÇÇàÇϱâ À§Çؼ´Â, µ¥¸ð¸¦ »ý¼ºÇÑ °Í°ú °°Àº °èÁ¤À» ÀÌ¿ëÇÏ¿©, Ä¿³Î·Î Á¢¼ÓÇϱâ À§ÇÏ¿© SQL*Plus¸¦ ½ÇÇàÇØ¾ß ÇÑ´Ù. "at" sign (@)À» Ãļ µ¥¸ð¸¦ ½ÃÀÛÇÏ´øÁö ¶Ç´Â µ¥¸ð À̸§ ¾Õ¿¡ start
¶ó´Â ´Ü¾î¸¦ ÃÄ³Ö¾î¼ ½ÃÀÛÇØ¾ß ÇÑ´Ù. ¿¹¸¦ µé¸é, examp1
demonstrationÀ» ½ÃÀÛÇϱâ À§ÇÏ¿© ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù:
$ sqlplus scott/tiger SQLPLUS > @examp1
Precompiler PL/SQL demonstrationsÀ» ½ÃÀÛÇϱâ À§ÇÏ¿© ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇ϶ó:
$ cd $ORACLE_HOME/plsql/demo $ make -f demo_plsql.mk demos
¸¸¾à ¿©·¯ºÐµéÀÌ ÇϳªÀÇ µ¥¸ð¸¦ ¸¸µé±æ ¿øÇÑ´Ù¸é, make
command¿¡¼ ±× ÀÎÀڷμ ¸¸µé°íÀÚ ÇÏ´Â µ¥¸ð À̸§À» ÀÎÀÚ·Î ÀÔ·ÂÇØ ÁÖ¾î¶ó. ¿¹¸¦ µé¸é examp9.pc
½ÇÇà ÆÄÀÏÀ» ¸¸µé±æ ¿øÇÑ´Ù¸é, ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇ϶ó:
$ make -f demo_plsql.mk examp9
ÇöÀç shell¿¡¼ examp9
demonstrationÀ» ½ÇÇàÇÏ·Á ÇÑ´Ù¸é, ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇ϶ó:
$ examp9
extproc
demo¸¦ ½ÇÇàÇÏ·Á ÇÑ´Ù¸é, ¿©·¯ºÐµéÀº ¸ÕÀú ´ÙÀ½ ¶óÀÎÀ» ÆÄÀÏ tnsnames.ora
¿¡ Ãß°¡ÇØ ÁÖ¾î¾ß ÇÑ´Ù:
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=plsff))(CONNECT_DATA=(SID=extproc)))
±×·¯°í ³ª¼ listener.ora
ÆÄÀÏ¿¡ ´ÙÀ½ ÇàÀ» Ãß°¡ÇÑ´Ù:
SC=(SID_NAME=extproc)(ORACLE_HOME=/vobs/oracle)(PROGRAM=extproc))
±×·¯°í ³ª¼ ÇöÀç shell¿¡¼ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇ϶ó:
SVRMGR> connect scott/tiger Connected. SVRMGR> connect system/manager Connected. SVRMGR> grant create library to scott; Statement processed. SVRMGR> connect scott/tiger Connected. SVRMGR> create library demolib as '$ORACLE_HOME/plsql/demo/extproc.so'; Statement processed.
±×·¯°í ³ª¼ ¸¶Áö¸·À¸·Î, ½ÇÇàÀÌ µÇ´ÂÁö¸¦ Å×½ºÆ®Ç϶ó:
SVRMGR> connect scott/tiger Connected. SVRMGR> @extproc
SQL*Loader demonstrationsÀº ´ÙÀ½À» ¿ä±¸ÇÑ´Ù:
scott/tiger
°¡ CONNECT ±×¸®°í RESOURCE ±ÇÇÑÀ» °¡Á®¾ß ÇÑ´Ù.
µ¥¸ð¸¦ ¸¸µé°í ½ÇÇàÇϱâ À§Çؼ ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù:
scott/tiger
¸¦ ÀÌ¿ëÇÏ¿© Á¢¼ÓÇÑ´Ù.
ulcase
n.sql
À» ½ÇÇàÇ϶ó.
scott/tiger
»ç¿ëÀڷμ, ¸í·ÉÇà¿¡¼ µ¥¸ð¸¦ ½ÇÇà½ÃŲ´Ù:
$ sqlldr scott/tiger ulcasen
scott/tiger
»ç¿ëÀڷμ, ´ÙÀ½ ¼ø¼·Î SQL*Loader demonstrationsÀ» ½ÇÇà ½ÃŲ´Ù:
ulcase1
: Follow steps 1 - 3 above.
ulcase3
: Follow steps 1 - 3 above.
ulcase4
: Follow steps 1 - 3 above.
ulcase5
: scott/tiger
·Î¼ ulcase*.sql
¸¦ ½ÇÇà½ÃŲ´Ù. ±×·¯°í ³ª¼ ¸í·ÉÇà¿¡¼ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù:
$ sqlldr scott/tiger ulcase*
ulcase2
: µ¥¸ð¸¦ ½ÇÇàÇÑ´Ù (¿©·¯ºÐµéÀº ulcase2.sql
script¸¦ ½ÇÇàÇÒ¼ö ¾ø´Ù).
ulcase6
: scott/tiger
·Î¼ ulcase6.sql
¸¦ ½ÇÇàÇÑ´Ù. ±×·¯°í ³ª¼ ¸í·ÉÇà¿¡¼ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù:
$ sqlldr scott/tiger ulcase1 DIRECT=true
ulcase7
: scott/tiger
·Î¼ ulcase6.sql
script¸¦ ½ÇÇàÇÑ´Ù. ±×·¯°í ³ª¼ ¸í·ÉÇà¿¡¼ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù:
$ sqlldr scott/tiger ulcase7
Oracle8 Server´Â SQL*Loader ±â´ÉÀ» Æ÷ÇÔÇÏ°í ÀÖ´Ù. µ¥¸ð¿Í ¸Þ½ÃÁö ÆÄÀϵéÀº rdbms
directory ³»¿¡ ÀÖ´Ù.
SQL*Loader release 1.1 Á¶Àý ÆÄÀÏÀº ¿É¼Ç ¹®ÀÚ¿À» ó¸®ÇÏ´Â ´ÙÀ½ Ãß°¡ ÆÄÀϵéÀ» Æ÷ÇÔÇÑ´Ù. ±âº»ÀûÀ¸·Î ÀÎÀÚ ¾øÀÌ str
¸¦ »ç¿ëÇÑ´Ù.
[ "str" | "fix n" | "var n" ]
str
(±âº» °ª) ±â·ÏÀÇ streamÀ» ¸í½ÃÇÑ´Ù. °¢°¢Àº newline ¹®ÀÚ·Î ³¡³ª¸ç, Çѹø¿¡ ÇÑ ·¹Äڵ徿 ÀÐÈù´Ù.
fix
ÆÄÀÏÀÌ °íÁ¤±æÀÌ ·¹Äڵ带 °¡Áö°í ÀÖÀ½À» °¡¸£Å²´Ù. °¢°¢Àº n bytes ±æÀ̸¦ °¡Áö¸ç, ¿©±â¼ nÀº Á¤¼ö °ªÀÌ´Ù.
var
Àº ÆÄÀÏÀÌ °¡º¯±æÀÌ ·¹Äڵ带 °¡Áö°í ÀÖÀ½À» °¡¸£Å²´Ù. °¢°¢Àº n bytes ±æÀ̸¦ °¡Áú¼ö ÀÖÀ¸¸ç, ¿©±â¼ nÀº °¢ ·¹ÄÚµåÀÇ Ã³À½ 5±ÛÀÚ¿¡ ¸í½ÃµÈ Á¤¼ö°ªÀÌ´Ù.
¸¸¾à ÆÄÀÏ Ã³¸® ¿É¼ÇÀÌ ¼±ÅõÇÁö ¾Ê´Â´Ù¸é, Á¤º¸´Â ±âº»ÀûÀ¸·Î ·¹ÄÚµåÀÇ ½ºÆ®¸²À¸·Î 󸮵ȴÙ(str
). ¿©·¯ºÐµéÀº fix
mode°¡ ±âº»ÀûÀÎ str
mode º¸´Ù ´õºü¸£´Ù´Â °ÍÀ» ´À³¢°Ô µÉ °ÍÀÌ´Ù. ¿Ö³ÄÇÏ¸é ·¹ÄÚµåÀÇ Á¾·á¸¦ ãÀ» ÇÊ¿ä ¾ø±â ¶§¹®ÀÌ´Ù.
°íÁ¤±æÀÌ ·¹Äڵ带 Æ÷ÇÔÇÑ ÆÄÀÏÀ» Àбâ À§ÇÏ¿© fix ¿É¼ÇÀ» »ç¿ëÇÒ ¶§, ¿©±â¼ °¢°¢ÀÇ ·¹ÄÚµå´Â newline ¹®ÀÚ·Î Á¾·áµÇ¸ç, SQL *Loader¿¡°Ô ·¹ÄÚµåÀÇ ±æÀ̸¦ ¾Ë¸±¶§¿¡´Â newlineÀÇ ±æÀ̸¦ Æ÷ÇÔ½ÃŲ´Ù.
¿¹¸¦ µé¸é, ´ÙÀ½ ÆÄÀÏÀ» ÀÐÀ¸·Á¸é:
AAA newline BBB newline CCC newline
µÚ¿¡ ºÙ´Â newline ¹®ÀÚ¸¦ Æ÷ÇÔÇÏ¿© fix 3
´ë½Å¿¡ fix 4
·Î ¸í½Ã ÇØ Áà¾ß ÇÑ´Ù.
¸¶¾à ¿©·¯ºÐµéÀÌ ÆÄÀÏ¿¡¼ ¸¶Áö¸· ·¹Äڵ尡 newline ¹®ÀÚ¸¦ °¡Áø °íÁ¤±æÀÌÀÇ ·¹ÄÚµå·Î Á¾·áÇÏÁö ¾Ê´Â´Ù¸é, ´Ù¸¥ ·¹Äڵ嵵 newline ¹®ÀÚ·Î Á¾·áÇÒ ¼ö ¾ø´Ù. À¯»çÇÏ°Ô, ¸¸¾à ¿©·¯ºÐµéÀÌ ¸¶Áö¸· record¸¦ newlineÀ¸·Î Á¾·áÇÑ´Ù¸é ¸ðµç ·¹Äڵ带 newlineÀ¸·Î Á¾·áÇÒ ¼ö ÀÖ´Ù.
WARNING: ÀϺΠÅؽºÆ® ÆíÁý±â´Â, vi¿Í °°Àº, ÆÄÀÏÀÇ ¸¶Áö¸· ·¹Äڵ带 ÀÚµ¿À¸·Î newline ¹®ÀÚ·Î Á¾·á½ÃŲ´Ù. ÀÌ°ÍÀº ¸¸¾à ÆÄÀÏÀÇ ´Ù¸¥ ·¹Äڵ尡 newline ¹®ÀÚ·Î Á¾·á ÇÏÁö ¾ÊÀ» °æ¿ì ºÒÀÏÄ¡¼ºÀ» ¾ß±â ÇÒ¼ö ÀÖ´Ù. |
°íÁ¤±æÀÌ ·¹Äڵ忡¼ newline ¹®ÀÚ¸¦ ¾ø¾Ö°íÀÚ ÇÑ´Ù¸é ±×µéÀ» ¿Ã¸®´Â °Í º¸´Ù´Â control ÆÄÀÏ¿¡¼ position(x:y)
functionÀ» ÀÌ¿ëÇÑ´Ù. ÀÌ·¸°Ô Çϱâ À§Çؼ´Â ¿©·¯ºÐµéÀÇ control file¿¡ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÁÇÏ¿© ÁØ´Ù:
load data infile xyz.dat "fix 4" into table abc ( dept position(01:03) char )
ÀÌ°ÍÀÌ Á¾·áµÇ¸é, newlineÀº °¢°¢ÀÇ °íÁ¤±æÀÌ record ¿¡¼ ³×¹ø° À§Ä¡¿¡ Àֱ⠶§¹®¿¡ ¾ø¾îÁö°Ô µÈ´Ù.
See Also:
Oracle Security ServerÀÇ Á¤º¸¸¦ º¸±æ ¿øÇÑ´Ù¸é, Oracle Security Server Guide¸¦ º¸µµ·Ï Ç϶ó. |
µ¥ÀÌÅͺ£À̽º¸¦ À§ÇÑ control fileÀÇ Å©±â¸¦ °áÁ¤ÇÏ·Á¸é Table 2-15¿¡ ÀÖ´Â ÀÎÀÚµé °ªÀ» ÀÌ¿ëÇ϶ó.
Parameter | Default Value | Maximum Value |
MAXDATAFILES | 30 | 65534 |
MAXINSTANCES | 1 | 63 |
MAXLOGFILES | 16 | 255 |
MAXLOGMEMBERS | 2 | 5 |
MAXLOGHISTORY | 100 | 65534 |