ORACLE/INSTALL2010. 5. 31. 11:29
반응형



Oracle Database Upgrade Guide     (From 9.0.1.X to 9.2.0.X)


Introduction.
 
Upgrade 의 개요
 

Oracle Database 9.0.1.X 는 Oracle 9i Release 1, 또는 Oracle 9iR1 이라고도 불린다. 또한 9.2.0.X 는 Oracle 9i Release 2라고 한다. 이것은 이 두 버전의 차이가 상당하다는 의미를 내포하는 것이다.

9iR1에서 9iR2로의 업그레이드는 변화의 규모에서 사실상 새로운 설치와 다름이 없다. 구체적으로 말하자면 9iR2 처럼 정규적으로 배포되는 CD가 있는 경우에는 버전에 큰 변화가 있는 것이므로, 되도록이면 새로운 $ORACLE_HOME을 설정하고 오라클 엔진을 새로이 설치하는 것이 좋다. 실제로 오라클 설치매뉴얼에도 이는 강력히 권장되고 있으며, 만약의 경우 이전 상태로의 빠른 복구를 보장할 수 있다. 새로운 $ORACLE_HOME을 지정하지 않으면 이전 버전을 지우고 그 위에 새로운 버전의 엔진을 엎어 쓴다.
 
OS가 64bit인 경우에는 이전의 32bit제품을 64bit로 업그레이드 하는 경우는 별다른 조치가 필요없다. Character set의 word change도 자동으로 이루어지므로 신경쓰지 않아도 된다. (예. 32bit 9.0.1.4 에서 64bit 9.2.0.1 로의 업그레이드시 다른 조치가 필요없음)
 
 

주의사항
 
이 문서는 Sun OS 위주로 작성되었으나, 다른 OS에도 적용할 수 있다. 그럴 경우 OS에 따른 경로의 차이를 감안하면 된다.
 

작업 내용
 
사 전 준비
 
1. 백업:
데이터 파일의 백업은 미리 해도 되고 안해도 된다. DBUA (Database Upgrade Assistant) 가 실행되면서 어차피 백업을 해 주기 때문이다. 오히려 이 방법이 복구시 더 간편할 수도 있다. 단, DBUA가 백업본을 보관할 장소를 물어오는데, 이때 oracle user가 그곳의 쓰기권한이 없다면 DBUA는 백업과정을 무시하고 다음 단계로 진행해 버리니 주의해야 한다.

2. OS version check:
 
isainfo  kv

3. Oracle version check
 
Sqlplus ‘/as sysdba’ 로 들어간 후, 줄 마지막에 64bit Production이라고 나오지 않는다면 32bit 제품이다. 64bit OS에는 64bit 제품이건 32bit 제품이건 설치가 가능하다. 그러나 32bit OS에는 64bit 제품을 설치할 수 없다. 기존제품이 32bit 였고, 고객이 신 버전으로 64bit를 원한다면 반드시 새로운 $ORACLE_HOME에 설치해야 한다.
 
4. Memory setting
 
/etc/system 을 열어서 아래의 값이 확보되어 있는지 확인한다.
 
forceload:sys/shmsys
forceload:sys/semsys
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=500
set shmsys:shminfo_shmseg=100
set semsys:seminfo_semmns=1000
set semsys:seminfo_semmap=300
set semsys:seminfo_semmni=512
set semsys:seminfo_semmnu=500
set semsys:seminfo_semmsl=500
set semsys:seminfo_semopm=256
set semsys:seminfo_semume=100
set semsys:seminfo_semvmx=32767

5. /tmp 용량 확인   적어도 300m 가 있어야 한다.

 
6. 기존 DB의 설치파일을 백업해 두고, 필요한 경우 수정하며, 파일 권한도 확인해 둔다. 이 파일들은 새로운 인스톨 과정에서 덮어써지기 때문이다.

cp /var/opt/oracle/oraInst.loc /var/opt/oracle/oraInst.loc.bak
(OS에 따라서 cp /etc/oraInst.loc /etc/oraInst.loc.bak)
cp /usr/local/bin/dbhome /usr/local/bin/dbhome.bak
cp /usr/local/bin/oraenv /usr/local/bin/oraenv.bak
cp /usr/local/bin/coraenv /usr/local/bin/coraenv.bak
cp /var/opt/oracle/oratab /var/opt/oracle/oratab.bak (이때 새로운 SID가 보이지 않아도 그대로 둘 것)
 
7. .profile을 수정하여 새로 설치하려는 oracle의 환경으로 바꾼다. (사내서버의 경우 oracle user로 로그인할 경우 다양한 환경을 선택할 수 있도록 되어있으니 쉘스크립트의 case문에 추가하는 것이 좋다.) 다시 로그인 하든가 환경변수를 인식시켜 새로운 값을 가지게 한다. DB를 추가하는 경우가 아니므로, 업그레이드의 경우에는 $ORACLE_SID는 바꾸지 않아도 된다. $ORACLE_HOME 은 예를 들어 기존의 home이 …/…/9.0.1 이라면 새로운 home은 …/…/9.2.0 등등으로 바꾼다.
 

Oracle Database 9.2.0.1 설치
 
1.       DB를 내린다. Listener를 내린다. Agent도 내린다. (agentctl stop   사용되지 않은 상태였다면 “Could not contact agent. It may not be running.” 라는 메시지가 나오는데 무시하면 된다.)
 
2.       CD라면 마운트를 하고 oracle user로 ./runInstaller 를 실행. (만약 ‘/runInstaller: cannot execute’ 에러가 난다면 실행권한을 확인하고 하부 디렉토리까지 775정도로 바꿔준다. Xclock 이 실행되는지 확인. Xclock이 실행되지 않으면 runInstaller도 절대 실행되지 않는다. 문제가 있다면 echo $DISPLAY를 봐서 지금 x-server가 작동되는 PC의 ip가 나타나는지 확인해야 한다.)
 
3.       $ORACLE_HOME의 이름을 다르게 적어넣고 (예: ORACLE_HOME2) 경로를 바꿔준다. 만약 환경변수를 제대로 인식시켰다면 그 경로가 자동으로 나타날 것이다.

4.       설치과정중 ‘software only’를 선택하여 Oracle 엔진만 설치한다.
 
5.       $ORACLE_HOME에 있는 root.sh를 root 권한으로 돌리라고 한다. 창을 하나 더 띄워서 실행해 준다. 참고로 이로서 위의 6번에서 백업해둔 파일들이 업데이트된다.
 
6.       Installer가 끝나면 DBUA가 실행된다. (드물게 Oracle Enterprise Manager가 뜨는 경우가 있다. 그럴때는 끄고 unix prompt상에서 dbua를 실행하면 DBUA가 뜰 것이다.) 우선 백업을 할지 묻는다. DBUA로 백업하기로 결정했다면 적절한 곳에 백업받기 바란다. 이때 목적지의 쓰기권한을 반드시 확인한다.
 
7.       DBUA가 DB를 올려달라고 요청하면 그때 올려주면 된다.
 
8.       성공적으로 끝나면 9.2.0.1 까지 업그레이드가 다 된 것이다. 확인하고 싶다면 여기서 sqlplus 로 DB를 올려보면 된다.
 

9.2.0.X Patchset 적용
 
1.  Patchset을 업로드하고 적당한 곳에서 압축을 푼다.
 
Uncompress the file using "gunzip". Eg.: "gunzip solaris64_9.2.0.1.0.Disk1.cpio.gz"

Extract the file resulting from the step above using "cpio". Eg.: "cpio -idmv < solaris64_9.2.0.1.0.Disk1.cpio"

Repeat this for solaris64_9.2.0.1.0.Disk2.cpio.gz and solaris64_9.2.0.1.0.Disk3.cpio.gz

Important Note: Some browsers will uncompress the files but leave the extension the same (gz) when downloading. If the above steps do not work, try skipping step 1 and go directly to step 2 without changing the filename. Eg. "cpio -idmv < solaris64_9.2.0.1.0.Disk1.cpio.gz"
 
* oracle_patch_from_9.2.0.4_to_9.2.0.6.pdf 문서에 이 작업이 그림과 함께 자세히 설명되어 있으므로 참고하기 바람.
 
2.       DB와 Listener를 내린다. Agent도 내린다. (agentctl stop   사용되지 않은 상태였다면 “Could not contact agent. It may not be running.” 라는 메시지가 나오는데 무시하면 된다.)
 
3.       동일한 방법으로 runInstaller를 실행하고 지시에 따른다.
 

사후 처리
 
1.       끝나면 startup migrate 로 시작한후 $ORACLE_HOME/rdbms/admin/catpatch.sql을 수행한다. 서버와 데이터의 크기에 따라 다르지만 1시간여 걸린다.
 
2.       DB를 내렸다가 정상적으로 startup 한 다음 $ORACLE_HOME/rdbms/admin/utlrp.sql을 수행한다.
 
3.       v$version 등을 조회해서 이상없이 업그레이드가 되었는지 확인한다. 이전의 $ORACLE_HOME에 가서 listner 관련 파일(tnsnames 등등)들을 복사해 와서 새로운 홈에서 적절히 수정한다.
반응형
Posted by [PineTree]
ORACLE/INSTALL2010. 1. 11. 17:35
반응형
출처 : http://movestar.egloos.com/1867475

테스트 서버라 서버 안내리고 그냥 해봤는데 이상 없이 잘 되는 군요..^^

오라클을 오라클 공식문서 (quick install guide for linux)를 따라 설치하게 되면

em 화면에서 버튼이 아래 처럼 깨져있다.


http://imagesearch.naver.com/search.naver?where=idetail&rev=4&query=em%20%B1%FA%C1%FC&from=image&ac=1&sort=0&res_fr=0&res_to=0&merge=0&spq=0&start=1&a=pho_l&f=tab&r=1&u=http%3A%2F%2Fcafe.naver.com%2Focmkorea%2F2123 에서 펌 (한글 버튼 깨짐 문제를 해결하기전에 찍은 스샷이 없어서... 퍼왔습니다)


내 작업환경은 IDC에 오라클 서버가 있고 (linux), 내 컴퓨터는 공유기에 연결되어 내부 아이피를 사용하는 windows XP에 cygwin을 깔린 상태이다.

내부아이피를 사용하므로, 공유기에서 내 컴퓨터의 Xserver 포트(6000)로 포드포워딩을 해줘야 한다.

cygwin X server를 뛰우고, X term을 열여서 외부에서 cygwin X server로 들어오는 접속이 가능 하도록 설정 해준다.


이제 원격 오라클 서버에 oracle 계정으로 접속해서 (위 cygwin 터미널 또는 다른 프로그램(putty 등)

# export DISPLAY=내공유기IP:0.0

# (오라클 설치 파일이 있는 디렉토리 에서) ./runinstaller -addLangs $*

위와 같이 실행하면 원격 오라클 서버에 설치되는 과정을 내 컴퓨터에서 확인할 수 있다.



Next 버튼을 클릭하다보면 아래와 같은 화면이 뜨는데, 여기서 "Korean"을 선택해서 추가하면된다.



이게 끝이 아니다.

오라클을 custom으로 설치하는 과정에서 Korean을 추가해주면 ALBANWTK.TTF 파일이 생성되는데,

이미 설치된 오라클에서는 파일이 생성되지 않는다.

ALBAMWTK.TTF 파일을 (아래 첨부)

/u01/app/oracle/product/11.1.0/db_1/jdk/jre/lib/fonts/    디렉토리에 넣어주고,

/u01/app/oracle/product/11.1.0/db_1/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/ko/ 에 있는 파일들을 모두 지운다. (깨진 버튼 이미지들)

em을 종료시킨후에 (# emctl stop dbconsole)
재시작하고 (# emctl start dbconsole)
 em주소를 치고 들어가면,

정상적인 한글 버튼을 볼 수 있다.




반응형
Posted by [PineTree]
ORACLE/INSTALL2009. 12. 15. 16:59
반응형
01. CRS Patch(10.2.0.x -> 10.2.0.4)
02. DB Engine Patch(10.2.0.x -> 10.2.0.4)
03. CLUSTER_DATABASE Parameter FALSE 수정
04. STARTUP UPGRADE 후 SQL> @?/rdbms/admin/catupgrd.sql
05. SHUTDOWN IMMEDIATE 후 SQL> @?/rdbms/admin/utlrp.sql
06. CLUSTER_DATABASE Parameter TRUE 원복


반응형
Posted by [PineTree]
ORACLE/INSTALL2009. 9. 7. 21:30
반응형
I. Hardware:
===========
  1. Minimum Hardware Requirements
    a.) At least 1.0 Gb (1024 MB) of physical RAM
    b.) Swap disk space proportional to the system's physical memory as follows: 

         RAM                                Swap Space
         1024 Mb to 2048 Mb      1.5 x RAM
         2049 Mb to 16 Gb           1 x RAM 
         greater than 16 Gb            16 Gb

    c.) 1024 Mb of disk space (and less than 2Tb of disk space) in the /tmp directory.
    d.) 3.8 Gb of local disk space for the database software.
    e.) 1.7 Gb of disk space for a preconfigured database that uses file system storage (optional)


II. Software:
============
  1. As is specified in section 1.3.1 of the Oracle Database Installation Guide for 11gR2 on Linux (part number E10840-01), Oracle recommends that you install the Linux operating system with the default software packages (RPMs) and do not customize the RPMs during installation. For additional information on "default-RPMs", please see Note 376183.1, "Defining a "default RPMs" installation of the RHEL OS"

  2. Red Hat Enterprise Linux AS/ES 4 update 7 (or greater), which is Kernel 2.6.9-78.EL or newer.

  3. Required OS Components (per Release Notes, and Install Guide)
    a.) The exact version number details of this list are based upon 64-bit (x86-64) RHEL AS 4 update 7. When a newer "update" level is used, the RPM release numbers (such as 2.6.9-78) may be slightly higher (such as 2.6.9-83 or 2.6.9-95). Since RHEL AS/ES 4 "update" levels of "update 7" and beyond are certified, this is fine so long as you are still using 64-bit Linux (x86-64) RHEL AS/ES 4 RPMs.
    b.) Some of the Install Guide requirements will already be present from the "default-RPMs" foundation of Linux that you started with:
        1.) binutils-2.15.92.0.2-25 (x86_64)
        2.) compat-libstdc++-33-3.2.3-47.3 (x86_64) << both ARCH's are required. See next line.
        3.) compat-libstdc++-33-3.2.3-47.3 (i386) << both ARCH's are required. See previous line.
        4.) elfutils-libelf-0.97.1-5 (x86_64)
        5.) expat-1.95.7-4 (x86_64)
        6.) glibc-2.3.4-2.41 (x86_64) << both ARCH's are required. See next line.
        7.) glibc-2.3.4-2.41 (i686) << both ARCH's are required. See previous line.
        8.) glibc-common-2.3.4-2.41 (x86_64)
        9.) libaio-0.3.105-2 (i386) << both ARCH's are required. See next section.
        10.) libgcc-3.4.6-10 (x86_64) << both ARCH's are required. See next line.
        11.) libgcc-3.4.6-10 (i386) << both ARCH's are required. See previous line.
        12.) libstdc++-3.4.6-10 (x86_64) << both ARCH's are required. See next line.
        13.) libstdc++-3.4.6-10 (i386) << both ARCH's are required. See previous line.
        14.) make-3.80-7.EL4 (x86_64)
        15.) pdksh-5.2.14-30.6 (x86_64)
        16.) unixODBC-2.2.11-1.RHEL4.1 (x86_64) << both ARCH's are required. See next line.
        17.) unixODBC-2.2.11-1.RHEL4.1 (i386) << both ARCH's are required. See previous line.


    c.) The remaining Install Guide requirements will have to be installed:
        1.) elfutils-libelf-devel-0.97.1-5.x86_64.rpm
        2.) glibc-headers-2.3.4-2.41.x86_64.rpm will be required as a prerequisite
            a.) glibc-kernheaders-2.4-9.1.103.EL.x86_64.rpm will be required as a prerequisite
        3.) glibc-devel-2.3.4-2.41.x86_64.rpm << both ARCH's are required. See next section.
        4.) gcc-3.4.6-10.x86_64.rpm
        5.) libaio-0.3.105-2.x86_64.rpm << both ARCH's are required. See previous section.
        6.) libaio-devel-0.3.105-2.x86_64.rpm << both ARCH's are required. See next line.
        7.) libaio-devel-0.3.105-2.i386.rpm << both ARCH's are required. See previous line.
        8.) libstdc++-devel-3.4.6-10.x86_64.rpm
        9.) gcc-c++-3.4.6-10.x86_64.rpm 
      10.) sysstat-5.0.5-19.el4.x86_64.rpm
      11.) unixODBC-devel-2.2.11-1.RHEL4.1.x86_64.rpm << both ARCH's are required. See next line.
      12.) unixODBC-devel-2.2.11-1.RHEL4.1.i386.rpm << both ARCH's are required. See previous line.

  4. Additional Required OS Components (per the runInstaller OUI)
    a.) intentionally blank

  5. Additional Required OS Components (per this NOTE)
    a.) Please do not rush, skip, or minimize this critical step. This list is based upon a "default-RPMs" installation of 64-bit (x86-64) RHEL AS/ES 4. Additional RPMs (beyond anything known to Oracle) may be needed if a "less-than-default-RPMs" installation of 64-bit (x86-64) RHEL AS/ES 4 is performed. For more information, please refer to Note 376183.1, "Defining a "default RPMs" installation of the RHEL OS"
    b.) glibc-devel-2.3.4-2.41.i386.rpm << both ARCH's are required. See previous section.
    c.) Several RPMs will be required as prerequisites to those listed in section II.3.c:
        1.) glibc-kernheaders-2.4-9.1.103.EL.x86_64.rpm
        2.) itentionally blank

  6. Oracle Global Customer Support has noticed a recent trend with install problems that originates from installing too many RPMs. For example:
    a.) installing your own JDK version (prior to beginning the Oracle Software “runInstaller”) is not needed on Linux, and is not recommended on Linux. A pre-existing JDK often interferes with the correct JDK that the Linux Oracle Software “runInstaller” will place and use.
    b.) installing more than the required version of the gcc / g++ RPMs often leads to accidentally using (aka enabling or activating) the incorrect one. If you have multiple RDBMS versions installed on the same Linux machine, then you will likely have to manage multiple versions of gcc /g++ . For more information, please see Note 444084.1, "Multiple gcc / g++ Versions in Linux"

  7. All of the RPMs in section II. are on the Red Hat Enterprise Linux AS/ES 4 64-bit (x86-64) distribution media.

III. Environment:
================
  1. Modify your kernel settings in /etc/sysctl.conf (RedHat) as follows. If the current value for any parameter is higher than the value listed in this table, do not change the value of that parameter. Range values (such as net.ipv4.ip_local_port_range) must match exactly.
    kernel.shmall = physical RAM size / pagesize For most systems, this will be the value 2097152. See Note 301830.1 for more information.
    kernel.shmmax = 1/2 of physical RAM, but not greater than 4GB. This would be the value 2147483648 for a system with 4Gb of physical RAM.
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    fs.file-max = 512 x processes (for example 6815744 for 13312 processes)
    fs.aio-max-nr = 1048576
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576 

  2. To activate these new settings into the running kernel space, run the “sysctl –p” command

  3. The gcc and g++ RPM items above will ensure that the correct gcc / g++ versions are installed. It is also required that you ensure that these correct gcc / g++ versions are active, and in-use. Ensure that the commands "gcc --version" and "g++ --version" each return "3.4.x".

  4. Set Shell Limits for the oracle User. Assuming that the "oracle" Unix user will perform the installation, do the following:

    a.) Add the following settings to /etc/security/limits.conf
         oracle soft nproc 2047
         oracle hard nproc 16384
         oracle soft nofile 1024
         oracle hard nofile 65536

    b.) Add or edit the following line in the /etc/pam.d/login file, if it does not already exist:
         session required pam_limits.so

    c.) Add the following lines to /etc/profile:
         if [ $USER = "oracle" ]; then 
            if [ $SHELL = "/bin/ksh" ]; then
               ulimit -p 16384
               ulimit -n 65536
            else
               ulimit -u 16384 -n 65536
            fi
         fi


  5. The hostname command should return the fully qualified hostname as shown
below:
      % hostname 
          hostname.domainname

  6. If any Java packages are installed on the system, unset the Java environment variables, for example JAVA_HOME.

  7. The oracle account used to install Oracle 11.2.0.1, should not have the Oracle install related variables set by default. For example setting ORACLE_HOME, PATH, LD_LIBRARY_PATH to include Oracle binaries in .profile, .login file and /etc/profile.d should be completely avoided.
    a.) Setting $ORACLE_BASE (not $ORACLE_HOME) is recommended, since it eases a few prompts in the OUI runInstaller tool.
    b.) following the succesful install, it is recommended to set $ORACLE_HOME, and to set $PATH to include the Oracle binaries ($ORACLE_HOME/bin) as the first location.

  8. Log in as Oracle user and start the installation as follows:
     ./runInstaller

    a.) When performing the 11.2.0.1 installation, make sure to use the "runInstaller" version that comes with 11.2.0.1 software. 
    b.) When performing any subsequent 11.2.0.x patchset, make sure to use the "runInstaller" version that comes with the patchset. 
    c.) it is best practice not to use any form of "su" to start the runInstaller, in order to avoid potential display-related problems



ADDITIONAL NOTES
----------------
1. Supported distributions of the 32-bit (x86) Linux OS can run on on AMD64/EM64T and Intel Processor Chips that adhere to the x86_64 architecture
  a.) Oracle 32-bit running on AMD64/EM64T with 32-bit OS is supported, but is NOT covered by this NOTE.
  b.) Oracle 32-bit running on AMD64/EM64T with 64-bit OS is not certified and is not supported.

2. Asynchronous I/O on ext2 and ext3 file systems is supported if your scsi/fc driver supports that functionality.

3. No extra patch is required for the DIRECTIO support for x86-64.

4. No LD_ASSUME_KERNEL value should be used with the 11gR2 product.

5. Following rpm command can be used to distinguish between a 32-bit or 64-bit package.
    #rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep glibc-devel
     glibc-devel-2.3.4-2.41 (i386)
     glibc-devel-2.3.4-2.41 (x86_64)
반응형
Posted by [PineTree]
ORACLE/INSTALL2009. 9. 4. 09:44
반응형
오라클 DB에서 한글을 사용하다보면 정렬에 관한 문제가 발생하는 경우가 있다. 특히 동양권(한국/일본) 언어에서는 자국에 원어이외에 한자를 사용하고 있으므로 인해 여러가지 문제가 발생하는 경우가 있다.
 
KO16KSC5601에서 한글 정렬
KO16KSC5601 에서는 한글 2350자의 바이너리 정렬 순서가 한글의 언어적 정렬 방식과 동일하다. 따라서, 단순히 Order by 명령만으로 정렬의 효과를 거둘 수 있다. 한자의 경우 한글 뒤에 한자의 음에 맞게 정렬이 된다.
이것은 단지 한글 2350자들과 한자 4888자의 정렬일뿐이며, 나머지 글자들에 대해서는 입출력도 불가능하다.
 
UTF8/AL32UTF8에서 한글 정렬
UTF8 데이터베이스의 경우, 한글만을 고려하면 별다른 정렬 옵션이 필요없다. 왜냐하면 한글 11172자의 정렬 순서와 바이트 코드 정렬 순서가 일치하기 때문이다.
그러나 한자를 포함한다면 한자->한글 식으로 정렬이 된다.
 
KO16MSWIN949에서 한글 정렬
KO16MSWIN949 는 KO16KSC5601에서 지원되지 않는 8822자의 한글을 추가적으로 지원한다는 점에서 KO16KSC5601의 대안으로 자주 이용되는 Character Set이다. 하지만, 총 11172자의 한글의 바이트 코드가 한글의 언어적 정렬 순서와 불일치 한다.
 
NLS_SORT
UTF8과 KO16MSWIN949에서는 원하는 형태의 정렬이 일어나지 않는다. 이럴 때 NLS_SORT 값을 활용하여 원하는 형태의 정렬을 구현할 수 있다.
NLS_SORT='KOREAN_M'
  -  한글은 단순히 유니코드 바이트 정렬에 의존한다.
  - 모든 한글은 한자에 우선한다.
  - 한자는 발음 순서대로 정렬된다.
한마디로 KO16KSC5601에서 사용되던 정렬 방식으로 모든 한글과 한자를 정렬하겠다는 방법이다.
 
NLS_SORT='UNICODE_BINARY'
이 방법을 사용하면 각각의 문자에 대응하는 이진코드값을 기준으로 정렬된다. 이때는 한자->한글 순이다.
즉, 한글과 한자를 사용하는 경우에는 NLS_SORT='KOREAN_M'을 사용해야 한다.
반응형
Posted by [PineTree]
ORACLE/INSTALL2009. 9. 4. 09:41
반응형
NLS_LANG
오라클에서는 많은 환경변수 값을 사용하고 있다. 그렇지만 지금은 한글에 관한 이야기를 하고 있으므로 NLS_LANG만 가지고 설명한다.
오 라클 DB 서버와 클라이언트간 NLS_LANG 값을 동일하게 하여 사용하는 경우가 99%가량이다. 이렇게 사용하는 이유는 Oracle Client 프로그램을 이용하여 직접 오라클 DB에 접속하여 작업하는 경우가 대부분이기 때문이다.
그러나 NLS_LANG 변수의 값은 오라클 DB 환경변수 값이 아나라, 사용자 자신이 속해 있는 환경을 오라클 DB 서버에 알려주는 역할을 하는 환경변수이다.
 
            NLS_LANG = [언어]_[영역].[캐릭터셋]
언어 : 현재 사용자가 사용하는 언어적 특성을 결정짓는 값
영역 : 현재 사용자가 위치한 영역의 특성을 결정짓는 값
캐릭터셋 : 현재 사용자의 시스템이 인식할 수 있는 캐릭터 셋의 값
 
만 약 Windows Client에서 한국어 환경을 사용하는 경우 NLS_LANG 값을 'KOREAN_KOREA.KO16MSWIN949"로, 유닉스 클라이언트에서 한국어를 입출력한다면 'KOREAN_KOREA.KO16KSC5601'로 NLS_LANG를 설정할 것이다.
 
오라클 서버 CharacterSet과 클라이언트 CharacterSet을 동일하게 설정해야 하는 경우
앞서 이야기 했지만 NLS_LANG 값은 클라이언트 값이기 때문에 오라클 DB 서버와 동일하게 설정할 필요는 없지만 작업 및 그 동안 관습에 따라 오라클 DB서버와 NLS_LANG 변수 값을 동일하게 설정하는 경우가 많다.
그러나 오라클에서 아래에 나열한 작업이 필요할 경우 꼭 오라클 DB와 NLS_LANG 값을 동일하게 하는 것을 권장하고 있다.
- 데이터베이스로부터 데이터를 export 받을 때
- export 받은 데이터베이스와 같은 CharacterSet을 가진 DB로 export된 파일을 import할 때
- 기타 다국어 지원 애플리케이션에서 목적에 따라 사용할 때
 
NLS_LANG 관련 주요 변수
- NLS_TERRITORY : 영역 설정 - NLS_LANG 변수 값에 의해 자동 설정
    * 설정 방법 예> ALTER SESSION SET NLS_TERRITORY = 'KOREA'
- NLS_LANGUAGE : 언어 설정 - NLS_LANG 변수 값에 의해 자동 설정되는 초기화 변수
     * 설정 방법 예> ALTER SESSION SET NLS_LANGUATE = 'KOREAN'
- NLS_LANG : 언어, 영역, 캐릭터셋 설정 - 기본 값은 'AMERICAN_AMERICA.US7ASCII'
      * 설정 방법 예> OS 환경변수로 설정
- NLS_COMP : SQL에서의 비교 방식(<, >, =) 설정 - BINARY값으로 비교
      * 설정 방법 예> ALTER SESSION SET NLS_COMP = ''
- NLS_SORT : 문자열 정렬방식 설정 -  NLS_LANGUAGE 값에 따라 결정
      * 설정 방법 예> ALTER SESSION SET NLS_SORT = 'KOREAN_M'
 
- NLS_TERRITORY 변수에 따라 그 값이 결정되는 변수
    * NLS_CREDIT(대차대조표 '대변' 항목의 금액표기를 위한 기호. 보통 '공백' 문자)
    * NLS_CURRENCY
    * NLS_DATE_FORMAT
    * NLS_DEBIT(대차대조표 '차변' 항목의 금액표기를 위한 기호. 보통 '마이너스' 문자)
    * NLS_ISO_CURRENCY
    * NLS_LIST_SEPARATOR(숫자를 가로로 나열할 때 각 숫자를 구분하는 기호로,
       우리나라의 경우 콤마다)
    * NLS_MOMETARY_CHARACTERS(금액 표기시 금액을 읽기 쉽게 나누는 문자로
      우리나라에서는 3자리마다 ","를 추가)
    * NLS_NUMERIC_CHARACTERS(소수점 기호와 숫자 그룹핑을 위한 문자 설정.
      우리나라에서는 '.,'이다(dot와 comma).
    * NLS_TIMESTAMP_FORMAT
    * NLS_TIMESTAMP_TZ_FORMAT
    * NLS_DUAL_CURRENCY(유로화 변경 기간 동안의 혼란을 막기 위해 만들어진 매개변수.
      9iR2와 그 이후로는 EU의 유로화 변경이 완료된 상태로 NLS_CURRENCY와 값이 동일하다.
      다만 미래에 다른 지역에서도 통화기호의 변경이 일어나면 사용될 수 있음)
 
NLS_LANGUAGE 변수에 따라 그 값이 결정되는 변수
    * NLS_DATE_LANGUAGE
    * NLS_SORT
    * NLS_
반응형
Posted by [PineTree]
ORACLE/INSTALL2009. 9. 4. 09:40
반응형
US7ASCII
오라클 DB를 사용하는 곳을 보면 아직도 US7ASCII을 Character Set으로 사용하는 곳이 많이 있는 곳으로 알고 있다. 언뜻 보기에는 US7ASCII도 한글을 지원하는 것처럼 보이지만, 사실은 한글이 저장되는 것이 아니고, 한글을이진코드 형태로 변환하여 저장 및 출력하는 형태다.
 
한글을 지원하는 Character Set
현재까지 오라클 DB에서 한글을 사용하려면 Character Set을 "KO16KSC5601", "KO16MSWIN949", "UTF8", "AL32UTF8"만 사용할 수 있다.
 
KO16KSC5601
한글 완성형 코드와 일치하며 일반적으로 많이 사용되는 2350자의 한글, 4888자의 한자와 히라카나, 카타카나, 그리고 영문 및 각종 기호들을 포함하고 있다.
 
KO16MSWIN949
Windows-949 Character Set은 MS사의 Windows Codepage 949번, 즉 한글 코드 페이지를 따른 코드셋이다. 이는 완성형(KO16KSC5601)을 그대로 포함하고 있으며, 추가로 현대 한글 조합으로 표현할 수 있는 모든 가짓수에 해당하는 8822자의 한글을 추가해 포함하고 있다. 그러니까 "Windows-949 Character Set은 KSC5601의 수퍼셋(SuperSet)"이 되며, 따라서 "KO16MSWIN949 또한 KO16KSC5601의 수퍼셋"이 된다.
 
UTF8/AL32UTF8
UTF8 은 유니코드를 구현한 Character Set 중에 가변결이 인코딩 방식을 택하고 있는 Character Set이다. 가변 길이를 위해 일종의 플래그 비트를 각 바이트마다 포함시켜야 하다보니, 한 글자를표현하는데 필요한 바이트의 길이가 최대 3바이트(AL32UTF의 경우 6바이트)까지 늘어날 수 있다.
 
한글지원 Character Set 비교표
                        KO16KSC5601         KO16MSWIN949        UTF8                 AL32UTF8
한글지원 상태        2350자                   11172자                11172자                11172자
캐릭터셋/인코딩   한글완성형             한글조합형      8.1.6이전:Unicode 2.1  9iR1 : Unicode 3.0
버전                                                                     8.1.7이후:Unicode 3.0 9iR2 : Unicode 3.1
                                                                                                          10gR1 : Unicode 3.2
                                                                                                          10gR2 : Unicode 4.0
한글바이트              2Bytes                  2Bytes                  3Bytes                  3Bytes
지원버전                 7.x                      8.0.6 이상               8.0이상                  9iR1이상
National Char-        불가능                  불가능                   가능                      불가능
acterSet으로
설정 가능 여부
 
National CharacterSet
National CharacterSet은 유니코드를 지원하지 않는 CharacterSet을 가진 데이터베이스에서 유니코드를 지원하기 위해 부가적으로 설정할 수 있는 CharacterSet이다.
즉, 하나의 데이터베이스 인스턴스는 "CharacterSet"과 "National CharacterSet"을 가진다. 처음 시스템 구축 당시와는 달리, 한글 이외의 다른 언어를 급히 저장해야 할 필요성이 있는 경우 National CharacterSet을 적절히 활용할 수 있다.
National CharacterSet이 가능한 CharacterSet은 단 두가지로, UTF8과 AL16UTF16(기본값)이다.
Nation CharacterSet을 사용하기 위해서는 특정 타입으로 테이블읠 컬럼 또는 PL/SQL 변수를 선언해야 한다. CHAR와 VARCHAR2, CLOB에 대응되는 National CharacterSet 기반의 타입으로는 NCHAR, NVARCHAR2, NCLOB이 있다.
즉, KO16MSWIN949 데이터베이스에서 다음과 같이 테이블을 생성할 경우,
                 Create Table test_table (
                      varchar_value VARCHAR2(2000),
                      nvarchar_value NVARCHAR2(2000) );
"varchar_value" 컬럼에는 KO16MSWIN949에 속하는 글자들만 저장할 수 있는 반면, nvarchar_value 칼럼에는 유니코드에 속한 모든 글자들을 저장할 수 있다. 약간의 부가적인 코드가 필요할 뿐 실제 프로그래밍 방식은 거의 동일한다.
 
CharacterSet 선택의 원칙
- 한글 지원을 위해서는 반드시 위의 네가지 CharacterSet 중에 하나를 선택해야 함
- 한국에서만 사용하는 시스템이라면 KO16MSWIN949를 선택한다.
- 한국어뿐 아니라 중국어, 일본어, 러시아어 등 다양한 언어로 된 데이터를 저장해야 한다면
   UTF8, AL32UTF8을 선택한다. 인코딩 변환으로 한국어 기반의 CharacterSet에 비해 속도의 저하가
   있다고 알려져 있음
- 대부분이 한글이며, 일부 외국어가 필요하다면, 한국어 기반의 CharacterSet(KO16MSWIN949)을
   사용하되, National CharacterSet을 이용한 칼럼에 외국어를 저장한다.
반응형

'ORACLE > INSTALL' 카테고리의 다른 글

Oracle과 한글 그리고 UTF-8 <네번째>  (0) 2009.09.04
Oracle과 한글 그리고 UTF-8 <세번째>  (0) 2009.09.04
Oracle과 한글 그리고 UTF-8 <첫번째>  (0) 2009.09.04
LINUX ORACLE 10G 패키지  (0) 2009.08.04
LINUX ORALCE 10G설치  (0) 2009.08.04
Posted by [PineTree]
ORACLE/INSTALL2009. 9. 4. 09:38
반응형
DBA가 프로젝트를 시작하면서 가장 먼저 결정해야 할 것은 Oracle Database Character Set이다.
오 라클 DBA로서 개발자나 현업 담당자들에게 UTF-8을 권장하지만, 강권하지 못하는 실정이다. 이유는 현업 담당자들은 기존에 거의 대부분 KO16KSC5601을 사용했거나 일부 사용자들은 US7ASCII를 사용하고 있었기 때문에 UTF-8을 사용할 경우 막연한 불안감이 있으며, 개발자들은 UTF-8로 갈 경우 기존에 가지고 있던 개발 프로그램의 문자열 처리 및 기타 여러가지 수정사항이 많이 발생하기 때문에 반대하는 경우가 허다하다.
 
그래서 오라클과 한글, 특별히 UTF-8을 중점적으로 Oracle Character Set에 관해 알아보자.
 
Oracle Database 한글판?
오라클 데이터베이스를 설치하려고 할 때, 명확한 이해를 못하는 사람들은 "한글판의 설치"를 강하게 주장하는 경우가 있다. 답답한 마음을 든다.
오라클은 M$-Windows처럼 한글판, 영문판 등으로 구분되지 않고, DB의성격 및 크기 그리고 추가적인 기능으로 구분된다. 즉 Oracle DBMS는 언어별 제품 구분이 없다는 야그다.
 
Oracle DBMS에서 다국어 지원
앞 서 언급했듯이 오라클 DBMS는 처음부터 다국어 지원을 목적으로 설계된 일종의 RDBMS 소프트웨어다. 이렇게 다국어를 지원하는 소프트웨어는 몇가지 규칙을 가지고 다국어를 지원하고 있으며, 오라클도 마찬가지로 나름대로 다국어 지원 규칙이 있다.
 
1. 영역(Territory)별 지원
" 영어"를 모국어로 사용하고 있는 나라들도 사용되는 날짜 표기 방법이 다르다. 즉 영국에서는 "일/월/연도"로 표기하는 반면, 미국에서는 "월/일/연도"로 표기한다. 물론 사용하는 통화기호 또한 "파운드"와 "달러"로 각가 다르다. 이 같이 동일 언어를 사용한다고 하더라도 서로 다른 지리적, 사회적 특성으로 말미암아 서로 차이점을 가지게 된다. 이러한 차이점을 반영하는 방법이다.
- 달력 설정 방법 : 어떤 나라는 한 주의 첫번째 요일을 일요일로, 다른 나라는 월요일로 생각함
- 날짜 포맷 : 같은 날짜를 표기하는데 각 지역마다 고유의 방식이 있음
- 통화 기호 : 각 지역마다 통화기호와 금액 표기 방식이 다름
- 숫자 그룹 : 소수점 기호나 숫자를 그룹핑하는 방법이 지역마다 다름
 
2. 언어(Language)적 지원
언어별로 달리 지원을 하는 특성은 다음과 같은 것이 있다.
- Character Set : 각 언어가 저장될 수 있는 Character Set을 대부분 지원함.
   한국어의 경우 KO16KSC5601과 KO16MSWIN949가 있음
- 정렬 방식 : 각 언어별로 정렬하는 규칙이 다름
- 날짜 표기에 사용되는 기호 : 날짜를 표시할 때 사용하는 month, day, day of week, year 같은
   정보를 그 나라에 맞게 번역하여 제공
- 에러메시지 및 UI번역 : 사용자들의 불편을 최소화하기 위해 각 언어별로 번역된 에러 메시지와
   사용자 인터페이스를 제공(에러 메시지의 출력은 전적으로 OS의 언어와 관련이 있음)
 
Oracle과 한국어
한글은 세종대왕께서 천지인을 바탕으로 창제하신 아주 훌륭한 문자다. 그러나 막상 IT업계 종사자들은 비 라틴계언어가 아닌 이상은 한글이건 중국어건, 일어건 다 처리하기 어렵고 짜증나는 언어임에는 틀림없다.
오라클에서 한글을 사용하고 싶을 때 가장 쉬운 방법은 오라클 DBMS를 설치할 때 실행언어에 한국어를 추가하면 아주 쉽게 끝낼 수 있다. 다만 너무 지나친 속도로 마우스 클릭만을 하지 않으며 된다.
설치 단게에서 "한국어"를 선택하면 한국에 관련된 일종의 언어팩과 같은 추가적인 기능이 더 설치된다.
- 번역된 메시지 : 오라클 DBMS와 함께 제공되는 애플리케이션 중, iSQL*Plus나 자바, ADF 기반의 웹 애플리케이션의 경우에는 "언어선택"과 관계없이 번역된 작업 환경이 제공된다. 하지만, SQL*Plus와 같은 기존 애플리케이션은 오라클의 번역 메시지 리소스에 의존하며 이들 파일은 각 언어별로 따로 제공된다. 만일 설치 때에 "한국어"를 선택하지 않으면 한국어 메시지 파일은 설치되지 않는다.
- 폰트 : 오라클 ADF(UIX 혹은 CABO) 기반의 애플리케이션의 경우, "확인", "취소" 등의 버튼이 이미지로 제공되는 경우가 많다. 이런 이미지들은 번역된 메시지를 바탕으로 UIX 엔진에 의해 동적으로 생성된다. 이 이미지가 제대로 생성되기 위해서는 반드시 특정 폰트를 필요로 하게 되는데, 이 폰트는 "한국어"를 선택하지 않을 경우 설치되지 않는다. 이 특정 폰트는 한국어, 중국어(간체, 번체) 그리고 일본어에 대해 각각 제공되므로, 만일 한국어 이외에 이들 언어도 지원해야 할 경우 필수적으로 그 언어들을 선택해야 할 것이다.
- 로케일 정보 : 번역 뿐만 아니라 오라클 DBMS가 다양한 로케일 정보를 가진 클라이언트들과 제대로 통신하기 위해서는 각 국가별, 언어별로 특색있는 로케일 정보를 지니고 있어야 한다. 이들은 날짜 형식("2050-04-14", "Jul 9, 2005" 등), 통화 코드($) 등의 정보를 포함하고 있다. 한국어에 관한 로케일 정보를 위해 반드시 "한국어"를 선택해야 한다.
 
즉, 오라클 DBMS 설치 과정 중 실행환경에서 선택하는 "한국어"와 오라클 DB에서 한국어 저장 및 출력은 아무 상관이 없다는 이야기다. 한국어의 저장과 출력은 Oracle DBMS 설치 과정중 Character set 선택과정에서 무엇을 선택했냐에 따라 결정되는 것이다.
반응형

'ORACLE > INSTALL' 카테고리의 다른 글

Oracle과 한글 그리고 UTF-8 <세번째>  (0) 2009.09.04
Oracle과 한글 그리고 UTF-8 <두번째>  (0) 2009.09.04
LINUX ORACLE 10G 패키지  (0) 2009.08.04
LINUX ORALCE 10G설치  (0) 2009.08.04
solaris10 oracle install 9i 설정값  (0) 2009.05.27
Posted by [PineTree]
ORACLE/INSTALL2009. 8. 4. 16:33
반응형
(아래 설정은 최소값임으로 더 높게 설정되어 있다면 수정할 필요가 없습니다.)

- OS
  o RHEL AS/ES 3.0 (Update 4 or later) 2.4.21-27.EL or higher
  o RHEL AS/ES 4.0 2.6.9-5.0.5.EL or higher
  o RHEL AS/ES 5.0 or higher
  o SuSE SLES9 2.6.5-7.201 or higher

- OS Kernel
 
  SuSE SLES9:
    SEMMSL 250
    SEMMNS 32000
    SEMMNI 128
    SEMOPM 100
    SHMMAX RAM times 0.5
    SHMMNI 4096
    SHMALL = SHMMAX/pagesize (Note 301830.1)
    FILE-MAX 65536
    IP_LOCAL_PORT_RANGE 1024 65000
    RMEM_DEFAULT 1048576
    RMEM_MAX 1048576
    WMEM_DEFAULT 262144
    WMEM_MAX 262144
 
  Other Linux OS:
    SEMMSL 250
    SEMMNS 32000
    SEMMNI 128
    SEMOPM 100
    SHMMAX RAM times 0.5
    SHMMNI 4096
    SHMALL = SHMMAX/pagesize (Note 301830.1)
    FILE-MAX 65536
    IP_LOCAL_PORT_RANGE 1024 65000
    RMEM_DEFAULT 262144
    RMEM_MAX 262144
    WMEM_DEFAULT 262144
    WMEM_MAX 262144


  RHEL 5  or OEL5(oracle enterprise linux5)
   kernel.shmmni = 4096
   kernel.sem = 250 32000 100 128
   fs.file-max = 65536
   net.ipv4.ip_local_port_range = 1024 65000
   net.core.rmem_default = 1048576
   net.core.rmem_max = 1048576
   net.core.wmem_default = 262144
  net.core.wmem_max = 262144


- OS Patch List
 
  RHEL3:
    gcc-3.2.3-34
    glibc-2.3.2-95.20
    make-3.79.1
    openmotif21-2.1.30-8
    compat-db-4.0.14.5
    compat-gcc-7.3-2.96.128
    compat-gcc-c++-7.3-2.96.128
    compat-libstdc++-7.3-2.96.128
    compat-libstdc++=devel-7.3-2.96.128
    setarch-1.3-1
    XFree86 (Spatial only)
    XFree86-devel (Spatial only)
 
  RHEL4:
 
    binutils-2.15.92.0.2-10.EL4
    compat-db-4.1.25-9
    compat-libstdc++-296-2.96-132.7.2
    compat-libstdc++-33-3.2.3-47.3
    control-center-2.8.0-12
    gcc-3.4.3-9.EL4
    gcc-c++-3.4.3-9.EL4
    glibc-2.3.4-2
    glibc-common-2.3.4-2
    gnome-libs-1.4.1.2.90-44.1
    libstdc++-3.4.3-9.EL4
    libstdc++-devel-3.4.3-9.EL4
    make-3.80-5
    pdksh-5.2.14-30
    sysstat-5.0.5-1
    xscreensaver-4.18-5.rhel4.2
    openmotif21-2.1.30-11.RHEL4.2 (required to install Oracle demos)
    libaio-0.3.96
 
  RHEL 5(X86)
     gcc-c++-4.1.1-52.el5.i386.rpm 
     gcc-4.1.1-52.el5.i386.rpm
     libstdc++-devel-4.1.1-52.el5.i386.rpm
     glibc-devel-2.5-12.i386.rpm
     glibc-headers-2.5-12.i386.rpm
     libgomp-4.1.1-52.el5.i386.rpm
     libXp-1.0.0-8.i386.rpm
     compat-libstdc++-33-3.2.3-61.i386.rpm
     compat-gcc-34-3.4.6-4.i386.rpm
     compat-gcc-34-c++-3.4.6-4.i386.rpm
     sysstat-7.0.0-3.el5.i386.rpm




  RHEL 5(X86_64):
   gcc-c++-4.1.1-52.el5.x86_64.rpm     
   libstdc++-devel-4.1.1-52.el5.x86_64.rpm
   glibc-headers-2.5-12.x86_64.rpm
   glibc-devel-2.5-12.x86_64.rpm
   libgomp-4.1.1-52.el5.x86_64.rpm
   gcc-4.1.1-52.el5.x86_64.rpm
   glibc-devel-2.5-12.i386.rpm
   compat-gcc-34-c++-3.4.6-4
   compat-libstdc++-33-3.2.3-61 (x86_64)
   compat-libstdc++-33-3.2.3-61(i386)
   libXp-1.0.0-8 (i386)
   sysstat-7.0.0-3.el5.x86_64.rpm


  OEL 5:
   gcc-c++-4.1.1-52.el5.i386.rpm
   libstdc++-devel-4.1.1-52.el5.i386.rpm
   gcc-4.1.1-52.el5.i386.rpm
   glibc-devel-2.5-12.i386.rpm
   glibc-headers-2.5-12.i386.rpm
   libgomp-4.1.1-52.el5.i386.rpm
   libXp-1.0.0-8.i386.rpm
   compat-db-4.2.52-5.1.i386.rpm
   compat-libstdc++-296-2.96-138.i386.rpm
   compat-libstdc++-33-3.2.3-61.i386.rpm
   sysstat-5.0.5-1.i386.rpm
 

  OEL 5(X86_64):
   gcc-c++-4.1.1-52.el5.x86_64.rpm
   libstdc++-devel-4.1.1-52.el5.x86_64.rpm
   glibc-headers-2.5-12.x86_64.rpm
   glibc-devel-2.5-12.i386.rpm
   glibc-devel-2.5-12.x86_64.rpm
   libgomp-4.1.1-52.el5.x86_64.rpm
   gcc-4.1.1-52.el5.x86_64.rpm
   compat-db-4.2.52-5.1.i386.rpm
   compat-db-4.2.52-5.1.x86_64.rpm
   compat-libstdc++-33-3.2.3-61.i386.rpm
   compat-libstdc++-33-3.2.3-61.x86_64.rpm
   libXp-1.0.0-8.i386.rpm
   sysstat-7.0.0-3.el5.x86_64.rpm





 SuSE SLES9:
 
    default-RPMs (see Note 386391.1)
    glibc-devel-2.3.3-98.47.i586.rpm
    gcc-3.3.3-43.34.i586.rpm.
    libstdc++-devel-3.3.3-43.34.i586.rpm
    gcc-c++-3.3.3-43.34.i586.rpm
    db1-1.85-85.1.i586.rpm
    orbit-0.5.17-330.1.i586.rpm
    gnome-libs-1.4.1.7-671.1.i586.rpm.
    plotutils-2.4.1-575.1.i586.rpm
    gnuplot-3.7.3-256.1.i586.rpm
    sysstat-5.0.1-35.4.i586.rpm.


- Set the session limits for Oracle user(RHEL5 or OEL5)

 Add the following lines to the /etc/security/limits.conf file

   oracle soft nproc 2047
   oracle hard nproc 16384
   oracle soft nofile 1024
   oracle hard nofile 65536
 
 
 Add the following line in the /etc/pam.d/login file

   session required pam_limits.so
 
 
 Add the following lines to the /etc/profile.
  Change this accordingly if the oracle user has a different shell

if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi



- JDK & JRE : JDK 1.4.2_08 is installed
             
             
- Disk Space : 1.2G Database
               1.5 to 3.5G Install
              
              

- RAM :  1GB

- Swap:  If RAM = 1024MB to 2048Mb then 1.5 times RAM
         elseif RAM > 2048MB and < 8192MB then match RAM
         else RAM > 8192MB then .75 times RAM
        
- TMP :  400 M
        
- oracle user (dba group) 생성
        
- unzip, cpio 여부               
          
- xhosts 설정여부 (oracle user로 xclock 명령어실행 가능)

반응형

'ORACLE > INSTALL' 카테고리의 다른 글

Oracle과 한글 그리고 UTF-8 <두번째>  (0) 2009.09.04
Oracle과 한글 그리고 UTF-8 <첫번째>  (0) 2009.09.04
LINUX ORALCE 10G설치  (0) 2009.08.04
solaris10 oracle install 9i 설정값  (0) 2009.05.27
오라클 삭제 방법  (0) 2009.03.18
Posted by [PineTree]
ORACLE/INSTALL2009. 8. 4. 16:31
반응형
1. 그룹 생성
groupadd -g 5000 dba

2. 설치폴더 생성
mkdir -p /app/oracle

3. 사용자 생성
useradd -g 5000 -u 501 -d /oracle oracle

4. 소유권 변경
chown -R oracle:dba /oracle
chmod -R 755 /oracle

5. 시스템 설정 파일 변경
vi /etc/sysctl.conf

kernel.shmall                = 2097152
kernel.shmmax                = 2147483648
kernel.shmmni                = 4096
kernel.sem                   = 250 32000 100 128
fs.file-max                  = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default        = 1048576
net.core.rmem_max            = 1048576
net.core.wmem_default        = 262144
net.core.wmem_max            = 262144

  (확인시)
  /sbin/sysctl -p

6.  vi /etc/security/limits.conf

*   soft    nproc           2047
*   hard    nproc           16384
*   soft    nofile           1024
*   hard    nofile          65536

7. vi /etc/profile

if [ $USER = "oracle10" ]; then
   ulimit -u 16384 -n 65536
fi

8.vi /etc/pam.d/login

  session  required  /lib/security/pam_limits.so

9.oracle 계정 profile 설정
umask 022
LANG=C
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE
export ORACLE_SID=TESTDB
export ORACLE_TERM=vt100
export PATH=$PATH:$ORACLE_HOME/bin:/bin:/usr/bin:/sbin:/usr/ccs/bin:/usr/ucb    
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:$ORACLE_HOME/network/lib
export NLS_LANG=AMERICAN_AMERICA.UTF8
export ORA_NLS10=$ORACLE_HOME/nls/data
export TNS_ADMIN=$ORACLE_HOME/network/admin
export EDITOR=vi

10.설치
xmanager passive 실행
export DISPLAY=xxx.xxx.xxx.xxx:0.0

11.설치시 에러 무시
./runInstaller -ignoreSysPrereqs (10g R1 설치할때 에러가 나온다)


select instance_name, status from v$instance;

select file_name, bytes/1024/1024"MB", tablespace_name from dba_data_files;

select file_name, bytes/1024/1024"MB", tablespace_name from dba_temp_files;

select member from v$logfile;

select name from v$controlfile;
반응형

'ORACLE > INSTALL' 카테고리의 다른 글

Oracle과 한글 그리고 UTF-8 <첫번째>  (0) 2009.09.04
LINUX ORACLE 10G 패키지  (0) 2009.08.04
solaris10 oracle install 9i 설정값  (0) 2009.05.27
오라클 삭제 방법  (0) 2009.03.18
CentOS 5.2에 Oracle 9i 설치하기  (0) 2009.02.23
Posted by [PineTree]