centos7.5安装Oracle11gR2
centos7.5安装Oracle11gR2
说明:由于上一台旧的笔记本电脑(CPU:i5-7200,内存:8G,硬盘:128SSD+1T机械)卸任,所以打算在家搭建一个个人服务器(主要是换不锈钢盆不划算),之前安装了一个centos8.0的系统安装Oracle(安装了两个周末四天,只能怪自己是个菜鸟),后面出现很多问题,百度上面查了一下好像8.0没人成功安装Oracle11个,所以又重新安装了centos7.5,重装系统花费了好几天时间(主要是系统引导问题),最后用一下午的时间成功安装Oracle11G,故在此记录一下(不能总百度,虽然是菜鸟但是也得做点共享)。
对应Oracle11g安装包地址(只有Linux64位,但是包含client)
链接:https://pan.baidu.com/s/1oUbiJXf7_w3Evl5WKYfcGw
提取码:geof
一:准备工作
1.关闭SELINUX
[root@geoff ~]vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
[root@geoff ~] :wq! #保存退出
[root@geoff ~]setenforce 0 #使配置立即生效
2.修改OS系统标识(oracle默认不支持CentOS系统安装,但是centos其实就是redhat)
[root@geoff ~] cat /proc/version
Linux version 3.10.0-514.26.2.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Jul 4 15:04:05 UTC 2017
[root@geoff ~] cat /etc/redhat-release
CentOS Linux release 7.5.1611 (Core)
[root@geoff ~] vi /etc/redhat-release
[root@geoff ~] cat /etc/redhat-release
redhat-7
3.修改yum源(默认的yum源速度慢,建议修改为阿里云的)
https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11j7Y4nY
二:创建用户及安装目录,安装依赖包
1、创建用户
[root@geoff ~] groupadd oinstall
[root@geoff ~] groupadd dba
[root@geoff ~] useradd -g oinstall -G dba -m oracle
[root@geoff ~] passwd oracle
2、创建安装目录,解压文件
[root@geoff ~] mkdir -p /ora/oracle
[root@geoff ~] unzip -d /ora/ linux.x64_11gR2_database_1of2.zip
[root@geoff ~] unzip -d /ora/ linux.x64_11gR2_database_2of2.zip
[root@geoff ~] chown -R oracle:oinstall /ora
[root@geoff ~] chmod 777 -R /ora
查了一下,777权限有点高,如果像我一样自己玩可以给,但是如果是正式使用建议还是给755
3、各个目录的作用
[root@geoff ora] ls
database #解压安装程序后自动生成的安装包目录
oracle #oracle数据库安装目录
oraInventory #默认安装日志存放目录(安装后生成)
4、安装oracle所需依赖
[root@geoff ~] yum -y install binutils compat compat-libstdc gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
检查依赖包安装情况
yum install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.* pdksh*
三:修改系统内核等设置
1、将服务器名写入到hosts文件(这个是找度娘的)
[root@geoff ~] echo '127.0.0.1 geoff localhost localhost.localdomain' >> /etc/hosts
[root@geoff ~] ping -c 3 geoff
PING geoff (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.030 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.043 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.041 ms
--- geoff ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.030/0.038/0.043/0.005 ms
2、修改内核(适用于8G内存左右服务器配置,12G或者16G以上建议调整)
shmall 和shmmax 参数说明:
kernel.shmall :
该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB/4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304 符合要求。
kernel.shmmax:
是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,例如,如果为16GB物理内存,可取16102410241024-1=17179869183。*
kernel.shmmni:
该参数是共享内存段的最大数量。shmmni缺省值4096,一般肯定是够用了。
kernel.sem = 250 32000 100 128 的意思是:
250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。
32000是参数semmns的值,表示系统内可允许的信号量最大数目。
100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。
128是参数semmni的值,表示系统信号量集合总数。
[root@geoff ~] vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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 = 1048576
完成后使用命令
[root@geoff ~] sysctl -p
3、修改认证模块
[root@geoff ~] vim /etc/security/limits.conf
oracle soft nproc 131072
oracle hard nproc 131072
oracle soft nofile 131072
oracle hard nofile 131072
oracle soft core unlimited
oracle hard core unlimited
oracle soft memlock 50000000
oracle hard memlock 50000000
4、修改用户登录认证
[root@geoff ~] vim /etc/pam.d/login
session required /lib64/security/pam_limits.so
session required pam_limits.so
注意:64位系统安装上面修改,32位系统第一行为:/lib/security/pam_limits.so
5、设置环境变量
[root@geoff ~] vim /etc/profile
#oracle
export ORACLE_HOME=/ora/oracle/product/11.2.0/db_1
export ORACLE_SID=geoff
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
6、修改Oracle用户环境变量(切换到Oracle用户下)
[root@geoff ~] vim /home/oracle/.bash_profile
export ORACLE_BASE=/ora/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
7.重启
修改完成后重启:reboot
四:通过桌面方式安装Oracle
1、使用root用户登录
[root@geoff ~] export DISPLAY=:0.0
[root@geoff ~] xhost +
2.切换到Oracle用户
[root@geoff ~] su - oracle
[root@geoff ~] cd /ora/database
[root@geoff ~] export DISPLAY=:0.0
[root@geoff ~] xhost +
[root@geoff ~] ./runInstaller
注意:查询一下服务器语言,如果是中文的话Oracle安装界面会乱码
[root@geoff ~]echo $LANG
zh_CN.UTF-8 #说明是中文
[root@geoff ~]LANG="en_US.UTF-8"
3.安装过程
1.跳过订阅

2.仅仅安装数据库

3.单例安装

4.默认英文

5.默认

6.自动读取环境变量(注意不要用相对路径,用绝对路径)

7.next

8.选择oinstall

9.安装依赖高于Oracle所需依赖,所以可以直接忽略这些提示(勾选 ignore all)

10.安装到最后一步:需要用root权限执行2个shell脚本(如果对话框无法展开,用鼠标拖开)

如果鼠标拖动不了,按4次tab键即可切换到下一步选项回车即可。

11.安装完成后还需要创建数据库,用Oracle重新打开一个终端,输入 dbca 命令即可弹出相应的数据库创建向导。
注: 如果提示没有这个命令,那么请详细检查一下上述的依赖包是否正确安装,另外创建过程中如果出现提示oracle not available 检查是否已添加主机名到hosts文件中。
[Oracle@geoff ~]$ netca //配置监听
[Oracle@geoff ~]$ lsnrctl status //查看监听状态
[Oracle@geoff ~]$ dbca //创建数据库实例orcl
五:出现的问题
1.xhost + notfound
yum whatprovides "*/xhost"
根据不同得到的运行
yum install xorg-x11-server-utils-7.7-2.el6.x86_64
在试下 #xhost + 发现可以
2.84%进度时不动
不用关闭安装界面,然后将文件
/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk里
$(MK_EMAGENT_NMECTL)
修改为:
$(MK_EMAGENT_NMECTL) -lnnz11

注:添加-lnnz11,第一个为小写字母l,后面两个为数字1;
保存后,点Retry即可
3.sqlplus找不到
我当时是因为配置环境变量的时候少了一个/,成了相对路径,安装过程中临时修改后,无法找到,所以后面修改环境变量就OK
找到一个比较好用的方法,之前一直在用
su - oracle
which sqlplus
如果找不到说明没bai有PATH环境变du量设置
有个zhi命令daooraenv,需要你输入实例zhuan名,然后它会根据/etc/oratab里的数shu据库设置你的环境变量
运行时前面有个点和空格(. oraenv)
这样就省去了一系列变量的设置(grid和oracle用户只需要默认的profile)
4.查询v$instance报错:
1 SQL> select status from v$instance;
2 select status from v$instance
3 *
4 ERROR at line 1:
5 ORA-01034: ORACLE not available
6 Process ID: 0
7 Session ID: 0 Serial number: 0
v$instance视图都不能查询(该视图在nomount状态即可查询),意味着数据库没启动
5.、启动数据库报错
1 SQL> startup nomount;
2 ORA-01078: failure in processing system parameters
3 LRM-00109: could not open parameter file '/ora/oracle/product/11.2.0/dbhome_1/dbs/initdg_standby.ora'
报错找不到参数文件initdg_standby.ora,意味着找不到spfile,在参数文件目录查看:
1 [oracle@zml-rhel6 ~]$ cd /u01/app/oracle/product/11.2.0/dbhome_1/dbs/
2 [oracle@zml-rhel6 dbs]$ ll
3 total 32
4 -rw-rw---- 1 oracle oinstall 1544 Dec 22 15:53 hc_DBUA0.dat
5 -rw-rw---- 1 oracle oinstall 1544 Dec 22 15:55 hc_dg01.dat
6 -rw-rw---- 1 oracle oinstall 1544 Dec 22 16:10 hc_test.dat
7 -rw-r--r-- 1 oracle oinstall 2851 May 15 2009 init.ora
8 -rw-r----- 1 oracle oinstall 24 Dec 22 15:54 lkDG_01
9 -rw-r----- 1 oracle oinstall 1536 Dec 22 15:55 orapwdg01
10 -rw-r----- 1 oracle oinstall 2560 Feb 4 10:05 spfiledg01.ora
11 -rw-r----- 1 oracle oinstall 3584 Dec 22 16:10 spfiletest.ora
12 [oracle@zml-rhel6 dbs]$
可以看到该目录下有两个参数文件,sid分别为dg01,test,应该是环境变量ORACLE_SID设置的有问题
centos7.5安装Oracle11gR2的更多相关文章
- centos7下安装oracle11gR2
Centos7安装oracle11gR2说明 Centos7安装oracle11gR2说明 环境准备 安装Oracle前准备 创建运行oracle数据库的系统用户和用户组 创建oracle数据库安装目 ...
- 1、Centos7下安装Oracle11gR2及多实例
实验环境: 系统:2核8G内存60G硬盘,centos7.4: 优化操作:已经关闭了防火墙.selinux,/etc/hosts文件中以添加"172.16.1.92 slave-node2& ...
- 学习笔记:(转)Centos7.6安装Oracle11gR2
目录 原文链接:https://www.cnblogs.com/qianjingchen/articles/10442445.html Windows下安装Oracle比较容易,参考博客:https: ...
- centos7下安装oracle11gR2的详细步骤
环境准备 安装包: CentOS-7-x86_64-DVD linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip 本教 ...
- CentOS7安装Oracle11gR2
转自E路情人https://www.cnblogs.com/Q1013588888/p/9219128.html 一.安装CentOS-7_x86_64 1.CentOS7:带GUI的服务器(FTP ...
- 在centos7上安装Jenkins
在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...
- CentOS7 Jenkins安装
CentOS7 Jenkins安装 CentOS7 Jenkins安装 Download 从Jenkins下载apache-tomcat-8.0.18.tar.gz Install 安装 上传RPM文 ...
- 在 CentOS7 上安装 zookeeper-3.4.9 服务
在 CentOS7 上安装 zookeeper-3.4.9 服务 1.创建 /usr/local/services/zookeeper 文件夹: mkdir -p /usr/local/service ...
- 在 CentOS7 上安装 MongoDB
在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器: 2 进入到 /usr/local/ 目录: cd /usr/local 3 在当前目录下创建 ...
随机推荐
- 【题解】NOI 系列题解总集
每次做一道 NOI 系列的估计都很激动吧,对于我这种萌新来说( P1731 [NOI1999]生日蛋糕 练习剪枝技巧,关于剪枝,欢迎看我的垃圾无意义笔记 这道题是有一定难度的,需要运用各种高科技剪枝( ...
- 题解-FJOI2018 领导集团问题
题面 FJOI2018 领导集团问题 给一棵树 \(T(|T|=n)\),每个点有个权值 \(w_i\),从中选出一个子点集 \(P=\{x\in {\rm node}|x\in T\}\),使得 \ ...
- springboot配置ssl证书
springboot默认使用的是tomcat: 1.先到阿里云上注册一个证书,绑定域名:后面可以在管理中下载证书,下载tomcat对应的证书(一个*.pfx文件和*.txt文件) 2.将pfx文件拷贝 ...
- 带宽、延时、吞吐率、PPS 这些都是啥?
Linux 网络协议栈是根据 TCP/IP 模型来实现的,TCP/IP 模型由应用层.传输层.网络层和网络接口层,共四层组成,每一层都有各自的职责. 应用程序要发送数据包时,通常是通过 socket ...
- go并发之goroutine和channel,并发控制入门篇
并发的概念及其重要性 这段是简单科普,大佬可以跳过 并发:并发程序指同时进行多个任务的程序.在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行 ...
- 记:create-react-app暴露配置报错
上面主要是说 webpack 版本冲突 不是create-react-app本身的问题,需要手动解决. 解决办法: npm run eject // 显示所有的依赖项 如果运行出现类似这样的报错 Ar ...
- Open SSH CVE-2020-15778
Open SSH OpenSSH 是用于使用 SSH 协议进行远程登录的一个开源实现.通过对交互的流量进行加密防止窃听,连接劫持以及其他攻击.OpenSSH 由 OpenBSD 项目的一些开发人员开发 ...
- Spring Cloud Alibaba基础教程-Nacos(三)
在Spring Cloud Alibaba基础教程-Nacos(二)当中学习了,如何使用 nacos图形化界面操作 ,使用Nacos部署集群,下面我们开始Nacos最后一篇的学习 ,如果对你有帮助,记 ...
- 微服务之间如何共享DTO?
1. 概述 近些年来,微服务变得越来越流行.微服务基本特征是模块化.独立.易于扩展的.它们之间需要协同工作并交换数据.为了实现这一点,我们创建了名为 DTO 的共享数据传输对象.在本文中,我们将介绍在 ...
- Attention & Transformer
Attention & Transformer seq2seq; attention; self-attention; transformer; 1 注意力机制在NLP上的发展 Seq2Seq ...