zoukankan      html  css  js  c++  java
  • ubuntu 12 64 桌面版Oracle11g 安装

    1.Creating the Oracle Inventory Group
    sudo groupadd oinstall
    sudo groupadd dba
    sudo groupadd oper
    sudo useradd -g oinstall -G dba -d /opt/oracle -s /bin/bash oracle
    sudo passwd oracle

    2.Updating kernel parameters

    sudo gedit /etc/sysctl.conf

    #
    # Oracle 11g
    #
    kernel.sem = 250 32000 100 128
    kernel.shmall = 2097152
    kernel.shmmni = 4096
    # Replace kernel.shmmax with the half of your memory in bytes
    # if lower than 4Go minus 1
    # 1073741824 is 1 GigaBytes
    kernel.shmmax=1073741824

    # Try sysctl -a | grep ip_local_port_range to get real values
    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

    # Max value allowed, should be set to avoid IO errors
    fs.aio-max-nr = 1048576
    # 512 * PROCESSES / what really means processes ?
    fs.file-max = 6815744

    # To allow dba to allocate hugetlbfs pages
    # 1001 is your oinstall group, id. grep oinstall /etc/group will give this value
    vm.hugetlb_shm_group = 1001

    sudo sysctl -p

    sudo gedit /etc/security/limits.conf

    # Oracle
    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    oracle soft stack 10240

    Check that /etc/pam.d/login contains a line like this one:
    session required pam_limits.so

    Now, update /etc/profile:
    sudo gedit /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

    3.install page
    sudo apt-get update
    sudo apt-get dist-upgrade

    sudo apt-get install alien
    sudo apt-get install autoconf
    sudo apt-get install automake
    sudo apt-get install autotools-dev
    sudo apt-get install binutils
    sudo apt-get install bzip2
    sudo apt-get install doxygen
    sudo apt-get install elfutils
    sudo apt-get install expat
    sudo apt-get install gawk
    sudo apt-get install gcc
    sudo apt-get install gcc-multilib
    sudo apt-get install g++-multilib

    # This will help preventing prevent from runInstaller terrific ./runInstaller: line 54: ./install/.oui: No such file or directory error message
    sudo apt-get install ia32-libs

    sudo apt-get install ksh
    sudo apt-get install less
    sudo apt-get install lesstif2
    sudo apt-get install lesstif2-dev
    sudo apt-get install lib32z1
    sudo apt-get install libaio1
    sudo apt-get install libaio-dev
    sudo apt-get install libc6-dev
    sudo apt-get install libc6-dev-i386
    sudo apt-get install libc6-i386
    sudo apt-get install libelf-dev
    sudo apt-get install libltdl-dev
    sudo apt-get install libmotif4
    sudo apt-get install libodbcinstq4-1 libodbcinstq4-1:i386
    sudo apt-get install libpth-dev
    sudo apt-get install libpthread-stubs0
    sudo apt-get install libpthread-stubs0-dev
    sudo apt-get install libstdc++5
    sudo apt-get install lsb-cxx
    sudo apt-get install make
    sudo apt-get install openssh-server
    sudo apt-get install pdksh
    sudo apt-get install rlwrap
    sudo apt-get install rpm
    sudo apt-get install sysstat
    sudo apt-get install unixodbc
    sudo apt-get install unixodbc-dev
    sudo apt-get install unzip
    sudo apt-get install x11-utils
    sudo apt-get install zlibc

    4.Preventing from installation errors
    To prevent from error genclntsh: Failed to link libclntsh.so.11.1 in make file for rdbms/lib/ins_rdbms.mk
    beacause of missing library: /usr/bin/ld: cannot find /usr/lib64/libpthread_nonshared.a inside
    we need to create a symlink for /usr/lib64:

    sudo ln -s /usr/lib/x86_64-linux-gnu /usr/lib64

    To help preventing from error lib//libagtsh.so: undefined reference to `nnfyboot' in make: rdbms/lib/dg4odbc] Error 1

    sudo ln -sf /bin/bash /bin/sh
    sudo ln -s /usr/bin/awk /bin/awk
    sudo ln -s /usr/bin/rpm /bin/rpm
    sudo ln -s /usr/bin/basename /bin/basename

    To prevent from # /lib64/libgcc_s.so.1: File or directory does not exists, while creating lib/liborasdkbase.so.11.1 in ins_rdbms.mk, execute the command:
    cd /lib64
    sudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1

    Others configurations

    Connect as Oracle user and set some default startup file
    sudo su - oracle
    touch .bashrc
    ln -s .bashrc .bash_profile

    vi .bashrc
    umask 022
    source .bashrc

    export ORACLE_BASE=/opt/oracle/Oracle11g/
    export ORACLE_SID=ZEN
    export ORACLE_HOME=$ORACLE_BASE/product/db_1
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
    export PATH=$PATH:$ORACLE_HOME/bin


    Execute the .bashrc file or restart a bash shell

    source .bashrc

    Go in the extracted database folder and run the following commands:

    export DISPLAY=:0
    ./runInstaller

    To solve error # libnnz11.so: could not read symbols: Invalid operation /sysman/lib/ins_emagent.mk, enter the command:
    export ORACLE_HOME=/opt/oracle/Oracle11gee/product/11.2.0/dbhome_1
    sed -i 's/^(s*$(MK_EMAGENT_NMECTL))s*$/1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk

    To solve error # nsglsn.c:(.text+0xc29): undefined reference to `ons_subscriber_close' /network/lib/ins_net_server.mk, enter the command:
    sed -i 's/^(TNSLSNR_LINKLINE.*$(TNSLSNR_OFILES)) ($(LINKTTLIBS))/1 -Wl,--no-as-needed 2/g' $ORACLE_HOME/network/lib/env_network.mk

    To solve error # libocrutl11.so: undefined reference to `lfifcp' rdbms/lib/ins_rdbms.mk, enter the commands:
    sed -i 's/^(ORACLE_LINKLINE.*$(ORACLE_LINKER)) ($(PL_FLAGS))/1 -Wl,--no-as-needed 2/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk


    libstdc++ 的版本不对应的话会报:
    Error in invoking target 'all_no_orcl' of makefile '/home/oracle/10.2.0/db_1/rdbms/lib/ins_rdbms.mk'


    sudo ln -s

    sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.5 /usr/lib/libstdc++.so.5
    sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.5.0.7 /usr/lib/libstdc++.so.5.0.7
    sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib/libstdc++.so.6
    sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16 /usr/lib/libstdc++.so.6.0.16

    但这样还是报错,直接忽略,安装通过。

  • 相关阅读:
    [CSS揭秘]不规则投影
    [CSS揭秘]规则投影
    [CSS揭秘]伪随机背景
    [CSS揭秘]复杂的背景图案
    [CSS揭秘]条纹背景
    [CSS揭秘]连续的图像边框
    Git_Eclipse:[1]Git安装插件
    Git_常用命令
    上海 day38--多表查询、python操作MySQL
    上海 day37-- MySQL 单表查询,连表操作和子查询
  • 原文地址:https://www.cnblogs.com/Alex-Zeng/p/3520953.html
Copyright © 2011-2022 走看看