zoukankan      html  css  js  c++  java
  • Suse 11 sp4 安装Oracle 11g

    • 环境信息

    suse 11 sp4 64位 企业版
    配置:
    虚拟机,1U4CORE,4GB内存,100GB存储(实际可用空间20GB)

    • linux环境配置修改

    在安装oracle之前,需要先对linux 的内核参数做一些调整。

    首先修改 /etc/security/limits.conf 配置文件
    在末尾增加

    #oracle software
    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536

    修改 /etc/pam.d/login 配置文件

    在末尾增加

    #oracle software
    session required /lib/security/pam_limits.so
    session required pam_limits.so

    修改 /etc/sysctl.conf 配置文件,增加

    fs.file-max = 6815744
    fs.aio-max-nr = 1048576
    kernel.shmall = 2097152
    kernel.shmmax = 2147483648
    ernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 4194304
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max=1048576

    【一些参数可以通过以下命令获取】

    cat /proc/sys/kernel/sem
    cat /proc/sys/kernel/shmall
    cat /proc/sys/kernel/shmmax
    cat /proc/sys/kernel/shmmni
    cat /proc/sys/net/core/rmem_default
    cat /proc/sys/net/core/wmem_default
    cat /proc/sys/net/core/wmem_max
    cat /proc/sys/net/ipv4
    cat /proc/sys/fs/file-max
    cat /proc/sys/net/ipv4/ip_local_port_range

    安装oracle 需要至少 4GB 的swap 交换空间,而作者的环境只有2GB,所以需要增加swap 大小
    在/tmp 目录下创建一个 swap 目录,使用dd 命令生成一个3GB 的文件

    mkdir /tmp/swap ; 
    cd /tmp/swap ;
    dd if=/dev/zero of=swapfree bs=1M count=3072 ;

    创建swap

    mkswap swapfree

    将 swapfree 文件增加到 系统的swap 交换空间上

    swapon swapfree

    增加开机时加载 sysctl 相关参数

    /sbin/chkconfig boot.sysctl on

    立即生效

    /sbin/sysctl -p

    修改 /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
    • 解决oracle 依赖包

    在使用zypper 命令前,应该先确保安装的ISO 文件被添加到zypper 安装源上,如果读者不知道如何操作,可以参考以下博客:

    zypper install gcc-32bit
    zypper install gcc-c++
    zypper install libaio-devel
    zypper install libaio-devel-32bit
    zypper install libstdc++43-devel-32bit
    zypper install libstdc++-devel-4.3
    zypper install sysstat-8.1.5
    • 创建oracle 系统用户

    创建系统用户组和用户

    groupadd oracle
    useradd -g oracle -m oracle

    修改oracle 用户密码

    passwd oracle

    切换oracle 用户,然后创建一些初始目录 

    cd /home/oracle
    mkdir app
    mkdir app/oracle
    mkdir app/data
    mkdir app/product

    安装oracle 11g

     读者可以直接从oracle 的官方网站下载安装包,下载完全免费,不需要导出找下载连接。

    官网地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

    作者是将 linux.x64_11gR2_database_1of2.zip 和 linux.x64_11gR2_database_2of2.zip 两个压缩文件都是以oracle 用户的权限上传到 /home/oracle 目录下。

    解压zip 文件

    unzip linux.x64_11gR2_database_1of2.zip
    unzip linux.x64_11gR2_database_2of2.zip

    进入database 目录,执行runInstaller 程序。

    这里需要提醒读者,oracle 11g 安装一定需要图形化界面,另外用户一定要在oracle 用户下登陆图形化界面执行 runInstaller 程序,否则将会出现“无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色” 错误

    安装的过程都是图形界面,这里作者没有每个步骤截图,但是大家可以参考以下博客进行操作

    http://www.cnblogs.com/zhangyongli2011/archive/2012/04/04/2431953.html

     安装即将结束时,runInstaller 程序会弹出一个窗口,让用户在之后使用root 权限执行以下两个文件

    将系统用户切换为root,在shell中继续执行,执行完以下两个脚本后,oracle部署就基本结束

    sh /home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh
    sh /home/oracle/app/oraInventory/orainstRoot.sh 
    • 将 oracle 的执行命令和配置相关环境变量到oracle 用户中

    系统 oracle 用户下创建bash_profile 文件

    vi ~/.bash_profile

    增加以下内容

    export ORACLE_BASE=/home/oracle/app
    export ORACLE_HOME=${ORACLE_BASE}/oracle/product/11.2.0/dbhome_1
    export ORACLE_HOME_LISTNER=${ORACLE_HOME}
    export ORACLE_SID=orcl
    export PATH=${PATH}:${ORACLE_HOME}/bin
    export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:/usr/lib
    export DISPLAY=:0.0

    设置 DISPLAY 参数环境变量,用户可以通过以下命令查看

    who

    例如作者在shell 中执行 who 命令显示

    oracle   :0           2017-08-22 13:53
    oracle   pts/1        2017-08-22 13:54 (:0.0)
    oracle   pts/2        2017-08-22 14:13 (:0.0)

    则在 ~/.bash_profile 中增加

    export DISPLAY=:0.0

    让该配置实时生效

    source ~/.bash_profile
    • 新建oracle 数据库

    在系统 root 用户下执行

    xhost local:oracle non-network local connections being added to access control list

    再切换回 oracle 用户执行,注意,此时的图形化界面依然是使用 oracle 用户登录的

    dbca

     图形化界面上出现oracle 新建database 的窗口,点击“next”后,弹出以下界面,直接选择“continue”

     

    选择”create database“,点击”next“

    选择”custom database“,点击”next“

    填写”orcl“,点击”next“

    不勾选任何选项,直接点击”next“

    设置密码,用户按照自己的喜好进行设置,该密码为oracle 管理员账户的密码,即“system”和 “sys” 用户的密码。

    数据库存储位置,默认就好

    不指定”快速恢复归档“

     

    忽略多余的模块

    内存分配和选择字符集,这里作者选择使用”utf8“

    最后一个步骤,直接点击”next“和下一页的“finish”

    出现以下窗口则证明创建成功。

    •  设置监听及本地网络服务

    在oracle 用户下执行 netca 命令,启动设置网络监听的设置窗口 (图形化界面的登陆用户依然是oracle)

    选择新建一个监听服务,允许别的oracle客户端可以连接到本地的oracle 数据库服务。

     

    选择端口,默认为“1521

    设置完成,点击“next”

    设置本地网络服务名(充当oracle 客户端,连接别的oracle 服务器)

     输入数据库的实例名,填写”orcl

    填写oracle 服务端 机器名,此处可以填写hostname ,也可以填写 ip 地址,由于作者机器ip 可能会发生变化,所以此处作者使用 HOSTNAME 代替。

    在作者的环境中,HOSTNAME=chen, 并且 /etc/hosts 文件中包含 ip 地址和 hostname 的映射关系

    连接测试

    点击”change login“, 更换连接数据库服务其的账号

    用户名填写“system”,密码填写上面创建 database 时的密码

    如果能出现“Connecting ... Test successful"则代表设置成功,点击”next“

    为我们本地网络服务起一个名字,作者填写“orcl_ic"

     

    选择”finish“ 结束设置

    •  设置开机自启动

    新建一个  /etc/init.d/after.local 脚本,该脚本为开机后最后执行的步骤脚本,如果该文件已经存在,则直接打开即可

    增加以下内容,包含关闭系统放火墙、开启oracle 监听和 oracle 数据库服务

    #!/bin/bash


    /sbin/SuSEfirewall2 stop
    su oracle -lc "/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"
    su oracle -lc "/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/dbstart"

    修改 /etc/oratab 文件 (在oracle 用户下操作)

    将老的内容

    orcl:/home/oracle/app/oracle/product/11.2.0/dbhome_1:N

    修改为以下内容,保存退出

    orcl:/home/oracle/app/oracle/product/11.2.0/dbhome_1:Y

    分别修改 /home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/dbstart (80行) 和 /home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/dbshut (50行)文件

    将以下代码注释
    #ORACLE_HOME_LISTNER=$1

    修改

    ORACLE_HOME_LISTNER=${ORACLE_HOME}

    参考博客:

    http://www.cnblogs.com/zhangyongli2011/archive/2012/04/04/2431953.html

    http://www.itexamprep.com/cn/oracle/soft/2011/0505/2027.html

    http://blog.csdn.net/luoxia0805/article/details/24887723

    http://www.cnblogs.com/Anonymous-1/p/4996326.html

    http://blog.sina.com.cn/s/blog_5de102fb0101dr8b.html

  • 相关阅读:
    shell脚本-awk
    shell脚本-sed命令
    shell脚本-grep和正则表达式
    wuti
    dmesg、stat命令
    uname、hostname命令
    tee、vi/vim命令
    tr、od命令
    vimdiff、rev命令
    dos2unix、diff命令
  • 原文地址:https://www.cnblogs.com/chenfool/p/7411626.html
Copyright © 2011-2022 走看看