zoukankan      html  css  js  c++  java
  • [oracle]centos 7 安装oracle

    换了好几个系统终于还是利用centos安装oralce成功了,这里我也参考了网上的好多资料以及oracle的官方文档

    1、下载oracle,我这里选择的是11gr2版本,下载下来后有两个文件,利用unzip命令解压到相同目录

    2、在磁盘中建立oracle的安装目录

    mkdir -p /oracle/oraclebase #这是oracle的安装基目录
    mkdir -p /oracle/oraInventory #这是一些文件日志的目录

    3、创建oracle用户和组

    这里说以下为什么要建立用户和组,因为数据库存放一些重要的数据,并不是谁想访问就可以访问的,必须对用户的权限进行管理,只有用户加入了当前组,并赋予其权限才能够对数据库进行操作。

    groupadd oinstall #创建用户组oinstall
    
    groupadd dba #创建用户组dba
    
    useradd -g oinstall -g dba -m oracle #创建用户oracle,并加入oinstall和dba用户组
    
    passwd oracle #设置用户oracle的登录密码,根据提示输入两次密码
    
    chown -R oracle:oinstall /oracle/oraclebase #设置目录所有者为oinstall用户组的oracle用户
    
    chown -R oracle:oinstall /oracle/oraInventory

    4、修改操作系统名称

    vi /etc/redhat-release #编辑

    修改为:redhat-7

    这里我也不大清楚,因为oracle官方认证的系统是redhat、oracle linux、suse等等,最后选择centos来安装oracle,也是因为centos是redhat的一个发行版,我想兼容还是可以的。

    5、修改内核参数

    这一步修改主要是因为,在oracle的官方文档中有对oracle数据库安装配置的最低要求,因此需要修改一下

    vi /etc/sysctl.conf #编辑,
    
    #在最后添加以下代码
    
    net.ipv4.icmp_echo_ignore_broadcasts = 1
    
    net.ipv4.conf.all.rp_filter = 1
    
    fs.file-max = 6815744 #设置最大打开文件数
    
    fs.aio-max-nr = 1048576
    
    kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024
    
    kernel.shmmax = 2147483648 #最大共享内存的段大小
    
    kernel.shmmni = 4096 #整个系统共享内存端的最大数
    
    kernel.sem = 250 32000 100 128
    
    net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围
    
    net.core.rmem_default = 262144
    
    net.core.rmem_max= 4194304
    
    net.core.wmem_default= 262144
    
    net.core.wmem_max= 1048576

    保存退出后要进行如下操作以使配置生效

    sysctl -p #使配置立即生效

    6、对oracle用户设置限制

    vi /etc/security/limits.conf #在末尾添加以下代码
    
    oracle soft nproc 2047
    
    oracle hard nproc 16384
    
    oracle soft nofile 1024
    
    oracle hard nofile 65536

    注:突然想起来,加入要是vi编辑文件内容较多的话,可以进入命令模式输入“$”来跳到文尾。

    7、配置用户的环境变量

    vi /home/oracle/.bash_profile 
    
    #在最后添加以下代码
    
    export ORACLE_BASE=/oracle/oraclebase #oracle数据库安装目录
    
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle数据库路径
    
    export ORACLE_SID=orcl #oracle启动数据库实例名
    
    export ORACLE_TERM=xterm #xterm窗口模式安装
    
    export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量
    
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量
    
    export #防止安装过程出现乱码
    
    export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致,如:ZHS16GBK,否则出现数据导入导出中文乱码问题

    保存退出以后,输入如下命令使配置生效

    source .bash_profile #使设置立刻生效

    8、关闭SELINUX

    vi /etc/selinux/config 
    #编辑配置文件
    
    #注释掉SELINUX=enforcing 
    
    # 注释掉SELINUXTYPE=targeted
    
    SELINUX=disabled #增加

    9、配置防火墙

    由于我安装的系统是centos 7 的Live版本,所以有好多东西没有,我再添加完如下代码之后,没有找到iptables restart命令,然后重启了下系统,反正最后也没什么影响,我猜我的这个版本中没有防火墙。网上代码如下:

    vi /etc/sysconfig/iptables #编辑防火墙配置文件,添加以下内容
    
    -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 1521 -j ACCEPT
    
    /etc/init.d/iptables restart #重启防火墙使配置生效

    10、检查依赖关系

    这里我检查了两步,首先是按照官方文档检查了一遍,在官方文档中我参考的是redhat-7所有需要的东西,如下:

    binutils-2.23.52.0.1-12.el7.x86_64 
    compat-libcap1-1.10-3.el7.x86_64 
    gcc-4.8.2-3.el7.x86_64 
    gcc-c++-4.8.2-3.el7.x86_64 
    glibc-2.17-36.el7.i686 
    glibc-2.17-36.el7.x86_64 
    glibc-devel-2.17-36.el7.i686 
    glibc-devel-2.17-36.el7.x86_64 
    ksh
    libaio-0.3.109-9.el7.i686 
    libaio-0.3.109-9.el7.x86_64 
    libaio-devel-0.3.109-9.el7.i686 
    libaio-devel-0.3.109-9.el7.x86_64 
    libgcc-4.8.2-3.el7.i686 
    libgcc-4.8.2-3.el7.x86_64 
    libstdc++-4.8.2-3.el7.i686 
    libstdc++-4.8.2-3.el7.x86_64 
    libstdc++-devel-4.8.2-3.el7.i686 
    libstdc++-devel-4.8.2-3.el7.x86_64 
    libXi-1.7.2-1.el7.i686 
    libXi-1.7.2-1.el7.x86_64 
    libXtst-1.2.2-1.el7.i686 
    libXtst-1.2.2-1.el7.x86_64 
    make-3.82-19.el7.x86_64 
    sysstat-10.1.5-1.el7.x86_64

    检查的时候就利用如下命令即可,直接在线安装,假如安装了的肯定会提示,否则就安装了

    yum install binutils #以第一个包为例子

    接下来顺便将我参考的一篇文章检测以来关系的方法也用了下,这条命令有通配符,安装的package比以上更多,辐射范围更广,保证万无一失么。

    yum install gcc* gcc-* gcc-c++-* glibc-devel-* glibc-headers-* compat-libstdc* libstdc* elfutils-libelf-devel* libaio-devel* sysstat* unixODBC-* pdksh-*

    这个有一个pdksh可能提示没有此包之类的,不过没关系,在第一步的时候已经检测安装了ksh

    11、接下来进行图形界面的安装,首先要切换到上边创建的用户oracle下,最好logout后在登陆。

    12、cd进入上边解压的oracle安装文件目录database中

    注意:由于上边的那个database的owner是root,oracle没有权限访问,可以利用如下命令,将此文件夹的所有者该为oracle.

    su - root #切换到root用户
    chown -R oracle /.../database

    13、运行如下命令启动安装界面

    export LANG=en_US #设置编码,防止图形界面乱码
    ./runInstaller

    注意:此处可能会提醒DISPLAY未通过是怎么的,我忽略的,貌似没影响

    接下来就进入一步一步的安装步骤中,很简单的,按部就班来就可以了,选择部分按默认的就可以

    在接下来的安装当中可能会提示有错误之类的email的忽略继续,

    然后可能还会有主机名与Ip没映射的利用如下命令修改hosts文件就可以

    vi /etc/hosts
    
    #进入之后将你的主机名加入到127.0.0.1的对应中,注意是主机名,不是你的用户名

    14、我在安装过程中还遇到了两个其他的错误是关于makefile,和一个警告,但是我忽略后,安装完毕以后,也没发现有问题,将错误代码贴到这里,留待以后解决

    install makfile error

    INFO: Exception thrown from action: make
    Exception Name: MakefileException
    Exception String: Error in invoking target 'install' of makefile '/oracle/oraclebase/product/11.2.0/db_1/ctx/lib/ins_ctx.mk'. See '/oracle/oraInventory/logs/installActions2014-12-22_05-24-27PM.log' for details.
    Exception Severity: 1
    INFO: Calling Action unixActions10.2.0.3.0  make
        registerOnly = false
        installMakePath = /usr/bin/make
        installMakeFileName = /oracle/oraclebase/product/11.2.0/db_1/racg/lib/ins_has.mk
        installTarget = racg_install
        undoMakeFileName = 
        installArguments = ORACLE_HOME=/oracle/oraclebase/product/11.2.0/db_1
        logFile = /oracle/oraclebase/product/11.2.0/db_1/install/make.log
        undoTarget = 
        progMsg = Linking RACG Executables
    
    INFO: Linking RACG Executables
    INFO: Linking RACG Executables
    INFO: The output of this make operation is also available at: '/oracle/oraclebase/product/11.2.0/db_1/install/make.log'
    INFO: 

    agent nmhs makefile error

    INFO: Exception thrown from action: make
    Exception Name: MakefileException
    Exception String: Error in invoking target 'agent nmhs' of makefile '/oracle/oraclebase/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'. See '/oracle/oraInventory/logs/installActions2014-12-22_05-24-27PM.log' for details.
    Exception Severity: 1
    INFO: Calling Action unixActions10.2.0.3.0  make
        registerOnly = false
        installMakePath = /usr/bin/make
        installMakeFileName = /oracle/oraclebase/product/11.2.0/db_1/rdbms/lib/ins_rdbms.mk
        installTarget = all_no_orcl
        undoMakeFileName = 
        installArguments = ORACLE_HOME=/oracle/oraclebase/product/11.2.0/db_1
        logFile = /oracle/oraclebase/product/11.2.0/db_1/install/make.log
        undoTarget = 
        progMsg = Linking RDBMS Executables
    
    INFO: Linking RDBMS Executables
    INFO: Linking RDBMS Executables
    INFO: The output of this make operation is also available at: '/oracle/oraclebase/product/11.2.0/db_1/install/make.log'
    INFO: 
  • 相关阅读:
    注意! javascript和jquery的方法不能混淆!
    Fatal error: Call to undefined function mysqli_connect() 的解决方法
    Js中的冒泡排序
    sql的key的类型分类
    C# 结构和类的区别
    C#泛型初识2
    Javascript面向对象全面剖析 —创建对象
    C#泛型(初识)
    C# 构造函数日志
    C#隐式和显示类型转换
  • 原文地址:https://www.cnblogs.com/fantasy01/p/4180339.html
Copyright © 2011-2022 走看看