오라클 ocp 오라클학원 ocp학원 오라클자격증 ocp자격증 oracle oracle자격증 oracle학원 db db관리자 db전문가 데이터베이스전문가 데이터베이스관리자 9i 10g 오라클공인교육센터 오라클인증 sql 오라클 ocp 오라클학원 ocp학원 오라클자격증 ocp자격증 oracle oracle자격증 oracle학원 db db관리자 db전문가 데이터베이스전문가 데이터베이스관리자 9i 10g 오라클공인교육센터 오라클인증 sql 오라클 ocp 오라클학원 ocp학원 오라클자격증 ocp자격증 oracle oracle자격증 oracle학원 db db관리자 db전문가 데이터베이스전문가 데이터베이스관리자 9i 10g 오라클공인교육센터 오라클인증 sql 오라클 ocp 오라클학원 ocp학원 오라클자격증 ocp자격증 oracle oracle자격증 oracle학원 db db관리자 db전문가 데이터베이스전문가
Q1. Oracle RDBMS 설치 관련정보를 찾아보려면?A1. Platform/version별 Installation Guide를 참조한다
(http://casuppntsw.ca.oracle.com/online_docs.html에서 UNIX documentation을
선택하면 7.X 이후의 모든 platform/version별 product에 대한 Installation
Guide를 .html 형식으로 참조할 수 있다)
Q2. Oracle 설치시 RDBMS와 O/S version간 certification을 확인하는 방법은?
A2. 다음의 방법을 따른다 :
1) WebIV에 접속하여 platform별 matrix를 확인한다
http://webiv.us.oracle.com
http://webiv.au.oracle.com
http://webiv.uk.oracle.com
2) Oracle Certification 관련 홈페이지를 참조한다
http://wwsreg.us.oracle.com:8001/certifyv3/owa/certify.welcome
http://casunsol4.ca.oracle.com/certify.html
http://orlapp06.us.oracle.com/unix/certification/certification.html
Q3. 기타 참조할만한 자료를 WEB에서 찾으려면?
A3. 다음의 홈페이지를 참조한다 :
http://www-sup.ca.oracle.com
http://frhp11.fr.oracle.com
Q4. Oracle 설치시 필요한 디스크 공간을 확인하려면?
A4. Installer를 띄운 후, Software Asset Manager에서 product를 선택하면 화면
하단에 필요한 disk space가 나타난다
Q5. Oracle 설치시 필요한 memory는 얼마이며, 이를 확인할 수 있는 방법은?
A5. Platform별 Installation Guide에서 요구되는 memory 사양을 확인할 수 있
으며, SWAP space는 통상 RAM의 2.5~3배 정도 필요하다 (DW 용도일
경우에는 더 필요할 수도 있다)
Q6. 장비에 설치된 RAM 및 SWAP space를 확인하는 방법은?
A6. Platform별로 확인방법이 다르다
구 분 Memory 확인 SWAP space 확인
HP-UX /usr/sbin/dmesg /usr/sbin/sysdiag /etc/swapinfo
Digital UNIX vmstat -P/usr/sbin/uerf -R -r 300|more/usr/sbin/psrinfo -v (CPU info) /usr/sbin/swapon -s
Solaris /usr/sbin/prtconf/usr/sbin/psrinfo -v (CPU info) /usr/sbin/swap -l
RS-6000 AIX lsattr -E -l sys0 -a realmemlsdev -Cc memorylscfg -v /etc/lsps -a
* 자세한 내용은 http://frhp11.fr.oracle.com/notes/portspec.html 참조
Q7. Install시 나타나는 'Do you want to relink?' 메시지의 의미는 무엇인가?
A7. Oracle 설치가 완료되면 executable file들은 ?/bin에 복사된다. 실수
로 ?/bin에 위치한 file을 삭제하는 등, executable file을 재생성해야 할 필
요가 있을 경우 Installer를 돌려 위의 메시지에서 'yes'를 선택하면 Installer
는 선택된 모든 product의 executable을 다시 ?/bin에 설치(copy)한다
Q8. Default로 relinking되는 product는?
A8. 'Do you want to relink?' 메시지에서 'no'를 선택하더라도 SQL*Net과
PL/SQL은 자동적으로 relink되며, 하나의 option이나 cartridge를 추가 설
치하는 경우에도 위의 두 product는 항상 relink된다
Q9. SQL*Net과 PL/SQL이 항상 relink되는 이유는?
A9. 이 product들은 Oracle kernel의 일부로 존재하기 때문에 executable이
regenerate되어야 한다
Q10. Product의 install 순서는?
A10. 모든 ?/<product>/install 또는 ?/<product>/install/<product> 디렉토리 밑에
는 partial.prd라는 file이 존재한다. 예를 들어 ?/sqlplus/partial.prd의 내
용은 다음과 같다 :
1000 plus root "plus" "3.1.3.2.1" "SQL*Plus" ....
숫자 '1000'은 install시 해당 product의 상대적인 설치 순서를 의미한다.
즉, 1000보다 작은 숫자를 가진 product는 SQL*Plus보다 먼저 설치되고,
1000보다 큰 숫자를 가진 product는 SQL*Plus보다 나중에 설치된다.
각 partial.prd file들이 모여 $ORACLE_HOME 밑에 unix.prd라는 file이
생성된다. 이 file을 참조하면 모든 product들이 설치되는 순서를 알 수
있다.
Q11. Unix.prd($ORACLE_HOME)와 unix.stp(?/orainst)의 차이점은?
A11. Unix.prd는 미디어에 수록된 모든 product들이 설치순으로 나열된
Product Enumeration Script이다. Unix.stp는 설치시 global variable을 초기
화하는 setup script이다.
Q12. Usrdfl.log(?/orainst)는 무슨 file인가?
A12. Usrdfl.log는 Installer 실행시마다 update되는 file로서, Installer 재실행시
창에 나타나는 default value에 대한 정보를 가지고 있다(Installer를 재실
행하면 이전에 입력했던 값들이 default값으로 이미 지정되어 있음을 알
수 있다).
Q13. <product>.vrf(?/<product>/install)는 무슨 file인가?
A13. 다음의 기능을 수행한다 :
1) Product file의 load여부를 확인하기 위해 product dependency를 분석한다
2) 필요시 relink option을 획득한다
3) DB object 생성시 필요한 configuration 정보를 user로부터 받는다
Q14. Unix.vrf(?/orainst)는 무슨 file인가?
A14. Tape 미디어 사용시에만 필요한 file로서, 설치시 Installer가 tape로부터
읽어들여야 할 product들을 판단한다.
Q15. <product>.ins(?/<product>/install)는 무슨 file인가?
A15. Product 설치 script file로서, 각 product를 copy, link하고, 필요한 SQL
script를 돌리는 역할을 한다.
Q16. Unix.pin(?/orainst)은 무슨 file인가?
A16. 설치 종료 이후의 작업을 수행하는 post-installation script이다. Parallel
Server 설치시 다른 node에 $ORACLE_HOME의 하위 디렉토리를 copy
하고 remote instance를 띄우는 역할을 한다.
Q17. Unix.rgs(?/orainst)는 무슨 file인가?
A17. 설치된 product들의 목록이다.
Q18. <product>.map(?/<product>/install)은 무슨 file인가?
A18. 해당 product와 관련하여 설치된 모든 file들의 목록으로, deinstall시 사
용된다
Q19. <product>.dei(?/orainst)는 무슨 file인가?
A19. Deinstall시 실행되는 script file이다.
Q20. Product 설치시 항상 log file이 생성되는가?
A20. Log file은 항상 생성되며, default값은 ?/orainst/install.log이다.
Q21. $ORACLE_HOME과 $HOME은 반드시 동일해야 하는가?
A21. 그렇지 않다. $HOME은 UNIX 계정(oracle user)의 홈 디렉토리이며,
$ORACLE_HOME은 사용자 임의로 설정할 수 있다. 디렉토리 관리상의
편의 및 확장성을 위해 Oracle에서는 OFA 구조를 준수할 것을 권장한
다.
OFA 구조 사례 : /u01/app/oracle/product/8.x.x
Q22. 설치종료 후 root.sh(?/orainst)을 반드시 돌려야 하는가?
A22. 그렇다. 이 file을 실행하면 oratab file이 생기거나 기존의 oratab file에
새로 생성된 instance에 대한 정보가 추가된다. 또한 설치시 설정한
local bin 디렉토리에 일부 file이 복사된다. 이 file은 반드시 root user로
돌려야 한다.
Q23. 설치시 설정하도록 되어있는 local bin 디렉토리는 무엇인가?
A23. 설치시 지정하는 local bin 디렉토리는 /bin과는 다른 디렉토리이다.
Root.sh를 돌리게 되면 local bin 디렉토리에 oraenv, coraenv, dbhome 등의
executable file들이 복사된다. Local bin 디렉토리는 모든 user들의 default
$PATH에 포함되어 있는 디렉토리로 설정하는 것이 바람직하다.
Q24. 'Make'는 무엇인가?
A24. Make는 UNIX에서 제공하는 command generator이다. Oracle executable을
생성하기 위해서는 compile 및 link 작업을 거쳐야 하는데, make는 이 작
업을 자동화해주는 utility이다.
Q25. 'Make'는 반드시 필요한가?
A25. Oracle 설치시 make utility는 반드시 필요하다. 따라서 설치전에 make가
path에 설정되어 있는지 반드시 확인한다(대부분의 경우 당연히 설정되
어 있다)
Q26. $ORACLE_SID 설정시 자릿수에 제한이 있는가?
A26. 일부 O/S는 filename 자릿수에 제한을 두고 있기 때문에 ORACLE_SID
자릿수도 제한될 수 있다. 예를 들어 AT&T System V 장비들의 경우
filename을 14자리로 제한하기 때문에 ORACLE_SID를 4자리 이내로
설정해야 한다. 따라서 가급적 4자리 이내로 설정하는 것이 좋다.
Q27. UNIX 계정 및 그룹에 대한 정보를 확인하려면?
A27. 다음과 같이 계정 및 그룹에 대한 정보를 확인할 수 있다 :
계정확인 (/etc/passwd)
oracle:hnaBn809usjYs:8000:100:John Doe:/usr/oracle:/bin/csh
① ② ③ ④ ⑤ ⑥ ⑦
① : account name (oracle)
② : 암호화된 user의 password (hnaBn809usjYs)
③ : user id (8000)
④ : group id (100)
⑤ : account owner (John Doe), optional
⑥ : user의 home directory (/usr/oracle)
⑦ : user의 default shell (/bin/csh - C-shell)
그룹확인 (/etc/group)
dba:*:100:oracle, root
① ② ③ ④
① : group name (dba)
② : 암호화된 group password (*)
③ : group id (100)
④ : group에 속한 member (oracle, root)
Q28. User 및 group을 생성하는 방법은?
A28. 다음의 여러가지 방법이 있다
#27에서 언급한 두 file을 직접 편집하는 것보다는 O/S에서 제공하는
tool을 사용하거나 command line에서 user/group을 생성할 것을 권장한다
1) Tool 사용
HP : sam Sun : admintool IBM : smit, smitty
2) Command Line
$ groupadd -g 100 dba
$ useradd -u 101 -g 100 -d /home/app/oracle/product/8.0.5 -s /bin/ksh oracle
Q29. Root user로 Oracle을 설치할 수 있는가?
A29. 할 수 없다. Oracle 설치를 위한 oracle user를 따로 만들어야 한다
Q30. Root.sh을 한 번 돌린 후, 다시 돌려야 할 필요가 있는가?
A30. 처음 돌릴 때 에러가 발생하지 않았다면 다시 돌릴 필요가 없다
Q31. $ORACLE_HOME과 $ORACLE_SID가 environment file에 명시되어 있지
않았을 경우, 이를 확인하는 방법은?
A31. 다음과 같다 :
1) SID 확인방법
/etc/oratab (Solaris의 경우에는 /var/opt/oracle/oratab) file을 확인한다
2) $ORACLE_HOME 확인방법
find 또는 which 명령어를 이용하여 svrmgrl executable의 path를 찾는다
find / -name svrmgrl -print 또는 which svrmgrl
* svrmgrl 등의 Oracle executable은 $ORACLE_HOME/bin에 위치한다
Q32. Installer를 사용하지 않고 manual하게 DB를 생성할 수 있는가?
A32. 다음의 절차를 통해 manual하게 DB를 생성할 수 있다
1) $ORACLE_HOME이 제대로 설정되어 있는지를 확인하고,
$ORACLE_SID를 정한다 (기존 DB외에 새로운 DB를 추가 생성할 경
우, 새로운 ORACLE_SID를 정해야 한다)
2) $ cd ?/dbs
3) $ cp init.ora init<NEWSID>.ora
4) init<NEWSID>.ora file 편집
5) $ svrmgrl
SVRMGR> connect internal
SVRMGR> startup nomount
SVRMGR> create database ...
...
CREATE DATABASE문을 돌리면 System datafile만 생성되므로 admin
manual 등을 참조하여 rollback, temp, redo log datafile 등도 생성한다
6) SVRMGR> exit
7) $ cd ?/rdbms/admin
8) $ svrmgrl
9) SVRMGR> connect internal
10) SVRMGR> @catalog
11) SVRMGR> @catproc
Q33. Crdb<SID>.sql, crdb2<SID>.sql는 무슨 file인가?
A33. $ORACLE_BASE/admin/<SID>/create에 위치한 file들로서, DB를 생성해
주는 script file이다. Installer로 DB를 생성하게 되면 이 file들이 만들어
지며, 추가로 DB를 manual하게 생성시 위의 file들을 조금씩 편집하여
Server Manager에서 connect internal하여 돌리면 된다.
Q34. Product media가 없이도 DB를 Installer로 생성할 수 있는가?
A34. Oracle 설치시 Installer를 선택했다면 가능하다. ?/orainst에서 orainst를 실행하면 된다.
Q35. Data dictionary가 요구하는 최소 disk space는?
A35. 최소한 10~15 MB가 필요하다. 하지만 System tablespace는 dictionary 외
에도 user들이 작성하는 procedure 등도 포함하기 때문에 이보다는 넉넉
하게 주는것이 좋다 (한 100MB 정도?)
Q36. Oracle instance가 running중인지 여부를 확인하는 방법은?
A36. Oracle instance가 start되면 ?/dbs에 sgadef<SID>.dbf라는 file이 생긴다.
이 file이 존재하면 DB는 떠있는 상태다. 하지만 비정상적인 경우에는
DB가 shutdown된 후에도 이 file이 그대로 남아있는 경우가 있다. 이
경우 file을 삭제한 후 다시 DB를 start해본다. Instance의 running여부를
확인할 수 있는 또다른 방법은, ps -ef|grep <SID>를 이용하는 것이다. 만약
DB가 떠있다면 background process들이 나타나게 된다.
Q37. DBA Guide에 명시된 대로 DB는 255개의 DB file을 지원할 수 있는가?
A37. 실제로는 OS에 따라 다르다. 대부분의 UNIX 시스템은 최대 62개까지
의 file만 지원한다. 이는 file을 표시하기 위해 사용할 수 있는 bit수가
제한되어 있기 때문이다.
Q38. Setuid bit란 무엇인가?
A38. Oracle executable의 's' bit를 의미한다. Oracle executable의 permission을
6755로 지정하면 이를 실행하는 user는 실행중 oracle user의 권한을 갖
게 된다. 즉, 실제로 user가 그 file에 대한 permission이 없더라도 실행
중에는 file의 owner인 oracle user의 권한을 갖게 되는 것이다.
-rwsr-sr-x 1 oracle dba
Setuid bit이 setting되어 있지 않으면 oracle user만이 DB에 접속할 수
있다. ?/bin 디렉토리에 위치한 'oracle' executable에 setuid bit이 setting되
어 있으면 다른 user들도 DB에 접속할 수 있게 된다 (-rwsr-s--x)
Q39. 특정 user가 어떤 group에 속해있는지 Oracle은 어떻게 확인하는가?
A39. ?/rdbms/lib에 위치한 config.s라는 file은 현재 dba group에 대한 정보를
가지고 있다. Server Manager에서 connect internal을 치면 Oracle은 현재의
user가 /etc/group에 dba group으로 등록되어 있는지 확인한다. 등록되어
있지 않을 경우 connect internal을 할 수 없다. Dba group은 Oracle 설치시
Installer에 의해 setting된다. Default 값은 dba이며, 다른 이름을 사용할
수도 있다. Dba group명을 바꾸고 싶은 경우, ?/rdbms/lib/config.s를 수정하
고 oracle을 relink하면 된다.
Q40. Installer를 돌리지 않고도 manual하게 'oracle'을 relink할 수 있는가?
A40. ?/rdbms/lib에서 다음과 같이 치면 된다 :
$ make -f oracle.mk oracle
이렇게 하면 ?/bin 밑에 oracle executable이 다시 생성된다. Relink 이전에
반드시 DB를 shutdown해야 한다. Relink 후 oracle executable의
permission을 6755로 바꾸고, owner가 oracle로 되어 있는지 확인한다.
다음의 명령을 줄 경우, 모든 RDBMS 관련 executable들이 ?/bin에 재
생성된다.
$ make -f oracle.mk install
Q41. 하나의 Oracle executable set로 2개의 다른 DB를 운용할 수 있는가?
A41. 가능하다. 2개의 DB 모두 같은 $ORACLE_HOME을 가져야 하며,
$ORACLE_SID는 물론 달라야 한다.
Q42. Data dictionary view를 생성하는 script는 무엇인가?
A42. ?/rdbms/admin에 위치한 catalog.sql이다. 이 script는 반드시 SQL*Plus에
서 'SYS' user 또는 Server Manager에서 connect internal을 한 후 돌려야 한
다.
Q43. Import/Export view를 생성하는 script는 무엇인가?
A43. ?/rdbms/admin에 위치한 catexp.sql이다. Import/Export시 ORA-942 'table or
view does not exist' 에러가 발생하면 catexp.sql이 돌려지지 않았을 가능
성이 높다. Catalog.sql을 돌리면 catexp.sql도 자동적으로 돌려진다.
Q44. Cat7x.sql은 무슨 file인가?
A44. Oracle7 version간 upgrade시 필요한 script들이다. 예를 들어 7.2.3에서
7.3.4로 upgrade할 경우, 다음의 script들을 돌려주어야 한다(Installer에
서 Database Object Upgrade를 선택하면 필요한 script들이 자동으로 돌
려진다) :
cat7203.sql, cat7301.sql, cat7303.sql
Q45. Init.ora는 무슨 file인가?
A45. DB startup시 사용되는 parameter file이다. User의 필요에 따라 이 file을
수정하여 각종 initialization parameter들을 변경할 수 있다. Init.ora file은
Oracle에서 제공하는 sample file이며, 실제 parameter file은 init<SID>.ora
의 형태로 나타난다. 이 file은 ?/dbs에 위치해 있으며, OFA 구조를 사용
할 경우에는 $ORACLE_BASE/admin/<SID>/pfile/init<SID>.ora에 위치한다
(이 경우 ?/dbs에 있는 file과는 soft link되어 있다). Init<SID>.ora file에
특정 값을 지정하지 않을 경우, default값이 적용된다. Init<SID>.ora file에
서 지정할 수 있는 모든 parameter들의 목록을 보려면 Server Manager에
서 'show parameters'를 치면 된다.
Q46. *.trc file은 무엇인가?
A46. Oracle은 exception이 발생할 경우 이를 기록하여 trace file을 생성한다.
Trace file은 call stack trace 및 SGA/PGA/supervisor stack의 dump 정보를
가지고 있다. Init<SID>.ora file에서 trace file이 떨어지는 위치를 지정할
수 있다.
Q47. Alert*.log file은 무엇인가?
A47. 특수한 trace file로서, instance startup/shutdown, 화면에 출력되는 각종 메
시지, 에러 등, 일반 trace file보다 훨씬 많은 정보를 기록한다. Alert file
은 init<SID>.ora file의 BACKGROUND_DUMP_DEST에 명시된 위치에
떨어진다. 메시지 등이 발생할때마다 alert*.log file에 내용이 append되
기 때문에 이 file은 한없이 커지며, 따라서 어느정도 size가 커지면
backup을 받은 후 정기적으로 지워주는 것이 좋다.
Q48. Trace file을 구분하는 방법은?
A48. Ls -lt를 입력하여 timestamp를 확인한다
Q49. 오래된 trace file을 삭제해도 괜찮은가?
A49. Error 등의 발생여부를 확인하여 조치한 후에는 삭제해도 무방하다
Q50. 동일한 executable을 이용하여(즉, 기존의 S/W를 사용) DB를 새로 생성
할 경우, root.sh를 다시 돌려야 하는가?
A50. Oracle file의 permission이 이미 맞게 설정되어 있기 때문에 root.sh를 다
시 돌릴 필요가 없다. 하지만 /etc/oratab에 새로운 SID에 대한 정보를
추가해주어야 한다
Q51. 설치 직후 Oracle은 media 또는 instance recovery를 수행할 수 있도록
설정되어 있는가?
A51. DB를 생성하면 default로 NOARCHIVELOG mode에 놓이게 된다. 따라
서 svrmgrl 등을 통해 ARCHIVELOG mode로 전환한 후에 recovery 가 가
능해지게 된다
Q52. DB 생성시 Oracle data block의 size를 정하는 방법은?
A52. Installer에서 우선 software만을 설치하고 빠져나온
후, ?/rdbms/install/rdbms에서 cnfg.orc file을 수정한다. 예를 들어 block size
를 4K로 하고싶은 경우, DB_BLOCK = 4096으로 주면 된다. 참고로 IBM
AIX의 default Oracle block size는 4K로 잡힌다.
Q53. SGA, shared memory 등은 무엇을 의미하는가?
A53. SGA는 Oracle이 할당하여 사용하는 메모리 영역으로, 하나의 Oracle
instance에 대한 data 및 control 관련정보를 가지고 있다. SGA를 통해
user들간 정보의 교환이 가능해지며, 자주 사용되는 정보도 SGA 에 저
장된다. SGA는 Oracle background process와 함께 하나의 Oracle instance
를 구성하는 요소이다. SGA의 크기는 대략 다음과 같다 :
DB_BLOCK_BUFFERS*DB_BLOCK_SIZE + LOG_BUFFERS + SHARED_POOL_SIZE
DB_BLOCK_BUFFERS : Cache로 사용되는 SGA상의 database block 수
DB_BLOCK_SIZE : Oracle database block의 크기
LOG_BUFFERS : redo log buffer를 위해 SGA상에 할당되는 공간 (bytes)
SHARED_POOL_SIZE : shared cursor 및 stored procedure를 저장하는 shared pool의 크기
(bytes)
Q54. Semaphore란 무엇인가?
A54. O/S에 의해 자동적으로 증감될 수 있는, 정수값을 가지는 object이다.
하나의 semaphore에 대해 동시에 하나의 process만이 작업을 수행할 수
있으며, 이를 통해 process들간 synchronization을 구현할 수 있다. 하나의
process가 semaphore에 대해 작업중일 때, 다른 process들은 semaphore의
값이 증가하거나 0으로 변환된 후 작업을 할 수 있게 된다.
Q55. 얼마만큼의 semaphore가 필요한지를 확인하려면?
A55. System내 semaphore의 수는 UNIX kernel parameter인 SEMMNS에 의해
결정된다. 다음과 같이 SEMMNS의 값을 결정할 수 있다 :
SEMMNS > processes + instance_processes + system
processes : init.ora file에 명시된 값으로서, 현재 system상에서 running중인 모든 instance
상에서 접속 가능한 connection 수의 합계
instance_processes : 5(DBWR, LGWR, PMON, SMON, ARCH) * system상의 instance 수
system : 기타 system이 필요로 하는 non-Oracle semaphores
Q56. DB 생성시 필요한 shared memory 및 semaphore 관련 kernel parameter를
확인하는 방법은?
A56. Platform/version별 Installation Guide를 참조한다. O/S의 kernel parameter를
확인하려면 sysdef 명령어를 입력한다. Kernel parameter 변경시에는
/etc/system file의 마지막 부분에 다음과 같이 입력한다 :
(Sun Solaris의 사례)
forceload : sys/shmsys
forceload : sys/semsys
set shmsys:shminfo_shmmax=367001600
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=400
set shmsys:shminfo_shmseg=100
set semsys:seminfo_semmns=400
set semsys:seminfo_semmsl=100
set semsys:seminfo_semmni=200
Q57. Shared memory segment 및 semaphore의 사용현황을 확인하는 방법은?
A57. Ipcs, ipcrm 등이 있다. Ipcs-b를 사용하면 현재 사용중인 shared memory
및 semaphore를 확인할 수 있다
Q58. System의 가상 메모리를 관리하는 방법은?
A58. 머신 종류에 따라 다른 유틸리티를 제공한다. 일반적으로 BSD 계열은
vmstat을, AT&T 계열은 sar을 각각 제공한다.
Q59. ?/bin에 svrmgrl executable이 존재하지 않을 경우, 이를 재생성하는 방법
은?
A59. Svrmgrl 등, Oracle kernel 관련 executable은 ?/rdbms/lib에서 다음과 같이
생성할 수 있다 :
make -f oracle.mk svrmgrl
make -f oracle.mk imp
make -f oracle.mk exp
.....
위의 과정을 통해 executable이 생성되면 OS 명령어를 이용하여 ?/bin으
로 copy한다. 모든 Oracle RDBMS executable을 재생성하여 ?/bin으로 복
사하는 과정을 한번에 하려면 다음과 같이 한다 :
make -f oracle.mk install
각 product에 대해서도 해당 *.mk file을 위와같이 make해주면 executable
을 재생성할 수 있다
Q60. 위의 방법을 사용하면 기존의 old executable을 덮어쓰는가?
A60. Make -f oracle.mk install을 입력하면 oracle0 등의 executable copy가 생성
된다. Oracle executable을 overwrite하기 전에 반드시 DB를 shutdown하는
것이 좋다
Q61. Sql.bsq(?/dbs)는 무슨 file인가?
A61. 실제 data dictionary를 구성하는 table 정보를 가진 file로서, database
object 생성시 실행되는 script이다.
Q62. DB가 이미 설치된 상태에서 dba group명을 변경하는 방법은?
A62. 다음의 절차를 따른다 :
1) ?/rdbms/liv/config.s file에서 dba명을 바꾼다
2) /etc/group file에서 dba명을 바꾼다
3) DB를 shutdown한다
4) Oracle executable을 relink한다
5) DB를 start한다
Q63. DB가 이미 설치된 상태에서 datafile을 새로운 위치로 변경하는 방법
은?
A63. 다음의 절차를 따른다 :
1) svrmgrl에서 DB를 shutdown
2) OS상에서 datafile을 새로운 위치로 copy
3) svrmgrl에서 startup mount
4) alter database rename file 'old_filename' to 'new_filename';
5) alter database open;
Q64. 위의 방법으로 log file도 rename할 수 있는가?
A64. 약간의 차이가 있다 :
1) svrmgrl에 들어간다
2) alter database add logfile 'new_filename';
3) alter database drop logfile 'old_filename';
Drop하고자 하는 logfile이 사용중일 경우, alter system switch logfile을 하
여 inactive 상태로 만든 후 위의 과정을 거친다
Q65. DB 생성시 몇개의 control file이 생성되는가?
A65. 처음에는 3개의 control file이 default로 생성된다(O/S별로 다를수도 있
음). 가급적 3개의 control file을 각각 다른 disk에 위치시키는 것이 좋
다(control file mirroring)
Q66. DB를 ARCHIVELOG mode로 운영하고 싶지만 archive log를 저장하기
위한 충분한 disk 공간이 없을 경우 어떻게 해야하는가?
A66. 대부분의 UNIX platform은 tape archiving을 지원한다. 이를 위해서
archmon이라는 process가 사용된다
Q67. Database 및 logfile의 name을 임의로 줘도 상관없는가? 그리고 file명을
잊어버렸을 경우 이를 확인하는 방법은?
A67. File의 이름은 어떻게 주어도 상관없다. File명을 확인하기 위해서는 :
1) svrmgrl
2) select * from dba_data_files (datafile 확인)
3) select * from v$logfile (logfile 확인)
4) select * from v$controlfile (control file 확인)
Q68. Datafile의 일부는 raw device에 저장하고 일부는 일반 UNIX file system
에 저장할 수 있는가?
A68. 가능하다. Oracle은 device의 종류를 구분하지 않는다. Raw device를 사
용할 경우 write시 UNIX buffer cache를 bypass하기 때문에 performance
는 향상될 수 있다
Q69. 하나의 raw device에 여러 datafile을 위치시킬 수 있는가? Raw device상
에서 tablespace 생성시 raw device의 size는 어떻게 잡아야 하는가?
A69. 하나의 raw device는 하나의 Oracle datafile만을 지원할 수 있다. 따라서
하나의 큰 raw device를 사용할 경우, 이를 여러개로 repartition하여 2
개 이상의 tablespace(즉, datafile)를 사용하면 된다. Datafile의 크기는
raw device의 overhead 등을 감안하여 raw partition의 크기보다 10% 정
도 작게 잡는것이 좋다(통상 raw partition의 size보다 1M 정도 작게 잡
는다).
Q70. 현재의 DB에 product를 추가하는 방법은?
A70. Installer를 띄운 후 Install Software Only option을 선택하여 product를 추
가한다. 그리고 Upgrade Existing Database Objects에서 방금 install한
product를 선택한다.
Q71. DB 설치시 모든 product를 반드시 처음에 선택해야 하는가? 아니면 일
부 product를 나중에 추가해도 되는가?
A71. Product 설치는 언제든 가능하다. 하지만 RDBMS는 반드시 처음에 설치
해야 한다.
Q72. DB를 새로 생성하면 product도 새로 설치해야 하는가?
A72. 그럴 필요는 없다. 하지만 새로 생성된 DB가 사용할 product에 대해서
는 database object를 생성해줘야 한다. 일부 product들은 DB상에 특정
table을 필요로 하기 때문에 새로운 DB에서 사용할 product에 대해서
는 database object를 새로 생성해줘야 하는 것이다.
Q73. 설치된 일부 product가 필요없을 경우, 해당 directory의 file을 그냥 삭
제해도 되는가?
A73. Installer를 띄워서 deinstall하는 것이 바람직하다.
Q74. Cpio 또는 tar를 이용하여 하나의 product를 load할 수 있는가?
A74. 가능하다.
Q75. 현재 설치되어 있는 network driver를 확인하는 방법은?
A75. 여러가지 방법이 있다.
1) nm 명령을 이용한다 (nm oracle | grep nttini → TCP/IP 확인)
2) adapters oracle (설치된 protocol adapter 확인)
Q76. 일부 product가 제대로 설치되지 않았을 경우, DB 전체를 다시 설치해
야 하는가?
A76. 설치되지 않은 product만 다시 설치하면 된다
Q77. SQL*Net driver를 설치한 후, client를 설치하지 않고도 test할 수 있는
방법은?
A77. 'Loopback' test를 하면 된다. ?/network/admin에 위치한 tnsnames.ora에서
새로운 service_name을 하나 등록하고(이미 설정되어 있으면 필요없다),
sqlplus username/password@service_name을 이용하여 접속하면 client에서
접속하는 것과 동일한 효과를 얻을 수 있다.
Q78. DB설치 후, 새로운 CD를 통해 새로운 product를 추가할 수 있는가?
A78. 가능하다. 예를 들어 Developer CD를 새로 구매했을 경우, 새로운
$ORACLE_HOME directory를 지정하여 설치하면 기존의 RDBMS와 충
돌이 일어나지 않는다. Developer, Web Server 등의 tool들은 가급적
RDBMS와 별도의 $ORACLE_HOME에 설치하는 것이 좋다.
Q79. /etc/oratab(/var/opt/oracle/oratab)은 무슨 file인가?
A79. Oracle user가 own하는 file로서, root.sh 실행시 생성/변경된다. Oratab의
sample entry를 보면 다음과 같다 :
V73:/u01/app/oracle/product/7.3:Y
V80:/u01/app/oracle/product/8.0:N
#V80:/u01/app/oracle/product/8.0:N
첫번째 entry는 $ORACLE_SID, 두번째 entry는 $ORACLE_HOME이며,
세번째 entry는 OS상에서 dbshut/dbstart script를 통해 DB를 자동으로
startup/shutdown 할지의 여부를 선택하는 option이다. Oratab이 존재하지
않을 경우 root.sh를 돌리면 새로 생성되며, 이미 존재할 경우 새로운
entry를 추가한다. 특정 $ORACLE_SID가 이미 존재할 경우, old entry를
comment out하고 새로운 entry를 추가한다.
Q80. Coraenv와 oraenv는 무슨 file인가?
A80. C-shell과 Bourne-shell에서 각각 돌아가는 shell script file이다. 하나의
machine에 여러 DB가 존재할 경우, 이 script를 profile file(.profile, .cshrc
등)에 입력할 수 있다. 이렇게 하면 user에 접속시 SID를 선택할 수 있
게 된다. 원하는 SID를 입력하면 coraenv/oraenv는 /etc/oratab을 참조하
여 $ORACLE_HOME, $ORACLE_SID, $PATH 등을 user의 환경에 적절
히 설정한다.
Q81. Dbhome(?/bin), echodo(?/bin)는 무슨 file인가?
A81. Dbhome은 특정 $ORACLE_SID에 대해 $ORACLE_HOME을 확인하기
위해 oraenv/coraenv가 호출하는 script file이다. 즉, /etc/oratab에서
$ORACLE_SID를 확인하는 file이다. Echodo는 단순히 commance를 echo
한 후 실행하는 script file이다.
Q82. Oracle error message에 대한 내용을 확인하는 방법은?
A82. 다음과 같이 oerr utility를 사용하면 된다 :
ORA-12154 error가 발생했을 경우,
$ oerr ora 12154
위와 마찬가지로 ORA 뿐 아니라 IMP-, PLS-, TNS- 등의 error도 확인할
수 있다
Q83. Permission을 반드시 확인해야 할 file들은 무엇인가?
A83. ?/bin에 위치한 'oracle' executable 및 dbsnmp file들이다. Oracle executable
은 rwsr-sr-x로 setting(chmod 6755)되어야 하며, oracle user가 own해야 한
다.
Q84. 여러 directory에 위치한 lib<xxx>.a는 무슨 file인가?
A84. Oracle source code의 executable version을 포함하고 있는 library file이다.
즉, program이 compile되면 ar command를 통해 library로 archive된다.
Q85. Ranlib은 무슨 file인가?
A85. 각 archive library에 대한 목록을 생성하는 UNIX utility다. Ranlib은
SunOS 4.x에서 archive linking을 빠르게 수행하기 위해 사용되었으나,
현재는 ar command가 ranlib의 기능을 대신하고 있다.
Q86. ?/bin에 위치한 oracle0, svrmgrl0 등은 무슨 file인가?
A86. Relink시 install script에 의해 별도로 저장되는 executable의 old file로서,
모든게 정상적으로 동작한다면 삭제해도 무방하다.
Q87. Ps 명령 실행시 sqlplus user의 password를 숨길 수 있는 방법은?
A87. Sqlplus 실행시 login line에 password를 입력하지 않고 username만 입력
한 후, password prompt가 떨어진 후에 입력한다.
Q88. Patch를 설치하는 방법은?
A88. 우선 patch의 readme file을 읽어본다. $ORACLE_HOME 밑에 patch
directory를 새로 만들고(다른 directory여도 상관없다) 이곳에 patch를
복사한 다음 tar 등을 이용하여 푼다. 그 다음 orainst에서 Add Software
를 선택하여 patch를 설치한다.
Q89. Install manual에는 post installation step으로 다음의 command를 system
startup file에 추가하라고 되어 있는데, 정확히 무슨 의미인가?
su - oracle -c '<$ORACLE_HOME>/bin/dbstart'
A89. 위의 command는 system booting시 root에 의해 자동으로 실행된다. 위
의 command를 실행하면 /etc/oratab file에 Y로 명시되어 있는 모든 DB
들이 system start시 함께 startup된다. 마찬가지로 system shutdown file에
dbshut command를 실행하도록 지정하면 system shutdown시 DB가 자동
으로 shutdown된다.
Q90. Ulimit은 무엇인가?
A90. Ulimit은 현재 shell의 system resource를 setting하거나 확인하는
command이다. Ulimit을 이용하여 disk 등의 제한이 충분한지를 확인하고,
불충분시 늘릴 수 있다.
Q91. Swap space의 크기는 어떨게 잡아야 하는가?
A91. RAM 크기의 2~3배가 적당하며, Oracle Applications 사용시에는 4배로
잡는다.
Q92. 현재의 작업환경을 확인하는 방법은?
A92. ?/orainst에서 다음을 실행한다 :
unixenv >> unixenv.log
Unixenv.log를 보면 각종 resource 현황 등을 볼 수 있다.
Q93. Motif가 설치되어 있지 않아도 Motif-based product를 실행할 수 있는가?
A93. X11 library가 설치되어 있으면 실행 가능하지만, relink는 할 수 없다.
Q94. UNIX system error message를 확인하는 방법은?
A94. /usr/include/sys/errno.h를 참조한다
Q95. UNIX system signal error를 확인하는 방법은?
A95. /usr/include/sys/signal.h를 참조한다
Q96. 설치된 Oracle product들의 버젼을 확인하는 방법은?
A96. $ORACLE_HOME/orainst에서 inspdver를 실행한다
Q97. Oracle RDBMS upgrade시, 기존의 버젼을 반드시 deinstall해야 하는가?
A97. Deinstall하지 않고 같은 $ORACLE_HOME에 new version을 설치하면 된
다
Q98. Oracle 관련 문제에 대해 보다 자세히 알기 위하여 유용한 것들로는 무
엇이 있는가?
A98. 엔지니어들이 주고받는 메일의 내용을 열심히 읽어보고 필요한 것들을
관리한다.
Q99. Helpkern은 무엇인가?
A99. 전세계 Oracle engineer들이 주고받는 메일로서, 일종의 Oracle newsgroup
이라고 할 수 있다. Oracle Korea E-Mail Administrator에게 신청하면
Helpkern 메일을 받아볼 수 있다.
Q100. Oracle Server 외의 다른 기술자료들을 얻는 방법은?
A100. KMS(http://krkms.kr.oracle.com), WebIV(Q2 참조) 등을 참조한다.
오라클 ocp 오라클학원 ocp학원 오라클자격증 ocp자격증 oracle oracle자격증 oracle학원 db db관리자 db전문가 데이터베이스전문가 데이터베이스관리자 9i 10g 오라클공인교육센터 오라클인증 sql 오라클 ocp 오라클학원 ocp학원 오라클자격증 ocp자격증 oracle oracle자격증 oracle학원 db db관리자 db전문가 데이터베이스전문가 데이터베이스관리자 9i 10g 오라클공인교육센터 오라클인증 sql 오라클 ocp 오라클학원 ocp학원 오라클자격증 ocp자격증 oracle oracle자격증 oracle학원 db db관리자 db전문가 데이터베이스전문가 데이터베이스관리자 9i 10g 오라클공인교육센터 오라클인증 sql 오라클 ocp 오라클학원 ocp학원 오라클자격증 ocp자격증 oracle oracle자격증 oracle학원 db db관리자 db전문가 데이터베이스전문가