操作系统版本:CentOS 7、数据库版本:Oracle 12c
安装步骤:
- 关闭防火墙,禁止防火墙开机自启
# 关闭防火墙 systemctl stop firewalld.service # 禁止防火墙开机启动 systemctl disable firewalld.service # 查看防火墙状态 systemctl status firewalld.service
- 关闭selinux安全限制
# 编辑文件 vi /etc/selinux/config # 修改内容 SELINUX=disabled
- 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
- 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
- 建立用户和组
[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
- 限制资源参数
[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
- 修改用户限制
[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
- 在root用户下创建oracle基目录与oracle软件位置并给与权限
mkdir /u01/app/oracle mkdir /u01/app/oracle/product/12.2.0/dbhome_1
给与权限
chown -R 775 /u01
- 配置安装环境
为oracle用户创建密码 passwd oracle 输入密码
切换用户
切换用户 [root@RD-GYJDEDRT~]# su - oracle [oracle@RD-GYJDEDRT~]$ vi ./bash_profile
在文件中添加以下内容
umask 022 export ORACLE_BASE=/u01/app/oracle
基本内容配置已完成
- 解压缩与安装(安装过程中一定要记好自己的实例名)
使用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;