zoukankan      html  css  js  c++  java
  • CentOS 7静默(无图形化界面)安装Oracle 11g

    准备CentOS 7 系统环境

    我以 CentOS-7-x86_64-DVD-1511.iso 为例,简述Oracle 11g的安装过程。

    由于是使用静默模式(silent)安装的,无需使用图形化界面,我选择了最小安装的服务器版的CentOS 7。

    安装过程可参考 https://jingyan.baidu.com/article/fd8044fade8ac35031137a82.html

    安装完成后,只有命令行界面。

     

    为了方便命令操作,我使用了远程连接工具Xshell

    我在这里和大家分享下绿色版的XshellXftpPortable:

    http://pan.baidu.com/s/1pL5DL4B

    下载后解压即可使用

     

    下载 Oracle 11g

    Oracle官方网站

    http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

    我的机器安装的是CentOS7 64位系统,因此下载的Oracle版本也是64位的

     

    11.2.0.2.0  zlinux64版本的Oracle是安装在IBM服务器的,CentOS 7是无法安装的。

    下载完成后,有两个压缩文件

    linux.x64_11gR2_database_1of2.zip 和 linux.x64_11gR2_database_2of2.zip

     

    通过Xftp将压缩文件上传到 /db/

    安装依赖包

    安装依赖包之前,个人建议将yum源修改为aliyun源,下载速度快些,执行如下命令即可:

    cd /etc

    mv yum.repos.d yum.repos.d.bak

    mkdir yum.repos.d

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    yum clean all

    yum makecache

     

    修改成功后,安装如下依赖包:

    yum -y install binutils

    compat-libstdc++-33

    elfutils-libelf

    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

    安装完成后显示如下界面

     

    使用如下命令检查依赖是否安装完整

    rpm -q

    binutils

    compat-libstdc++-33

    elfutils-libelf

    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"

    发现 pdksh 没有安装

     

    执行 yum -y install pdksh,发现CentOS 7 没有相关安装包可用

    通过wget命令直接下载pdksh的rpm包,我下载到了/tmp/

    wget -O /tmp/pdksh-5.2.14-37.el5_8.1.x86_64.rpm http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm

    下载完成后,进入 /tmp/

     

    rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm

     

    再次检查依赖包是否安装完整

    rpm -q

    binutils

    compat-libstdc++-33

    elfutils-libelf

    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"

     

    到此依赖包安装完整

    添加oracle用户组和用户

    groupadd oinstall

    groupadd dba

    groupadd asmadmin

    groupadd asmdba

    useradd -g oinstall -G dba,asmdba oracle -d /home/oracle

    添加完成后,查看oracle用户

    id oracle

    初始化oracle用户的密码

    passwd oracle

     

    配置hostname(本机IP映射)

    vim /etc/hosts

    192.168.154.154 centos-oracle

    测试hostname

    ping -c 3 centos-oracle

     

    优化OS内核参数

    kernel.shmmax 参数设置为物理内存的一半

    vim /etc/sysctl.conf

    fs.aio-max-nr=1048576

    fs.file-max=6815744

    kernel.shmall=2097152

    kernel.shmmni=4096

    kernel.shmmax = 1073741824

    kernel.sem=250 32000 100 128

    net.ipv4.ip_local_port_range=9000 65500

    net.core.rmem_default=262144

    net.core.rmem_max=4194304

    net.core.wmem_default=262144

    net.core.wmem_max=1048586

    使参数生效

    sysctl -p

     

    限制oracle用户的shell权限

    vim /etc/security/limits.conf

    oracle              soft    nproc   2047

    oracle              hard    nproc   16384

    oracle              soft    nofile  1024

    oracle              hard    nofile  65536

    vim /etc/pam.d/login

    session  required   /lib64/security/pam_limits.so

    session  required   pam_limits.so

    vim /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安装目录

    mkdir -p /db/app/oracle/product/11.2.0

    mkdir /db/app/oracle/oradata

    mkdir /db/app/oracle/inventory

    mkdir /db/app/oracle/fast_recovery_area

    chown -R oracle:oinstall /db/app/oracle

    chmod -R 775 /db/app/oracle

    配置oracle用户环境变量

    su - oracle

    vim .bash_profile

    umask 022

    export ORACLE_HOSTNAME=centos-orcl

    export ORACLE_BASE=/db/app/oracle

    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/

    export ORACLE_SID=ORCL

    export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH

    export LC_ALL="en_US"

    export LANG="en_US"

    export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"

    export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

    以上配置完成后,个人建议重启下系统

    reboot

    解压oracle压缩文件到 /db

    cd /db/

    unzip linux.x64_11gR2_database_1of2.zip -d /db

    unzip linux.x64_11gR2_database_2of2.zip -d /db

    解压完成后

    mkdir /db/etc/

    cp /db/database/response/* /db/etc/

    vim /db/etc/db_install.rsp

    oracle.install.option=INSTALL_DB_SWONLY

    DECLINE_SECURITY_UPDATES=true

    UNIX_GROUP_NAME=oinstall

    INVENTORY_LOCATION=/u01/app/oracle/inventory

    SELECTED_LANGUAGES=en,zh_CN

    ORACLE_HOSTNAME=centos-oracle

    ORACLE_HOME=/db/app/oracle/product/11.2.0

    ORACLE_BASE=/db/app/oracle

    oracle.install.db.InstallEdition=EE

    oracle.install.db.isCustomInstall=true

    oracle.install.db.DBA_GROUP=dba

    oracle.install.db.OPER_GROUP=dba

    开始安装

    su - oracle

    ./runInstaller -silent -ignorePrereq -responseFile /db/etc/response/db_install.rsp

    安装期间可以使用tail命令监看oracle的安装日志

    tail -f /db/app/oracle/inventory/logs/installActions2017-07-12_03-48-29PM.log

     

    安装完成,提示Successfully Setup Software.

    根据提示完成配置

     

    su root

    sh /db/app/oracle/inventory/orainstRoot.sh

    sh /db/app/oracle/product/11.2.0/root.sh

     

    配置静默监听

    su - oracle

    netca /silent /responsefile /db/etc/netca.rsp

     

    查看监听端口

    netstat -tnulp | grep 1521


    静默创建数据库

    TOTALMEMORY 设置为总内存的80%

    vi /db/etc/dbca.rsp

    GDBNAME = "orcl"

    SID = "orcl"

    SYSPASSWORD = "oracle"

    SYSTEMPASSWORD = "oracle"

    SYSMANPASSWORD = "oracle"

    DBSNMPPASSWORD = "oracle"

    DATAFILEDESTINATION =/db/app/oracle/oradata

    RECOVERYAREADESTINATION=/db/app/oracle/fast_recovery_area

    CHARACTERSET = "AL32UTF8"

    TOTALMEMORY = "1638"

    执行静默建库

    dbca -silent -responseFile /db/etc/dbca.rsp

     

    查看oracle实例进程

    ps -ef | grep ora_ | grep -v grep

     

    查看监听状态

    lsnrctl status

     

    登录sqlplus,查看实例状态

    sqlplus / as sysdba

    select status from v$instance;

     

    查看数据库编码

    select userenv('language') from dual;

     

    查看数据库版本信息

    select * from v$version;

     

    激活scott用户

    alter user scott account unlock;

    alter user scott identified by tiger;

    select username,account_status from all_users;

     

    Navicat远程连接Oracle

    开放1521端口

    firewall-cmd --zone=public --add-port=1521/tcp --permanent

    firewall-cmd --reload

    官方网站

    http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

    下载 instantclient-basic,解压压缩文件

     

    下载Navicat

    http://pan.baidu.com/s/1c2GP9U4

    打开Navicat,工具→选项

    打开OCI界面,在右侧OCI library一栏中选择instantclient-basic解压目录下的oci.dll,然后点击确定。

     

    重启Navicat,点击连接,选中Oracle

     

    IP为Oracle服务器的IP地址,服务名为Oracle的实例名,可忽略大小写

    select instance_name from v$instance;

     

    用户名使用刚激活的scott,密码为tiger,填完以上信息后点击连接测试

     

    到此Navicat远程连接Oracle数据库成功

    设置Oracle开机启动

    vi /db/app/oracle/product/11.2.0/bin/dbstart

    ORACLE_HOME_LISTNER=$ORACLE_HOME

    vi /db/app/oracle/product/11.2.0/bin/dbshut

    ORACLE_HOME_LISTNER=$ORACLE_HOME

    vi /etc/oratab

    orcl:/db/app/oracle/product/11.2.0:Y

    vi /etc/rc.d/init.d/oracle

    [plain] view plain copy
     
    1. #! /bin/bash  
    2. # oracle: Start/Stop Oracle Database 11g R2  
    3. #  
    4. # chkconfig: 345 90 10  
    5. # description: The Oracle Database is an Object-Relational Database Management System.  
    6. #  
    7. # processname: oracle  
    8. . /etc/rc.d/init.d/functions  
    9. LOCKFILE=/var/lock/subsys/oracle  
    10. ORACLE_HOME=/db/app/oracle/product/11.2.0  
    11. ORACLE_USER=oracle  
    12. case "$1" in  
    13. 'start')  
    14.    if [ -f $LOCKFILE ]; then  
    15.       echo $0 already running.  
    16.       exit 1  
    17.    fi  
    18.    echo -n $"Starting Oracle Database:"  
    19.    su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"  
    20.    su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"  
    21.    su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"  
    22.    touch $LOCKFILE  
    23.    ;;  
    24. 'stop')  
    25.    if [ ! -f $LOCKFILE ]; then  
    26.       echo $0 already stopping.  
    27.       exit 1  
    28.    fi  
    29.    echo -n $"Stopping Oracle Database:"  
    30.    su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"  
    31.    su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"  
    32.    su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"  
    33.    rm -f $LOCKFILE  
    34.    ;;  
    35. 'restart')  
    36.    $0 stop  
    37.    $0 start  
    38.    ;;  
    39. 'status')  
    40.    if [ -f $LOCKFILE ]; then  
    41.       echo $0 started.  
    42.       else  
    43.       echo $0 stopped.  
    44.    fi  
    45.    ;;  
    46. *)  
    47.    echo "Usage: $0 [start|stop|status]"  
    48.    exit 1  
    49. esac  
    50. exit 0  

    开机启动oracle

    systemctl enable oracle

    开机启动问题

    oracle ORA-12547: TNS:lost contact

    cd /db/app/oracle/product/11.2.0/bin/

    chmod 6751 oracle

    TNS-12555: TNS:permission denied

    cd /var/tmp

    chown -R oracle:oinstall .oracle

     

    藏经阁技术资料分享群二维码

    藏经阁技术资料分享群二维码
  • 相关阅读:
    获取键盘代码
    从一道js笔试题到==运算符的简析
    【物联网智能网关01】通过AD采集获取温湿度
    【物联网智能网关04】WinForm for .NET MF 功能一览
    .NET Micro Framework V4.2 RTM正式发布
    【物联网智能网关02】获取摄像头数据+显示
    .NET Micro Framework开发板用户简明手册(v3.0)
    2011 ARM技术研讨会杂记
    再谈.NET Micro Framework移植
    【.Net MF网络开发板研究06】以太网转串口
  • 原文地址:https://www.cnblogs.com/wangsongbai/p/9175946.html
Copyright © 2011-2022 走看看