Database

Oracle Database Installation

Memo
BW Server
Install Maintenance HTTPS Connector
ISM
Install
BWMAgent
Linux Compile

Oracle Database 설치 및 환경 구성, 자동 시작 스크립트

Install

a. 오라클 설치 계정 생성 및 설치 환경 구성

    - Create Oracle User and Groups
        # /usr/sbin/groupadd -g 54322 dba
        # /usr/sbin/groupadd -g 54323 oper
        # /usr/sbin/groupadd -g 54324 backupdba
        # /usr/sbin/groupadd -g 54325 dgdba
        # /usr/sbin/groupadd -g 54326 kmdba
        # /usr/sbin/groupadd -g 54327 asmdba
        # /usr/sbin/groupadd -g 54328 asmoper
        # /usr/sbin/groupadd -g 54330 racdba        
        # /usr/sbin/useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba oracle

    - Software Requirements
        # yum install bc binutils elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libXrender libX11 libXau libXi libXtst libgcc libnsl librdmacm libstdc++ libstdc++-devel libxcb libibverbs make smartmontools sysstat

    - Network Settings
        # sysctl -a |grep -e net.ipv4.tcp_[rw]mem
            net.ipv4.tcp_rmem = 4096        87380   1056768
            net.ipv4.tcp_wmem = 4096        16384   1056768
        /etc/sysctl.conf
            net.ipv4.tcp_rmem = 4096        87380   4194304
            net.ipv4.tcp_wmem = 4096        16384   4194304
        # sysctl -p
        # /etc/rc.d/init.d/network restart

    - User limits Settings
        /etc/security/limits.conf
            oracle  soft    nproc   2048
            oracle  hard    nproc   16384
            oracle  soft    nofile   1024
            oracle  hard    nofile   65536
            oracle  soft    stack   1024
            oracle  hard    stack   32768

    - Create Install Directory
        # mkdir -p /u01/app/oracle
        # mkdir -p /u01/app/oraInventory
        # chown -R oracle:oinstall /u01/app/oracle
        # chown -R oracle:oinstall /u01/app/oraInventory
        # chmod -R 775 /u01/app

    - Oracle Enviorments 
        $ ORACLE_SID=orcl
        $ export ORACLE_SID
        $ ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
        $ export ORACLE_HOME   

    - Install Envirmetns
        $ umask 022
        $ TMP=/mount_point/tmp
        $ TMPDIR=/mount_point/tmp
        $ export TMP TMPDIR

    - Install Oracle (db_home.zip - Oracle Database installation image)
        $ mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
        $ cd /u01/app/oracle/product/19.0.0/dbhome_1
        $ unzip -q /tmp/db_home.zip
        $ cd /u01/app/oracle/product/19.0.0/dbhome_1
        $ ./runInstaller

b.  Set max process
    alter system set processes=300 scope=spfile;
    alter system set sessions=335 scope=spfile;
    SESSIONS = (PROCESSES*1.1 + 5)

c. Oracle12c Common User Setting
    alter sessin set "_ORACLE_SCRIPT"=true;
    alter profile default limit password_life_time unlimited;        

d. Audit Settings
    - initSID.ora
	    AUDIT_TRAIL = [DB,OS,NONE]

e. Login case sensitive check
    show parameter sec_case;
    alter system set sec_case_sensitive_logon=false;

f. XA Init
    - Configure XA
        @$ORACLE_HOME/javavm/install/initxa.sql
    - Create XA View
        @$ORACLE_HOME/rdbms/admin/xaview.sql

g. Nvarchar2 Java option
    -Doracle.jdbc.defaultNChar=true -Dfile.encoding=UTF8

Change CharacterSet

    update sys.props$ set value$='AL32UTF8' where name='NLS_CHARACTERSET';
    update sys.props$ set value$='AL32UTF8' where name='NLS_NCHAR_CHARACTERSET';
    update sys.props$ set value$='KOREAN_KOREA.AL32UTF8' where name='NLS_LANGUAGE';
    
    alter database character set AL32UTF8;

Automating Database Startup and Shutdown on Linux

a. change /etc/oratab
    orcl:/app/oracle/product/19.0.0/dbhome_1:Y

b. create script directory
    $ mkdir /home/oracle/scripts

c. create Oracle setEnv sh
    $ vi /home/oracle/scripts/setEnv.sh
    # Oracle Settings
    export TMP=/tmp
    export TMPDIR=\$TMP
    export ORACLE_HOSTNAME=ol7-122.localdomain
    export ORACLE_UNQNAME=cdb1
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=\$ORACLE_BASE/product/12.2.0.1/db_1
    export ORACLE_SID=cdb1
    export PATH=/usr/sbin:/usr/local/bin:\$PATH
    export PATH=\$ORACLE_HOME/bin:\$PATH
    export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
    export CLASSPATH=\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib

d. set setEnv.sh in .bash_profile
    $ echo ". /home/oracle/scripts/setEnv.sh" >> /home/oracle/.bash_profile

e. create oracle start,stop shell
    $ vi /home/oracle/scripts/start_all.sh
        #!/bin/bash
        . /home/oracle/scripts/setEnv.sh
        export ORAENV_ASK=NO
        . oraenv
        export ORAENV_ASK=YES
        dbstart \$ORACLE_HOME

    $ vi /home/oracle/scripts/stop_all.sh
        #!/bin/bash
        . /home/oracle/scripts/setEnv.sh
        export ORAENV_ASK=NO
        . oraenv
        export ORAENV_ASK=YES
        dbshut \$ORACLE_HOME
        $ chown -R oracle.oinstall /home/oracle/scripts
        $ chmod u+x /home/oracle/scripts/*.sh

f. create /etc/init.d/dbora script & register dbora in init.d 
    # vi /etc/init.d/dbora
    #!/bin/sh
    # chkconfig: 345 99 10
    # description: Oracle auto start-stop script.
    #
    # Set ORA_OWNER to the user id of the owner of the 
    # Oracle database software.

    ORA_OWNER=oracle
    case "$1" in
        'start')
            # Start the Oracle databases:
            # The following command assumes that the oracle login 
            # will not prompt the user for any values
            # Remove "&" if you don't want startup as a background process.
            su $ORA_OWNER -c "/home/oracle/scripts/start_all.sh >> /home/oracle/scripts/startup_shutdown.log 2>&1" &
            touch /var/lock/subsys/dbora
            ;;
        'stop')
            # Stop the Oracle databases:
            # The following command assumes that the oracle login 
            # will not prompt the user for any values
            su $ORA_OWNER -c "/home/oracle/scripts/stop_all.sh >> /home/oracle/scripts/startup_shutdown.log 2>&1"
            rm -f /var/lock/subsys/dbora
            ;;
    esac

    # chmod 750 /etc/init.d/dbora
    # chkconfig --add dbora
    
g. start,stop dbora
    # service dbora start
    # service dbora stop
This page was generated by GitHub Pages.
Author. silentjini