zoukankan      html  css  js  c++  java
  • CentOS上oracle 11g R2数据库安装折腾记

    1.虚拟机上centos镜像的获取。这里推荐网易镜像站中的CentOS7版本(其他开源镜像站亦可)。这里给出链接:

    http://mirrors.163.com/centos/7.3.1611/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso

    ps:这是64位的,现在也很少人使用32位系统了吧。安装CentOS系统(网上教程很多,这里不再赘述)

    ps:最好留着10G左右的空留空间(安装包就有2G,再加上最后安装的体积,多留点,笔者安装时就不够用了,到时候虚拟机中扩空间也是十分麻烦的事情)

    ps:内存最好2G及2G以上

    2.oracle安装包获取。百度贴吧中的Oracle安装包大多是Windows系统版本的。我们需要的是Linux版本的,这里推荐直接从官网获取:

    http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip

    http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_2of2.zip

    这里有两个包,但是直接单击链接的话,会提示需要登录oracle账户才能下载。因此这里笔者推荐使用下载软件(笔者使用的迅雷9)直接添加下载链接,进行下载

    3.下载完成后,解压到当前文件夹。会出现一个database的文件夹。安装包的准备工作就此完成。重头戏和麻烦事来了。

    在CentOS的终端中切换到root用户,我们需要更新一些包。切换命令:

    su
    

    之后输入root用户密码(r如果是初次使用root用户,这里会提示设置密码)

    之后我们需要更新下面这些包(版本比下述高即可,有些已有最新版的,系统不会更新,这时候直接下一个就可以):

    binutils-2.17.50.0.6 
    compat-libstdc++-33-3.2.3   (33表示3.3版,296表示2.96版)  
    elfutils-libelf-0.125  
    elfutils-libelf-devel-0.125  
    elfutils-libelf-devel-static-0.125  
    gcc-4.1.2  
    gcc-c++-4.1.2  
    glibc-2.5-24  
    glibc-common-2.5  
    glibc-devel-2.5  
    glibc-headers-2.5  
    kernel-headers-2.6.18  
    ksh-20060214  
    libaio-0.3.106  
    libaio-devel-0.3.106  
    libgcc-4.1.2  
    libgomp-4.1.2  
    libstdc++-4.1.2  
    libstdc++-devel-4.1.2  
    make-3.81  
    numactl-devel-0.9.8.i386  
    sysstat-7.0.2  
    unixODBC-2.2.11             (官方文档里面没有写)
    unixODBC-devel-2.2.11 
    

    安装命令示例:

    yum install gcc
    

    包后无需跟版本号,其他的包类似。

    4.开始安装前我们首先要配置内核参数,保证Oracle的正常运行(Oracle启动需要较多的资源)。配置如下:

    修改文件/etc/sysctl.conf,这里笔者使用

    gedit /etc/sysctl.conf

    打开文件修改一下内容,有责略过,没有责添加

    修改如下:

    kernel.shmall=4294967296
    kernel.shmmax=68719476736
    fs.file-max=6815744
    fs.aio-max-nr=1048576
    kernel.shmmni=4096
    kernel.sem=800 113600 800 142
    net.ipv4.ip_local_port_range=1024 65500
    net.core.rmem_default=262144
    net.core.rmem_max=4194304
    net.core.wmem_default=262144
    net.core.wmem_max=1048576
    

      各参数意义如下:      

    (1)shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位),通常将其设置为2G或更大。 

    (2)shmmni:用于设置系统范围内共享内存段的最大数量。默认值是 4096 ,通常不需要更改。
    (3)shmall:该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,如系统自动生成则不需要修改。 
    (4)sem:该参数表示设置的信号量,当oracle DB初始化参数文件中PROCESSES参数设置较大时,需要调整SEM设置如:kernel.sem = 250 32000 100 128各数据段含义如下。 SEMMSL SEMMNSSEMOPM SEMMNI 

    SEMMSL应该设置为服务器中各个实例中最大的PROCESSES参数+10,如当最大的PROCESSES参数为5000时,SEMMSL应设置为5010。 
    SEMMNS参数应设置为SEMMSL*SEMMNI,如例SEMMSL为5010,SEMMNS参数应为(5010*128)=641280。 SEMOPM参数应设置与SEMMSL参数相同,接上例此处应设置为5010 
    (5)file-max:该参数表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。 

    (6)rmem_default — 默认的TCP/IP接收缓冲大小 
    (7)rmem_max — 最大的TCP/IP接收窗口的大小 
    (8)wmem_default — 默认的TCP/IP发送窗口大小 
    (9)wmem_max — 最大的TCP/IP发送窗口的大小
    如果要使 /etc/sysctl.conf 更改立即生效,执行以下命令:
     
    sysctl  -p
     
         可能出现如下错误:
         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
         解决方法:
         
    lsmod | grep bridge
    modprobe  bridge
    lsmod | grep bridge
     
    5.修改用户的用户的SHELL的限制,修改/etc/security/limits.conf文件 输入命令:
    gedit /etc/security/limits.conf 
    加入内容下面内容:并保存退出
    oracle   soft     nproc    4096                
    oracle   hard    nproc    16384 
    oracle   soft     nofile    4096 
    oracle   hard    nofile    65536
    oracle   soft     stack    10240
    

    6.修改/etc/pam.d/login 文件,输入命令:gedit  /etc/pam.d/login,将下列内容加入该文件。 

    session   required    /lib64/security/pam_limits.so    
    session   required    pam_limits.so      

    7.编辑 /etc/profile ,输入命令: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
    

    8.创建oracle用户和安装目录

    ps:安装目录可以之后用oracle账户登录系统后通过图形化界面创建

    创建用户和用户组,输入命令:

    groupadd  oinstall                                //创建Oracle Inventory 组
    groupadd  dba                                     //创建组群DBA 组
    useradd -g oinstall -G dba oracle         //创建Oracle软件拥有者(-g表示辅助组,-G表示主组)(还可以在后面接-d dir,表示用户的家目录的位置,默认普通用户的家目录在/home下)
    passwd oracle                                      //修改oracle用户的密码
    

    之后设置密码(Linux中密码不会显示,也不会显示“*“,这里不要怀疑自己键盘坏了)

    之后我们创健安装目录(可之后登录后用图形化界面创健)

    mkdir -p  /home/oracle/app                        #基目录
    mkdir /home/oracle/app/oraInventory        #该目录就像Windows下的注册表文件,每当有软件安装,就会向里面写一些注册表
    mkdir /home/oracle/app/oracle                   #oracle数据库目录
    mkdir /home/oracle/app/oracle/product    #oracle实例目录
    

    更改目录属主为Oracle用户所有(防止安装过程中发生权限不够的问题),输入命令:

    chown -R oracle:oinstall  /home/oracle/app
    chmod -R 775  /home/oracle/app/
    

    9.配置oracle用户的环境变量,要在oracle用户下进行操作,输入:

    su oracle
    

    之后输入上一步自己设置的密码登录,输入vim  /home/oracle/.bash_profile,按I键进入插入模式,在里面输入回车后,先按ESC键,再按:wq退出

    之后我们再输入gedit  /home/oracle/.bash_profile进入编辑,添加:

    export  EDITOR=vi  
    export  ORACLE_SID=orcl         #实例名 
    export  ORACLE_BASE=/home/oracle/app 
    export  ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1 
    export  INVENTORY_LOCATION=/home/oracle/app/oraInventory 
    export  LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib 
    export  NLS_LANG="American_america.zhs16gbk" 
    export  NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss' 
    export  PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin 
    umask 022 
    export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64 
    export JRE_HOME=$JAVA_HOME/jre 
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH 
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
    export erase ^h     #用于消除换车键产生的乱码
    

    10.安装前准备

    重启CentOS系统,用Oracle账户登录

    将第3步中的database文件夹拷贝进入home文件夹中。

    (之前没有新建文件夹的此时可以新建)

    11.开始安装。

    输入命令切换到database中,再输入安装命令

    cd /database
    ./runInstaller

    12.安装过程

    这一步之后或者之前都可能出现一个问题(笔者出现很多次,折腾了几天),问题如下图:

    这时候安装界面突然暗下来,然后正中间出现一条竖线。这时候就会卡死不动。其实这是一个窗口,但是Linux的图形界面你懂得,没有显示出来。这时候按下Enter键可能会进入下一步。如果没有,就将密码改成8位以上包括大写字母,小写字母,数字,检车下上面的安装路径是否正确。之后点next,按enter键。后面出现这个问题同样卡死的时候,可以试试按下右移键,再按回车。

    安装快完成时,系统会提示你需要用root权限执行2个shell脚本。 按照其提示的路径 执 行/home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh  和 /home/oracle/ oraInventory/orainstRoot.sh,安装完成会有提示信息。 执行命令:

    cd  /home/oracle/app/oracle/product/11.2.0/dbhome_1     
    sh  root.sh         #当中有个敲回车的点
    cd /home/oracle/app/oraInventory 
    sh  orainstRoot.sh 
    

    至此安装完成!

     

  • 相关阅读:
    AJAX删除事件与加载数据
    AJAX的基本操作
    用JavaScript写弹窗
    jQuery事件和JSON点语法
    jQuery
    jQuery基础知识
    php 实现简单购物车功能(2)
    css实现3D立方体旋转特效
    for循环与foreach的区别
    微信小程序开发2 双线程模型,小程序中app.js中的生命周期,小程序的页面的生命周期,小程序的事件,事件补充(事件的冒泡,捕获)
  • 原文地址:https://www.cnblogs.com/AvalonRookie/p/7132525.html
Copyright © 2011-2022 走看看