Redhat6.6 图形化安装 oracle12c

环境说明

  1. 下载好Redhat6.6,在VMware Station12安装,选择安装图形化界面。下载oracle12c linuxamd64_12102_database.zip 并解压到database
  2. 启动Redhat6.6 64位,点击菜单 虚拟机->VMware-tools安装。
  3. 在命令行中根用户执行如下命令,进行VMware-tools安装

    cd /media/VMware\ Tools/
    cp VMwareTools-10.0.0-*.tar.gz ~
    cd ~
    tar zxf VMwareTools-10.0.0-*.tar.gz
    rm VMwareTools-10.0.0-*.tar.gz
    cd vmware-tools-distrib/
    ./vmware-intall.pl
    之后一路回车即可

    这里安装这个工具主要是后面使用共享文件夹
  4. 点击虚拟机设置->选项->共享文件夹 共享database
  5. 回到命令行,cd /mnt/hgfs/database,这里就是oracle12g的安装文件

配置安装Oracle的系统环境

  1. uname -a 检查linux版本,32 or 64
  2. 创建oracle用户及管理组
    以root用户登录linux,执行以下命令

    
    #groupadd dba 创建管理组 
    
    
    #groupadd oinstall 创建安装组 
    
    
    #useradd oracle -g oinstall -G dba 
    
    
    #passwd oracle
    
    oracle

    检查是否存在 nobody 用户:idnobody ,没有则添加: Useradd nobody

  3. 创建用于安装 oracle 的目录结构并赋权:

    
    #mkdir /opt/oracle/
    
    
    #mkdir /opt/oracle/oradata
    
    
    #mkdir /opt/oracle/product
    
    
    #chown -R oracle.oinstall /opt/oracle
    
    
    #mkdir /opt/oraInventory
    
    
    #chown -R oracle.oinstall /opt/oraInventory/
    
  4. 建立 oracle 环境变量:
    使用上面创建的 oracle 用户登录:

    
    #su - oracle
    
    $vi /home/oracle/.bash_profile
    在文件中添加如下:
    umask 022
    export ORACLE_BASE=/opt/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1 
    export ORACLE_SID=orcl
    export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
    保存退出 
    --执行以下命令让配置马上生效或以 oracle 用户登录使设置生效 
    $source $HOME/.bash_profile 
  5. 设置系统内核参数:
    切回root用户:su root
    其中给出的是最小值,因此如果你的系统使用的值较大,则不要更改他
    #vi /etc/sysctl.conf

    fs.file-max=6815744
    fs.aio-max-nr= 1048576
    kernel.shmall= 2097152
    kernel.shmmax=2147483648
    kernel.shmmni=4096
    kernel.sem=25032000100128
    net.ipv4.ip_local_port_range= 900065500
    net.core.rmem_default=4194304
    net.core.rmem_max=4194304
    net.core.wmem_default= 262144
    net.core.wmem_max= 1048576
    修改后运行"/sbin/sysctl -p"命令使得内核改变立即生效
  6. 对oracle用户进行限制配置:
    vi /etc/security/limits.conf

    oracle soft nproc 2047 
    oracle hard nproc 16384   //对 oracle 用户的 process 最大 16384 个
    oracle soft nofile 1024 
    oracle hard nofile 65536 //对 oracle 用户文件数量限制是 65535 个
    
    编辑文件:vi /etc/pam.d/login 加入以下语句(可能应该加在最后一条规则之前):
    session required /lib64/security/pam_limits.so
    session required pam_limits.so

安装oracle

  1. 解压oracle:
    前面已经解压设置成共享目录,可以跳过解压,但需要移动到根目录改权限,如果没有解压直接上传到服务器的,可以执行如下命令:

    
    #unzip linux*_1of2.zip
    
    
    #unzip linux*_2of2.zip
    
    注意解压好的目录用户oracle必须具有读写和执行的权限,可以将目录的用户和用户组设置为oracle。也可以拷贝到$ORACLE_BASE或者oracle用户的home下:
    
    #chown -R oracle database
    
    
    #chgrp -R oinstall database
    
  2. reboot并以oracle登录,进入图形界面

    
    #cd database
    
    
    #./runInstaller 
    

    Redhat6.6 图形化安装 oracle12c
    Redhat6.6 图形化安装 oracle12c
    Redhat6.6 图形化安装 oracle12c
    Redhat6.6 图形化安装 oracle12c
    Redhat6.6 图形化安装 oracle12c
    Redhat6.6 图形化安装 oracle12c
    Redhat6.6 图形化安装 oracle12c
    Redhat6.6 图形化安装 oracle12c
    Redhat6.6 图形化安装 oracle12c
    Redhat6.6 图形化安装 oracle12c
    这里会出现内核参数配置不对,可能是前面配置内核的参数是参考安装oracle 11g的参数的问题,依赖包也缺少
    (1)解决依赖包
    因为这里安装Redhat6.6的时候没有注册,没有线上源,这里先说明一下如何配置本地源
    1)虚拟机挂在安装Redhat6.6的镜像
    2)添加本地源:

    
    # cd /etc/yum.repos.d/
    
    
    # vi rhel-source.repo
    
    最后添加:
    [rhel_local_01]
    name=Red Hat Enterprise Linux $releasever - $basearch - Source33333
    baseurl=file:///media/"RHEL-6.6 Server.x86_64"
    gpgcheck=1
    
    
    # yum clean all
    
    
    导入公钥:
    rpm --import /etc/pki/rpm-gpg/RPM*

    3)安装依赖

    [root@localhost ~]# yum install compat-libcap1 compat-libstdc++-33 libstdc++-devel gcc gcc-c++ ksh libaio-devel
    
    依赖关系解决
    
    ============================================ ============================================
    软件包                    架构         版本                  仓库                 大小
    
    ========================================================================================
    正在安装:
    compat-libcap1            x86_64       1.10-1                rhel-local-01        17 k
    compat-libstdc++-33       x86_64       3.2.3-69.el6          rhel-local-01       183 k
    gcc                       x86_64       4.4.7-11.el6          rhel-local-01        10 M
    gcc-c++                   x86_64       4.4.7-11.el6          rhel-local-01       4.7 M
    ksh                       x86_64       20120801-21.el6       rhel-local-01       758 k
    libaio-devel              x86_64       0.3.107-10.el6        rhel-local-01        13 k
    libstdc++-devel           x86_64       4.4.7-11.el6          rhel-local-01       1.6 M
    为依赖而安装:
    cloog-ppl                 x86_64       0.15.7-1.2.el6        rhel-local-01        93 k
    cpp                       x86_64       4.4.7-11.el6          rhel-local-01       3.7 M
    mpfr                      x86_64       2.4.1-6.el6           rhel-local-01       156 k
    ppl                       x86_64       0.10.2-11.el6         rhel-local-01       1.3 M
    
    事务概要
    
    ========================================================================================
    Install      11 Package(s)
    
    总下载量:23 M
    Installed size: 56 M
    确定吗?[y/N]:y
    
    
    已安装:
    compat-libcap1.x86_64 0:1.10-1           compat-libstdc++-33.x86_64 0:3.2.3-69.el6   
    gcc.x86_64 0:4.4.7-11.el6                gcc-c++.x86_64 0:4.4.7-11.el6               
    ksh.x86_64 0:20120801-21.el6             libaio-devel.x86_64 0:0.3.107-10.el6        
    libstdc++-devel.x86_64 0:4.4.7-11.el6   
    
    作为依赖被安装:
    cloog-ppl.x86_64 0:0.15.7-1.2.el6 cpp.x86_64 0:4.4.7-11.el6 mpfr.x86_64 0:2.4.1-6.el6
    ppl.x86_64 0:0.10.2-11.el6

    (2)解决内核参数
    因为内核参数的问题是可修复的,点击修补并再次检查
    Redhat6.6 图形化安装 oracle12c
    这里说明只要根用户执行指定脚本即可

[root@localhost ~]# /tmp/CVU_12.1.0.2.0_oracle/runfixup.sh

内核参数变化如下:(通过/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.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmmni = 4096
kernel.sem = 25032000100128
error: "Invalid argument" setting key "net.ipv4.ip_local_port_range"
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

修改后:
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.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmmni = 4096
kernel.sem = 930699040  32000   100 128
net.ipv4.ip_local_port_range = 9000   65535
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

确定即可
Redhat6.6 图形化安装 oracle12c

保存响应文件,以备以后静默安装oralce使用
Redhat6.6 图形化安装 oracle12c
之后等待即可
Redhat6.6 图形化安装 oracle12c

Redhat6.6 图形化安装 oracle12c

执行配置脚本:
[root@localhost ~]# /opt/oraInventory/orainstRoot.sh 
更改权限/opt/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。

更改组名/opt/oraInventory 到 oinstall.
脚本的执行已完成。
[root@localhost ~]# /opt/oracle/product/12.1.0/dbhome_1/root.sh 
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /opt/oracle/product/12.1.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]: /usr/local/bin
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.

Redhat6.6 图形化安装 oracle12c

命令行显示此次安装日志的位置:
.[oracle@localhost database]$ 
[oracle@localhost database]$ 可以在以下位置找到本次安装会话的日志:
 /opt/oraInventory/logs/installActions2015-12-14_12-39-07PM.log

安装数据库

执行命令
$dbca
Redhat6.6 图形化安装 oracle12c
Redhat6.6 图形化安装 oracle12c
Redhat6.6 图形化安装 oracle12c
Redhat6.6 图形化安装 oracle12c
Redhat6.6 图形化安装 oracle12c
Redhat6.6 图形化安装 oracle12c
Redhat6.6 图形化安装 oracle12c
Redhat6.6 图形化安装 oracle12c
Redhat6.6 图形化安装 oracle12c
Redhat6.6 图形化安装 oracle12c

安装监听

执行命令
$netca
进入图形化配置,直接默认下一步,到最后完成,其中你也可以修改监听器的名称,协议,端口

Redhat6.6 图形化安装 oracle12c
Redhat6.6 图形化安装 oracle12c
Redhat6.6 图形化安装 oracle12c
Redhat6.6 图形化安装 oracle12c
Redhat6.6 图形化安装 oracle12c
Redhat6.6 图形化安装 oracle12c
Redhat6.6 图形化安装 oracle12c

命令行显示
Oracle Net Services 配置:
正在配置监听程序:LISTENER
监听程序配置完成。
Oracle Net 监听程序启动:
    正在运行监听程序控制: 
      /opt/oracle/product/12.1.0/dbhome_1/bin/lsnrctl start LISTENER
    监听程序控制完成。
    监听程序已成功启动。
成功完成 Oracle Net Services 配置。退出代码是0

安装完毕后的一些测试、配置及检查

  1. 配置oracle随机启动
    (1)修改/etc/oratab文件,需要将orcl:/opt/oracle/product/12.1.0/dbhome_1:N最后的N改成Y(如果/etc/oratab文件不存在,则需要使用root用户执行$ORACLE_HOME/root.sh文件)

    
    #cat /etc/oratab
    
    orcl:/opt/oracle/product/12.1.0/dbhome_1:Y

    (2)使用oracle的安装用户(oracle)修改$ORACLE_HOME/bin/dbstart文件,修改之前最好备份一下,使用如下命令

    
    #cp $ORACLE_HOME/bin/dbstart $ORACLE_HOME/bin/dbstart.bak
    
    找到
    ORACLE_HOME_LISTNER=...,
    修改成
    ORACLE_HOME_LISTNER=/opt/oracle/product/12.1.0/dbhome_1
    或者直接修改成:
    ORACLE_HOME_LISTNER=$ORACLE_HOME

    (3)测试运行dbshut, dbstart
    1)修改dbstart和dbshut的日志文件的权限(如果这两个文件不存在,先手工touch):
    root用户先创建这两个文件,不创建也可以,系统会自动创建在$ORACLE_HOME下。

    
    #cd $ORACLE_HOME/bin
    
    
    #touch startup.log
    
    
    #chown oracle.oinstall startup.log
    
    
    #chmod 755 startup.log
    
    
    #touch shutdown.log
    
    
    #chown oracle.oinstall shutdown.log
    
    
    #chmod 755 shutdown.log
    
    
    #ls -l startup.log shutdown.log
    

    2)执行相应的脚本进行测试

    
    #su - oracle
    
    $cd $ORACLE_HOME
    $dbshut (or dbstart)

    3)创建oracle服务启动脚本oradb(使用root用户),创建后可以使用oradb start|stop 命令。

    
    #touch /home/oracle/oradb
    
    
    #chown oracle.oinstall /home/oracle/oradb
    
    
    #chmod 775 /home/oracle/oradb
    
    
    脚本内容如下:
    
    #!/bin/sh
    
    
    # description: Oracle auto start-stop script. 
    
    
    
    # chkconfig: - 20 80
    
    #
    
    # Set ORA_HOME to be equivalent to the $ORACLE_HOME
    
    
    # from which you wish to execute dbstart and dbshut;
    
    #
    
    # Set ORA_OWNER to the user id of the owner of the
    
    
    # Oracle database in ORA_HOME.
    
    ORA_HOME=/opt/oracle/product/12.1.0/dbhome_1/
    ORA_OWNER=oracle
    if [ ! -f $ORA_HOME/bin/dbstart ]
    then
    echo "Oracle startup: cannot start"
    exit
    fi
    case "$1" in
    'start')
    
    # Start the Oracle databases:
    
    
    # The following command assumes that the oracle login
    
    
    # will not prompt the user for any values
    
    su - $ORA_OWNER -c $ORA_HOME/bin/dbstart
    su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
    ;;
    'stop')
    
    # Stop the Oracle databases:
    
    
    # The following command assumes that the oracle login
    
    
    # will not prompt the user for any values
    
    su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
    su - $ORA_OWNER -c $ORA_HOME/bin/dbshut
    ;;
    'restart')
    $0 stop
    $0 start
    ;;
    esac
    
    把该脚本copy到/etc/init.d/目录下
    
    #cp /home/oracle/oradb /etc/init.d/oradb
    
    将oradb加入到系统启动列表中
    
    #chkconfig --add /home/oracle/oradb 注:一定要在/etc/init.d/目录下执行
    
    
    #chkconfig --list oradb
    

    测试快速启动命令:

    
    #/etc/init.d/oradb stop
    
    
    #/etc/init.d/oradb start
    

    重启linux #reboot 在linux启动的时候,会偏慢

    
    # su - oracle
    
    
    # ps -ef | grep ora
    

    (4)测试连接数据库
    用oracle用户远程登陆,然后

 [oracle@localhost ~]$ sqlplus /nolog

SQL*Plus: Release 12.1.0.2.0 Production on Mon Dec 14 23:30:15 2015

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

SQL> conn / as sysdba
Connected.

 SQL> create table testUser(id integer, name char(10));

Table created.

SQL> insert into testUser values(0, 'Jack');

1 row created.

SQL> commit;

Commit complete.

SQL> select * from testUser;

    ID NAME
---------- ----------
     0 Jack

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> quit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

到此,oracle安装完毕


参考

oracle自启动脚本
安装Linux版本的oracle11g单机版.PDF
Oracle Enterprise Manager 12c 安装过程

上一篇:Oracle 11g RAC搭建(VMware环境)


下一篇:oracle显示中文乱码