zoukankan      html  css  js  c++  java
  • Redhat6.8下安装Oracle11gR2

    Step1.配置本地yum源,方便安装依赖包

    df -h
    

    1

       补充: df命令查看 linux系统磁盘空间以及使用情况,-h代表方便阅读方式显示  ;/dev/sr0为光驱设备名


    mkdir cdrom
    mount /dev/sr0 /mnt/cdrom
    

    image

      补充: 将光驱挂在到 /mnt/cdrom下


    vim /etc/yum.repos.d/redhat.repo
    

    image

    补充:本地yum源,enabled为1代表启用

    Redhat修改了redhat.repo之后, 每次yum操作之后redhat.repo改动都没了,只会保留注释行,解决方法重命名自己的repo文件 或者 取消插件自动检查:

    下图为该插件功能,每次都会检测并提示没有注册到Redhat的yum源,

    image

    这时候回去看之前改动的redhat.repo文件,改动地方没了已经,取消插件自动检查方法(将enabled由0改为1即可,然后将redhat.repo文件内容重新写一遍  或者一开始就将文件名随便重新取一个):

    vim /etc/yum/pluginconf.d/subscription-manager.conf

    image


    上面准备工作完成就可以准备安装Oracle依赖了, 测试之前安装是否成功可以通过以下简单尝试:

    Root用户下安装lrzsz成功之后,rz可以弹出文件选择框上传文件 ;  或者yum  list 命令弹出一大可安装,每行最后都有 Server的名字,就是我们之前配置的源名字[Server]

    yum install -y lrzsz

    Step2.Oracle安装步骤准备

    以下配置需要Root用户执行

    2.1 配置Oracle内核参数信息  补充说明:内核参数设置  Oracle安装内核参数详解

    vi /etc/sysctl.conf
    

    追加以下内容:

    kernel.shmmax = 68719476736
    kernel.shmall = 4294967296
    fs.file-max = 6815744
    kernel.shmmni = 4096
    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
    fs.aio-max-nr = 1048576
    

    执行命令使之生效

    sysctl -p

    2.2 配置Oracle 资源使用情况 补充说明:资源使用情况解释 Oracle资源使用情况详解

    vi /etc/security/limits.conf
    

    追加以下内容

    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    oracle hard stack 10240
    

    2.3 配置Oracle 登陆设置  补充说明:Oracle登陆设置解释

    vi /etc/pam.d/login

    追加以下内容 (说明:当前机器为64位 所以是lib64目录下, 32位的机器目录下 lib下 ,查看机器目录方式有 getconf LONG_BIT)

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


    注意上面的目录写错了会导致linux系统登陆出现问题,虽然没遇到这样的问题,但是贴上解决的博客,万一遇到:解决Oracle安装后linux登陆出现问题


    2.4 同样Root用户下修改/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.5 添加用户 (补充说明:为什么linux下安装oracle需要创建用户,以及用户组呢?个人见解,先说创建Oracle用户,不可能每次操作数据库都用root用户来登陆服务器,所以肯定要有这样一个用户来管理数据库,处于系统安全、数据完整考虑;第二点,用户组个人认为两个组才可以,OINSTALL以及DBA组,OINSTALL软件安装组,Oracle软件的所有者,而DBA组安全性来说就比较重要了,DBA组用户可以 conn / as sysdba方式通过操作系统认证进而登陆任意数据库实例,后面会补充介绍;以上都是这四天从零完成测试环境Oracle安装的发现,有不对之处欢迎讨论)

    groupadd  oinstall
    groupadd  dba
    useradd  -g  oinstall  -G  dba  oracle
    passwd  oracle
    

    之后输入两次密码即可完成给oracle用户设置密码;  补充说明:useradd 的 –g代表 指定用户所属群组,-G 指定用户所属附加群组, 也就是说 -g是覆盖式的 -G是增量式的 ;

    比如useradd  -g  oinstall –g dba XXX  这样XXX只属于oinstall组


    2.6 配置环境变量以及 设定好安装目录

      先规划好打算安装oracle的路径,我将oracle安装到 /data/app/oracle目录,安装时候记得查看 磁盘空间大小,不要安装到一半没有空间了;

    mkdir  -p  /data/app/oracle
    chown  -R   oracle:oinstall  /data/app/
    

    补充说明:mkdir  -p 需要时创建上级目录,  chown –R  递归将目录拥有者给oinstall组的oracle用户

    设定ORACLE用户环境变量,当然要切换用户到ORACLE ,.bash_profile在ORACLE的家目录下, ls –al可以查看到该文件

    su  -  oracle
    vi   .bash_profile
    
    

    这里可以提前设置环境变量:解释下,ORACLE_SID代表你后面想要创建的数据库实例名,这里可以先写上,文章后面会说有什么用处; ORACLE_HOME代表你打算安装ORACLE产品的目录,这里写了后面就要按照这个来,可以先把目录手动创建起来

    export ORACLE_BASE=/data/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/dbhome_1
    export ORACLE_SID=olcom114DB
    export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
    
    

    修改完成.bash_profile文件,立即生效命令 ; 可以通过 echo  $环境变量名字 查看是否起作用了

     source   .bash_profile

    2.7 上传好Oracle安装包并完成解压

    Oracle11gR2安装包Oracle官网就需要登录才能下载,因为公司内网不知道啥情况,点击下载连接死活下不了,就去用积分下载,这里吐槽下某些链接,写的64位,装到一半报错什么libxxso的,才发现是32位的压缩包;

    这里Oracle64位的安装包是linux.x64……..这样的,而linux_11gR2这种是32位的,直接通过fxp工具上传到服务器某个目录下,注意磁盘空间大小,2个文件加起来2G多;

    image

    解压命令: unzip解压就会解压到database目录下

    unzip linux.x64_11gR2_database_1of2.zip
    unzip linux.x64_11gR2_database_2of2.zip

    2.8 依赖包的安装

    前面Step1配置过了本地yum源之后,现在安装这些依赖包应该不存在问题,第一天安装的时候完全不知道什么命令查看哪些依赖,厚脸皮去请教一位数据库工程师,前辈发来一段命令

     rpm -q --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})
    " 
    binutils.x86_64 
    compat-libcap1.x86_64 
    compat-libstdc++-33.i686 
    compat-libstdc++-33.x86_64 
    gcc-c++.x86_64 
    glibc.i686 
    glibc.x86_64 
    glibc-devel.i686 
    glibc-devel.x86_64 
    ksh-*.x86_64 
    libaio.i686 
    libaio.x86_64 
    libaio-devel.i686 
    libaio-devel.x86_64 
    libX11.i686 
    libX11.x86_64 
    libXau.i686 
    libXau.x86_64 
    libXi.i686 
    libXi.x86_64 
    libXtst.i686 
    libXtst.x86_64 
    libgcc.i686 
    libgcc.x86_64 
    libstdc++.i686 
    libstdc++.x86_64 
    libstdc++-devel.i686 
    libstdc++-devel.x86_64 
    libxcb.i686 
    libxcb.x86_64 
    make.x86_64 
    net-tools.x86_64 
    smartmontools.x86_64 
    sysstat.x86_64 | grep "not installed|未安装"
    

    查看下当前依赖: (补充下,有些依赖通过后面安装,没发现需要这样依赖)

    image

    Root用户下执行下面的安装命令:

    yum install compat-libcap1
    
    yum install compat-libstdc++-33*
    
    yum install compat-libstdc++-33*.i686
    
    yum install gcc*
    
    yum install glibc-devel-*.i686
    
    yum install libstdc++-devel*.i686
    
    yum install libaio*.i686
    
    yum install libaio-devel*
    
    yum install unixODBC*
    
    yum install unixODBC*.i686
    
    yum install ksh
    

    执行完之后,查看还有哪些依赖没有安装(这些依赖后面安装 check dependencies时候没发现需要,也就没有继续安装)

    image


    Step3.图形化界面安装Oracle,因为习惯图形化安装,下面的只介绍图形化安装,我是先安装数据库软件 (因为服务器需要VPN连接,VPN经常断,没办法坚持到安装数据库软件建库一起完成),然后dbca建库,netca建立监听,dbca etca图形以及静默安装方式都有;

    3.1 安装数据库软件(图形化界面)

       图形化安装工具使用的是Xshell,以Oracle用户登陆XShell工具,进入到上面2.7的解压目录database

     ./runInstaller

    image

    一切正常的话就会弹出来Oracle安装界面,也会出现检查不通过,临时空间、交换空间不足,这两个我没有遇到就自行解决啦;

    安装过程第一个问题就出现了:

    image

    解决方案: 

    vi /etc/hosts

    image

    修改添加当前主机名,主机名通过  hostname 命令查看,由于localhost.localdomain我觉得没啥用途,就全删掉改成主机名了

    image

    再次启动安装命令 ./runInstaller 不警告,通过;

    简单通过 LICECap 将之前安装过程中图片做成动画形式,简单记录下安装说明:

    1. 将安全更新的√取消 ;

    2. 这里暂时只安装数据库软件,不创建实例(服务器VPN不稳定,数据库实例创建时间稍长,所以只安装数据库软件);

    3.选择单实例数据库;

    4. 语言只选择了英语;

    5. 这里安装的是企业版 ;

    6. ORACLE_BASE、ORACLE_HOME 在前面2.6环境变量写好了,这里指定ORACLE_BASE为 /data/app/oracle 以及 ORACLE_HOME为/data/app/oracle/product/dbhome_1 ;

    7. Inventory目录为清单目录,这最好不要在ORACLE_BASE目录下,安装过程中的日志都在清单目录里面,下面还指定了ORACLE清单组,oinstall就可以了; 

    8. 指定DBA组为之前添加的dba组,OSOPER组为之前的oinstall组就可以;

    9.依赖检查,这里如果按照之前yum全部安装了,仍然会包缺少依赖,咨询过相关DBA说最好依赖版本相同,但是安装时候gcc版本安装时候 gcc如果不小心安装就会导致系统宕机、崩溃等各种问题;

    如果确认之前2.8步骤的yum  install都执行成功,那点击右上角的Ignore All再点击下一步;(没执行2.9的yum install可能会出现一种情况,生成的bin目录里面lsnrctl可能为空,我第一次安装就有这样的问题)

    10.安装产品步骤时,快完成时候会跳出来提示框,Root用户下执行两个脚本即可,截图也在下面有;

    11.回到安装界面,点击OK,至此Oracle软件安装完成。

    1


    Step4.Oracle用户  图形化 dbca建库、netca建立监听

    环境变量如果之前设置正确,xshell工具 Oracle用户登录后 输入  dbca ,会弹出如下界面进行建库操作:

    Create a database  创建数据库 ; 数据库实例名SID 设置,和前面环境变量里的ORACLE_SID一致 (这里有篇文章介绍 环境变量ORACLE_SID的作用 关于环境变量ORACLE_SID简单谈下); 后面有很多具体配置,

    Enterprise Manger (企业管理,就会有个类似控制台的东西),SGA、PGA等等,具体自行百度设置;  这里有个不太明白的地方: 前面会先设置一遍 All account的密码,后面建库完毕弹出来的Password Management打开发现密码都是空的, 这里重新设置一遍Sys用户和Sysadmin等用户,点击OK,这样就建库完毕 ( 点击OK之前再开打密码管理器,发现还是空白, 但是后面登陆时候密码确实是设置上的,这块希望有人知道能评论告诉我,)

     4


    环境变量设置正确的话,xshell工具 Oracle用户登录后 输入  netcat ,会弹出如下界面进行建库操作:

    建立监听的目的是让其他机器可通过PLSQL等工具连接上本机的数据库实例, 具体监听这里有篇资料mark Oracle 监听器 Listener

    5

    查看监听器是否启动可以通过如下两种方式:

    netstat -tnlp |grep 1521

    image

    或者

    lsnrctl status

    image


    Step5.到这里建库,监听建立都完毕可以测试下,按照以上安装步骤都是没有问题的,本机安装了两次,服务器也装了一次,有什么问题后续会补充;

    本机测试连接(后面会有介绍 本机Oracle用户登录SYS用户哪怕不要密码 密码错误都可以登陆):

    sqlplus  /nolog
    conn / as sysdba
    select * from v$instance;

     image

    可能登陆会有 connected to an idle instance ,启动下数据库实例 startup 即可

    image

    外部机器测试连接(通过PLSQL测试连接)  数据库访问这么写:192.168.88.114:1521/olcom114DB , 记得Oracle所在机器开放监听端口;

    image

    image


    Step6. 图形化安装过程中遇到的几个错误 以及解决方案

    问题一. 安装Oracle软件过程指定清单目录时候,报错 Unable to create a new central  Inventory at the specified location.

       问题说明:安装的时候没注意到清单所在目录/data/oracle/oraInventory下面有其他文件,解决方案把该文件夹下面文件清掉或者换个文件夹; 

    另外,该目录最好不要在ORACLE_BASE目录下

    image


    问题二. 安装Oracle软件检查依赖时候,交换空间不足

    /root目录下(目录随意)
    dd if=/dev/zero of=swapfree  bs=32k  count=65515
    mkswap  swapfree
    swapon  swapfree
    free  
    /etc/fstab编辑开启自启动交换分区
    /root/swapfree  swap  swap  defaults 0 0
    

    之后Check Again就可以通过了

    image


    问题三.Oracle dbca建库过程中 Tns could not resolve the connect identifier specified

    说明DBCA建库为啥会报这种错,一般我以为只有PLSQL连接时候才报错, 这种错误我这里出现情况是设置数据库用户密码中包含了@ 符号,把密码稍微改动下 去掉 @ 试试

    image


    Step7.静默方式dbca  netca建库

    至于为什么采用dbca 静默方式建库呢? 因为服务器需要用VPN连接不太稳定, 好几次建库等进度条的时候VPN断了,尝试了多次VPN死心时候,采用静默dbca建库;

    dbca命令在安装完Oracle软件之后就可以使用,配置文件 dbca.rsp到 database/responseFile/dbca.rsp复制过来就可以

    [GENERAL]
    RESPONSEFILE_VERSION = "11.2.0"
    
    OPERATION_TYPE = "createDatabase"
    
    [CREATEDATABASE]
    GDBNAME = "olcom114DB"
    
    SID = "olcom114DB"
    
    TEMPLATENAME = "General_Purpose.dbc"
    
    SYSPASSWORD = "你的SYS用户密码"
    
    SYSTEMPASSWORD = "你的SYSTEM用户密码"
    
    DATAFILEDESTINATION = /data/app/oracle/oradata/
    
    CHARACTERSET = "ZHS16GBK"
    
    NATIONALCHARACTERSET= "UTF8"
    
    TOTALMEMORY = "2048"

    这是最基础的配置,全局数据库名、实例名、字符集、数据文件存储位置等

    Oracle用户下执行命令,执行成功就可以在服务器上使用SQLPLUS连接Oracle

    dbca  -silent  -responseFile  /data/oracle/dbca.rsp

    image


    netca建立监听才可以通过其他机器的PLSQL连接本机的ORACLE数据库

    netca  /silent  /responseFile    /data/database/responseFile/netca.rsp

    image


    Step8.好了 文章感觉第一次写这么长的,谢谢你这么好看,还看完这篇,希望能帮到你们,也希望懂的大兄弟告诉下我,之前那块密码安装时候没显示的问题。点我回到问题的地方

     

  • 相关阅读:
    php namespacee原理
    CentOs7安装源设置
    centos安装docker
    docker快速搭建php7.2-nginx开发环境
    python将数据存储到csv文件中
    第十二周博客总结
    第十一周博客总结
    爬取今日新闻网的侧边栏
    第十周博客总结
    python语言实现网络爬虫---requests库、BeautifulSoup4库
  • 原文地址:https://www.cnblogs.com/lvbinbin2yujie/p/10496837.html
Copyright © 2011-2022 走看看