RedHat上静默安装Oracle11g

以前为某某大学后勤部门开发了一套干部考核系统,我也参与了开发。后来公司用此做为案例,接到了一些其余学校的考核系统的开发项目。原来系统是用mysql做为数据库,现在接到的一所学校的考核系统,要求用oracle数据库。因此公司要求我来为客户那边安装oracle数据库。以前我对mysql的安装有所了解,而对liunx上oracle安装历来没接触过。经过两天的不断的找资料后,最终安装成功,其中也多亏了同事的指点,让安装变得顺利许多。javascript

在此,我写下此文,但愿对你们有所帮助。java

Oracle安装前,依赖包的检测

这个就不用多说什么了,直接的上代码:mysql

rpm -q binutils    compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel \
        elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel\
        glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make\
        pdksh sysstat unixODBC unixODBC-devel | grep "not installed"复制代码

执行以上代码后,若是显示某个包名,说明该包没有被安装。
安装以上依赖包须要系统的安装盘或系统镜像。c++

用户那边把系统的镜像文件copy到了系统根目录上,我经过mount挂载了镜像:sql

mount -o loop -t iso9660 /ISONAME.iso /media/cdrom/复制代码

而后在/media/cdrom里面就有相应的依赖包,我是在里面的Server目录下面
找到了全部的依赖包。数据库

安装依赖须要执行如下命令:vim

rpm -ivh <依赖包名>复制代码

安装依赖包是个麻烦的过程,我是一个个安装的,并且在安装某个包的时候有时会提示你先安装其余的包,很是的麻烦。不知道有没有什么简单方便的方式进行操做。若是有谁有更好的方法,但愿能评论告诉
我。bash

没有图形,就静默吧

无论图形仍是静默都须要作的事

  • 建立群组
groupadd oinstall 
        groupadd dba复制代码
  • 建立oracle用户并使用其属于刚建立的群组
useradd –m –g oinstall –G dba oracle复制代码
  • 检查oracle是否属于组oinstall 和 dba服务器

    id oracle网络

    正确的显示:uid=1001(oracle) gid=1000(oinstall) groups=1001(dba)

  • 给oracle设置密码

    passwd oracle

  • 建立安装oracle的目录并赋相应的权限

mkdir -p /u01/oracle
        chown -R oracle:oinstall /u01
        chmod -R 775 /u01复制代码
  • 内核参数的配置(网上寻找到的,这一步不是很明白其做用),使用vivim(其余编辑器也行)修改 /ect/sysctl.conf文件,通常都有,没有就建立一个,对它作以下的修改或添加:

    fs.file-max = 6815744

    fs.aio-max-nr = 1048576

    kernel.shmall = 2097152

    kernel.shmmax = 2147483648

    kernel.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

    输入命令:sysctl -p使其当即生效

  • 配置oracle用户的环境变量

    切换到oracle用户下:su -l oracle,而后输入:vim ~/.bash_profile,在其中添加以下环境变量

    export ORACLE_HOME=/u01/oracle/product/11.2/db_1
       export ORACLE_BASE=/u01/oracle 
       export ORACLE_SID=orcl
       export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib复制代码

    source ~/.bash_profile使其当即生效

Oracle的下载,解压,安装

下载oracle并进行解压: 这里提供一下我使用的oracle, 点击此处下载
建立目录mkdir /oinstall,我把下载下来的oracle放到了/oinstall下,再经过如下命令解压:

unzip p10404530_112030_Linux-x86-64_1of7.zip
unzip p10404530_112030_Linux-x86-64_2of7.zip复制代码

因为静默(silent)安装oracle,须要配置静默响应文件,在/oinstall/database/response下用三个文件,其中一个文件就是用来安装使用,复制一份出来修改其内容。 这是一种方法,若不配置响应文件,则须要设置响应变量。我用了第二种方式 ,代码以下:

./runInstaller -silent -force \
    FROM_LOCATION=/oinstall/database/stage/products.xml \
    oracle.install.option=INSTALL_DB_SWONLY \
    UNIX_GROUP_NAME=oinstall \
    INVENTORY_LOCATION=/home/oracle/oraInventory \
    ORACLE_HOME=/u01/oracle/product/11.2/db_1 \
    ORACLE_HOME_NAME="OraDb11g_Home1" \
    ORACLE_BASE=/u01/oracle \
    oracle.install.db.InstallEdition=EE \
    oracle.install.db.isCustomInstall=false \
    oracle.install.db.DBA_GROUP=dba \
    oracle.install.db.OPER_GROUP=dba \
    DECLINE_SECURITY_UPDATES=true复制代码

为了方便使用,经过vim create_db.sh,添加上述代码,给该文档权限修改成可执行。

执行须要数分钟的时间,结束时,提示安装成功而且会给出两个文件的路径,分别执行这两个文件。

静默安装监听

复制/oinstall/database/responsenetca.rsp

cd /oinstall/database/response 
     cp  netca.rsp ../myNetca.rsp
     cd ..
     vim myNetca.rsp复制代码

vim MyNetca.rsp修改文件,如下为须要修改的项目:

NSTALL_TYPE=""custom"" 安装的类型
    LISTENER_NUMBER=1 监听器数量
    LISTENER_NAMES={"LISTENER"} 监听器的名称列表
    LISTENER_PROTOCOLS={"TCP;1521"} 监听器使用的通信协议列表
    LISTENER_START=""LISTENER"" 监听器启动的名称复制代码

而后运行:

$ORACLE_HOME/bin/netca /silent /responsefile /oinstall/database/response/myNetca.rsp复制代码

建立oracle实例库

复制/oinstall/database/responsedbca.rsp

cd /oinstall/database/response
    cp dbca.rsp ../myDbca.rsp
    cd ..
    vim myDbca.rsp复制代码

vim myDbca.rsp修改文件,如下为须要修改的项目:

# RESPONSEFILE_VERSION = "11.2.0" 
    # OPERATION_TYPE = "createDatabase" 
    # [CREATEDATABASE]  
    # GDBNAME = "orcl" 
    # SID = "orcl" 
    # TEMPLATENAME = "General_Purpose.dbc" 
    #  
    # [CONFIGUREDATABASE]  
    # EMCONFIGURATION = "LOCAL" 
    # SYSMANPASSWORD = "123456" 
    # DBSNMPPASSWORD = "123456"复制代码

而后执行:

$ORACLE_HOME/bin/dbca -silent -responsefile /oinstall/database/response/dbca.rsp复制代码

到这里,ORACLE的安装差很少了。但我用本机访问服务器上oracle时,链接不上,出现监听超时的错误,觉得是服务器上防火墙没有开放1521端口,但查看后发现1521端口已经加上了。通过几翻折腾才知道,是链接服务器的网络上1521端口未开放,问题总算解决了。

问题总会一个接一个的,在向表插入数据时,发现中文存在没法识别的状况。
在网上找了一堆的资料,最后经过阅读这篇博客解决了问题。

主要缘由是:当前的系统的语言环境和环境变量,与oracle的字符集不一致。

能够经过如下步骤修改

su -l oracle
    vim ~/.bash_profile复制代码

文件bash_profile中修改或添加如下内容:

NLS_LANG = AMERICAN _ AMERICA. ZHS16GBK复制代码

而后修改sudo vim /etc/sysconfig/i18n

LANG="en_US.UTF-8"
    SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
    SYSFONT="latarcyrheb-sun16"复制代码

查看oracle的字符集:

sqlplus / as sysdba
    select userenv('language') from dual;复制代码

总结

Oracle在Liunx下安装是件麻烦的事,因为是没有图形界面使用静默安装,貌似不会出错中止,还会继续安装,而后就一堆的问题,oracle无法用还得从新安装,这种状况下oracle安装后的Log是必定要看的,看看在安装过程当中有什么错误信息。但也发现,oracle静默安装的速度确实是至关的快。与我在WIN上安装Oracle速度根本不是一个级别的。

相关文章
相关标签/搜索