当前位置: 首页> 房产> 建材 > 成都电子商务网站建设公司_兽装定制工作室_城关网站seo_2345网址导航浏览器

成都电子商务网站建设公司_兽装定制工作室_城关网站seo_2345网址导航浏览器

时间:2025/7/11 18:36:08来源:https://blog.csdn.net/2403_87251975/article/details/146909803 浏览次数:0次
成都电子商务网站建设公司_兽装定制工作室_城关网站seo_2345网址导航浏览器

在开始安装Oracle 19c之前,确保你的操作系统环境已经做好了充分的准备。这一步骤至关重要,因为它直接关系到后续数据库能否顺利安装并稳定运行。以下内容将详细介绍如何为Oracle 19c的安装准备好Oracle Linux 9系统环境。

一、安装配置建议

1.1 硬件要求

  • 处理器:建议使用至少8核及以上处理器
  • 内存:推荐至少8GB的RAM
  • 存储空间:硬盘至少需要100GB的空间

1.2 操作系统配置

  • 操作系统版本:确认你正在使用的Oracle Linux 版本为9.4或更高版本

操作系统安装教程见《vmware statation 17 pro安装Oracle Linux 9》

二 、操作系统配置

  2.1、系统语言检查

如果是运行数据库,建议更改为英语使用UTF8,查看命令如下:

[root@db1 ~]# localectl status|grep LANGSystem Locale: LANG=en_US.UTF-8

 2.2 主机时间时区检查

查看时间的时区,如果中国时间,请修改

--查看时间时区timedatectl--设置时区timedatectl set-timezone "Asia/Shanghai"

2.3 修改主机名

hostnamectl set-hostname db1

2.4 关闭防火墙、SELINUX及操作系统Transparent Huge Pages

1) 关闭防火墙

systemctl stop    firewalldsystemctl disable firewalld

2)关闭selinux

--查看SELINUX参数getenforce或SELINUX=`grep ^SELINUX= /etc/selinux/config`--配置SELINUX参数为disabledif [ $SELINUX != "SELINUX=disabled" ];thencp /etc/selinux/config /etc/selinux/config.baksed -i 's/^SELINUX=/#SELINUX=/g' /etc/selinux/configsed -i '$a SELINUX=disabled' /etc/selinux/configelseecho "SELINUX is already disabled"fi--重启生效reboot

3)关闭透明大页

--查看[root@db1~]# cat /sys/kernel/mm/transparent_hugepage/enabled[always] madvise never--关闭sed -i 's/quiet/quiet transparent_hugepage=never/' /etc/default/grubgrub2-mkconfig -o /boot/grub2/grub.cfg--重启reboot

2.5 修改shm自动挂载

cp /etc/fstab /etc/fstab_`date +"%Y%m%d_%H%M%S"`echo "tmpfs    /dev/shm    tmpfs    rw,exec    0 0">>/etc/fstab

2.6 修改host文件

cp /etc/hosts /etc/hosts_`date +"%Y%m%d_%H%M%S"`echo '192.168.74.45 db1'>> /etc/hostscat /etc/hosts

2.7 修改内核参数

1)参数设置

在参数修改位于/etc/sysctl.d/下,创建个99-oracle.conf的文件。

--脚本配置echoMemTotal=`grep MemTotal /proc/meminfo | awk '{print $2}'`PAGE_SIZE=`getconf PAGE_SIZE`shmmax=`expr $MemTotal \* 1024`shmall=`expr $shmmax / $PAGE_SIZE`cat >> /etc/sysctl.d/99-oracle.conf << EOFfs.file-max = 6815744kernel.sem = 10000  10240000 10000 1024kernel.shmmni = 4096kernel.shmall = $shmallkernel.shmmax = $shmmaxnet.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 16777216net.core.rmem_max = 16777216net.core.wmem_max = 16777216net.core.wmem_default = 16777216fs.aio-max-nr = 6194304vm.dirty_ratio=20vm.dirty_background_ratio=3vm.dirty_writeback_centisecs=100vm.dirty_expire_centisecs=500vm.swappiness=10vm.min_free_kbytes=524288net.core.netdev_max_backlog = 30000net.core.netdev_budget = 600net.ipv4.conf.all.rp_filter = 2net.ipv4.conf.default.rp_filter = 2#vm.nr_hugepages =51200EOF--启用参数sysctl --system

2)参数解释

参数名

参数值

说明

fs.file-max

6815744

file handles available at the system level(系统下可打开的最大文件句柄数,要大于进程数)

kernel.sem

10000  10240000 10000 1024

kernel.sem = SEMMSL SEMMNS SEMOPM SEMMNI

SEMMSL: Maximum number of semaphores per set(每个信号量组中信号量最大数量,大于Oracle进程数+10)

SEMMNS: Maximum number of semaphores system-wide(整个Linux系统中所有信号量的最大数量,建议是第1和第4个数字的乘积)

SEMOPM: Maximum number of semaphore operations per system call(每次semop系统调用可以同时执行的最大信号量操作的数量semopm。由于一个信号量组最多拥有SEMMSL个信号量,推荐将SEMOPM设置为SEMMSL的值)

SEMMNI: Maximum number of semaphore sets for the entire Linux system(设置系统中信号量组的最大数量)

 (max number of arrays)*(max semaphores per array)=(max semaphores system wide)

如单节点8000个连接,可以设置为:

10000  10240000 10000 1024

export PROCESS=10000;

echo "kernel.sem=${PROCESS}  `expr ${PROCESS} \* 1024` ${PROCESS} 1024"

kernel.shmni

4096

设置系统范围内共享内存段的最大数量

kernel.shmall

1073741824

系统任意时刻可以分配的所有共享内存段的总和的最大值(以页为单位),其值应不小于shmmax/page_size,推荐设置为物理内存大小除以分页大小。

expr `free |grep Mem|awk '{print $2 *1024}'` / `getconf PAGE_SIZE`

kernel.shmmax

4398046511104

单个内存段最大,设置为内存大小

free |grep Mem|awk '{print $2 *1024}'

net.core.rmem_default

262144

接收套接字缓冲区大小的缺省值(以字节为单位)

net.core.rmem_max

4194304

接收套接字缓冲区大小的最大值(以字节为单位)

net.core.wmem_default

262144

发送套接字缓冲区大小的缺省值(以字节为单位)

net.core.wmem_max

1048576

发送套接字缓冲区大小的最大值(以字节为单位)

fs.aio-max-nr

40960000

系统可以同时拥有的最大异步 I/O 请求数目

net.ipv4.ip_local_port_range

9000 65500

net.ipv4.ip_local_port_range 是一个Linux内核参数,它定义了可用于向外连接的本地端口范围。换句话说,当你或应用程序尝试与外部服务建立TCP或UDP连接时,系统会从这个范围内分配一个临时端口用于通信。调整这个参数可以帮助优化网络性能和解决端口耗尽的问题。

vm.min_free_kbytes

524288

在Linux平台上设置HugePages以及调整内核参数vm.min_free_kbytes以预留512MB内存是优化Oracle数据库性能的重要步骤。HugePages可以提高内存密集型应用(如Oracle数据库)的性能,通过减少页面表项数量和页表遍历次数来提升效率。然而,当使用HugePages时,Oracle数据库的MEMORY_TARGET参数将无法使用,因为Automatic Memory Management (AMM)与HugePages不兼容。

vm.vfs_cache_pressure

200

该文件表示内核回收用于directory和inode cache内存的倾向;缺省值100表示内核将根据pagecache和swapcache,把directory和inode cache保持在一个合理的百分比;降低该值低于100,将导致内核倾向于保留directory和inode cache;增加该值超过100,将导致内核倾向于回收directory和inode cache

vm.swappiness

40

这个参数从RHEL 6.4开始与之前的版本的行为有所不同,建议不要设置为0。

vm.dirty_background_ratio

3

这个参数指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如5%)就会触发pdflush/flush/kdmflush等后台回写进程运行,将一定缓存的脏页异步地刷入外存

vm.dirty_ratio

20

这个参数则指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如10%),系统不得不开始处理缓存脏页(因为此时脏页数量已经比较多,为了避免数据丢失需要将一定脏页刷入外存);在此过程中很多应用进程可能会因为系统转而处理文件IO而阻塞。

vm.dirty_expire_centisecs

500

这个参数声明Linux内核写缓冲区里面的数据多“旧”了之后,pdflush进程就开始考虑写到磁盘中去。单位是 1/100秒。缺省是 30000,也就是 30 秒的数据就算旧了,将会刷新磁盘。

vm.dirty_writeback_centisecs

100

这个参数控制内核的脏数据刷新进程pdflush的运行间隔。单位是 1/100 秒。缺省数值是500,也就是 5 秒。如果你的系统是持续地写入动作,那么实际上还是降低这个数值比较好,这样可以把尖峰的写操作削平成多次写操作。

net.ipv4.conf.eth2.rp_filter

2

这个参数针对RAC的节点间互联网络设置,这里eth2是private网卡,如果是绑定的就需要用绑定的网卡名,如果是多个private网卡,就需要对每个网卡都要设置。

vm.nr_hugepages

使用Oracle 提供的脚本hugepages_settings.sh的脚本来计算vm.nr_hugepages的值,这个参数值需要根据实际的大内存页面数设置,这个参数在大内存页设置一节有详细描述。注脚本跑出来的值在加10,以免SGA有额外开销用不上,用以下命令来计算内核参数。

MEM=512; SGA=256; echo "vm.nr_hugepages = `expr ${MEM} / 2 \* 1024 \* 1024 \* 1024 / 2048 / 1024 + 10; `"

net.ipv4.conf.eth3.rp_filter

0

根据私网网口情况调整,rp_filter用于实现反向过滤技术,也即uRPF,它验证反向数据包的流向,以避免伪装IP攻击

net.ipv4.conf.eth7.rp_filter

0

根据私网网口情况调整,rp_filter用于实现反向过滤技术,也即uRPF,它验证反向数据包的流向,以避免伪装IP攻击

net.ipv4.conf.all.rp_filter

0

根据私网网口情况调整,rp_filter用于实现反向过滤技术,也即uRPF,它验证反向数据包的流向,以避免伪装IP攻击

net.ipv4.ipfrag_high_thresh

16777216

解决Linux 6.6/6.7下IP包重组的Bug

net.ipv4.ipfrag_low_thresh

15728640

解决Linux 6.6/6.7下IP包重组的Bug

net.ipv4.ipfrag_time

60

解决Linux 6.6/6.7下IP包重组的Bug

2.8 配置本地yum源

Oracle Linux 9自带yum源,不需要额外配置。当然,使用它的前提是虚拟机可以访问外网。

 2.9 rpm依赖包安装

rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' \bc  \binutils  \compat-libcap1  \compat-libstdc++  \elfutils-libelf  \elfutils-libelf-devel  \fontconfig-devel  \glibc  \glibc-devel  \ksh  \libaio  \libaio-devel  \libX11  \libXau  \libXi  \libXtst  \libXrender  \libXrender-devel  \libgcc  \libstdc++  \libstdc++-devel  \libxcb  \make  \net-tools  \nfs-utils  \python  \python-configshell  \python-rtslib  \python-six \targetcli \smartmontools \sysstat \kmod-oracleasm \kmod-libs \

rpm安装

yum -y install targetcli python python-configshell python-rtslib python-six bc binutils compat-libstdc compat-libcap1 gcc gcc-c++ libX11 libXau libXi libXtst libXrender libXrender-devel libxcb glibc glibc-common  glibc-devel fontconfig-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat openssh-clients compat-libcap1  xorg-x11-utils xorg-x11-xauth elfutils unixODBC unixODBC-devel libXp elfutils-libelf elfutils-libelf-devel smartmontoolsyum -y install /lib64/libnsl.so.1 

日常管理工作安装

yum -y install unzip  sysstat setuptool telnet iotop openssh-clients net-tools unzip libvncserver tigervnc-server device-mapper-multipath dstat lsof ntp psmisc redhat-lsb-core parted xhost strace showmount expect tcl

2.10 创建用户、用户组及目录

1)创建用户组

    groupadd -g 54321 oinstallgroupadd -g 54322 dbagroupadd -g 54323 opergroupadd -g 54324 backupdbagroupadd -g 54325 dgdbagroupadd -g 54326 kmdbagroupadd -g 54327 asmdbagroupadd -g 54330 racdba

2)创建oracle用户

    useradd -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,racdba -u 6000 oracle--修改oracle密码echo "Oracle123()"|passwd oracle --stdin

3)创建目录

mkdir -p /u01/appmkdir -p /u01/app/oraclemkdir -p /u01/app/oracle/product/19.3/dbhome_1chown -R oracle:oinstall /u01/appchmod -R 775 /u01/app

2.11 配置用户环境变量

cat >> /home/oracle/.bash_profile << "EOF"export TMP=/tmpexport TMPDIR=$TMPexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/19.3/dbhome_1export ORACLE_SID=prod1export PATH=/usr/sbin:$PATHexport PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATHEOF

2.12 修改会话限制

1)备份配置文件

cp /etc/security/limits.conf /etc/security/limits.conf.bak

2)修改oracle会话限制

cat >> /etc/security/limits.conf << "EOF"oracle  soft    nproc   655350oracle  hard    nproc   655350oracle  soft    nofile  655360oracle  hard    nofile  655360oracle  soft    stack  102400oracle  hard    stack  327680EOFecho--------------/etc/pam.d/login-----------------echocat >> /etc/pam.d/login << "EOF"session    required    pam_limits.soEOF--------------/etc/profile-----------------cat >> /etc/profile << "EOF"if [ $USER = "oracle" ] || [ $USER = "root" ]; thenif  [ $SHELL = "/bin/ksh" ];  thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fifiEOF

以上定义了 oracle 用户的各种资源限制:

  • nproc:最大进程数(软硬限制均为655350)。
  • nofile:最大打开文件数(软硬限制分别为655360)。
  • stack:栈大小(软限制为102400 KB,硬限制为327680 KB)。

为了确认更改已经生效,可以退出当前shell会话并重新登录,然后使用ulimit -a命令检查oracle用户的资源限制是否已按预期更新。注意,某些更改可能需要注销并重新登录或重启系统才能完全生效。

关键字:成都电子商务网站建设公司_兽装定制工作室_城关网站seo_2345网址导航浏览器

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: