您当前的位置:首页 > 电脑百科 > 数据库 > Oracle

CentOS 7.6下安装Oracle 11.2.0.4

时间:2022-06-13 15:01:16  来源:  作者:JencyChen

所需软件:oracle11.2.0.4安装包、Xshell 6、Xmanager 6

环境说明:宿主机ip:192.168.88.2

虚机ip:192.168.88.200

虚机内存:2G

虚机主机名:vm-demo

oracle数据库名:orcl

oracle实例名:orcl

命令说明:root#ls -l表示在root用户下执行

oracle>ls -l 表示在oracle用户下执行

 

用root用户修改内核配置文件/etc/sysctl.conf。

  • 同时可以拥有的的异步IO请求数目。 推荐值:1048576

fs.AIo-max-nr = 1048576

  • 系统允许的文件句柄最大数目,代表linux系统可以打开的文件数量

fs.file-max = 6815744

  • 物理内存K数/4K(根据虚机的实际内存设置,以下是2G内存的设置)

kernel.shmall = 524288

  • 可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半(根据虚机的实际内存设置,以下是2G内存的设置)

kernel.shmmax = 2147483647

  • 共享内存段的最大数量,取缺省值4096

kernel.shmmni = 4096

  • 250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。

32000是参数semmns的值,表示系统内可允许的信号量最大数目。

100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。

128是参数semmni的值,表示系统信号量集合总数。

kernel.sem = 250 32000 100 128

  • 应用程序可使用的IPv4端口范围。

.NET.ipv4.ip_local_port_range = 9000 65535

  • 套接字接收缓冲区大小的缺省值。

net.core.rmem_default = 262144

  • 套接字接收缓冲区大小的最大值。

net.core.rmem_max = 4194304

  • 套接字发送缓冲区大小的缺省值。

net.core.wmem_default = 262144

  • 套接字发送缓冲区大小的最大值。

net.core.wmem_max = 1048586

 

  • 以上参数除了有说明需要根据实际情况设置,其它参数照抄即可。执行sysctl -p生效;
CentOS 7.6下安装Oracle 11.2.0.4

 

用root用户增加组和用户。

  • root#groupadd -g 500 oinstall
  • root#groupadd -g 501 dba
  • root#useradd -g oinstall -G dba,oinstall oracle
  • root#passwd oracle
CentOS 7.6下安装Oracle 11.2.0.4

 

用root用户创建swap分区。

  • 通过命令swapon -s来检查当前是否有swap分区。swap分区有2种:分区或文件;可以任意选一种创建(创建swap文件较为方便),大小为4G(内存大小的1.5-2倍)。
  • 创建swap分区
  1. fdisk -l 查看磁盘是否还有剩余未分配的扇区:若有,使用fdisk来格式化成swap分区(分区类型为82);若无,在虚机新添加一块硬盘,然后按下面步骤操作:
  2. root#fdisk -l /dev/sdb
  3. root#mkswap /dev/sdb1
  4. root#swapon -s
  5. root#swapon /dev/sdb1
  6. root#swapon -s
  7. root#echo "/dev/sdb1 none swap sw 0 0" >> /etc/fstab
  • 创建swap文件
  1. root#dd if=/dev/zero of=/mnt/oracle.swap bs=1024 count=524288*8
  2. root#chown oracle:oinstall /mnt/oracle.swap
  3. root#chmod 600 /mnt/oracle.swap
  4. root#mkswap /mnt/oracle.swap
  5. root#swapon /mnt/oracle.swap
  6. root#swapon -s
  7. root#echo "/mnt/oracle.swap none swap sw 0 0" >> /etc/fstab

 

用root用户修改/etc/security/limits.conf限制。

  • 添加以下行:

oracle soft nproc 65535

oracle hard nproc 65535

oracle soft nofile 65535

oracle hard nofile 65535

CentOS 7.6下安装Oracle 11.2.0.4

 

用root用户修改/etc/pam.d/login。

  • 添加以下一行:

session required /lib64/security/pam_limits.so

CentOS 7.6下安装Oracle 11.2.0.4

 

修改profile文件。

  • 用root用户修改/etc/profile文件,增加以下内容:

if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 65535

ulimit -n 65535

else

ulimit -u 65535 -n 65535

fi

fi

CentOS 7.6下安装Oracle 11.2.0.4

 

  • 用oracle用户修改其.bash_profile文件

export ORACLE_SID=orcl

export ORACLE_BASE=/opt/App/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export INVENTORY_LOCATION=/opt/app/oraInventory

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export LANG=C

export NLS_LANG="American_america.zhs16gbk"

export PATH=$ORACLE_HOME/bin:$PATH

umask 022

CentOS 7.6下安装Oracle 11.2.0.4

 

  • 生效配置,并echo检查是否生效:

oracle>source .bash_profile

CentOS 7.6下安装Oracle 11.2.0.4

 

用root用户在/opt下建目录,并修改归属。

root#mkdir -p /opt/app/database

root#mkdir -p /opt/app/oraInventory

root#mkdir -p /opt/app/oracle

root#chown -R oracle:oinstall /opt/app/database

root#chown -R oracle:oinstall /opt/app/oraInventory

root#chown -R oracle:oinstall /opt/app/oracle

CentOS 7.6下安装Oracle 11.2.0.4

 

用root用户关闭selinux

  • 修改/etc/selinux/config里的SELINUX=disabled
CentOS 7.6下安装Oracle 11.2.0.4

 

用root用户配置/etc/hosts

  • 修改/etc/hosts增加一行: <ip> <主机名>
CentOS 7.6下安装Oracle 11.2.0.4

 

检查oracle软件包依赖

  • root#rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++

glibc glibc-devel ksh libaio libaio-devel

libgcc libstdc++ libstdc++-devel libXi libXtst

make sysstat unixODBC unixODBC-devel elfutils-libelf elfutils-libelf-devel

CentOS 7.6下安装Oracle 11.2.0.4

 

  • 安装上图提示未安装的软件包

root#yum -y install compat-libcap1 compat-libstdc++-33 ksh libaio-devel unixODBC unixODBC-devel elfutils-libelf elfutils-libelf-devel

CentOS 7.6下安装Oracle 11.2.0.4

 

解压安装包,放到/opt/app/database下

  • 包里有database目录,因此只需解压到/opt/app/

root#unzip p13390677_112040_Linux-x86-64_1of7.zip -d /opt/app/

root#unzip p13390677_112040_Linux-x86-64_2of7.zip -d /opt/app/

root#chown -R oracle:oinstall /opt/app/

  • /opt/app/database只是安装程序目录。安装全部完成后,如果空间紧张,可以删除。

如果选择静默安装,请跳至静默安装部分;否则,进行图形界面配置。

  • 用root用户修改/etc/ssh/sshd_config,重启sshd服务。

X11Forwarding yes

AllowTcpForwarding yes

CentOS 7.6下安装Oracle 11.2.0.4

 

root#systemctl restart sshd

  • windows机器安装XManager,运行Xmanager - Passive,默认是:0.0(即6000端口)。
CentOS 7.6下安装Oracle 11.2.0.4

 

  • 打开Xshell6,隧道选项里要选中x11转移;telnet 宿主机ip(192.168.88.2)的6000端口(:0.0)要通。
CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 

  • 设置X服务器的访问权限。

root#su - oracle

oracle>export DISPLAY=192.168.88.2:0:0.0

oracle>xhost +

CentOS 7.6下安装Oracle 11.2.0.4

 

  • cd /opt/app/database 运行./runInstaller,看图形界面是否能启动。
CentOS 7.6下安装Oracle 11.2.0.4

 

看到如下界面,成功启动图形界面。

  • 以下均是图形界面,不再详细描述。
CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 

  • OSOPER组不用选。
CentOS 7.6下安装Oracle 11.2.0.4

 

  • pdksh包在linux下叫ksh,之前yum时已经检查安装。此处若只有这一项,可忽略。
CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 

  • 在快安装完的时候,会报错: Error in invoking target 'agent nmhs' of makefile

解决方案:

修改$
ORACLE_HOME/sysman/lib/ins_emagent.mk,将 $(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL) -lnnz11,然后“Retry”。

CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 

  • 按提示运行orainstRoot.sh和root.sh脚本
CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 

  • 至此,oracle软件安装完成。

用netca配置监听。

CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 

dbca建库

CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 

  • 在输入“Global Database Name”和“SID”时,若出现下图的情况(输一个字符,显示有2个),请切换一下输入法(按ctrl+空格)。
CentOS 7.6下安装Oracle 11.2.0.4

 

  • 配置企业管理器可选,也可不选。
CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 

  • 存储位置可以选择系统默认的使用模板数据库文件位置,也可以自定义一个文件位置。
CentOS 7.6下安装Oracle 11.2.0.4

 

  • 指定闪回区和开启归档模式可以先不选,等后续安装完后再配置。
CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 

  • 字符集选择:ZHS16GBK;其他默认
CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 

  • 控制文件数量:最少有2个。最好放在不同位置(截图上是演示环境,就放在一个目录里

CentOS 7.6下安装Oracle 11.2.0.4

 

  • 重做日志组数量默认3个,后续可以增加;成员大小默认是50M,对于正式环境,建议改成500M。
CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 


CentOS 7.6下安装Oracle 11.2.0.4

 

  • 至此,建库完成。

lsnrctl status检查监听状态

  • 查看监听状态:

oracle>lsnrctl status

CentOS 7.6下安装Oracle 11.2.0.4

 

  • oracle>lsnrctl restart重启
  • 监听文件说明:

按上述方法建立的监听是动态监听,静态文件($
ORACLE_HOME/network/admin/listener.ora)内容如下:

CentOS 7.6下安装Oracle 11.2.0.4

 

可以将配置文件改成如下方式,则为静态监听。

CentOS 7.6下安装Oracle 11.2.0.4

 

静态监听启动后,此处为unknown;而动态静态为ready。

CentOS 7.6下安装Oracle 11.2.0.4

 

Oracle的静默安装。

  • 在/opt/app/database/response下有3个rsp文件:

a、db_install.rsp:安装oracle软件的响应文件

b、dbca.rsp:建库用的响应文件

c、netca.rsp:建监听用的响应文件

根据实际情况修改下面列出的参数,没有列出的参数就取默认值。

  • db_install.rsp:

ORACLE_HOSTNAME= vm-demo

INVENTORY_LOCATION=/opt/app/oraInventory

ORACLE_HOME= /opt/app/oracle/product/11.2.0/db_1

ORACLE_BASE= /opt/app/oracle

oracle.install.db.config.starterdb.globalDBName=orcl

oracle.install.db.config.starterdb.SID=orcl

oracle.install.db.config.starterdb.characterSet=ZHS16GBK

oracle.install.db.config.starterdb.memoryLimit=1024M

oracle.install.db.config.starterdb.password.ALL=change_on_install

oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/data/oradata

oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/opt/app/oracle/fast_recovery_area

修改完后,执行下面这条命令:

oracle>./runInstaller -silent -responseFile /opt/app/database/response/db_install.rsp

  • dbca.rsp

OPERATION_TYPE = "createDatabase"

GDBNAME = "orcl"

SID = "orcl"

SYSPASSWORD = "change_on_install"

SYSTEMPASSWORD = " change_on_install "

DATAFILEDESTINATION =/data/oradata

RECOVERYAREADESTINATION=/opt/app/oracle/fast_recovery_area

CHARACTERSET = "ZHS16GBK"

TOTALMEMORY = "1024"

修改完后,执行下面这条命令:

oracle>dbca -silent -responseFile /opt/app/database/response/dbca.rsp

  • netca.rsp(无特殊情况,不用修改,直接执行下面这条命令)

oracle>netca -silent -responsefile /opt/app/database/response/netca.rsp

总结:

  • 本文只是简单的安装数据库软件和建库,基本参数的调整将会放到下一篇文章。


Tags:Oracle   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
Oracle正式发布Java 22
Oracle 正式发布 Java 22,这是备受欢迎的编程语言和开发平台推出的全新版本。Java 22 (Oracle JDK 22) 在性能、稳定性和安全性方面进行了数千种改进,包括对Java 语言、其API...【详细内容】
2024-03-21  Search: Oracle  点击:(13)  评论:(0)  加入收藏
oracle数据库基础学习
在当今数字化时代,数据库已成为企业运营的关键要素。而Oracle数据库,作为全球领先的企业级数据库管理系统,更是备受推崇。本文将带您深入了解Oracle数据库的基础知识,帮助您从零...【详细内容】
2024-01-20  Search: Oracle  点击:(105)  评论:(0)  加入收藏
一文聊聊如何快速监控 Oracle 数据库
Cprobe 是一个探针采集器,支持常见数据库、中间件的采集,比如 MySQL、Redis、MongoDB、Oracle、Kafka、ElasticSearch 等。安装配置 Oracle简单起见,我使用 Docker 启动 Oracl...【详细内容】
2023-12-26  Search: Oracle  点击:(138)  评论:(0)  加入收藏
Oracle这个公开漏洞正在被8220挖矿组利用
有的网络攻击组织喜欢极具攻击力的0-Day漏洞,但也有的组织更愿意在那些已经公开的漏洞上下功夫,针对那些未能打好补丁的目标,不断优化策略和技术来逃避安全检测,从而最终实现入...【详细内容】
2023-12-22  Search: Oracle  点击:(119)  评论:(0)  加入收藏
Oracle数据库性能监控:洞察系统瓶颈的利器!
在当今信息时代,企业对于数据的存储和管理变得越来越重要。Oracle数据库作为全球广泛应用的关系型数据库管理系统,承载着大量的业务数据和应用。为了确保数据库的高效稳定运行...【详细内容】
2023-12-18  Search: Oracle  点击:(99)  评论:(0)  加入收藏
Oracle软件在主机平台的应用
// 下 栽 の 地 止 :http://quangneng.com/2573/主机平台通常指的是大型服务器,包括UNIX、Linux、IBM Mainframe等。Oracle数据库在这些主机平台上的应用非常普遍,原因有以下几...【详细内容】
2023-11-30  Search: Oracle  点击:(146)  评论:(0)  加入收藏
Oracle数据库存在不可用索引性能问题
在实践中ORACLE数据库存在不可用索引会引发性能问题。所谓的不可用索引,是指索引自身出了问题,不能被所有SQL使用到。这与因SQL写法不当而无法使用索引的索引失效情况不同。当...【详细内容】
2023-11-23  Search: Oracle  点击:(242)  评论:(0)  加入收藏
Oracle数据库容灾方案:持续运营的保障之道!
Oracle数据库的容灾方案是为了保障数据库持续运营和数据的高可用性而设计的。在企业级应用中,数据库的持续运行对于业务的正常操作至关重要。一旦发生数据库故障或灾难,将会对...【详细内容】
2023-11-23  Search: Oracle  点击:(143)  评论:(0)  加入收藏
Oracle数据库事务管理:确保数据一致性的关键步骤!
事务管理是数据库管理中至关重要的一环,它确保了数据的一致性、完整性和可靠性。Oracle数据库提供了强大的事务管理功能,能够保证多个操作在数据库中作为一个逻辑单元执行,以确...【详细内容】
2023-11-20  Search: Oracle  点击:(199)  评论:(0)  加入收藏
14个开源免费数据库监控工具,MySQL、Oracle、Postgres或MSSQL
在信息系统项目中,UI、业务逻辑、数据库操作、文件操作、网络、API调用等许多环节都有可能产生性能问题,其中,数据库读写是最为常见的操作,我们也发现其实许多项目中的大部分瓶...【详细内容】
2023-11-17  Search: Oracle  点击:(281)  评论:(0)  加入收藏
▌简易百科推荐
Oracle正式发布Java 22
Oracle 正式发布 Java 22,这是备受欢迎的编程语言和开发平台推出的全新版本。Java 22 (Oracle JDK 22) 在性能、稳定性和安全性方面进行了数千种改进,包括对Java 语言、其API...【详细内容】
2024-03-21  OSC开源社区    Tags:Oracle   点击:(13)  评论:(0)  加入收藏
oracle数据库基础学习
在当今数字化时代,数据库已成为企业运营的关键要素。而Oracle数据库,作为全球领先的企业级数据库管理系统,更是备受推崇。本文将带您深入了解Oracle数据库的基础知识,帮助您从零...【详细内容】
2024-01-20  EmSpace    Tags:oracle   点击:(105)  评论:(0)  加入收藏
一文聊聊如何快速监控 Oracle 数据库
Cprobe 是一个探针采集器,支持常见数据库、中间件的采集,比如 MySQL、Redis、MongoDB、Oracle、Kafka、ElasticSearch 等。安装配置 Oracle简单起见,我使用 Docker 启动 Oracl...【详细内容】
2023-12-26      Tags:Oracle   点击:(138)  评论:(0)  加入收藏
Oracle这个公开漏洞正在被8220挖矿组利用
有的网络攻击组织喜欢极具攻击力的0-Day漏洞,但也有的组织更愿意在那些已经公开的漏洞上下功夫,针对那些未能打好补丁的目标,不断优化策略和技术来逃避安全检测,从而最终实现入...【详细内容】
2023-12-22    FreeBuf.COM  Tags:Oracle   点击:(119)  评论:(0)  加入收藏
Oracle数据库性能监控:洞察系统瓶颈的利器!
在当今信息时代,企业对于数据的存储和管理变得越来越重要。Oracle数据库作为全球广泛应用的关系型数据库管理系统,承载着大量的业务数据和应用。为了确保数据库的高效稳定运行...【详细内容】
2023-12-18  编程技术汇  今日头条  Tags:Oracle   点击:(99)  评论:(0)  加入收藏
Oracle软件在主机平台的应用
// 下 栽 の 地 止 :http://quangneng.com/2573/主机平台通常指的是大型服务器,包括UNIX、Linux、IBM Mainframe等。Oracle数据库在这些主机平台上的应用非常普遍,原因有以下几...【详细内容】
2023-11-30  阿小白    Tags:Oracle   点击:(146)  评论:(0)  加入收藏
Oracle数据库存在不可用索引性能问题
在实践中ORACLE数据库存在不可用索引会引发性能问题。所谓的不可用索引,是指索引自身出了问题,不能被所有SQL使用到。这与因SQL写法不当而无法使用索引的索引失效情况不同。当...【详细内容】
2023-11-23  测试小号等闲之辈  微信公众号  Tags:Oracle   点击:(242)  评论:(0)  加入收藏
Oracle数据库容灾方案:持续运营的保障之道!
Oracle数据库的容灾方案是为了保障数据库持续运营和数据的高可用性而设计的。在企业级应用中,数据库的持续运行对于业务的正常操作至关重要。一旦发生数据库故障或灾难,将会对...【详细内容】
2023-11-23  编程技术汇  今日头条  Tags:Oracle   点击:(143)  评论:(0)  加入收藏
Oracle数据库事务管理:确保数据一致性的关键步骤!
事务管理是数据库管理中至关重要的一环,它确保了数据的一致性、完整性和可靠性。Oracle数据库提供了强大的事务管理功能,能够保证多个操作在数据库中作为一个逻辑单元执行,以确...【详细内容】
2023-11-20  编程技术汇  微信公众号  Tags:Oracle   点击:(199)  评论:(0)  加入收藏
从来不是侥幸!Oracle为何独得印度政府青睐?
作者 | Mohit编译 | 小欧出品 | 51CTO技术栈(微信号:blog51cto)今年 8 月,印度教育部宣布选择 Oracle 云基础设施 (OCI) 来改造免费教育技术平台 DIKSHA。小微企业信用保证基金信...【详细内容】
2023-11-17    51CTO  Tags:Oracle   点击:(189)  评论:(0)  加入收藏
站内最新
站内热门
站内头条