暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle---安装部署一(图形界面安装Oracle 11.2.0.1 CentOS7.6)

原创 周波 云和恩墨 2022-09-21
2035

一、安装前对操作系统的配置

(1)硬件需求

1),内存大小:最低1G,推荐大于等于2G

确定系统内存的大小:

grep MemTotal /proc/meminfo

确定交换空间的大小:

grep SwapTotal /proc/meminfo

  注意:配置交换空间的大小与内存有一定的关系,当内存的大小在1G和2G之间,推荐配置swap的大小为内存的1.5倍;当内存的大小在2G和16G之间,推荐配置swap的大小与内存相等;当内存的大小超过16G时,推荐配置swap=16G。需要注意的是,在linux中,大页特性会使用内存映射文件为大页表分配不可以交换内存,所以在启用大页的情况下,在计算swap大小之前,可用内存总量中应先减去为大页分配的内存,然后据此来配置swap大小。

确定可用的内存和swap空间大小:

free -h

  共享内存:自oracle11g开始,自动内存管理(Automatic Memory Management)的特性需要更多的共享内存(/dev/shm)和文件描述符,
共享内存的大小>=max(MEMORY_TARGET,MEMORY_MAX_TARGET),如果这两个参数或这其中一个设置了非零值,并且共享内存的大小分配不正确,会导致在数据库启动时报ORA-00845错误。
  注意:当LOCK_SGA参数启用或者linux启用了HugePapes,上述两个参数不能被使用。

  每个数据库实例的文件描述符个数>=512*PROCESSES,如果文件描述符大小不正确,会报ORA-27123错误。

确定可用的共享内存的大小:

df -h /dev/shm

如果你比较倒霉,遇到了ORA-00845错误,不妨增加/dev/shm挂载点的大小:

mount -t tmpfs shmfs -o size=7g /dev/shm

# 如果需要永久保留上述改变,可以在/etc/fstab文件中增加如下条目

shmfs /dev/shm tmpfs size=7g 0 0

2),确定系统架构

uname -a

3),磁盘空间需求
/tmp目录大小至少1G,确定/tmp目录可用空间量:

df -h /tmp

确定系统上的空闲磁盘空间量:

df -h

  在linux x86-64的系统上,对于企业版安装,软件文件需要的磁盘空间量为4.7G,数据文件需要的磁盘空间量为1.7G(总计6.4G);对于标准版安装,软件文件需要的磁盘空间量为4.6G,数据文件需要的磁盘空间量为1.5G(6.1G);如果在安装时配置了自动备份,那么需要在文件系统或者Oracle ASM(Automatic Storage Management)磁盘组中为快速恢复区域(fast recovery area)提供额外的磁盘空间。

(2)检查软件需求

1),确定已安装的linux的发行版和内核版本

cat /proc/version

2),内核要求
对于linux x86-64架构,红帽linux7的内核版本不低于3.10.0-54.0.1.el7.x86_64,确定已安装的内核版本是不是所需要的:

uname -r

3),软件包要求

在linux x86-64 红帽linux7操作系统上安装Oracle 11g Release 2之前需要安装下述软件包:

yum install -y binutils compat-libcap1 compat-libstdc++ compat-libstdc++ gcc gcc-c++ glibc glibc glibc-devel glibc-devel ksh libaio libaio libaio-devel libaio-devel libgcc libgcc libstdc++ libstdc++ libstdc++-devel libstdc++-devel libXi libXi libXtst libXtst make sysstat

4),安装时生成修复脚本

脚本名:runfixup.sh,执行该脚本检查内核参数,并将其设置为成功安装oracle所需的值,包括:共享内存参数,打开的文件描述符个数,以及UDP发送和接收相关参数。

5),验证TCP和UDP内核参数

  设置TCP/IP临时端口范围参数,为预期的服务器工作负载提供足够的临时端口,设置临时端口范围,较低边界值应该不低于9000,使用IPV4,查看临时端口的范围:

cat /proc/sys/net/ipv4/ip_local_port_range

// 如果不满足,可以像下面这样设置临时端口的范围

echo 9000 65500 > /proc/sys/net/ipv4/ip_local_port_range

//不过oracle推荐你永久设置该项:

vim /etc/sysctl.conf

net.ipv4.ip_local_port_range= 9000 65500

//然后重启网络服务

/etc/rc.d/init.d/network restart

systemctl restart network

6),配置主机解析文件/etc/hosts

vim /etc/hosts

10.0.0.80 oracle1

7),禁用透明大页

  从红帽linux6开始,透明大页在系统运行时就已经启用,透明大页可能会导致内存分配延迟,因为内存是动态分配得,因此,建议你禁用透明大页以避免带来得性能问题。

  虽然透明大页与HugePages类似,但它们是由内核中的khugepage线程在运行时动态设置的,而标准的HugePages是在启动时预先分配的,因此建议你使用标准大页来增强性能:

// 临时关闭,重启之后还是启用

echo never > /sys/kernel/mm/transparent_hugepage/enabled

//永久关闭,在内核引导行上最后添加如下条目/etc/grub2.cfg(centos7.6)

vim /etc/grub2.cfg

linux16 /vmlinuz-3.10.0-957.el7.x86_64 root=/dev/mapper/centos-root ro rd.lvm.lv=centos/root rhgb quiet LANG=en_US.UTF-8 transparent_hugepage=never

initrd16 /initramfs-3.10.0-957.el7.x86_64.img

//重启系统,使更改永久生效

8),创建需要的操作系统用户和用户组

groupadd oinstall # 创建oracle安装目录组:

groupadd -g 502 dba # 为Oracle数据库安装创建OSDBA用户组:该组标识具有数据库管理权限(SYSDBA权限)的操作系统用户帐户。

groupadd -g 503 oper # 为Oracle数据库安装创建OSOPER用户组:标识一组具有有限数据库管理权限(SYSOPER操作员权限)的操作系统用户

groupadd -g 504 asmadmin # 为Oracle自动存储管理(ASM)创建OSASM用户组

groupadd -g 506 asmdba # 为oracle自动存储管理创建ASMDBA用户组

groupadd -g 505 asmoper # 为oracle自动存储管理创建OSOPER用户组

useradd -u 502 -g oinstall -G dba,asmdba oracle # 创建oracle软件属主用户

echo oracle123 | passwd --stdin oracle

9),检查oracle软件安装用户的资源限制情况

相关资源限制范围推荐如下:

打开的文件描述符个数(nofile):软限制至少1024,硬限制至少65536

用户可用的进程数(nproc):软限制至少2047,硬限制至少16384

进程的堆栈段大小(stack):软限制至少10240KB,硬限制10240KB,至多32768KB

以安装用户登录(这里为oracle),确定相关资源限制在推荐的范围内:


# 查看当前用户打开文件描述符的软限制和硬限制

ulimit -Sn

ulimit -Hn

# 查看当前用户可用进程数的软硬限制

ulimit -Su

ulimit -Hu

# 查看栈段大小的软硬限制

ulimit -Ss

ulimit -Hs

# 上述步骤需要在每一个Oracle软件安装用户下执行检查

# 如果设置的值没在推荐的范围之内,那么可以通过root用户在/etc/security/limits.conf文件中添加如下条目:

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft stack 10240

oracle hard stack 10240

10),配置linux内核参数

  在安装Oracle数据库过程中,您可以生成并运行修复脚本,检查并设置数据库成功安装所需的内核参数值。如果不适用修复脚本,可以手动设置相关参数:

vim /etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

# shmmax参数,最小值为512MB(536870912),对于32为的linux系统,可以设置的最大值为

# 4G-1byte;对于64为的linux系统,最大值可以设置为比物理内存少一个字节。推荐该参数

# 设置的值大于物理内存的一半,例如4G的物理内存设置为(2.5G=2684354560B)

kernel.shmmax = 2684354560

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

# 保存退出,然后执行如下命令使内核参数修改生效(或者重启系统)

sysctl -p

11),创建oracle软件需要的目录


#创建oracle根目录(推荐格式:/mount_point/app/software_owner)

mkdir -p /u01/app/oracle

chown -R oracle:oinstall /u01/app/oracle

chmod -R 755 /u01/app/oracle

# 创建数据库文件目录

mkdir /u01/app/oracle/oradata

chown oracle.oinstall /u01/app/oracle/oradata

chmod 755 /u01/app/oracle/oradata

# 创建恢复文件目录(快速恢复区域)

mkdir /u01/app/oracle/fast_recovery_area

chown oracle.oinstall /u01/app/oracle/fast_recovery_area

chmod 755 /u01/app/oracle/fast_recovery_area

# 创建oracle Inventory目录,推荐该目录不要放在oracle根目录下。

mkdir /u01/app/oraInventory

chown oracle.oinstall /u01/app/oraInventory

  oracle家目录的创建不是必要的,强烈推荐oracle家目录为oracle根目录下的一个子目录

oracle数据库文件包括数据文件,控制文件,redo日志文件和服务器参数文件。

12),配置Oracle软件所有者环境变量


su - oracle

# 确定oracle用户的默认shell

echo $SHELL

vim .bash_profile

umask 022

#如果不是在本地计算机上安装软件,请在远程计算机上运行以下命令设置DISPLAY变量

export DISPLAY=10.0.0.1:0.0

source .bash_profile

# 允许执行安装的远程主机可以访问本地的X服务器,宿主机的名称为WIN-2PUUADA00J7

xhost + WIN-2PUUADA00J7

# 要验证X应用程序显示是否设置正确,请运行操作系统(如xclock)附带的基于x11的程序。

yum provides xclock

yum isntall -y xorg-x11-apps

xclock

#如果正确设置了DISPLAY环境变量,那么您可以在计算机屏幕上看到xclock

二、安装oracle数据库

(1)选择数据库字符集

  推荐使用Unicode AL32UTF8作为数据库的字符集,是一种多字节的字符集,与单字节的数据库字符集相比,对于字符数据的数据库操作可能稍慢些。与支持该语言的传统字符集相比,AL32UTF8对大多数语言中使用ASCII表以外字符的文本的存储空间要求更高。存储空间的增加只涉及字符数据和非英语数据。Unicode的通用性和灵活性通常超过了这些额外的成本。

(2)下载安装包,并解压

mkdir /OraDB11g

cd /OraDB11g

unzip V17530-01_1of2.zip

unzip V17530-01_2of2.zip

# 解压后会在当前目录下生成一个名为database的子目录

(3)运行oracle通用安装程序

su - oracle

cd /OraDB11g/database/

./runInstaller

  执行完之后,会先检查temp空间和swap空间大小以及monitor,然后会打开一个oracle数据库安装的图形引导界面。

  在数据库安装过程中,当Oracle Universal Installer提示您使用root权限运行脚本时,请在以root用户登录的终端中执行脚本,然后单击“确定”。

1)配置安全更新

这一步可以不做,点击Next;会弹出一个错误框,点击Yes:

2)选择安装选项

选择“Create and cinfigure a database”(该选项会创建一个拥有示例模式的新数据库),然后点击Next:

3)选择安装数据库的系统类型

按需选择,这里悬着Server Class(该选项提供了更多高级的配置选项,使用该选项可用的高级配置选项包括Oracle RAC、Oracle ASM、备份和恢复配置、与Oracle Enterprise Manager Grid Control的集成,以及更细粒度的内存调优等),然后点击Next:

4)Grid选项

选择想要执行的数据库安装类型,这里选择Single instance database installation该选项会安装数据库和监听器),然后点击Next:

5)选择安装类型

选择高级安装,点击Next:

6)选择语言

选择English,点击Next:

7)选择数据库版本

选择standard edition,点击Next:

8)指定安装路径

需要指定oracle base(oracle软件安装的顶级目录)和software location(存储oracle软件文件)保持默认,点击Next:

9)创建oracle Inventory:

该步中需要指定Inventory目录(存放安装文件),并指定具有该目录写权限的操作系统用户组,保持默认,点击Next:

10)选择配置类型:

选择General Purpose,然后点击Next:

11)指定数据库标识符

需要指定global database name (支持字母数字、下划线、$、#的组合)和Oracle service identifier(SID)(只能是字母数字),这里保持默认,点击Next:

12)指定配置选项:

内存:勾选启用自动内存管理,保持默认值

字符集:AL32UTF8

安全:勾选“Assert all new security settings”,保持默认,该选项启用审计和使用新的密码文件

示例模式:勾选上,可以创建带有示例模式的初始数据库

然后点击Next:

13)指定管理选项

配置如下所示,点击Next:

14)指定数据库存储选项

选择文件系统,并指定路径,保持默认,点击Next:

15)指定恢复选项

选择“Enable automated backups”,启用自动备份,并指定执行备份任务的操作系统用户认证信息,点击Next:

16)指定模式(账户)密码

选择“use the same password for all accounts”,然后输入密码,并确认密码(当输入的密码太简单会弹出一个警告框,不管他,点击Yes),点击Next:

17)授权操作系统用户组

需指定OSDBA组和OSPER组,保持默认,点击Next:

18)执行先决条件检查

如下所示:

点击Fix&Check Again:

提示我们安装程序已经生成一个修复脚本,请以root用户执行,执行之后返回该窗口点击OK,还是一样的,所以我们选择Ignore All(需要的包都是安装了的,只是版本不一样而已,交换空间给小了,我们可以通过如下方式增加swap大小:

dd if=/dev/zero of=swapfile bs=1M count=2048

mkswap swapfile

swapon swapfile

),点击Next:

19)总结

可以保存一下响应文件,然后点击finish:

20)安装产品:

期间也是出现了两三个错误,直接跳过了,最后以root用户执行如下脚本:

[root@oracle1 /u01/app/oraInventory]$ sh orainstRoot.sh

Changing permissions of /u01/app/oraInventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventory to oinstall.

The execution of the script is complete.

[root@oracle1 /u01/app/oracle/product/11.2.0/dbhome_1]$ sh root.sh

Running Oracle 11g root.sh script...

The following environment variables are set as:

ORACLE_OWNER= oracle

ORACLE_HOME= /u01/app/oracle/product/11.2.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:

Copying dbhome to /usr/local/bin ...

Copying oraenv to /usr/local/bin ...

Copying coraenv to /usr/local/bin ...

Creating /etc/oratab file...

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root.sh script.

Now product-specific root actions will be performed.

Finished product-specific root actions.

21)finish

点击close。

到此Oracle 11g数据库的单实例安装部署到此结束。

最后修改时间:2022-09-21 16:45:54
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论