美文网首页Linux我爱编程
centos7安装oracle11g(11.2.0)

centos7安装oracle11g(11.2.0)

作者: testerPM | 来源:发表于2016-09-22 16:43 被阅读0次

    最近公司购买了一台新的服务器,我负责给这台服务器安装oracle ,磕磕绊绊的终于装好了,但是却花了不少时间,算起来差不多用了2.5天的时间,下面开始讲讲我的血泪史

    安装前的准备:步骤如下:

    第一步: 检查当前服务器操作系统是64位还是32位(以我的为例是centos7是64位的)

    [root@chances127 ~]# uname  -a

    Linux chances127 3.10.0-327.28.3.el7.x86_64 #1 SMP Thu Aug 18 19:05:49 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

    不存在x86_64 x86_64 x86_64表示是32位的操作系统

    第二步:检查内存

    说明:

    内存大于1G(使用虚拟机安装时内存要稍微大一些,否则安装检查不通过)

    查看内存大小#cat /proc/meminfo

    交换分区是内存的1.5倍,可根据实际情况调整

    查看交换分区大小#grep SwapTotal /proc/meminfo

    硬盘空间要满足所需软件的大小,要求/tmp 分区不少于 400M ,安装目录应大于4G:

    查看磁盘空间使用情况#df –h

    查看目录空间大小#du -ch

    操作:

    #free –m

    Swap少于1024的请增加内存

    1.1增加内存

    1)增加内存

    #dd if=/dev/zero of=/tmpswap bs=1k count=2048000

    2048000+0 records in

    2048000+0 records out

    2097152000 bytes (2.1 GB) copied, 169.875 seconds, 12.3 MB/s

    2)设置交换文件

    # mkswap /tmpswap

    Setting up swapspace version 1, size = 2097147 kB

    3)立即启用交换分区文件

    # swapon tmpswap

    再查看swap分区大小发现增加了2G

    4)引导时自动启用

    #vi/etc/fstab

    增加如下内容:

    查看一下swap

    # swapon -s

    安装时我的内存是符合条件的,所以上述步骤就省了(供参考)

    第三步: 软件检查,安装oracle所依赖的组件包:

    1.binutils-2.17.50.0.6

    2.compat-libstdc++-33-3.2.3

    3.elfutils-libelf-0.125

    4.elfutils-libelf-devel-0.125

    5.elfutils-libelf-devel-static-0.125

    6.gcc-4.1.2

    7.gcc-c++-4.1.2

    8.glibc-2.5-24

    9.glibc-common-2.5

    10.glibc-devel-2.5

    11.glibc-headers-2.5

    12.kernel-headers-2.6.18

    13.pdksh-5.2.14

    14.libaio-0.3.106

    15.libaio-devel-0.3.106

    16.libgcc-4.1.2

    17.libgomp-4.1.2

    18.libstdc++-4.1.2

    19.libstdc++-devel-4.1.2

    20.make-3.81

    21.numactl-devel-0.9.8.i386

    22.sysstat-7.0.2

    23.unixODBC-2.2.11

    24.unixODBC-devel-2.2.11

    包检查命令:#rpm –qa |grep 软件包名称

    包安装命令:#rpm –ivh 软件包名称

     或

    #yum install 软件包名称

    第四步:关闭防火墙

    说明:centos7默认使用的防火墙是firewall,iptables虽然也安装了,但没有启用

    所以关闭防火墙操作为:

    systemctl stop firewalld.service #停止firewall

    systemctl disable firewalld.service #禁止firewall开机启动

    参考文档:http://www.cnblogs.com/silent2012/archive/2015/07/28/4682770.html

    第五步:关闭SELIINUX

    #vi /etc/selinux/config确保以下内容

    SELINUX=disabled

    第五步:配置系统环境

    1.1 linux内核参数设置

    #vi /etc/sysctl.conf ,在行末添加以下内容

    fs.file-max = 6815744

    fs.aio-max-nr=1048576

    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 = 1048576

    kernel.sem = 250 32000 100 128

    kernel.shmall = 2097152(可以按照系统默认,不修改)

    kernel.shmmax = 536870912(可以按照系统默认,不修改)

    #sysctl –p 让内核参数生效


    Linux下安装oracle对内核参数的要求说明:

    kernel.shmall为物理内存除以pagesize

    kernel.shmmax为物理内存的一半

    fs.file-max为512乘以processes(如128个process,则为65536)

    备注:

    下图中的内核参数是我当时安装oracl的参数设置:

    部分讲解:

    以kernel.sem = 250 32000 100 128为例:

    250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。

    32000是参数semmns的值,表示系统内可允许的信号量最大数目。

    100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。

    128是参数semmni的值,表示系统信号量集合总数

    为什么要进行参数设置呢:

    其实oracle 中有一个文件,cvu_prereq.xml文件。

    这个文件中有参数值和依赖包,是oracle安装所以依赖的,静默安装时会进行过监测,监测不通过,就不能安装

    说明:

    当时我安装的时候,参数监测就没通过(其实安装前我是对参数设置好了的,不知道为什么设置好的参数值不见了,可能是因为:我在执行静默安装的时候检查各种报错,又不断重新执行,导致参数丢失吧,其他原因暂时不清楚。后来根据报错,重新设置了参数值)

    执行过程(当然目前按照上述步骤,还不能执行这一步,只是为了解释为什么要进行参数设置和安装依赖包)

    [oracle@chances127 database]$ ./runInstaller -silent -responseFile  /opt/oracle_11g/database/response/db_install.rsp

    正在启动 Oracle Universal Installer...

    检查临时空间: 必须大于 120 MB。  实际为 286724 MB    通过

    检查交换空间: 必须大于 150 MB。  实际为 16383 MB    通过

    准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2016-09-20_10-41-12AM. 请稍候...[oracle@chances127 database]$ [WARNING] [INS-32018] 所选 Oracle 主目录位于 Oracle 基目录外部。

    原因: 所选 Oracle 主目录位于 Oracle 基目录外部。

    操作: Oracle 建议在 Oracle 基目录中安装 Oracle 软件。请相应调整 Oracle 主目录或 Oracle 基目录。

    [WARNING] [INS-32055] 主产品清单位于 Oracle 基目录中。

    原因: 主产品清单位于 Oracle 基目录中。

    操作: Oracle 建议将此主产品清单放置在 Oracle 基目录之外的位置中。

    [FATAL] [INS-13013] 目标环境不满足一些必需要求。

    原因: 不满足一些必需的先决条件。有关详细信息, 请查看日志。/tmp/OraInstall2016-09-20_10-41-12AM/installActions2016-09-20_10-41-12AM.log

    操作: 从日志 /tmp/OraInstall2016-09-20_10-41-12AM/installActions2016-09-20_10-41-12AM.log 中确定失败的先决条件检查列表。然后, 从日志文件或安装手册中查找满足这些先决条件的适当配置, 并手动进行修复。

    备注:fatal表示安装失败,需要重新安装

    warning信息。可以先不用管

    部分日志信息:

    Error Message:PRVF-7543 : 操作系统内核参数 "wmem_max" 在节点 "chances127" 上没有适当的值 [应为 = "1048576"; 找到 = "262144"]

    Error Message:PRVF-7543 : 操作系统内核参数 "rmem_max" 在节点 "chances127" 上没有适当的值 [应为 = "4194304"; 找到 = "262144"]。

    Error Message:PRVF-7543 : 操作系统内核参数 "ip_local_port_range" 在节点 "chances127" 上没有适当的值 [应为 = "between 9000 & 65500"; 找到 = "between 1024 & 65000"]。

    Error Message:PRVF-7543 : 操作系统内核参数 "file-max" 在节点 "chances127" 上没有适当的值 [应为 = "6815744"; 找到 = "6553600"]。

    INFO: Cause: 内核参数值不满足要求。

    : Error Message:PRVF-7543 : 操作系统内核参数 "semmni" 在节点 "chances127" 上没有适当的值 [应为 = "128"; 找到 = "0"]。

    INFO: Cause: 内核参数值不满足要求。

    1.2 修改进程数和最大会话数

    #vi /etc/security/limits.conf,行末添加以下内容

    oracle           soft    nproc   2047

    oracle           hard    nproc   16384

    oracle           soft    nofile  1024

    oracle           hard    nofile  65536

    :

    以我的为例:

    1.3关联设置

    #vi /etc/pam.d/login    行末添加以下内容

    session    required     pam_limits.so

    操作系统是x64的则为

    session    required     /lib64/security/pam_limits.so

    以我的为例:

    备注:我当时安装的时候,此配置配的是session    required    pam_limits.so,可能这也是导致安装失败的原因吧,由于是第一次安装,不知道是不是这个原因

    1.4 /etc/profile里添加如下,红色为实际oracle用户(行末添加即可)

    export LIBXCB_ALLOW_SLOPPY_LOCK=true

    if [ \$USER = "oracle" ]; then

    if [ \$SHELL = "/bin/ksh" ]; then

    ulimit -p 16384

    ulimit -n 65536

    else

    ulimit -u 16384 -n 65536

    fi

    umask 022

    fi

    unset i

    在root用户下,使用命令source profile使环境变量生效

    #cd /etc

    #source 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

    少了export LIBXCB_ALLOW_SLOPPY_LOCK=true以及unset i 当时安装没有成功,不知道这个是不是其中一个原因

    1.5 修改/etc/redhat-release文件,改成系统支持的版本

    redhat-4

    以我的为例:

    说明:

    其实为什么要修改系统版本,我也不是很清楚,我也是安装失败了,查阅资料:

    由于oracle10g发行的时候,centos6/7没有发行,所以oracle10g并没有对centos6/7确认支持,需要修改文件让oracle10g支持centos6/7.

    编辑/etc/redhat-release文件

    # vi /etc/redhat-release 将其中的内容Centos Linux release 7.1.1503(Core) 修改为redhat 4

    不过我现在安装的是oracle11g,需不需要修改版本号,我也不是很清楚,但是为了防止安装失败,我还是修改了版本号

    第一次安装,很多错误和原因我也都很茫然,只能死马当活马医

    1.6 修改主机名

    vi /etc/hosts文件

    127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4

    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

    192.168.20.237  主机名

    #hostname   主机名

    以我的为例

    上面的准备工作做好之后,接下来开始安装过程:

    第一步:创建oracle用户和用户组

    #groupadd oinstall (创建oinstall组)

    #groupadd dba (创建dba组)

    #useradd -g oinstall -G dba oracle  (新建用户oracle,设定其主组为oinstall,副组为dba)

    #id oracle (检查结果)

    #passwd oracle (设置oracle用户密码)

    第二步:创建oracle安装目录

    #mkdir -p /opt/oracle_11g/product/110201/db_1

    说明:1 、我当时执行静默安装,报了如下错误(其实是警告,可以不管的)

    准备从以下地址启动 Oracle Universal Installer /opt/oracle_11g/u01/tmp/OraInstall2016-09-19_01-52-29PM. 请稍候...[oracle@chances127 database]$ [WARNING] [INS-32055] 主产品清单位于 Oracle 基目录中。

    原因: 主产品清单位于 Oracle 基目录中。

    操作: Oracle 建议将此主产品清单放置在 Oracle 基目录之外的位置中

      2、根据警告信息:我又将创建好的product/110201/db_1删除了,在opt目录下创建了安装目录如:/opt/product/110201/db_1

    特别要注意的是:创建安装目录最好不要一个个创建,以及最好也不要一个一个目录进行修改用户和用户组

    原因:第一:麻烦不说,还容易出错,oracle_11g目录以及所有子目录都要是oracle用户和oinstall组

    以我的为例:我当时在/opt/目录下重新创建了product 110201 db_1 三个目录,由于是用root用户进行操作的,当时没有修改成oracle用户和oinstall组。导致:执行静默安装时报如下错误:

    准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2016-09-19_11-37-25AM. 请稍候...[oracle@chances127 database]$ [FATAL] [INS-32012] 无法创建目录。

    原因: 没有授予创建目录的正确权限, 或卷中没有剩余空间。

    操作: 请检查您对所选目录的权限或选择另一个目录。

    此会话的日志当前已保存为: /tmp/OraInstall2016-09-19_11-37-25AM/installActions2016-09-19_11-37-25AM.log。如果要保留此日志, Oracle 建议将它从临时位置移动到更持久的位置

    我一直以为是/tmp空间不够,tmp是根目录下的一个目录,不是一个分区,对linux不是很懂,就不多说,我又重新指定了一个目录

    # vim /home/oracle

    # ll -a 

    # vim .bash_profile

    添加下面连个变量:

    export TEMP=/opt/oracle_11g/u01/tmp

    export TMPDIR=/opt/oracle_11g/u01/tmp

    u01和tmp是在oracel_11g目录下新建的两个目录

    但是执行:./runInstaller -silent -responseFile还是报了错

    准备从以下地址启动 Oracle Universal Installer /opt/oracle_11g/u01/tmp/OraInstall2016-09-19_11-37-25AM. 请稍候...[oracle@chances127 database]$ [FATAL] [INS-32012] 无法创建目录。

    原因: 没有授予创建目录的正确权限, 或卷中没有剩余空间。

    操作: 请检查您对所选目录的权限或选择另一个目录。

    此会话的日志当前已保存为: /opt/oracle_11g/u01/tmp/OraInstall2016-09-19_11-37-25AM/installActions2016-09-19_11-37-25AM.log。如果要保留此日志, Oracle 建议将它从临时位置移动到更持久的位置

    检查opt/oracle_11g/u01/tmp,用户和用户组已经设置成oraclehe oinstall,最后又检查了一下/opt/product/110201/db_1几个目录:发现product 110201 db_1三个目录用户和用户组是root,最后又执行:#chown oracle:oinstall product

    # chown oracle:oinstall 110201

    #chown oracle:oinstall db_1

    发现一个问题吧:

    一个个设置是不是麻烦,还容易漏设置,所以按照下面两步就搞定:

    #mkdir -p /opt/oracle_11g/product/110201/db_1

    #chown -R  oracle.oinstall /opt/oracle_11g/

    特别声明:我就是因为警告信息误导,把目录删除移到基目录外面重新创建产品目录,导致新建的目录又没有修改用户和用户组,导致安装oracle时。日志信息不能写入到/tmp

    product/110201/db_1目录下的内容是执行:./runInstaller成功后自动生成的

    我安装时创建的目录结构时:

    /opt/oracle_11g/(oraclea安装压缩包)

    /opt/product/110201/db_1/(oracle安装路径)

    第三步:改变oracle安装目录的用户和用户组

    #chown -R  oracle.oinstall /opt/oracle_11g/

    第四步:给安装目录赋予权限

    #chmod -R 755  /opt/oracle_11g/

    第五步:设置用户环境变量


    #vi /home/oracle/.bash_profile

    export ORACLE_BASE=/opt/oracle_11g//软件安装基目录

    export ORACLE_SID=orcl   //实例名

    export ORACLE_HOME=$ORACLE_BASE/product/110201/db_1 //软件安装产品目录

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

    #source /home/oracle/.bash_profile 配置生效

    #env |more 查看配置的环境变量是否正确

    ORACLE_BASE下是admin和product

    ORACLE_HOME下是ORACLE的命令、连接库、安装助手、listener等。

    这只是ORACLE自己的定义习惯。ORACLE_HOME比ORACLE_BASE目录要更深一些。也就是说:ORACLE_HOME=$ORACLE_BASE/product/version。

    ORACLE_BASE是oracle的根目录,ORACLE_HOME是oracle产品的目录。

    简单说,如果装了2个版本的oracle,那么ORACLE_BASE可以是一个,但ORACLE_HOME是2个。

    全局数据库名用于区别分布式数据库各个不同机器上的实例;SID用于区别同一台机器上的不同实例。

    即一个用于外部区分;一个用于内部区分。

    以我的为例:

    说明:下面是oracle10g安装时,设置的内容

    #vi home/sc-oracle/.bash_profile用oracle用户编辑加入以下内容

    # .bash_profile

    # Get the aliases and functions

    if [ -f ~/.bashrc ]; then

    . ~/.bashrc

    fi

    # User specific environment and startup programs

    #For sc-Oracle

    export  ORACLE_BASE=/oracle;

    export  ORACLE_HOME=/oracle/product/db_1;

    export  ORACLE_SID=ORCL;

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

    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/lib64/;

    if [ $USER = "sc-oracle" ]; then

    if [ $SHELL = "/bin/ksh" ]; then

    ulimit -p 16384

    ulimit -n 65536

    else

    ulimit -u 16384 -n 65536

    fi

    fi

    #PATH=$PATH:$HOME/bin

    #export PATH

    使环境变量生效

    $ source .bash_profile

    但是我安装时是用root用户添加的,且export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/lib64/;与我设置的export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib有点不一样,不知道有没有影响,但是我安装成功了

    到此配置结束:下面正式开始oracle安装吧:

    第一步:将oracle11g安装压缩包上传至/opt/oracle_11g/目录下

    第二步:解压缩

    #unzip linux_11gR2_database_1of2.zip

    #unzip linux_11gR2_database_2of2.zip

    说明:上面两个压缩包要放在同一个目录下解压缩

    如果有人尝试:将这两个压缩包放到不同目录下解压缩,解压后的文件都是database文件,有人如果疑问:在同一个目录下解压缩database不会被覆盖吗?其实则不然:这个两个压缩包解压出来是同一个文件,只是把一个大的文件分成了两个部分

    第三步:编辑oracle数据库安装应答文件

    1 在/opt/oracle_11g/database/response目录下有三个应答文件

    2# vi  db_install.rsp修改以下内容:

    供参考:

    RESPONSEFILE_VERSION=2.2.1.0.0

    UNIX_GROUP_NAME="oinstall"

    ORACLE_HOME_NAME="OraDb10g_home1"

    ORACLE_HOME="/oracle/product/db_1"

    SHOW_INSTALL_PROGRESS_PAGE= true

    SHOW_END_OF_INSTALL_MSGS= true

    COMPONENT_LANGUAGES={"zh_CN"}

    s_nameForDBAGrp= "dba"

    s_nameForOPERGrp="dba"

    INSTALL_TYPE="EE"

    n_configurationOption=3

    RESTART_SYSTEM=false

    RESTART_REMOTE_SYSTEM=false

    以我的为例:

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

    ORACLE_HOSTNAME=chances127

    UNIX_GROUP_NAME=oinstall

    INVENTORY_LOCATION=/opt/oracle_11g/oraInventory

    SELECTED_LANGUAGES=en,zh_CN,zh_TW

    ORACLE_HOME=/opt/product/110201/db_1

    ORACLE_BASE=/opt/oracle_11g

    oracle.install.db.InstallEdition=EE

    oracle.install.db.isCustomInstall=true

    oracle.install.db.DBA_GROUP=dba

    oracle.install.db.OPER_GROUP=oinstall

    oracle.install.db.CLUSTER_NODES=

    oracle.install.db.config.starterdb.characterSet=AL32UTF8

    oracle.install.db.config.starterdb.memoryOption=true

    oracle.install.db.config.starterdb.memoryLimit=512

    oracle.install.db.config.starterdb.installExampleSchemas=false

    oracle.install.db.config.starterdb.enableSecuritySettings=true

    oracle.install.db.config.starterdb.password.ALL=oracle

    oracle.install.db.config.starterdb.password.SYS=

    oracle.install.db.config.starterdb.password.SYSTEM=

    oracle.install.db.config.starterdb.password.SYSMAN=

    oracle.install.db.config.starterdb.password.DBSNMP=

    oracle.install.db.config.starterdb.control=DB_CONTROL

    oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=

    oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false

    oracle.install.db.config.starterdb.dbcontrol.emailAddress=

    oracle.install.db.config.starterdb.dbcontrol.SMTPServer=

    oracle.install.db.config.starterdb.automatedBackup.enable=false

    oracle.install.db.config.starterdb.automatedBackup.osuid=

    oracle.install.db.config.starterdb.storageType=

    oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=

    oracle.install.db.config.asm.diskGroup=

    oracle.install.db.config.asm.ASMSNMPPassword=

    MYORACLESUPPORT_USERNAME=

    MYORACLESUPPORT_PASSWORD=

    SECURITY_UPDATES_VIA_MYORACLESUPPORT=

    PROXY_PORT=

    PROXY_PWD=

    上面的参数不是都要修改的,按照我上面供参考的参数进行修改就ok了,其他参数没有的值的可以不用管

    第四步:以上提到的所有操作都是在root用户下进行操作的:

    下面开始要正式安装oracle了,所以先要切换至oracle用户:

    # su - oracle

    进入到/opt/oracle_11g/database下执行静默安装:

    #cd /opt/oracle_11g/database

    第一步:静默安装

    # ./runInstaller -silent -responseFile  /opt/oracle_11g/database/response/db_install.rsp

    注意文件位置视自己刚刚修改的文件位置而定

    这时如果报错类似这样的错:

    解决办法:如果没有指定目录,则默认日志写入到/tmp下

    第一,先检查/tmp所在分区空间大小是否大于60兆

    第二:检查product/110201/db_1 目录用户和用户组是否是oracle和oinstall

    第三:检查/tmp有无写入权限

    上述的报错:我是重新指定oracle安装日志的写入目录,但是还是提示不能写入或空间不够,最后原因:是因为:我之前把product/110201/db_1删除,到基目录外重新创建此目录,没有修改此目录的用户和用户组,最后将此目录修改成oracle用户,变可解决此问题

    不过,找到问题原因了,我就将指定的目录给注释掉了

    再重新执行:

    # ./runInstaller -silent -responseFile  /opt/oracle_11g/database/response/db_install.rsp

    发现没有上述报错,但如果又出现其他报错如:

    根据报错原因:到日志目录下,找到原因:

    第一:内核参数监测不过

    第二:依赖包没有装全

    参数的问题:

    其实内核参数我都是设置好了的,不知道为什么再次检查内核参数的时候,发现丢失了,之后又再重新设置了一遍

    依赖包的问题:

    libstdc++-3.4.6 (i386)

    libgcc-3.4.6 (i386)

    libaio-devel-0.3.105 (i386)

    compat-libstdc++-33-3.2.3 (i386)

    glibc-2.3.4-2.41 (i686)

    unixODBC-devel-2.2.11

    pdksh-5.2.14

    发现少了上述的依赖包:而且这些依赖还是32位的,其实我的系统是64位的,oracle11g也是64位的,这些依赖包我也是都装了的,只是oracle11g不认

    原来是因为:oracle11g安装,不仅要依赖64位的

    还要依赖32位的,而centos使用yum安装这些依赖的包的时候,是不去区分你安装的是32位的还是64位的,centos是64位的,yum安装自然 默认装的是64位的,所以这是oracle自己的一个认证漏洞:

    解决办法:

    在oracle里面有一个cvu_prereq.xml文件

    #vim cvu_prereq.xml

    找到i386,将其全部改成i686

    再执行yum安装上述依赖包

    #yum install libgcc.i686(其他依赖包也是这么安装)

    注意:

    pdksh依赖包,在centos7里不叫此名,而是ksh(特别要注意)

    compat-libstdc这个依赖使用yum是找不到的,所以这个安装包,我当时是自己去下载的

    我的百度云盘有这个依赖包

    好了解决上述问题后,再重新执行以下吧

    # ./runInstaller -silent -responseFile  /opt/oracle_11g/database/response/db_install.rsp


    [oracle@chances127 database]$ ./runInstaller -silent -responseFile  /opt/oracle_11g/database/response/db_install.rsp

    正在启动 Oracle Universal Installer...

    检查临时空间: 必须大于 120 MB。   实际为 286724 MB    通过

    检查交换空间: 必须大于 150 MB。   实际为 16383 MB    通过

    准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2016-09-20_11-09-22AM. 请稍候...[oracle@chances127 database]$ [WARNING] [INS-32018] 所选 Oracle 主目录位于 Oracle 基目录外部。

    原因: 所选 Oracle 主目录位于 Oracle 基目录外部。

    操作: Oracle 建议在 Oracle 基目录中安装 Oracle 软件。请相应调整 Oracle 主目录或 Oracle 基目录。

    [WARNING] [INS-32055] 主产品清单位于 Oracle 基目录中。

    原因: 主产品清单位于 Oracle 基目录中。

    操作: Oracle 建议将此主产品清单放置在 Oracle 基目录之外的位置中。

    [WARNING] [INS-13014] 目标环境不满足一些可选要求。

    原因: 不满足一些可选的先决条件。有关详细信息, 请查看日志。/tmp/OraInstall2016-09-20_11-09-22AM/installActions2016-09-20_11-09-22AM.log

    操作: 从日志 /tmp/OraInstall2016-09-20_11-09-22AM/installActions2016-09-20_11-09-22AM.log 中确定失败的先决条件检查列表。然后, 从日志文件或安装手册中查找满足这些先决条件的适当配置, 并手动进行修复。

    [WARNING] [INS-32018] 所选 Oracle 主目录位于 Oracle 基目录外部。

    原因: 所选 Oracle 主目录位于 Oracle 基目录外部。

    操作: Oracle 建议在 Oracle 基目录中安装 Oracle 软件。请相应调整 Oracle 主目录或 Oracle 基目录。

    [WARNING] [INS-32055] 主产品清单位于 Oracle 基目录中。

    原因: 主产品清单位于 Oracle 基目录中。

    操作: Oracle 建议将此主产品清单放置在 Oracle 基目录之外的位置中。

    [WARNING] [INS-13014] 目标环境不满足一些可选要求。

    原因: 不满足一些可选的先决条件。有关详细信息, 请查看日志。/tmp/OraInstall2016-09-20_11-09-22AM/installActions2016-09-20_11-09-22AM.log

    操作: 从日志 /tmp/OraInstall2016-09-20_11-09-22AM/installActions2016-09-20_11-09-22AM.log 中确定失败的先决条件检查列表。然后, 从日志文件或安装手册中查找满足这些先决条件的适当配置, 并手动进行修复。

    可以在以下位置找到本次安装会话的日志:

    /opt/oracle_11g/oraInventory/logs/installActions2016-09-20_11-09-22AM.log

    [oracle@chances127 database]$

    [oracle@chances127 database]$ 以下配置脚本需要以 "root" 用户的身份执行。

    #!/bin/sh

    #要运行的 Root 脚本

    /opt/oracle_11g/oraInventory/

    orainstRoot.sh

    /opt/product/110201/db_1/

    root.sh

    要执行配置脚本, 请执行以下操作:

    1. 打开一个终端窗口

    2. 以 "root" 身份登录

    3. 运行脚本

    4. 返回此窗口并按 "Enter" 键继续

    Successfully Setup Software.

    看到安装结果信息,好多警告,以为没安装成功,但是查阅资料:

    只要看到Successfully Setup Software.表明oracle安装成功了



    第二步:执行脚本

    按照上面的安装成功信息提示:

     切换至root用户分别执行信息中提到的脚本

    1 执行脚本orainstRoot.sh

    #/opt/oracle_11g/oraInventory/orainstRoot.sh

    2 执行脚本root.sh 

    #/opt/product/110201/db_1/root.sh

    第三步:安装监听

    编辑oracle安装目录下的netca.rsp应答文件,地址为:/database/response/netca.rsp,主要查看以下参数配置:

    INSTALL_TYPE=""custom""安装的类型

    LISTENER_NUMBER=1监听器数量

    LISTENER_NAMES={"LISTENER"}监听器的名称列表

    LISTENER_PROTOCOLS={"TCP;1521"}监听器使用的通讯协议列表

    LISTENER_START=""LISTENER""监听器启动的名称

    运行安装命令:

    #/opt/product/110201/db_1/bin/netca  /silent /responseFile  /opt/oracle_11g/database/response/netca.rsp

    第四步:添加数据库实例

    1、修改/database/response/dbca.rsp(就是解压安装文件目录下的)

    根据数据库建立方式的不同编辑不同的数据库库选项。

    比如在本次安装过程中设置了下列参数:(注意下面参数视情况而定啦不要照抄该选项原文件都有说明的)

    RESPONSEFILE_VERSION = "10.0.0"

    OPERATION_TYPE = "createDatabase"

    GDBNAME = "ORCL" --数据库全局名称

    SID = "ORCL"  --这个sid必须要和前面的/home/oracle/.bash_profile文件中的sid相同

    TEMPLATENAME = "New_Database.dbt"

    SYSPASSWORD = "ches"用户的初始密码

    SYSTEMPASSWORD = "ches"初始密码

    DATAFILEDESTINATION ="/oracle/oradata/"

    RECOVERYAREADESTINATION="/oracle/flash_recovery_area"

    STORAGETYPE=FS

    CHARACTERSET = "ZHS16GBK"--数据库字符集(中文为ZHS16GBK)

    MEMORYPERCENTAGE = "40"

    SCRIPTDESTINATION ="/oracle/admin/ora10g/scripts"

    EMCONFIGURATION=”LOCAL”

    SYSMANPASSWORD = "ches”

    DBSNMPPASSWORD = "ches”

    以我的为例:(只是部分参数,其他的参考上面给的参数即可)

    DATAFILEDESTINATION="/opt/oracle_11g/oracledata/"

    RECOVERYAREADESTINATION="/opt/oracle_11g/flash_recovery_area"

    CHARACTERSET="ZHS16GBK"

    NATIONALCHARACTERSET= "UTF8"

    TEMPLATENAME="General_Purpose.dbc”

    2 安装

    #/opt/product/110201/db_1/bin/dbca - silent  - responseFile  /opt/oracle_11g/database/response/dbca.rsp

    如果报错:类似下图中的错误:

    解决办法:

    #export DISPLAY=IP:1.0

    ip填写服务器的ip

    再重新安装一次:

    #/opt/product/110201/db_1/bin/dbca - silent  - responseFile  /opt/oracle_11g/database/response/dbca.rsp

    可以发现上述错误解决了 ,但是如果又有新的报错:如下:

    解决办法:

    /opt/product/110201/db_1/assistants/dbca/templates到这个目录下添加存在的模板

    修改/database/response/dbca.rsp,将TEMPLATENAME都要换掉,换成:General_Purpose.dbc

    再重新安装一次:

    安装成功!

    第五步:启动监听

    到bin目录下启动监听:

    /opt/product/110201/db_1/bin

    bin#./lsnrctl start

    如果报下面错误:

    TNS-01106: Message 1106 not found; No message file for product=network, facility=TNS   [LISTENER]

    解决办法:

    查看监听程序的配置文件

    cat /opt/product/110201/db_1/network/admin/listener.ora

    添加:(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    以我的为例;

    我的listener.ora文件多了一个配置:

    SID_LIST_LSNR =

    (SID_LIST =

    (SID_DESC =

    (GLOBAL_DBNAME = orcl)

    (ORACLE_HOME = /opt/product/110201/db_1)

    (SID_NAME = orcl)

    )

    )

    其实我也不知道这个要不要加上去,只是我启动监听始终报下面这个错:所以多加了一个配置

    TNS-01106: Message 1106 not found; No message file for product=network, facility=TNS   [LISTENER]

    我重新登陆服务,再次启动监听:

    bin#./lsnrctl start

    发现启动成功!

    通过查看监听状态:

    status ready表示oracle服务是正长启动的

    第六步:启动数据库实例:

    到这个目录下启动数据库实例:

    /opt/product/110201/db_1/bin

    bin#./dbstart

    如果报如下错误:

    请检查oracle_home路径是否正确,如果路径没问题,一定是/etc/oratab文件路径写错了

    果不其然:路径与oracle_home不一致(但是是我从别的地方copy过来的,忘记改路径了)

    再重新启动数据库实例:

    发现启动成功!

    第七步:设置开始自动

    1 修改$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut文件:

    $vi $ORACLE_HOME/bin/dbstart

    $vi $ORACLE_HOME/bin/dbshut

    找到ORACLE_HOME_LISTNER=$1,修改为ORACLE_HOME_LISTNER=$ORACLE_HOME

    2修改/etc/oratab文件

    $ vi /etc/oratab

    找到最后一行:

    orcl:/opt/product/110201/db_1:N

    最后设置的是“N”(此环境只有一个实例,所以只有一行配置语句),需要把“N”修改成“Y”。保存退出。


    3修改/etc/rc.d/rc.local文件

    把emctl start dbconsole 、lsnrctl start和dbstart添加到rc.local文件中,命令如下:

    #vi /etc/rc.d/rc.local

    添加:

    su oracle -lc "home/oracle_11/app/product/11.2.0/dbhome_1/bin/emctl start dbconsole"   //填写可执行程序的完整路径,填写$ORACLE_HOME/bin/环境变量加目录加可执行程序不行,不知道为什么

    su oracle -lc " home/oracle_11/app/product/11.2.0/dbhome_1/bin/lsnrctl start "

    su oracle -lc  home/oracle_11/app/product/11.2.0/dbhome_1/bin/dbstart

    注意:命令有空格,要用引号

    以我的为例:

    #reboot重启服务监测是否可以开机自启动:

    发现是不能开机自启动的:

    如果是在以前的centos版本中,这样就可以了。但是centos7 的/etc/rc.local不会开机执行

    可以了。

    原因:

    所以解决办法:

    1 确认了/etc/rc.local的权限

    到此:oracel11g安装以及配置就全部完成了!

    接下就可以用oracle客户端连接数据库了

    历史遗留问题:

    本次安装采用的是静默安装

    1 开始是采用图形界面安装:但是执行xhost+一直报错:

    xhost:  unable to open display ""

    给的解决办法都是export DISPLAY=localhost:1,但是设置了还是不行

    这个问题,现在暂时无解决办法

    2 启动控制台em一直报错:这个问题现在也无解决办法

    相关文章

      网友评论

        本文标题:centos7安装oracle11g(11.2.0)

        本文链接:https://www.haomeiwen.com/subject/bymaettx.html