Linux教程

linux64位centos7安装oracle12c以及相关错误解决

本文主要是介绍linux64位centos7安装oracle12c以及相关错误解决,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

操作系统版本:CentOS 7、数据库版本:Oracle 12c

安装步骤:

  1. 关闭防火墙,禁止防火墙开机自启
    # 关闭防火墙
    systemctl stop firewalld.service 
    # 禁止防火墙开机启动
    systemctl disable firewalld.service
    # 查看防火墙状态
    systemctl status firewalld.service

     

  2. 关闭selinux安全限制
    # 编辑文件
    vi /etc/selinux/config
    # 修改内容
    SELINUX=disabled

     

  3. root用户安装相关依赖
    [root@RD-GYJDEDRT~]#  yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 gcc gcc-c++ glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libaio libaio.i686 libaio-devel libaio-devel.i686 ibXext ibXext.i686 libX11 libX11.i686 libxcb libxcb.i686 libXi libXi.i686 make sysstat

     

  4. root用户修改系统内核参数
    [root@RD-GYJDEDRT~]# vi /etc/sysctl.conf

    在文件末尾加上以下内容

    kernel.shmmni=4096
    kernel.sem=250 32000 100 128
    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

    使刚才的修改生效,执行:

    [root@RD-GYJDEDRT~]# sysctl -p

     

  5. 建立用户和组
    [root@RD-GYJDEDRT~]# groupadd oinstall  
    [root@RD-GYJDEDRT~]# groupadd dba  
    [root@RD-GYJDEDRT~]# groupadd oper  
    [root@RD-GYJDEDRT~]# useradd -g oinstall -G dba,oper oracle

     

  6. 限制资源参数
    [root@RD-GYJDEDRT~]#  vi /etc/pam.d/login

        打开文件后,在文件中添加如下:

    session    required     pam_selinux.so open
    session    required     pam_namespace.so
    
    <span style="color:#ff0000;">session    required     pam_limits.so #添加</span>
    
    session    optional     pam_keyinit.so force revoke
    session    include      system-auth
    session   optional     pam_ck_connector.so

     

    
    
  7. 修改用户限制
    [root@RD-GYJDEDRT~]#   vi /etc/security/limits.conf

     打开文件后,在文件末尾添加如下:

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

     

  8. 在root用户下创建oracle基目录与oracle软件位置并给与权限
    mkdir /u01/app/oracle
    mkdir /u01/app/oracle/product/12.2.0/dbhome_1

    给与权限

    chown -R 775 /u01

     

  9. 配置安装环境
    为oracle用户创建密码
    passwd oracle
    输入密码

    切换用户

    切换用户
    
      [root@RD-GYJDEDRT~]# su - oracle 
     [oracle@RD-GYJDEDRT~]$ vi ./bash_profile

    在文件中添加以下内容

    umask 022
    export ORACLE_BASE=/u01/app/oracle

    基本内容配置已完成

  10. 解压缩与安装(安装过程中一定要记好自己的实例名)
    使用unzip解压文件
    进入解压后的database文件夹启动
    ./runInstaller
    
    如果无法启动可参考之后的netca错误解决方案
    
    
    
    注:执行数据库安装脚本./runInstal 的时候,
    如果无法启动也可能是和startup时遇到的同样的问题,
    参考最下方startup报错解决方式,复制并修改init.ora文件即可

     

     

     邮件可以不需要配置,之后的安装中如果跳出两行脚本需要执行,那么在外面切换到root下执行两个命令之后点击继续就行了

 

 

 

 

 

 

 

 

 

 

 

 如果无法创建,就去创建对应的文件夹并给与775权限,之后一路next就行了

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 以上安装中文是我从别的地方拷贝过来的,与英文内容一致,可以进行参考。

  安装完配置路径环境

[oracle@RD-GYJDEDRT ~]$ vi ~/.bash_profile
export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
使得配置生效

[oracle@RD-GYJDEDRT ~]$ source ~/.bash_profile

  创建监听

[oracle@RD-GYJDEDRT ~]$ netca 
如果运行不了就去/u01/app/oracle/product/12.2.0/dbhome_1/bin文件下执行
或者source ~/.bash_profile再次生效试试
没问题最好,如果仍然无法启动可以参考以下解决方案

netca 无法启动
图形界面无法启动
先切换到root用户,执行xhost +
然后再切换到oracle用户,执行export DISPLAY=:0.0
出现乱码执行export LANG=US_en

 


在这里介绍下两种情况的常见问题:
一种是本地运行的命令,另一种则是远程ssh命令安装。
DISPLAY科普
DISPLAY变量是用来设置将图形显示到何处.比如CENTOS,你用图形界面登录进去,DISPLAY自动设置为DISPLAY=:0.0表示显式到本地监视器,那么通过终端工具(例如:xshell)进去,运行图形界面的程序,如果没有设置,系统是不允许程序启动的。
在执行xhost +命令(使得所有客户都可以访问)
正常返回信息为:
access control disabled,clients can connect from any host

此时就可以启动了

如果xhost +不能执行,报错:xhost : unable to open display ""
可以输入命令export DISPLAY=:0执行一下
再执行xhost +
#xhost + ip (name表示该ip机器可以使用该服务)

#(本地安装不需要考虑)远程ssh安装
先安装xmanager,自行百度下载安装,否则无法弹窗。
先切换到root用户,执行xhost +()
正常返回:access control disabled,clients can connect from any host
切回oracle用户,执行:export DISPLAY=192.168.1.2:0.0
比如你的oracle服务器ip是192.168.0.1,访问的客户端的ip是192.168.1.2,当你用192.168.1.2连接上数据库后,希望在192.168.1.2上显示图像界面,这是就需要export DISPLAY=192.168.1.2:0.0
再执行oracle安装文件,会提示弹窗授权:
unable to open display
点击是后,会正常弹窗。

如果出现了如下错误:
u01/oracle/bin/netca: line 178: 11819 Aborted $JRE $JRE_OPTIONS -classpath $CLASSPATH oracle.net.ca.NetCA $*
是由于默认的主机名导致的,修改2处
[oracle@jc11g ~]$ cat /etc/sysconfig/network 查看,之后使用vi修改为以下形式
NETWORKING=yes
HOSTNAME=安装时的实例名
GATEWAY=你的主机GATAWAY
[oracle@jc11g ~]$ cat /etc/hosts 查看,之后使用vi修改为以下形式
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost 安装时的实例名

( 由于默认主机名错误导致,修改配置文件/etc/hosts,修改
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost 安装时的实例名)
再执行
hostname 安装时的实例名

 

 

 

 

 

 

 

 

 

 

 

 

 

 

oracle安装完成后,可以创建数据库啦!

 运行dbca

[oracle@RD-GYJDEDRT ~]$ dbca

 

 


 

 

 

 


 

 应定义为你的全局数据库名与SID

 

 

 

 

 

 


 

 

 

 默认大小就行,此处不需要修改为图中值直接next就可以

 

 

 

 

 

 

 注:安装过程非常长,毁天灭地形式的长,建议睡前安装美滋滋,不然会等到精神崩溃(也可能是我的电脑配置太差了)

 

之后切换到oracle用户然后
sqlplus "/as sysdba"
进入sql界面,然后
startup
数据库就会显示出来,至此安装结束
startup可能遇到的问题标注在下面

注:执行数据库安装脚本./runInstal 的时候,如果无法启动也可能是和startup时遇到的同样的问题,参考startup报错解决方式,复制并修改init.ora文件即可

 

Oracle 12c报错:ORA-01078和LRM-00109的解决办法
数据库首次安装完成后,startup启动数据库显示报错:

[oracle@lemon admin]$ sqlplus / as sysdba;
 
SQL*Plus: Release 12.2.0.1.0 Production on Sun Dec 17 10:00:20 2017
 
Copyright (c) 1982, 2016, Oracle.  All rights reserved.
 
Connected to an idle instance.
 
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/12..
0/db_1/dbs/initNNLEI.ora'
查看报错路径:
[oracle@lemon ~]$ cd /u01/app/oracle/product/12.2.0/db_1/dbs
[oracle@lemon dbs]$ ll
总用量 20
-rw-rw---- 1 oracle oinstall 1544 12月 17 06:17 hc_nnlei.dat
-rw-r--r-- 1 oracle oinstall 3079 5月  15 2015 init.ora
-rw-r----- 1 oracle oinstall   24 12月 17 05:55 lkNNLEI
-rw-r----- 1 oracle oinstall 3584 12月 17 06:11 orapwnnlei
-rw-r----- 1 oracle oinstall 3584 12月 17 09:51 spfilennlei.ora
解决办法:

从pfile参数文件里,拷贝一份spfile参数文件并重新命名为initNNLEI.ora

#如果找不到spfile就直接拿dbs下面的init.ora复制一份并修改为报错中需要的名称就行
,如上图就是将init.ora修改为initNNLEI.ora,并参考后面09925进行路径修改
cp init.ora initNNLEI.ora
注:此方法优于pfile拷文件,建议使用此方法
注:参考09925后可以规避以下的几乎所有报错
[oracle@lemon ~]$ cd $ORACLE_BASE/admin/nnlei/pfile
[oracle@lemon pfile]$ ll
总用量 4
-rw-r----- 1 oracle oinstall 1951 12月 17 05:48 init.ora.1117201761430
[oracle@lemon pfile]$ cp init.ora.1117201761430 /u01/app/oracle/product
/12.2.0/db_1/dbs/initNNLEI.ora
[oracle@lemon pfile]$ cd $ORACLE_HOME/dbs
[oracle@lemon dbs]$ ll
总用量 24
-rw-rw---- 1 oracle oinstall 1544 12月 17 06:17 hc_nnlei.dat
-rw-r----- 1 oracle oinstall 1951 12月 17 10:59 initNNLEI.ora
-rw-r--r-- 1 oracle oinstall 3079 5月  15 2015 init.ora
-rw-r----- 1 oracle oinstall   24 12月 17 05:55 lkNNLEI
-rw-r----- 1 oracle oinstall 3584 12月 17 06:11 orapwnnlei
-rw-r----- 1 oracle oinstall 3584 12月 17 09:51 spfilennlei.ora







Oracle ora 01261,Oracle心得:ORA-01261:ORA-01262:错误的解决
用ps -ef|grep ora_ 查看没有发现oracle的进程。进入数据库启动遇上ORA-01261:ORA-0
1262:错误。$ sqlplus quot;/as sysdbaquot
用ps -ef|grep ora_ 查看没有发现Oracle的进程。
进入数据库启动遇上ORA-01261:ORA-01262:错误。
$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Dec 15 08:25:22 2009

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

Connected to an idle instance.

SQL> startup

ORA-01261: Parameter db_recovery_file_dest destination string c
annot be translat

ed

ORA-01262: Stat failed on a file destination directory

IBM AIX RISC System/6000 Error: 2: No such file or directory

参照上面的说明,在系统目录中找不到db_recovery_file_dest目录。

解决:

查看了Oracle的初始化文件。

$cat /oracle/oms/102_64/dbs/initSID.ora

如:db_recovery_file_dest='/oracle/oms/flash_recovery_area'

查看系统/oracle/oms/没有该“flash_recovery_area”文件夹。
(如果该文件存在那么就参考09925进行解决)
用oracle用户在/oracle/oms目录下创建一个“flash_recovery_area”文件夹
$mkdir flash_recovery_area

SQL> startup
重新启动数据库就正常了。


ORA-09925 Unable to create audit trail file 问题解决
和上面的01261 01262属于同类型问题
经排查发现是我的Oracle的初始化文件无法识别<oracle_base><oracle_home>地址,
解决方案为将<oracle_base>更替为具体路径。
注:以后可检测具体是何原因导致的
(以发现原因:原因为profile下的init.ora没有进行Oracle具体地址<oracle_base>的修改
,每次新安装Oracle,应对init.ora中的配置文件进行修改,
将<oracle_base><oracle_home>更替为本机具体路径。)



解决oracle数据库ORA-01081
SQL>startup

ORA-01081:cannot start already-running ORALCE - shut it down first

SQL>shutdown immediate

ORA-03135:connection lost contact

解决方法:

sqlplus "/ as sysdba"
sqlplus>shutdown abort;
sqlplus>startup;

 

后记:可以进行参考,如果有新的错误无法解决,陈阳你俩跟我说一声,我后续更新完善。

 
这篇关于linux64位centos7安装oracle12c以及相关错误解决的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!