在 RHEL 6.2 上安装 Oracle 11gR2

在 RHEL 6.2 上安装 Oracle 11gR2

我在 RHEL 6.2 上安装 Oracle 11gR2 遇到了一些困难。

我整理了一份清单,记录了迄今为止我所采取的每一步。我在 VMware 上安装了 RHEL 6.2。它自动完成了简单的安装。

  • 我选择了4GB内存
  • 选择的最大大小为 80GB
  • 选定两家处理器

我下载的oracle版本是Linux x86-64 11.2.0.1。

我正在本地机器上安装它,而不是远程机器

我遵循了以下文档:http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm

我将研究中最不确定的步骤用粗体标出:

  1. 使用 RHEL 6.2 for VMware 轻松安装
  2. 在 Red Hat 注册以便获取更新
  3. 每次选择时按 Enter 键重新安装 vmware-tools
  4. sudo yum update最后 - 有关 GPG 密钥的内容,选择 y 然后 y
  5. 检查内存要求:

    grep MemTotal /proc/meminfo
        MemTotal: 3921368 kb
    
    uname -m
        x86_64
    
    grep SwapTotal /proc/meminfo
        SwapTotal: 6160376 kb
    
    free
                     total       used       free     shared    buffers     cached
        Mem:       3921368    2032012    1889356          0      76216    1533268
        -/+ buffers/cache:     422528    3498840
        Swap:      6160376          0    6160376
    
    df -h /dev/shm
        Filesystem            Size  Used Avail Use% Mounted on
        tmpfs                 1.9G  276K  1.9G   1% /dev/shm
    
    df -h /tmp
        Filesystem            Size  Used Avail Use% Mounted on
        /dev/sda2              73G  2.7G   67G   4% /
    
    
    df -h
        Filesystem            Size  Used Avail Use% Mounted on
        /dev/sda2              73G  2.7G   67G   4% /
        tmpfs                 1.9G  276K  1.9G   1% /dev/shm
        /dev/sda1             291M   58M  219M  21% /boot
    

    对我来说一切看起来都很好,除了可能需要交换?

  6. 软件要求:

    cat /proc/version
        Linux version 2.6.32-220.el6.x86_64 ([email protected]) (gcc version 4.4.5 20110214 (Red Hat 4.4.5-6) (GCC) ) #1 SMP Wed Nov 9 08:03:13 EST 2011
    
    uname -r
        2.6.32-220.el6.x86_64
    

    (与上面相同,但无论如何)

    根据教程应该在 Red Hat Enterprise Linux 6、2.6.32-71.el6.x86_64 或更高版本上。

  7. 这些是我已安装的软件版本:

    binutils-2.20.51.0.2-5.28.el6.x86_64
    compat-libcap1-1.10-1.x86_64
    compat-libstdc++-33-3.2.3-69.el6.x86_64
    compat-libstdc++-33.i686 0:3.2.3-69.el6
    gcc-4.4.6-3.el6.x86_64
    gcc-c++.x86_64 0:4.4.6-3.el6
    glibc-2.12-1.47.el6_2.12.x86_64
    glibc-2.12-1.47.el6_2.12.i686
    glibc-devel-2.12-1.47.el6_2.12.x86_64
    glibc-devel.i686 0:2.12-1.47.el6_2.12
    ksh.x86_64 0:20100621-12.el6_2.1
    libgcc-4.4.6-3.el6.x86_64
    libgcc-4.4.6-3.el6.i686
    libstdc++-4.4.6-3.el6.x86_64
    libstdc++.i686 0:4.4.6-3.el6
    libstdc++-devel.i686 0:4.4.6-3.el6
    libstdc++-devel-4.4.6-3.el6.x86_64
    libaio-0.3.107-10.el6.x86_64
    libaio-0.3.107-10.el6.i686
    libaio-devel-0.3.107-10.el6.x86_64
    libaio-devel-0.3.107-10.el6.i686
    make-3.81-19.el6.x86_64
    sysstat-9.0.4-18.el6.x86_64
    
    unixODBC-2.2.14-11.el6.x86_64 
    unixODBC-devel-2.2.14-11.el6.x86_64
    unixODBC-devel-2.2.14-11.el6.i686
    unixODBC-2.2.14-11.el6.i686
    
  8. 可能是这里或者第 9 步搞砸了:

    /usr/sbin/groupadd oinstall
    /usr/sbin/groupadd dba (not sure why this isn't in the tutorial)
    /usr/sbin/useradd -g oinstall -G dba oracle
    passwd oracle
    
    /sbin/sysctl -a | grep sem
    Xkernel.sem = 250   32000   32  128
    
    /sbin/sysctl -a | grep shm
    kernel.shmmax = 68719476736
    kernel.shmall = 4294967296
    kernel.shmmni = 4096
    vm.hugetlb_shm_group = 0
    
    /sbin/sysctl -a | grep file-max
    Xfs.file-max = 384629
    
    /sbin/sysctl -a | grep ip_local_port_range
    Xnet.ipv4.ip_local_port_range = 32768   61000
    
    /sbin/sysctl -a | grep rmem_default
    Xnet.core.rmem_default = 124928
    
    /sbin/sysctl -a | grep rmem_max
    Xnet.core.rmem_max = 131071
    
    /sbin/sysctl -a | grep wmem_max
    Xnet.core.wmem_max = 131071
    
    /sbin/sysctl -a | grep wmem_default
    Xnet.core.wmem_default = 124928
    

    这是我的 sysctl.conf 文件,我只添加了较大的项目:

    # Kernel sysctl configuration file for Red Hat Linux
    #
    # For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
    # sysctl.conf(5) for more details.
    
    # Controls IP packet forwarding
    net.ipv4.ip_forward = 0
    
    # Controls source route verification
    net.ipv4.conf.default.rp_filter = 1
    
    # Do not accept source routing
    net.ipv4.conf.default.accept_source_route = 0
    
    # Controls the System Request debugging functionality of the kernel
    kernel.sysrq = 0
    
    # Controls whether core dumps will append the PID to the core filename.
    # Useful for debugging multi-threaded applications.
    kernel.core_uses_pid = 1
    
    # Controls the use of TCP syncookies
    net.ipv4.tcp_syncookies = 1
    
    # Disable netfilter on bridges.
    net.bridge.bridge-nf-call-ip6tables = 0
    net.bridge.bridge-nf-call-iptables = 0
    net.bridge.bridge-nf-call-arptables = 0
    
    # Controls the maximum size of a message, in bytes
    kernel.msgmnb = 65536
    
    # Controls the default maxmimum size of a mesage queue
    kernel.msgmax = 65536
    
    # Controls the maximum shared segment size, in bytes
    kernel.shmmax = 68719476736
    
    # Controls the maximum number of shared memory segments, in pages
    kernel.shmall = 4294967296
    
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.sem = 250 32000 100 128
    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
    
    /sbin/sysctl -p
    net.ipv4.ip_forward = 0
    net.ipv4.conf.default.rp_filter = 1
    net.ipv4.conf.default.accept_source_route = 0
    kernel.sysrq = 0
    kernel.core_uses_pid = 1
    net.ipv4.tcp_syncookies = 1
    error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
    error: "net.bridge.bridge-nf-call-iptables" is an unknown key
    error: "net.bridge.bridge-nf-call-arptables" is an unknown key
    kernel.msgmnb = 65536
    kernel.msgmax = 65536
    kernel.shmmax = 68719476736
    kernel.shmall = 4294967296
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.sem = 250 32000 100 128
    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
    

    苏-甲骨文

    ulimit -Sn
    1024
    ulimit -Hn
    1024
    ulimit -Su
    1024
    ulimit -Hu
    30482
    ulimit -Su
    1024
    ulimit -Ss
    10240
    ulimit -Hs
    unlimited
    

    nano /etc/security/limits.conf
    

    (添加到文件末尾):

    oracle              soft    nproc   2047
    oracle              hard    nproc   16384
    oracle              soft    nofile  1024
    oracle              hard    nofile  65536
    oracle              soft    stack   10240
    
    exit
    exit
    su -
    
    mkdir -p /app/
    chown -R oracle:oinstall /app/
    chmod -R 775 /app/
    
  9. 这可能是我搞砸的地方

    然后我退出了 root 帐户,所以现在我回到了我的帐户 chris,然后我:

    su - oracle
    
    echo $SHELL
    /bin/bash
    
    umask
    0022 (so it should be set already to what is necessary)
    

    另外,从我读到的内容来看,我不需要设置 DISPLAY 变量,因为我正在本地主机上安装它。

    然后我打开Oracle的.bash_profile并将其更改为以下内容:

    # .bash_profile
    
    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi
    

用户特定的环境和启动程序:

PATH=$PATH:$HOME/bin; export PATH
ORACLE_BASE=/app/oracle
ORACLE_SID=orcl
export ORACLE_BASE ORACLE_SID

然后我关闭了从 Windows 7 共享我的桌面文件夹的虚拟机,然后重新打开以 Chris 身份登录的虚拟机并打开了一个终端,然后:

su - 

由于某种原因,共享文件夹没有出现,因此我再次重新安装了 VMware Tools 并重新启动,然后与以前相同:

su - 

cp -R linux_oracle/database /db; chown -R oracle:oinstall /db; chmod -R 775 /db; ll /db
drwxrwxr-x. 8 oracle oinstall 4096 Jun  5 06:20 database

exit
su - oracle
cd /db/database
./runInstaller

最后是臭名昭著的 JAVA:132 错误消息:

Starting Oracle Universal Installer...

Checking Temp space: must be greater than 80 MB.   Actual 65646 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 6015 MB    Passed
Checking monitor: must be configured to display at least 256 colors.    Actual 16777216    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2012-06-05_06-47-12AM. Please wait ...[oracle@localhost database]$ Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/OraInstall2012-06-05_06-47-12AM/jdk/jre/lib/i386/xawt/libmawt.so: libXext.so.6: cannot open shared object file: No such file or directory
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1647)
    at java.lang.Runtime.load0(Runtime.java:769)
    at java.lang.System.load(System.java:968)
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1668)
    at java.lang.Runtime.loadLibrary0(Runtime.java:822)
    at java.lang.System.loadLibrary(System.java:993)
    at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Toolkit.loadLibraries(Toolkit.java:1509)
    at java.awt.Toolkit.<clinit>(Toolkit.java:1530)
    at com.jgoodies.looks.LookUtils.isLowResolution(Unknown Source)
    at com.jgoodies.looks.LookUtils.<clinit>(Unknown Source)
    at com.jgoodies.looks.plastic.PlasticLookAndFeel.<clinit>(PlasticLookAndFeel.java:122)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:242)
    at javax.swing.SwingUtilities.loadSystemClass(SwingUtilities.java:1783)
    at javax.swing.UIManager.setLookAndFeel(UIManager.java:480)
    at oracle.install.commons.util.Application.startup(Application.java:758)
    at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:164)
    at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:181)
    at oracle.install.commons.base.driver.common.Installer.startup(Installer.java:265)
    at oracle.install.ivw.db.driver.DBInstaller.startup(DBInstaller.java:114)
    **at oracle.install.ivw.db.driver.DBInstaller.main(DBInstaller.java:132)

答案1

当你遇到这类问题时yum whatprovides答案是:

$ sudo yum whatprovides libXext.so.6
Loaded plugins: protect-packages, protectbase, rhnplugin, security
0 packages excluded due to repository protections
libXext-1.0.1-2.1.i386 : X.Org X11 libXext runtime library
Repo        : rhel-x86_64-server-5
Matched from:
Other       : libXext.so.6



libXext-1.0.1-2.1.i386 : X.Org X11 libXext runtime library
Repo        : installed
Matched from:
Other       : Provides-match: libXext.so.6

所以你需要安装 libXext。

答案2

您是从 root 还是 oracle 用户开始安装的?我认为这是与显示相关的错误...如果您从 root 注销并以 oracle 用户身份登录,然后尝试安装,可能会解决此错误。

请不要执行 su - oracle,完全从 root 注销并以 oracle 用户身份登录。错误将得到解决。

相关内容