Linux7安装Oracle11g

Liunx7安装Orcale11g

官方参考文档:https://oracle-base.com/articles/11g/oracle-db-11gr2-installation-on-oracle-linux-7

参考博客:https://www.cnblogs.com/hawking8su/p/13285739.html

1、下载安装包

  • 11.2.0.1版本下载地址:
http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip

http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_2of2.zip
  • 11.2.0.4版本下载地址:
https://updates.oracle.com/Orion/Services/download/p13390677_112040_Linux-x86-64_1of7.zip?aru=16716375&patch_file=p13390677_112040_Linux-x86-64_1of7.zip

https://updates.oracle.com/Orion/Services/download/p13390677_112040_Linux-x86-64_2of7.zip?aru=16716375&patch_file=p13390677_112040_Linux-x86-64_2of7.zip

本地Windows使用迅雷下载,使用MobaXterm或其他软件将安装包传输到虚拟机

image-20210819154958416

2、Oracle安装先决条件设置

自动设置(不推荐)

  • 下载yum 配置
cd /etc/yum.repos.d
wget http://yum.oracle.com/public-yum-ol7.repo
  • 安装RMP-GPG-KEY
wget http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol7 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
#这个不安装可能会出现yum源验证失败的问题
  • 安装
yum install oracle-rdbms-server-11gR2-preinstall
  • 删除yum源
cd /etc/yum.repos.d
rm public-yum-ol7.repo

Oracle11提供一个oracle-rdbms-server-11gR2-preinstall包,可以自动化安装所需要的依赖包和配置内核参数等操作:

(1)自动安装oracle所需的RPM包

(2)自动创建oracle用户和group组

(3)自动配置/etc/sysctl.conf内核参数

(4)自动配置/etc/security/limits.conf参数

(5)关闭NUMA=OFF (关闭非一致内存访问)

虽然很方便,但是根本下载不了🐕,有幸成功下载过一次,不过这时间都能手动装完几台机器了

手动设置

  • 修改**/etc/sysctl.conf**文件
#在文件中添加下列几行
vi /etc/sysctl.conf

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
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=1048586

修改后执行下列指令更改当前内核参数

sysctl -p	或
/sbin/sysctl -p
  • 修改**/etc/security/limits.conf**文件
#在文件中添加下列几行
vi /etc/security/limits.conf

oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  4096
oracle              hard    nofile  65536
oracle              soft    stack   10240
  • 修改**/etc/pam.d/login**文件
#在文件中添加下列一行(若文件中没有)
vi /etc/pam.d/login

session    required     pam_limits.so
  • 安装所需要的依赖包

官网中罗列的所需的依赖包如下,依次安装即可

yum install binutils -y
yum install compat-libstdc++-33 -y
yum install compat-libstdc++-33.i686 -y
yum install gcc -y
yum install gcc-c++ -y
yum install glibc -y
yum install glibc.i686 -y
yum install glibc-devel -y
yum install glibc-devel.i686 -y
yum install ksh -y
yum install libgcc -y
yum install libgcc.i686 -y
yum install libstdc++ -y
yum install libstdc++.i686 -y
yum install libstdc++-devel -y
yum install libstdc++-devel.i686 -y
yum install libaio -y
yum install libaio.i686 -y
yum install libaio-devel -y
yum install libaio-devel.i686 -y
yum install libXext -y
yum install libXext.i686 -y
yum install libXtst -y
yum install libXtst.i686 -y
yum install libX11 -y
yum install libX11.i686 -y
yum install libXau -y
yum install libXau.i686 -y
yum install libxcb -y
yum install libxcb.i686 -y
yum install libXi -y
yum install libXi.i686 -y
yum install make -y
yum install sysstat -y
yum install unixODBC -y
yum install unixODBC-devel -y
yum install zlib-devel -y
yum install elfutils-libelf-devel -y

部分可能因为环境不同安装不了,先往下走,到安装的时候会有检测缺失的包

  • 创建用户组和用户
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle

附加设置

  • 设置oracle用户密码
passwd oracle
oracleoracle
  • 关闭防火墙和selinux
systemctl stop firewalld
systemctl disabled firewalld
 #修改下列文件
 vi /etc/selinux.conf
 SELINUX=enforcing---→SELINUX=disabled #永久关闭需重启
 setenforce	0	#临时直接关闭
  • 创建将安装 Oracle 软件的目录
mkdir -p /u01/app/oracle/product
chown -R oracle:oinstall /u01
chmod -R 775 /u01
  • 修改**/home/oracle/.bash_profile**
#在文件中添加下列几行
vi /home/oracle/.bash_profile

# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_HOSTNAME=ol7.localdomain; export ORACLE_HOSTNAME #主机名以实际为准
ORACLE_UNQNAME=DB11G; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=DB11G; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
source /home/oracle/.bash_profile	#更新修改内容

3、安装

  • 解压安装包
#将两个安装包解压至同一文件夹下
unzip p13390677_112040_Linux-x86-64_1of7.zip -d /u01
unzip p13390677_112040_Linux-x86-64_2of7.zip -d /u01
  • 将系统语言设置为英文,否则安装界面会乱码
  • 切换Orcale用户登陆安装!

进入解压出来的文件夹database,运行runInstaller

cd /u01/database
./runInstaller
  • set1—不订阅

image-20210820093719568

  • set2—选择跳过

image-20210820093922418

set3—仅安装数据库

image-20210820094001696

  • set4—单例安装

image-20210820094141216

  • set5—选择语言

image-20210820094239458

  • set6—安装企业版

image-20210820094419777

  • set7——安装路径与.bash_profile设置的一致
/home/oracle/.bash_profile:
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME

image-20210820100950852

  • set8

image-20210820095244818

  • set9—检测环境

在这一步会检测机器的环境是否满足安装条件,比如前面依赖包没装完或内核参数设置错误等都会有提示,按照提示修改后重新检测即可,所以前面搞错了并不用慌

image-20210819174704459

注:在redhat中使用ksh代替pdksh,最后装完ksh后选择忽略再安装即可

  • set10—Summary保持默认,之直接点击安装

  • set11—运行两个安装脚本

安装完成后会弹出下列的信息,新开启一个中端运行下列两个脚本

cd /u01/app/oraInventory
./orainstRoot.sh
cd /u01/app/oracle/product/11.2.0/dbhome_1
./root.sh

显示这里直接回车即可

image-20210820100520738

  • set12—安装完成

4、创建监听

进入**$ORACLE_HOME/bin**,执行netca,一路next即可

cd $ORACLE_HOME/bin
./netca

5、创建实例

输入dbca指令,执行配置程序

dbca

基本上也是一路next,部分需要修改的如下:

  • 设置数据库名和SID

image-20210820102214095

  • 设置SYS和SYTEM的密码

可以分别设置,也可以设置为同样的

image-20210820102304196

  • emory Size需要在40%-60%

image-20210820102336915

  • 选择ZHS16GBK,防止中文乱码

image-20210820102425603

6、登陆Oracle

  • 登陆
sqlplus sys/password as sysdba
  • 查询
SELECT * FROM v$pwfile_users;
#查询结果如下
USERNAME		       SYSDB SYSOP SYSAS
------------------------------ ----- ----- -----
SYS			       TRUE  TRUE  FALSE

  • 退出
exit

如果上述操作都正常,说明Oracle已经按照成功!

踩坑

  • 需要直接从oracle用户登陆!

建议安装前先注销,再用oracle用户登陆,不能通过su的方式切换用户!

image-20210819161958822

  • JDK

由于Orcacle是由java语言编写,所以需要jdk才能运行安装程序,一般linux安装时有自带的,但如果没有就需要直接安置和配置java环境

https://blog.csdn.net/pdsu161530247/article/details/81582980

image-20210820115847512

若已经按照java环境且配置好环境变量还是无法启动,安装libnsl

yum install libnsl
  • 按界面乱码

安装界面乱码是由中文系统语言导致,切换为英文即可

export LANG=en_US.utf-8 或直接在系统设置修改

image-20210819163210178

  • compat-libstdc+±33

已下载compat-libstdc+±33,但检测是仍是warning(其实只要不是failed都可以忽略,只是有点强迫症),尝试下列指令

yum install compat-libstdc++-33*

image-20210819185927933

  • pdksh

redhat中没有pdksh包,可安装ksh替代,然后勾选忽略进行安装

yum install -y ksh

image-20210819163934532

  • Swap Size不足

虽然也是警告,但还是解决一下

dd if=/dev/zero of=/swapfile bs=1M conut=2048
#在/下创建一个2048*1M=2G的swapfile
mkswap /swapfile #创建swap文件系统
swapon /swapfile #启用
#写入fastab
vim /etc/fstab
/swapfile swap swap defaults 0 0
  • agent nmhs错误

系统版本和oracle版本造成,据说在centos6不会报这错,修改$ORACLE_HOME/sysman/lib/ins_emagent.mk文件然后Retry

vi $ORACLE_HOME/sysman/lib/ins_emagent.mk
$(MK_EMAGENT_NMECTL)------→$(MK_EMAGENT_NMECTL) -lnnz11

image-20210820084524101

  • 安装包版本

推荐使用11.2.0.4版本,若使用11.2.0.1版本在检测时会出现以下情况,已经设置和安装好了但还是检测不出来~~(可能由于这些包是32位的?)~~,直接忽略安装即可,在安装时会出现“install”和“agent nmhs”两个报错,其中“install”直接continue,“agent nmhs”按上述方法解决(反正“install”没解决装完也能正常运行,目前在使用中还没发现问题),所有还是建议用11.2.0.4没那么多屁事🐶

image-20210820110131975

  • bash: dbca: command not found

无法打开创建实例的图形界面,检查是否oracle用户 .bash_profile文件的环境变量ORACLE_HOME变量配置错误,若配置错误修改后下列指令更新环境变量,若没有错误也可以尝试下列指令更新后在进入dbca

source /home/oracle/.bash_profile

image-20210820115146605

  • file not found

报错/u01/app/oracle/product/11.2.0/db_1/owb/external/oc4j_applications/applications/WFMLRSVCApp.ear

两文件需要解压到同一文件夹,可尝试重新解压

  • 无法登陆Oracle

使用sqlplus sys/password as sysdbad登陆报以下错误是因为没在oracle用户下登陆

ERROR:
ORA-01031:insufficient privileges
  • Linux8安装Oracle11

Linux8装Oracle11g会报下列那么多错,尝试解决无果,猜测应该与版本有关

Error in invoking target 'mkldflags ntcontab.o.ntcontab.o.nnfgt.o'
Error in invoking target 'Client_sharedlib' of makefile ....
Error in invoking target 'links proc_gen_pcscfg' ....
Error in invoking target 'idg4odbc'...
Error in invoking target 'itnsping'...
Error in invoking target 'isntall' ...
Error in invoking target 'nmo'...
Error in invoking target 'isntall'...
Error in invoking target 'agent nmhs'...
Error in invoking target 'all_no_orcl'...
Error in invoking target 'install'...
Error in invoking target 'nmb'...
Error in invoking target 'install'...
Error in invoking target 'clientonlyinstall' ...
Error in invoking target 'ioklist'...
Error in invoking target 'utilities'...
Error in invoking target 'iokdstry iokinit'...
Error in invoking target 'install'...
Error in invoking target 'itrcoute'...
Error in invoking target 'irman ioracle'...
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值