zoukankan      html  css  js  c++  java
  • 在Linux系统上安装Oracle数据库

    前期准备:我用的是虚拟机上的CentOS 64位系统。所以需要设置网卡,时间,EPEL源,安装一些必备的软件。

      1.1在虚拟机上安装好Linux系统后选择虚拟机设置—>网络适配器—>网络连接—>桥接模式

    1.2然后进入系统配置网卡

    永久修改:

    vi /etc/sysconfig/network-scripts/ifcfg-eth0

    DEVICE=eth0(设备名称) 

    TYPE=Ethernet(网络类型)

    ONBOOT=yes(开机自启动)

    BOOTPROTO=static(静态ip)  dhcp是动态ip  none 是不指定

    IPADDR=192.168.1.21

    NETMASK=255.255.255.0

    GATEWAY=192.168.1.1

    NETWORK=192.168.1.0

    DNS1=192.168.1.1

    立即生效:

    service network restart

    1.3关闭防火墙 :在使用网络程序时要先关闭防火墙,不然是连接不上的

    1) 永久性生效,重启后不会复原
    开启:chkconfig iptables on
    关闭:chkconfig iptables off

    2) 即时生效,重启后复原
    开启:service iptables start
    关闭:service iptables stop

    如果是firewall防火墙

    停止: systemctl stop firewalld.service

    禁止开机启动:systemctl disable firewalld.service

    启动:systemctl start firewalld.service

    开机启动:systemctl enable firewalld.service

    1.4设置系统时间

    手动设置硬件时间

    hwclock --set --date="05/1/2015 19:24"

    时间格式:月/日/年空格时:分:秒

    ---------------

    将硬件时间写入系统时间

    hwclock --hctosys

    clock --hctosys

     

    1.5设置EPEL源

    rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

    1.6安装解压缩工具

    yum install unzip

    下面就开始正式安装

    2.1 安装oracle-rdbms-server-11gR2-preinstall

    在Linux上安装oracle数据库,在环境准备方面,例如该安装的RPM包,该调整的内核参数等,不仅较为复杂,有些参数值还会因为人工设置的不合理而对日后的运行带来一定的影响,也是整个安装过程中最耗时的部分。在oracle linux 6_64bit上,提供了oracle-rdbms-server-11gR2-preinstall包,可以自动化的将需要安装的rpm包,需要调整的内核参数自动化的处理,对DBA安装数据库确实节省了不少的时间。在oracle linux 5和oracle linux 4上有一个相似功能的包叫oracle-validated

    他所起的作用:

           (1)自动安装oracle所需的RPM包

           (2)自动创建oracle用户和group组

           (3)自动配置/etc/sysctl.conf内核参数

           (4)自动配置/etc/security/limits.conf参数

           (5)关闭NUMA=OFF (关闭非一致内存访问)

    安装前检查

    a、 检查网络环境,确保网络畅通   

       cat /etc/issue

    b、检查yum是否已安装

         rpm -qa | grep yum

    C、安装oracle-rdbms-server-11gR2-preinstall包 按照下面步骤一步一步来

    切换到目录 /etc/yum.repos.d/

    cd /etc/yum.repos.d/

    wget http://public-yum.oracle.com/public-yum-ol6.repo(注意:如果没有安装wget需要先执行 yum install wget)

     

    (vi public-yum-ol6.repo)这里可以是手动添加,也可以是之前添加好的EPEL源,查看是否安装上

     

    cd /etc/pki/rpm-gpg/

    wget http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O RPM-GPG-KEY-oracle

    gpg --quiet --with-fingerprint ./RPM-GPG-KEY-oracle

     

    yum install oracle-rdbms-server-11gR2-preinstall

    验证

    [root@localhost24 yum.repos.d]# cat /etc/passwd |grep oracle

    oracle:x:54321:54321::/home/oracle:/bin/bash

    [root@localhost24 yum.repos.d]# cat /etc/group |grep dba

    dba:x:54322:oracle

    [root@localhost24 yum.repos.d]#

    2.2 编辑  /etc/pam.d/login

      vi /etc/pam.d/login

    添加以下行:

    session    required     /lib64/security/pam_limits.so

    session    required     pam_limits.so

    2.3  编辑   /etc/profile

     vi /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

    2.4 预先创建安装目录

      

        cd /

        创建ORALCE_BASE目录

        mkdir -p /u01/app/oracle

        创建ORACLE_HOME目录

        mkdir -p /u01/app/oracle/product/11.2.0/db_1

        创建Oracle数据文件存放目录

        mkdir -p /u01/app/oracle/product/11.2.0/oradata

        创建Oracle安装过程日志目录

        mkdir -p /u01/app/oracle/oraInventory

    2.5  设置目录的所有者所属组和权限

       

       设置app 目录所有者为oracle用户及其所属的oinstall组

       chown -R oracle.oinstall /u01/app

       设置oraInventory目录所有者为oracle用户及其所属的组

       chown -R oracle.dba /u01/app/oracle/oraInventory

       设置app 目录所属用户具有该目录读、写、执行的权限

       chmod -R 775 /u01/app/

    2.6 上传oracle安装源文件并且unzip解压缩到  /u01/app/oracle  目录下

    2.7创建 oraInst.loc

         创建oraInst.loc文件并增加内容

         vi /etc/oraInst.loc

         inventory_loc=/u01/app/oracle/oraInventory

         inst_group=oinstall

        设置oracle用户及其oinstall组对oraInst.loc文件的所有权

        chown oracle:oinstall /etc/oraInst.loc

       设置oraInst.loc文件所属用户及组具有该目录读、写、执行的权限

       chmod 664 /etc/oraInst.loc

    2.8 设置用户 oracle的环境变量

          登录oracle用户

         su - oracle

        编辑oracle用户的环境变量

        vi /home/oracle/.bash_profile

    在文件中添加如下:

    # .bash_profile

     

    # Get the aliases and functions

    if [ -f ~/.bashrc ]; then

            . ~/.bashrc

    fi

     

    # User specific environment and startup programs

     

    PATH=$PATH:$HOME/bin

    # user add

    umask 022

    export SHELL=/bin/bash

    export ORACLE_BASE=/u01/app/oracle

    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

    export ORACLE_SID=orcl

    export ORACLE_UNQNAME=$ORACLE_SID

    export ORACLE_OWNER=oracle

    export ORACLE_TERM=vt100

    export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin

    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib

    CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

    CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib

    export CLASSPATH

    export ORA_NLS33=$ORACLE_HOME/nls/admin/data

    # 设置中文环境

    # export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

    export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"

    # 通过locale命令查看自己主机的真实LANG情况,或者echo $LANG

    # user end

     

    执行以下命令让配置马上生效或以oracle用户登录使设置生效

    source $HOME/.bash_profile

    2.9 设置系统临时空间的大小

    注意:默认为物理内存的2倍,同时也是为了防止在后续启动数据库时报ORA-00845的错误,下为错误示例:

    SQL> startup ;

    ORA-00845: MEMORY_TARGET not supported on this system

            调整shm的大小,这样相对简单,具体操作如下

            vi /etc/fstab

           修改如下行的设置

           tmpfs /dev/shm tmpfs defaults 0 0

           改成

          tmpfs /dev/shm tmpfs defaults,size=2G 0 0     (我这边给虚拟机分的内存是1G)

    保存退出

    重新mount下shm使其生效

    mount -o remount /dev/shm

    df -h | grep shm

    2.10  准备 Oracle11201静默安装应答文件

       进入到oracle 的安装文件 database目录

        ./runInstaller -silent -debug -force

        oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0

        oracle.install.option=INSTALL_DB_SWONLY

        UNIX_GROUP_NAME=oinstall

        INVENTORY_LOCATION=/u01/app/oracle/oraInventory

        ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

        ORACLE_BASE=/u01/app/oracle

        oracle.install.db.InstallEdition=EE

       oracle.install.db.EEOptionsSelection=false

       oracle.install.db.DBA_GROUP=dba

       oracle.install.db.OPER_GROUP=install

       DECLINE_SECURITY_UPDATES=true

           执行完之后不要乱动,要根据提示查看日志,直接查看下一个步骤要复制一个SSh窗口进行操作

    2.11  根据上述提示查看安装日志

        tail -100f /u01/app/oracle/oraInventory/logs/installActions2014...

    查看日志是否安装成功,如果安装失败需要将所有文件删除重新安装。

    后期完善:配置Oracle随操作系统启动相关

    3.1配置dbstart和dbshut命令

    1.安装好Oracle数据库后: 执行 dbstart和dbshut会提示:

    [oracle@oracle11g ~]$ dbstart

    ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener

    Usage: /u01/app/oracle/oracle/product/10.2.0/db_1/bin/dbstart ORACLE_HOME

    错误原因是:dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题

    分别编辑两个文件(dbstart和dbshut)

    找到:ORACLE_HOME_LISTNER=$1,修改为

    ORACLE_HOME_LISTNER=$ORACLE_HOME,命令如下:

    [oracle@oracle11g ~]$ vi $ORACLE_HOME/bin/dbstart

    [oracle@oracle11g ~]$ vi $ORACLE_HOME/bin/dbshut

    提示:

    dbstart ORACLE_HOME_LISTNER=$1 参数大约在78行

    dbshut ORACLE_HOME_LISTNER=$1 参数大约在50行

    vi命令:

    :set nu 显示行号

    3.2设置开机自动运行oracle

    第一步:修改/etc/oratab文件,命令如下:

    [oracle@oracle11g ~]$ vi /etc/oratab

    找到:orcl:/u01/oracle:N   修改为: orcl:/u01/oracle:Y               注意:orcl:/u01/oracle:N 应根据实际情况鉴别,orcl是新创建库的实例名,/u01/oracle是ORACLE_HOME的绝对路径;Y代表的是随系统一起启动;

    第二步:把lsnrctl start和dbstart添加到rc.local文件中,命令如下:

    [oracle@oracle11g ~]# vi /etc/rc.d/rc.local

    添加:

    su oracle -lc "/u01/app/oracle/product/11.2.0/db_1/bin/lsnrctl start"

    su oracle -lc /u01/app/oracle/product/11.2.0/db_1/bin/dbstart

    注意:第一个命令有空格,所以要用引号的

    3.3配置Oracle sqlplus 回显

       yum install -y rlwrap  (如果不设置回显sqlplus不能删除字符操作 需要在root用户下进行)

    echo "alias sqlplus='rlwrap sqlplus'" >>/home/oracle/.bash_profile

    echo "alias rman='rlwrap rman'" >>/home/oracle/.bash_profile

     

    立即生效

    source /home/oracle/.bash_profile

    至此,所有工作都已经完成了。

  • 相关阅读:
    PHP之get请求用php脚本实现
    PHP之download
    PHP之缩略图
    PHP之upload
    文本域<textarea>将 替换成换行
    JSON中获取变量key的值
    emap表格checkbox属性默认勾选
    读取ORACLE数据库中BOLB形式数据在前端预览
    oracle常用语法
    批量删除本地仓库未下载完成的jar文件
  • 原文地址:https://www.cnblogs.com/lk-fxtx/p/7374754.html
Copyright © 2011-2022 走看看