Linux下安装ORACLE(一周成果、全是干货!)
文章目录
- 一、安装前言
- 1.闲聊
- 2.提前知道的事
- 二、安装准备
- 1.Linux发行版本:ret hat7.4(更换yum源[传送门](https://blog.csdn.net/qq_42956179/article/details/109618774))
- 2.Oracle安装版本(环境搭配好都一样安装):Oracle11gR2
- 三、建立oracle用户
- 1.root或sudo下新增用户组
- 2.新建用户
- 3.新建oracle用户目录
- 4.增加sudoers用户
- 错误提醒
- 三、安装包配置
- 1.切换用户、上传文件
- 2.解压文件
- 3.安装之前下载依赖包
- 四、环境配置
- 1.关闭防火墙
- 2.配置hosts
- 3.配置环境变量
- 4.其它
- 五、开始安装
- 1.java版本查看
- 2.启动安装
- 3.安装
- (1)错误提示
- (2)解决内核参数
- (3)解决安装包问题
- 总结
一、安装前言
1.闲聊
因为公司需要将数据库服务器切换成linux版本的,所以需要在linux系统下安装oracle。
以下安装过程为自己亲自安装的,走了很多弯路,网上其他博客也是五花八门,不适合我实际情况下的安装,现在记录一下,希望对于读者能有帮助并且能够交流。
2.提前知道的事
在安装oracle之前,必须要明白,直接把Ubuntu、ret hat、centos、SUSE、OracleLinux叫做linux是不正确的,他们只是linux的发行版本。更确切地说,应该叫作“以Linux为核心的操作系统软件包。其中OracleLinux是甲骨文公司推行出来专门用于安装oracle的,但是实际上和ret hat、centos差不太多。
所以在选择安装oracle之前,首先要选好linux的发行版本。本人在Ubuntu版本下进行安装oracle失败在Net configuer上,并且在于各种rpm安装包。
oracle安装时需要各种rpm安装包,而且版本多为x86_64、i386,这是Ubuntu版本所不支持的,这是我的实验结果,如果有哪位大佬在Ubuntu系统上成功安装oracle了,请一定教教我
,拜谢!
除此之外,oracle18以及之后,甲骨文公司推出了在Linux上快速安装oracle的版本(oracle下载地址),rpm版本:
但是如果想真正的进行全自动安装,还缺少一个安装包oracle-database-preinstall-18c,这个安装包得要用外网才能下载,否则实际上和安装oracle11、12都差不多。
|版本声明:山河君,未经博主允许,禁止转载
二、安装准备
1.Linux发行版本:ret hat7.4(更换yum源传送门)
2.Oracle安装版本(环境搭配好都一样安装):Oracle11gR2
oracle11gR2官网下载地址:下载地址
三、建立oracle用户
我就按照自己的习惯来了,可能跟别的博客先后不一样,而且会多一些配置。
1.root或sudo下新增用户组
groupadd oinstall
groupadd dba
2.新建用户
useradd -g oinstall -G dba oracle
为新用户设置密码
passwd oracle
密码随便你输入
[root@oraclehost database]# passwd oracle
更改用户 oracle 的密码 。
新的 密码:
无效的密码: 密码是一个回文
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
3.新建oracle用户目录
我选择在home目录下创建
mkdir /home/oracle
切记要将该文件夹权限赋给oracle用户
chown -R oracle /home/oracle
chmod -R 775 /home/oracle
这时我们看一下文件夹权限
[oracle@oraclehost home]$ ll
总用量 8
drwx------. 16 aaron aaron 4096 7月 6 16:16 aaron
drwxrwxr-x. 18 oracle oinstall 4096 7月 6 14:06 oracle
4.增加sudoers用户
其他人都没有提及这布操作,其实在我看来,这步操作是很重要的,可以免了很多麻烦!就不用还要su oracle了。
打开文件sudoers
sudo vi /etc/sudoers
找到
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
添加
oracle ALL=(ALL) ALL
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
aaron ALL=(ALL) ALL
oracle ALL=(ALL) ALL
这样我们在切换用户,或者重启动电脑会有oracle用户,否则oracle用户不能进行sudo命令。
查看是否建立好
id oracle
显示如下
[oracle@oraclehost ~]$ id oracle
uid=1001(oracle) gid=1001(oinstall) 组=1001(oinstall),1002(dba)
错误提醒
新建用户之后,登陆到oracle用户可能会有这种显示,不显示用户名,只显示bash-4.1~
在linux新建用户的时候,应该会自动将root用户下的环境文件给复制到新用户环境下的,但是不知道为什么我会遇到这个问题,这个时候复制一下文件就可以了。
ls -a /etc/skel/
[oracle@oraclehost ~]$ ls -a /etc/skel/
. .bash_logout .bashrc .mozilla
.. .bash_profile .kshrc
将这些文件复制到用户空间下就好了。
三、安装包配置
1.切换用户、上传文件
切换到oacle用户或者使用su oracle,将下载好的文件放入oracle用户环境中,我是放在:
/home/oracle/soft/oracle/
下的,这个时候就体现切换好oracle用户的好处,如果是在自己环境下直接进行复制的话,文件的用户以及用户组是不对的,先到文件目录下,用ll命令查看一下:
ll
显示:
[oracle@oraclehost oracle]$ ll
总用量 2295592
-rw-------. 1 oracle root 1239269270 7月 6 10:10 linux.x64_11gR2_database_1of2.zip
-rw-------. 1 oracle root 1111416131 7月 6 10:10 linux.x64_11gR2_database_2of2.zip
这样显示是对的,或者是
[oracle@oraclehost oracle]$ ll
总用量 2295592
-rw-------. 1 oracle oinstall 1239269270 7月 6 10:10 linux.x64_11gR2_database_1of2.zip
-rw-------. 1 oracle oinstall 1111416131 7月 6 10:10 linux.x64_11gR2_database_2of2.zip
如果是这样就是错的,aaron是我之前的用户名:
[oracle@oraclehost oracle]$ ll
总用量 2295592
-rw-------. 1 aaron aaron 1239269270 7月 6 10:10 linux.x64_11gR2_database_1of2.zip
-rw-------. 1 aaron aaron 1111416131 7月 6 10:10 linux.x64_11gR2_database_2of2.zip
因为过会我们解压后会导致解压出来的安装包用户是我之前的用户,这样安装到最后会导致使用空间的不正确,如果实在是不知道用户怎么切换,可以使用下面命令将文件所属进行切换:
chown -R oracle /home/oracle/soft/oracle
这个命令在上面使用过,不用多说拉。
2.解压文件
unzip ./linux.x64_11gR2_database_1of2.zip
unzip ./linux.x64_11gR2_database_2of2.zip
解压后会出现database文件夹,这个时候再确认一下安装文件的所属:
ll
显示如下就对了:
[oracle@oraclehost oracle]$ ll
总用量 2295592
drwxr-xr-x. 8 oracle oinstall 128 8月 21 2009 database
-rw-------. 1 oracle root 1239269270 7月 6 10:10 linux.x64_11gR2_database_1of2.zip
-rw-------. 1 oracle root 1111416131 7月 6 10:10 linux.x64_11gR2_database_2of2.zip
3.安装之前下载依赖包
这个直接下载就好
yum install binutils compat-libstdc+±33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc+±devel make sysstat unixODBC unixODBC-de -y
四、环境配置
1.关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
这两行命令前者是关闭防火墙,但是关机后重启还是会启动
后者是禁用防火墙,但是我自己使用,重启动后还是会防火墙开启,这点一定要注意!
禁用防火墙原因:如果不禁用,在安装过程中,会在最后配置database config时卡住。
2.配置hosts
echo “192.168.3.71 oraclehost” >> /etc/hosts
ip地址和ip名,这个看你自己怎么配置。
3.配置环境变量
打开文件.bash_profile
vi ~/.bash_profile
输入
export ORACLE_BASH=/home/oracle/app/oracle
export ORACLE_HOME=/home/oracle/app/oracle/11.2.0/db_1
export ORACLE_UNQNAME=szxndb
export ORACLE_SID=szxndb
export PATH=$PATH:/home/oracle/app/oracle/11.2.0/db_1/bin
ORACLE_UNQNAME和ORACLE_SID可以不用默认的orcl,这个是用于安装oracle后,建立空间用的,我就用我公司的名字代替的。
其他什么语言类,例如export LANG=en_US,NLS_LAN=AMER…等其实是不用配置的。
保存退出,使其生效
source ~/.bash_profile
查看配置后对不对
env | grep ORACLE
显示如下就对了,记得在~目录下进行命令阿
[oracle@oraclehost ~]$ env | grep ORACLE
ORACLE_UNQNAME=szxndb
ORACLE_SID=szxndb
ORACLE_BASH=/home/oracle/app/oracle
ORACLE_HOME=/home/oracle/app/oracle/11.2.0/db_1
4.其它
有些博客说的很多配置都不需要再做的,只是做个提醒,如果自己修改的话可能会影响后期其他软件的使用,如果有兴趣可以自己查查参数的意思。
(1)有一些配置现在并不需要再做了,如果有兴趣可以自己查一查各个参数的意义。
[root@oraclehost]# 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的最低标准是肯定能达得到,只要你自己没有动过这些参数,可以自己先查看一下这些参数的大小。最低的stack内存、文件数量是一定能够达到大小,达到我们所需要的配置。
(2)修改登陆配置文件,编辑(不需要做)
vim /etc/pam.d/login
在该文件的最下面的行下添加
- session required /lib/security/pam_limits.so
- session required pam_limits.so
这边做个提醒,在该文件下本身就是有这两句话。
(3)设置内核参数,为了保障安装检查能通过(这个步骤现在不需要做,oracle在安装时,会帮我们做)
vim /etc/sysctl.conf
添加以下信息:
kernel.shmall = 4194304kernel.shmmax = 4147483648kernel.shmmni = 4096kernel.sem = 250 32000 100 128fs.file-max = 6815744net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 1048576net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576
五、开始安装
1.java版本查看
如果想使用图形话界面安装,必须要使用java包,否则会导致图形话界面安装中间的中文乱码,或者中间弹窗显示不出来,只有一条杠。
java在安装ret hat时是默认安装好的,我们只要查看一下版本就好。
java -version
显示:
[oracle@oraclehost ~]$ java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
版本为1.8.0
2.启动安装
进入database目录,执行(记住不要使用root权限)
./runInstaller -jreLoc /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre
显示:
[oracle@oraclehost database]$ ./runInstaller -jreLoc /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre
正在启动 Oracle Universal Installer...检查临时空间: 必须大于 120 MB。 实际为 45945 MB 通过
检查交换空间: 必须大于 150 MB。 实际为 7931 MB 通过
检查监视器: 监视器配置至少必须显示 256 种颜色。 实际为 16777216 通过
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2020-07-06_06-07-37PM. 请稍候...[oracle@oraclehost database]$
3.安装
1.不选择接收安全更新、下一步
选择是
2.选择下一步
3.选择服务器类,下一步
4.下一步
5.选择高级安装,下一步
6.设置语言,下一步
7.根据需要选择,下一步
8.下一步
9.下一步
10.根据自己设置ORACLE_SSID设置,我是已经设置过了,所以会报红,下一步
11.选择字符集
12.根据自己需要选择字符集,我是直接unicode,下一步
13.下一步
14.下一步
15.设置管理员密码,我是图省事,直接一个密码
16.下一步
17,oracle会检查先觉条件
这里就要开始注意了
(1)错误提示
显示/tmp文件内存不正确(该错误因为我修改过,所以没有贴图)
这个时候有两种情况,1.swap交换区不够,2.oracle本身并没有检测出来。
前者就要自己设置swap交换区
后者自己查看一下/tmp内存够不够
df -l /tmp
显示:/tmp是挂在/dev/mapper/rhel-root
[root@oraclehost database]# df -l /tmp
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/rhel-root 52403200 5354740 47048460 11% /
df -h
显示:/dev/mapper/rhel-root的容量是50G,肯定是够用的,则可以忽略这个问题
[root@oraclehost database]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/rhel-root 50G 5.2G 45G 11% /
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.8G 1.9G 2.0G 49% /dev/shm
tmpfs 3.8G 9.1M 3.8G 1% /run
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/sda2 1014M 172M 843M 17% /boot
/dev/sda1 200M 9.8M 191M 5% /boot/efi
/dev/mapper/rhel-home 873G 14G 859G 2% /home
tmpfs 772M 48K 772M 1% /run/user/1001
tmpfs 772M 24K 772M 1% /run/user/1000
(2)解决内核参数
点击修补并再次检查按钮
执行/tmp/CVU_11.2.0_oracle/runfixup.sh脚本。
但是很多情况下,再次检查发现还是报以上内核参数错误,这是因为oracle本身check机制有bug,检测不出来的原因。
这个时候就需要自己进行查看/etc/sysctl.conf,参照步骤四,第4条其它,第三点,如果配置和oracle需要配置不一样,进行手工配置
kernel.shmmax = 536870912
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
如果一样则不需要配置,进行忽略就可。
如果需要配置,配置完后执行
sysctl -p
(3)解决安装包问题
其实还是由于oracle自己check不出来,按照它的配置要求,只要版本在其之上就可以了,这个时候需要我们查看一下是否存在该安装包,不存在则安装,如果前面安装包步骤没有出错,这个时候应该都安装上了。
查看安装包是否存在:
rpm -qa | grep libaio
显示:
[root@oraclehost database]# rpm -qa | grep libaio
libaio-devel-0.3.109-13.el7.x86_64
libaio-0.3.109-13.el7.x86_64
显示中版本为x86_64,但是所需的可能是i386或者i68的,这个并不影响,i386是指x86。
然后我们发现没有安装pcksh包,这个已经被弃用了,我们之前安装了一个ksh包代替了
18.勾选全部忽略,下一步安装
19.点击安装,到%68可能就会出错
首先检查glibc包是否装好,安装好则修改/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk,将
ctxhx: $(CTXHXOBJ)$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
修改为
ctxhx: $(CTXHXOBJ)-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a
点击Retry继续安装。接着又提示”Error in invoking target ‘agent nmhs’ of makefile ‘/home/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk.’
解决方法:在makefile中添加链接libnnz11库的参数
修改/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk,将
$(MK_EMAGENT_NMECTL)
修改为
$(MK_EMAGENT_NMECTL) -lnnz11
继续安装。
20.执行root脚本(用别人的图拉,就一张)
如果卡在database config设置那里,可能是防火墙没关
这样就OK拉!
总结
真是不容易,如果对您有所帮助,请帮忙点个赞!
Linux下安装ORACLE(一周成果、全是干货!)相关推荐
- Linux下安装Oracle 12cR2
Linux下安装Oracle 12cR2 Oracle 12C简介 安装前准备 开始安装 12c 下 pdb 切换及用户创建 Oracle 12C简介 Oracle 12C引入了CDB与PDB的新特性 ...
- Linux下安装Oracle参数自动初始化脚本
在linux下安装Oracle通常是一件很头疼的事情, 而如果我们只是为了部署CMS的话,也没有必要对Oracle的参数去做详细的了解. 那么有没有办法简化这个安装过程呢? 下面给出了一个在Linux ...
- Linux下安装Oracle遇到的错误
在linux下安装Oracle数据库时 (1)在实际操作中运行sqlplus出现了错误,大致如下: sqlplus / as sysdba sqlplus: error while loading s ...
- xhost: unable to open display linux下安装oracle
情况1. 以root用户登录 输入命令xdpyinfo,记录下里面的name of display:后的字符串,如 name of display:127.0.0.1:1.0 在执行xhost +命令 ...
- 解决在Linux下安装Oracle时的中文乱码问题
解决在Linux下安装Oracle时的中文乱码问题 参考文章: (1)解决在Linux下安装Oracle时的中文乱码问题 (2)https://www.cnblogs.com/qiumingcheng ...
- Linux下安装Oracle
Linux下安装oracle.使用图形化界面121 <1>前期准备: 一.修改操作系统核心参数 在Root用户下执行以下步骤: 1)修改用户的SHELL的限制,修改/etc/securit ...
- VMware Linux 下安装 Oracle 11gR2 RAC
文本: 文本 VMware Linnux 下安装 Oracle 11g R2 RAC 虚拟机VMware下安装Linux下载wmware server 2.0http://download.pcho ...
- linux下安装oracle集群,【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)...
目录 数据库安装 继oracle集群安装之后,接下来也是最重要的数据库安装,整个数据库安装难度不大,用户以oracle用户身份登录RAC1主节点,对解压后的文件安装.主节点下安装后,其他所有结点自动安 ...
- linux下安装oracle 11g R2
Linux环境配置 [c-sharp] view plaincopy OS:Fedora 15 DB:Oracle 11gR2 将Oracle安装到home/oracle_11目录 配置过程:本文来自 ...
最新文章
- Delphi 常用API 函数(好多都没见过)
- Log4J xml配置
- 从本地上传到hdfs上出现异常
- python中data.find_all爬取网站为空列表_Python网络爬虫之Scrapy 框架-分布式【第二十九节】...
- mysql打平子表_solr初步学习
- autowired的对象为null_spring-为什么我的@Autowired对象为null?
- 微信小程序的零食商城
- Ubuntu下安装Python3(与旧Python2版本共存)
- python之路 day5
- 图卷积网络详细介绍(三)
- 合肥师范学院计算机操作系统期末考试题,2005级操作系统期末试卷A卷及答案
- 苹果手机制作铃声 (简易版)
- [渝粤教育] 宁波城市职业技术学院 插花艺术 参考 资料
- 计算机应用基础系统总线,2019年自学考试计算机应用基础试题(4)
- 一网打尽!所有PMP的计算公式都在这里啦,赶紧学起来,建议收藏
- 存储虚拟化的特性和优势
- Tracup|利用项目管理工具,为您的团队设立长期OR短期目标
- bpm java_bpm完全解读
- 该微信用户未开启“公众号安全助手”的消息接收功能,请先开启后再绑定 解决方法
- Java毕业课设项目名称
热门文章
- 计算机丢失系统文件如何找回,电脑系统文件丢失怎么办
- ssh免密报错:Could not resolve hostname : Name or service not known
- 转载精品:工作8年的普通专科生程序员的一些感悟
- 一帘心事碎碎念,一眸雪舞剪剪风
- 第一讲:计算机基本结构
- 武汉新时标文化传媒有限公司短视频创作者实现突围?
- vba 批量生成条形图代码
- 4_kicad 5.0_spice仿真器(AC,直流切换,失真,噪声,操作点,临界点,灵敏度,传递函数,瞬态,自定义)...
- 百度地图Polyline画直线
- 程序设计入门——C语言 翁恺 第一次单元测试