openEuler 22.03(华为欧拉)一键安装 Oracle 19C RAC(19.22) 数据库
前言
Oracle 一键安装脚本,演示 openEuler 22.03 一键安装 Oracle 19C RAC 过程(全程无需人工干预):(脚本包括 ORALCE PSU/OJVM 等补丁自动安装)
⭐️ 脚本下载地址:Shell脚本安装Oracle数据库
脚本第三代支持 N 节点一键安装,不限制节点数!
安装准备
- 1、安装好操作系统,建议安装图形化
- 2、配置好网络
- 3、挂载本地 ISO 镜像源
- 4、上传软件安装包(安装基础包,补丁包:35926646、35943157、6880880)
- 5、上传一键安装脚本:OracleShellInstall
✨ 偷懒可以直接下载本文安装包合集:openEuler 安装 Oracle 19C RAC(19.22) 安装包合集(包含补丁!!!)
演示环境信息
# 主机版本
[root@openEuler01 soft]# cat /etc/openEuler-release
openEuler release 22.03 (LTS-SP3)# 网络信息
## 节点一
[root@openEuler01 soft]# ip a
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:51:f8:ca brd ff:ff:ff:ff:ff:ffinet 192.168.6.130/24 brd 192.168.6.255 scope global noprefixroute ens33valid_lft forever preferred_lft foreverinet6 fe80::6bae:9840:87e5:b777/64 scope link noprefixroute valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:51:f8:de brd ff:ff:ff:ff:ff:ffinet 1.1.1.1/24 brd 1.1.1.255 scope global noprefixroute ens37valid_lft forever preferred_lft foreverinet6 fe80::7590:c66c:2046:880c/64 scope link noprefixroute valid_lft forever preferred_lft forever## 节点二
[root@openEuler02 ~]# ip a
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:6e:b2:2c brd ff:ff:ff:ff:ff:ffinet 192.168.6.131/24 brd 192.168.6.255 scope global noprefixroute ens33valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fe6e:b22c/64 scope link noprefixroute valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:6e:b2:40 brd ff:ff:ff:ff:ff:ffinet 1.1.1.2/24 brd 1.1.1.255 scope global noprefixroute ens37valid_lft forever preferred_lft foreverinet6 fe80::683c:1c48:9251:7df7/64 scope link noprefixroute valid_lft forever preferred_lft forever# 挂载本地 ISO 镜像
## 节点一
[root@openEuler01 soft]# mount | grep iso | grep -v "/run/media"
/dev/sr0 on /mnt type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048,iocharset=utf8)
[root@openEuler01 soft]# df -h|grep /mnt
/dev/sr0 18G 18G 0 100% /mnt## 节点二
[root@openEuler02 soft]# mount | grep iso | grep -v "/run/media"
/dev/sr0 on /mnt type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048,iocharset=utf8)
[root@openEuler02 soft]# df -h|grep /mnt
/dev/sr0 18G 18G 0 100% /mnt# starwind 共享磁盘挂载(有存储就不需要使用 starwind,直接存储上划盘挂载就可)
yum install -y iscsi-initiator-utils*
systemctl start iscsid.service
systemctl enable iscsid.service
iscsiadm -m discovery -t st -p 192.168.6.188
## 挂载 ASM 磁盘
iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:192.168.6.188-lucifer -p 192.168.6.188 -l
## 配置开机自动挂载
iscsiadm -m node –T iqn.2008-08.com.starwindsoftware:192.168.6.188-lucifer -p 192.168.6.188 --op update -n node.startup -v automatic## 节点一
[root@openEuler01 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part ├─openeuler-root 253:0 0 91G 0 lvm /└─openeuler-swap 253:1 0 8G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
sdc 8:32 0 50G 0 disk
sr0 11:0 1 17.1G 0 rom /mnt## 节点二
[root@openEuler02 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part ├─openeuler-root 253:0 0 91G 0 lvm /└─openeuler-swap 253:1 0 8G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
sdc 8:32 0 50G 0 disk
sr0 11:0 1 17.1G 0 rom /mnt# 安装包存放在 /soft 目录下
[root@openEuler01 ~]# cd /soft/
[root@openEuler01 soft]# ll
-rwx------. 1 root root 3059705302 Mar 20 13:57 LINUX.X64_193000_db_home.zip
-rwx------. 1 root root 2889184573 Mar 20 13:58 LINUX.X64_193000_grid_home.zip
-rwxr-xr-x. 1 root root 163796 Mar 20 15:17 OracleShellInstall
-rwx------. 1 root root 127451050 Mar 20 13:58 p35926646_190000_Linux-x86-64.zip
-rwx------. 1 root root 3153297056 Mar 20 13:58 p35940989_190000_Linux-x86-64.zip
-rwx------. 1 root root 127774864 Mar 20 13:58 p6880880_190000_Linux-x86-64.zip
-rwx------. 1 root root 321590 Mar 20 13:58 rlwrap-0.44.tar.gz# 修改 root 密码,脚本不支持特殊字符,例如 @ 符号
# 去除密码复杂度
sed -i 's/^password\+[[:space:]]\+requisite[[:space:]]\+pam_pwquality.so/#&/g' /etc/pam.d/system-auth
sed -i 's/use_authtok$//' /etc/pam.d/system-auth
# 修改 root 密码
[root@openEuler01 soft]# passwd root
Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.[root@openEuler02 ~]# passwd root
Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
以上配置完成后,建议重启两台主机,重启后记得再次挂载 ISO:
[root@openEuler01:/soft]$ mount /dev/cdrom /mnt/
mount: /mnt: WARNING: source write-protected, mounted read-only.[root@openEuler02:/root]$ mount /dev/cdrom /mnt/
mount: /mnt: WARNING: source write-protected, mounted read-only.
确保安装环境准备完成后,即可执行一键安装。
📢注意: 如果安装过程中 GRID 安装报错(一般是因为 ASM 磁盘没有配置好,可能是 openEuler 不适配的原因):
[FATAL] [INS-30508] Invalid ASM disks.CAUSE: The disks [/dev/asm_ocr_1] were not valid.ACTION: Please choose or enter valid ASM disks.
[FATAL] [INS-30515] Insufficient space available in the selected disks.CAUSE: Insufficient space available in the selected Disks. At least, 1.2 GB of free space is required.ACTION: Choose additional disks such that the total size should be at least 1.2 GB.
Moved the install session logs to:/u01/app/oraInventory/logs/GridSetupActions2024-03-20_03-40-18PM
抱歉,Grid 软件安装失败,请检查!
则需要重启两台主机,确认 ASM 磁盘已经如下挂载成功后再次执行安装命令:
[root@openEuler01:/root]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part ├─openeuler-root 253:0 0 91G 0 lvm /└─openeuler-swap 253:1 0 8G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
└─asm_ocr_1 253:3 0 10G 0 mpath
sdc 8:32 0 50G 0 disk
└─asm_data_1 253:2 0 50G 0 mpath
sr0 11:0 1 17.1G 0 rom [root@openEuler02:/root]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part ├─openeuler-root 253:0 0 91G 0 lvm /└─openeuler-swap 253:1 0 8G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
└─asm_ocr_1 253:3 0 10G 0 mpath
sdc 8:32 0 50G 0 disk
└─asm_data_1 253:2 0 50G 0 mpath
sr0 11:0 1 17.1G 0 rom
安装命令
使用标准生产环境安装参数(安装过程若失败,脚本支持重复执行安装):
# 根据脚本 README 或者 -h 命令提示,编辑好一键安装命令,进入 /soft 目录执行安装:
./OracleShellInstall -n openEuler `# hostname prefix`\
-hn openEuler01,openEuler02 `# rac node hostname`\
-cn openEuler-cls `# cluster_name`\
-rp welcome1 `# root password`\
-gp welcome1 `# grid password`\
-op welcome1 `# oracle password`\
-lf ens33 `# local ip ifname`\
-pf ens37 `# rac private ip ifname`\
-ri 192.168.6.130,192.168.6.131 `# rac node public ip`\
-vi 192.168.6.132,192.168.6.133 `# rac virtual ip`\
-si 192.168.6.134 `# rac scan ip`\
-od /dev/sdb `# rac ocr asm disk`\
-dd /dev/sdc `# rac data asm disk`\
-o lucifer `# dbname`\
-ds AL32UTF8 `# database character`\
-ns AL16UTF16 `# national character`\
-redo 100 `# redo size`\
-dp oracle `# sys/system password`\
-gpa 35940989 `# grid PSU/RU`\
-jpa 35926646 `# OJVM PSU/RU`\
-opd Y `# optimize db`
选择需要安装的模式以及版本,即可开始安装:
安装过程
███████ ██ ████████ ██ ██ ██ ██ ██ ██ ████░░░░░██ ░██ ██░░░░░░ ░██ ░██ ░██░██ ░██ ░██ ░████ ░░██ ██████ ██████ █████ ░██ █████ ░██ ░██ █████ ░██ ░██░██ ███████ ██████ ██████ ██████ ░██ ░██
░██ ░██░░██░░█ ░░░░░░██ ██░░░██ ░██ ██░░░██░█████████░██████ ██░░░██ ░██ ░██░██░░██░░░██ ██░░░░ ░░░██░ ░░░░░░██ ░██ ░██
░██ ░██ ░██ ░ ███████ ░██ ░░ ░██░███████░░░░░░░░██░██░░░██░███████ ░██ ░██░██ ░██ ░██░░█████ ░██ ███████ ░██ ░██
░░██ ██ ░██ ██░░░░██ ░██ ██ ░██░██░░░░ ░██░██ ░██░██░░░░ ░██ ░██░██ ░██ ░██ ░░░░░██ ░██ ██░░░░██ ░██ ░██░░███████ ░███ ░░████████░░█████ ███░░██████ ████████ ░██ ░██░░██████ ███ ███░██ ███ ░██ ██████ ░░██ ░░████████ ███ ███░░░░░░░ ░░░ ░░░░░░░░ ░░░░░ ░░░ ░░░░░░ ░░░░░░░░ ░░ ░░ ░░░░░░ ░░░ ░░░ ░░ ░░░ ░░ ░░░░░░ ░░ ░░░░░░░░ ░░░ ░░░ 请选择安装模式 [单机(si)/单机ASM(sa)/集群(rac)] : rac数据库安装模式: rac 请选择数据库版本 [11/12/19/21] : 19数据库版本: 19 #==============================================================#
配置本地 YUM 源
#==============================================================# [openEuler]
name=openEuler
baseurl=file:mnt
enabled=1
gpgcheck=1
gpgkey=file:mnt/RPM-GPG-KEY-openEuler#==============================================================#
获取 ASM 磁盘 UUID && 格式化磁盘头
#==============================================================# 格式化 OCR 磁盘:/dev/sdb 1+0 records in
1+0 records out
1024 bytes (1.0 kB, 1.0 KiB) copied, 0.000149528 s, 6.8 MB/sOCR磁盘组的磁盘UUID: 2e87e4f535c397171 格式化 DATA 磁盘:/dev/sdc 1+0 records in
1+0 records out
1024 bytes (1.0 kB, 1.0 KiB) copied, 0.000148043 s, 6.9 MB/sDATA磁盘组的磁盘UUID: 2f218dae15b551c5d #==============================================================#
禁用防火墙
#==============================================================# 防火墙服务未启动,无需禁用。 #==============================================================#
禁用 SELinux
#==============================================================# SELinux status: disabled#==============================================================#
YUM 静默安装依赖包
#==============================================================# bc-1.07.1-12.oe2203sp3.x86_64
binutils-2.37-24.oe2203sp3.x86_64
package compat-libcap1 is not installed
gcc-10.3.1-49.oe2203sp3.x86_64
gcc-c++-10.3.1-49.oe2203sp3.x86_64
package elfutils-libelf is not installed
package elfutils-libelf-devel is not installed
glibc-2.34-143.oe2203sp3.x86_64
glibc-devel-2.34-143.oe2203sp3.x86_64
libaio-0.3.113-9.oe2203sp3.x86_64
libaio-devel-0.3.113-9.oe2203sp3.x86_64
libgcc-10.3.1-49.oe2203sp3.x86_64
libstdc++-10.3.1-49.oe2203sp3.x86_64
libstdc++-devel-10.3.1-49.oe2203sp3.x86_64
libxcb-1.15-1.oe2203sp3.x86_64
libX11-1.7.2-8.oe2203sp3.x86_64
libXau-1.0.10-1.oe2203sp3.x86_64
libXi-1.8-2.oe2203sp3.x86_64
libXrender-0.9.10-12.oe2203sp3.x86_64
make-4.3-4.oe2203sp3.x86_64
net-tools-2.10-3.oe2203sp3.x86_64
smartmontools-7.2-2.oe2203sp3.x86_64
sysstat-12.5.4-9.oe2203sp3.x86_64
e2fsprogs-1.46.4-24.oe2203sp3.x86_64
package e2fsprogs-libs is not installed
unzip-6.0-50.oe2203sp3.x86_64
openssh-clients-8.8p1-23.oe2203sp3.x86_64
readline-8.1-3.oe2203sp3.x86_64
readline-devel-8.1-3.oe2203sp3.x86_64
psmisc-23.5-2.oe2203sp3.x86_64
ksh-2020.0.0-10.oe2203sp3.x86_64
nfs-utils-2.5.4-15.oe2203sp3.x86_64
tar-1.34-5.oe2203sp3.x86_64
package device-mapper-multipath is not installed
avahi-0.8-18.oe2203sp3.x86_64
ntp-4.2.8p15-13.oe2203sp3.x86_64
chrony-4.1-6.oe2203sp3.x86_64
libXtst-1.2.4-1.oe2203sp3.x86_64
libXrender-devel-0.9.10-12.oe2203sp3.x86_64
fontconfig-devel-2.13.94-3.oe2203sp3.x86_64
policycoreutils-3.3-8.oe2203sp3.x86_64
package policycoreutils-python is not installed
package librdmacm is not installed
package libnsl* is not installed
package libibverbs is not installed
package compat-openssl10 is not installed
policycoreutils-python-utils-3.3-8.oe2203sp3.noarch
package elfutils* is not installed
glibc-2.34-143.oe2203sp3.x86_64#==============================================================#
配置主机名
#==============================================================# openEuler01#==============================================================#
配置 /etc/hosts 文件
#==============================================================# 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6## OracleBegin## RAC1 IP's: openEuler01## RAC1 Public IP
192.168.6.130 openEuler01
## RAC1 Virtual IP
192.168.6.132 openEuler01-vip
## RAC1 Private IP
1.1.1.1 openEuler01-priv## RAC2 IP's: openEuler02## RAC2 Public IP
192.168.6.131 openEuler02
## RAC2 Virtual IP
192.168.6.133 openEuler02-vip
## RAC2 Private IP
1.1.1.2 openEuler02-priv## SCAN IP
192.168.6.134 openEuler-scan#==============================================================#
创建用户和组
#==============================================================# oracle 用户: uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba),54327(asmdba),54328(asmoper),54329(asmadmin)grid 用户: uid=11012(grid) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba),54327(asmdba),54328(asmoper),54329(asmadmin)#==============================================================#
配置 Avahi-daemon 服务
#==============================================================# ○ avahi-daemon.service - Avahi mDNS/DNS-SD StackLoaded: loaded (/usr/lib/systemd/system/avahi-daemon.service; disabled; vendor preset: enabled)Active: inactive (dead)
TriggeredBy: ○ avahi-daemon.socket#==============================================================#
配置透明大页 && NUMA && 磁盘 IO 调度器
#==============================================================# args="ro resume=/dev/mapper/openeuler-swap rd.lvm.lv=openeuler/root rd.lvm.lv=openeuler/swap cgroup_disable=files apparmor=0 crashkernel=512M rhgb quiet numa=off transparent_hugepage=never elevator=deadline"
-resume=/dev/mapper/openeuler-swap
-args="ro
args="ro resume=/dev/mapper/openeuler-swap rd.lvm.lv=openeuler/root rd.lvm.lv=openeuler/swap cgroup_disable=files apparmor=0 crashkernel=512M rhgb quiet numa=off transparent_hugepage=never elevator=deadline"
-rhgb
-crashkernel=512M#==============================================================#
配置 sysctl.conf
#==============================================================# kernel.sysrq = 0
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.tcp_syncookies = 1
kernel.dmesg_restrict = 1
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 7795077119
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
vm.min_free_kbytes = 30449
net.ipv4.conf.ens33.rp_filter = 1
vm.swappiness = 10
kernel.panic_on_oops = 1
kernel.randomize_va_space = 2
kernel.numa_balancing = 0
net.ipv4.conf.ens37.rp_filter = 2#==============================================================#
配置 RemoveIPC
#==============================================================# [Login]
RemoveIPC=no#==============================================================#
配置 /etc/security/limits.conf 和 /etc/pam.d/login
#==============================================================# 查看 /etc/security/limits.conf: oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft nproc 2047
oracle hard nproc 16384
oracle hard memlock unlimited
oracle soft memlock unlimited
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
grid soft nproc 2047
grid hard nproc 16384查看 /etc/pam.d/login 文件: auth substack system-auth
auth include postlogin
account required pam_nologin.so
account include system-auth
password include system-auth
session required pam_selinux.so close
session required pam_loginuid.so
session required pam_selinux.so open
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session include system-auth
session include postlogin
-session optional pam_ck_connector.so
session required pam_limits.so
session required /lib64/security/pam_limits.so#==============================================================#
配置 /dev/shm
#==============================================================# /dev/mapper/openeuler-root / ext4 defaults 1 1
UUID=07e6a80f-f2f4-42f8-a1ad-df05bd354960 /boot ext4 defaults 1 2
/dev/mapper/openeuler-swap none swap defaults 0 0
tmpfs /dev/shm tmpfs size=7612384k 0 0#==============================================================#
Root 用户环境变量
#==============================================================# if [ -f ~/.bashrc ]; then. ~/.bashrc
fi
PATH=$PATH:$HOME/bin
export PATH
alias so='su - oracle'
export PS1="[`whoami`@`hostname`:"'$PWD]$ '
alias sg='su - grid'
alias crsctl='/u01/app/19.3.0/grid/bin/crsctl'
alias srvctl='/u01/app/19.3.0/grid/bin/srvctl'#==============================================================#
Oracle 用户环境变量
#==============================================================# [ -f ~/.bashrc ] && . ~/.bashrc
umask 022
export TMP=/tmp
export TMPDIR=$TMP
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/db
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=lucifer1
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/perl/bin:$PATH
export PERL5LIB=$ORACLE_HOME/perl/lib
alias sas='sqlplus / as sysdba'
alias awr='sqlplus / as sysdba @?/rdbms/admin/awrrpt'
alias ash='sqlplus / as sysdba @?/rdbms/admin/ashrpt'
alias alert='vi $ORACLE_BASE/diag/rdbms/*/$ORACLE_SID/trace/alert_$ORACLE_SID.log'
export PS1="[`whoami`@`hostname`:"'$PWD]$ '
export CV_ASSUME_DISTID=OL7
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias adrci='rlwrap adrci'#==============================================================#
Grid 用户环境变量
#==============================================================# [ -f ~/.bashrc ] && . ~/.bashrc
umask 022
export TMP=/tmp
export TMPDIR=$TMP
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19.3.0/grid
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=+ASM1
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
alias sas='sqlplus / as sysasm'
export PS1="[`whoami`@`hostname`:"'$PWD]$ '
export CV_ASSUME_DISTID=OL7
alias sqlplus='rlwrap sqlplus'
alias asmcmd='rlwrap asmcmd'
alias adrci='rlwrap adrci'#==============================================================#
配置 multipath 多路径
#==============================================================# 415.530920 | asm_ocr_1: addmap [0 20971520 multipath 0 0 1 1 service-time 0 1 1 8:16 1]
415.732452 | asm_data_1: addmap [0 104857600 multipath 0 0 1 1 service-time 0 1 1 8:32 1]
create: asm_ocr_1 (2e87e4f535c397171) undef ROCKET,IMAGEFILE
size=10G features='0' hwhandler='0' wp=undef
`-+- policy='service-time 0' prio=1 status=undef`- 3:0:0:0 sdb 8:16 undef ready running
create: asm_data_1 (2f218dae15b551c5d) undef ROCKET,IMAGEFILE
size=50G features='0' hwhandler='0' wp=undef
`-+- policy='service-time 0' prio=1 status=undef`- 3:0:0:1 sdc 8:32 undef ready running#==============================================================#
配置 UDEV 绑盘
#==============================================================# KERNEL=="dm-*",ENV{DM_UUID}=="mpath-2e87e4f535c397171",SYMLINK+="asm_ocr_1",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-2f218dae15b551c5d",SYMLINK+="asm_data_1",OWNER="grid",GROUP="asmadmin",MODE="0660"/dev/asm_data_1
/dev/asm_ocr_1UDEV 配置完成! #==============================================================#
配置 RAC 节点:192.168.6.131
#==============================================================# 正在节点:192.168.6.131 上执行脚本: ███████ ██ ████████ ██ ██ ██ ██ ██ ██ ████░░░░░██ ░██ ██░░░░░░ ░██ ░██ ░██░██ ░██ ░██ ░████ ░░██ ██████ ██████ █████ ░██ █████ ░██ ░██ █████ ░██ ░██░██ ███████ ██████ ██████ ██████ ░██ ░██
░██ ░██░░██░░█ ░░░░░░██ ██░░░██ ░██ ██░░░██░█████████░██████ ██░░░██ ░██ ░██░██░░██░░░██ ██░░░░ ░░░██░ ░░░░░░██ ░██ ░██
░██ ░██ ░██ ░ ███████ ░██ ░░ ░██░███████░░░░░░░░██░██░░░██░███████ ░██ ░██░██ ░██ ░██░░█████ ░██ ███████ ░██ ░██
░░██ ██ ░██ ██░░░░██ ░██ ██ ░██░██░░░░ ░██░██ ░██░██░░░░ ░██ ░██░██ ░██ ░██ ░░░░░██ ░██ ██░░░░██ ░██ ░██░░███████ ░███ ░░████████░░█████ ███░░██████ ████████ ░██ ░██░░██████ ███ ███░██ ███ ░██ ██████ ░░██ ░░████████ ███ ███░░░░░░░ ░░░ ░░░░░░░░ ░░░░░ ░░░ ░░░░░░ ░░░░░░░░ ░░ ░░ ░░░░░░ ░░░ ░░░ ░░ ░░░ ░░ ░░░░░░ ░░ ░░░░░░░░ ░░░ ░░░ #==============================================================#
配置本地 YUM 源
#==============================================================# [openEuler]
name=openEuler
baseurl=file:mnt
enabled=1
gpgcheck=1
gpgkey=file:mnt/RPM-GPG-KEY-openEuler#==============================================================#
禁用防火墙
#==============================================================# 防火墙服务未启动,无需禁用。 #==============================================================#
禁用 SELinux
#==============================================================# SELinux status: disabled#==============================================================#
YUM 静默安装依赖包
#==============================================================# bc-1.07.1-12.oe2203sp3.x86_64
binutils-2.37-24.oe2203sp3.x86_64
package compat-libcap1 is not installed
gcc-10.3.1-49.oe2203sp3.x86_64
gcc-c++-10.3.1-49.oe2203sp3.x86_64
package elfutils-libelf is not installed
package elfutils-libelf-devel is not installed
glibc-2.34-143.oe2203sp3.x86_64
glibc-devel-2.34-143.oe2203sp3.x86_64
libaio-0.3.113-9.oe2203sp3.x86_64
libaio-devel-0.3.113-9.oe2203sp3.x86_64
libgcc-10.3.1-49.oe2203sp3.x86_64
libstdc++-10.3.1-49.oe2203sp3.x86_64
libstdc++-devel-10.3.1-49.oe2203sp3.x86_64
libxcb-1.15-1.oe2203sp3.x86_64
libX11-1.7.2-8.oe2203sp3.x86_64
libXau-1.0.10-1.oe2203sp3.x86_64
libXi-1.8-2.oe2203sp3.x86_64
libXrender-0.9.10-12.oe2203sp3.x86_64
make-4.3-4.oe2203sp3.x86_64
net-tools-2.10-3.oe2203sp3.x86_64
smartmontools-7.2-2.oe2203sp3.x86_64
sysstat-12.5.4-9.oe2203sp3.x86_64
e2fsprogs-1.46.4-24.oe2203sp3.x86_64
package e2fsprogs-libs is not installed
unzip-6.0-50.oe2203sp3.x86_64
openssh-clients-8.8p1-23.oe2203sp3.x86_64
readline-8.1-3.oe2203sp3.x86_64
readline-devel-8.1-3.oe2203sp3.x86_64
psmisc-23.5-2.oe2203sp3.x86_64
ksh-2020.0.0-10.oe2203sp3.x86_64
nfs-utils-2.5.4-15.oe2203sp3.x86_64
tar-1.34-5.oe2203sp3.x86_64
package device-mapper-multipath is not installed
avahi-0.8-18.oe2203sp3.x86_64
ntp-4.2.8p15-13.oe2203sp3.x86_64
chrony-4.1-6.oe2203sp3.x86_64
libXtst-1.2.4-1.oe2203sp3.x86_64
libXrender-devel-0.9.10-12.oe2203sp3.x86_64
fontconfig-devel-2.13.94-3.oe2203sp3.x86_64
policycoreutils-3.3-8.oe2203sp3.x86_64
package policycoreutils-python is not installed
package librdmacm is not installed
package libnsl* is not installed
package libibverbs is not installed
package compat-openssl10 is not installed
policycoreutils-python-utils-3.3-8.oe2203sp3.noarch
package elfutils* is not installed
glibc-2.34-143.oe2203sp3.x86_64#==============================================================#
配置主机名
#==============================================================# openEuler02#==============================================================#
配置 /etc/hosts 文件
#==============================================================# 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6## OracleBegin## RAC1 IP's: openEuler01## RAC1 Public IP
192.168.6.130 openEuler01
## RAC1 Virtual IP
192.168.6.132 openEuler01-vip
## RAC1 Private IP
1.1.1.1 openEuler01-priv## RAC2 IP's: openEuler02## RAC2 Public IP
192.168.6.131 openEuler02
## RAC2 Virtual IP
192.168.6.133 openEuler02-vip
## RAC2 Private IP
1.1.1.2 openEuler02-priv## SCAN IP
192.168.6.134 openEuler-scan#==============================================================#
创建用户和组
#==============================================================# oracle 用户: uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba),54327(asmdba),54328(asmoper),54329(asmadmin)grid 用户: uid=11012(grid) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba),54327(asmdba),54328(asmoper),54329(asmadmin)#==============================================================#
配置 Avahi-daemon 服务
#==============================================================# ○ avahi-daemon.service - Avahi mDNS/DNS-SD StackLoaded: loaded (/usr/lib/systemd/system/avahi-daemon.service; disabled; vendor preset: enabled)Active: inactive (dead)
TriggeredBy: ○ avahi-daemon.socket#==============================================================#
配置透明大页 && NUMA && 磁盘 IO 调度器
#==============================================================# args="ro resume=/dev/mapper/openeuler-swap rd.lvm.lv=openeuler/root rd.lvm.lv=openeuler/swap cgroup_disable=files apparmor=0 crashkernel=512M rhgb quiet numa=off transparent_hugepage=never elevator=deadline"
-resume=/dev/mapper/openeuler-swap
-args="ro
args="ro resume=/dev/mapper/openeuler-swap rd.lvm.lv=openeuler/root rd.lvm.lv=openeuler/swap cgroup_disable=files apparmor=0 crashkernel=512M rhgb quiet numa=off transparent_hugepage=never elevator=deadline"
-rhgb
-crashkernel=512M#==============================================================#
配置 sysctl.conf
#==============================================================# kernel.sysrq = 0
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.tcp_syncookies = 1
kernel.dmesg_restrict = 1
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 7795097599
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
vm.min_free_kbytes = 30449
net.ipv4.conf.ens33.rp_filter = 1
vm.swappiness = 10
kernel.panic_on_oops = 1
kernel.randomize_va_space = 2
kernel.numa_balancing = 0
net.ipv4.conf.ens37.rp_filter = 2#==============================================================#
配置 RemoveIPC
#==============================================================# [Login]
RemoveIPC=no#==============================================================#
配置 /etc/security/limits.conf 和 /etc/pam.d/login
#==============================================================# 查看 /etc/security/limits.conf: oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft nproc 2047
oracle hard nproc 16384
oracle hard memlock unlimited
oracle soft memlock unlimited
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
grid soft nproc 2047
grid hard nproc 16384查看 /etc/pam.d/login 文件: auth substack system-auth
auth include postlogin
account required pam_nologin.so
account include system-auth
password include system-auth
session required pam_selinux.so close
session required pam_loginuid.so
session required pam_selinux.so open
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session include system-auth
session include postlogin
-session optional pam_ck_connector.so
session required pam_limits.so
session required /lib64/security/pam_limits.so#==============================================================#
配置 /dev/shm
#==============================================================# /dev/mapper/openeuler-root / ext4 defaults 1 1
UUID=3b8b94fa-6595-453b-938d-16b973646ae1 /boot ext4 defaults 1 2
/dev/mapper/openeuler-swap none swap defaults 0 0
tmpfs /dev/shm tmpfs size=7612400k 0 0#==============================================================#
Root 用户环境变量
#==============================================================# if [ -f ~/.bashrc ]; then. ~/.bashrc
fi
PATH=$PATH:$HOME/bin
export PATH
alias so='su - oracle'
export PS1="[`whoami`@`hostname`:"'$PWD]$ '
alias sg='su - grid'
alias crsctl='/u01/app/19.3.0/grid/bin/crsctl'
alias srvctl='/u01/app/19.3.0/grid/bin/srvctl'#==============================================================#
Oracle 用户环境变量
#==============================================================# [ -f ~/.bashrc ] && . ~/.bashrc
umask 022
export TMP=/tmp
export TMPDIR=$TMP
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/db
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=lucifer2
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/perl/bin:$PATH
export PERL5LIB=$ORACLE_HOME/perl/lib
alias sas='sqlplus / as sysdba'
alias awr='sqlplus / as sysdba @?/rdbms/admin/awrrpt'
alias ash='sqlplus / as sysdba @?/rdbms/admin/ashrpt'
alias alert='vi $ORACLE_BASE/diag/rdbms/*/$ORACLE_SID/trace/alert_$ORACLE_SID.log'
export PS1="[`whoami`@`hostname`:"'$PWD]$ '
export CV_ASSUME_DISTID=OL7
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias adrci='rlwrap adrci'#==============================================================#
Grid 用户环境变量
#==============================================================# [ -f ~/.bashrc ] && . ~/.bashrc
umask 022
export TMP=/tmp
export TMPDIR=$TMP
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19.3.0/grid
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=+ASM2
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
alias sas='sqlplus / as sysasm'
export PS1="[`whoami`@`hostname`:"'$PWD]$ '
export CV_ASSUME_DISTID=OL7
alias sqlplus='rlwrap sqlplus'
alias asmcmd='rlwrap asmcmd'
alias adrci='rlwrap adrci'#==============================================================#
配置 multipath 多路径
#==============================================================# 438.420337 | asm_ocr_1: addmap [0 20971520 multipath 0 0 1 1 service-time 0 1 1 8:16 1]
438.549864 | asm_data_1: addmap [0 104857600 multipath 0 0 1 1 service-time 0 1 1 8:32 1]
create: asm_ocr_1 (2e87e4f535c397171) undef ROCKET,IMAGEFILE
size=10G features='0' hwhandler='0' wp=undef
`-+- policy='service-time 0' prio=1 status=undef`- 3:0:0:0 sdb 8:16 undef ready running
create: asm_data_1 (2f218dae15b551c5d) undef ROCKET,IMAGEFILE
size=50G features='0' hwhandler='0' wp=undef
`-+- policy='service-time 0' prio=1 status=undef`- 3:0:0:1 sdc 8:32 undef ready running#==============================================================#
配置 UDEV 绑盘
#==============================================================# KERNEL=="dm-*",ENV{DM_UUID}=="mpath-2e87e4f535c397171",SYMLINK+="asm_ocr_1",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-2f218dae15b551c5d",SYMLINK+="asm_data_1",OWNER="grid",GROUP="asmadmin",MODE="0660"/dev/asm_data_1
/dev/asm_ocr_1UDEV 配置完成! 配置 RAC 节点:192.168.6.131 结束! #==============================================================#
静默解压缩 Grid 软件包
#==============================================================# 正在静默解压缩 Grid 软件包,请稍等: .---- -. -. . . . .
( .',----- - - ' ' ' __\_/ ;--:- __--------------------___ ____=========_||___
__U__n_^_''__[. ooo___ | |_!_||_!_||_!_||_!_| | |..|_i_|..|_i_|..|
c(_ ..(_ ..(_ ..( /,,,,,,] | |___||___||___||___| | | |
,_\___________'_|,L______],|______________________|_i,!________________!_i
/;_(@)(@)==(@)(@) (o)(o) (o)^(o)--(o)^(o) (o)(o)-(o)(o)
""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"'""静默解压 Grid 软件安装包: /soft/LINUX.X64_193000_grid_home.zip 静默解压 OPatch 软件补丁包: /soft/p6880880_*.zip #==============================================================#
静默解压 Oracle 软件包
#==============================================================# 正在静默解压缩 Oracle 软件包,请稍等: .---- -. -. . . . .
( .',----- - - ' ' ' __\_/ ;--:- __--------------------___ ____=========_||___
__U__n_^_''__[. ooo___ | |_!_||_!_||_!_||_!_| | |..|_i_|..|_i_|..|
c(_ ..(_ ..(_ ..( /,,,,,,] | |___||___||___||___| | | |
,_\___________'_|,L______],|______________________|_i,!________________!_i
/;_(@)(@)==(@)(@) (o)(o) (o)^(o)--(o)^(o) (o)(o)-(o)(o)
""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"""~"'""静默解压 Oracle 软件安装包: /soft/LINUX.X64_193000_db_home.zip 静默解压 OPatch 软件补丁包: /soft/p6880880_*.zip 静默解压 OJVM 软件补丁包: /soft/p35926646*.zip #==============================================================#
Grid 安装静默文件
#==============================================================# INVENTORY_LOCATION=/u01/app/oraInventory
oracle.install.option=CRS_CONFIG
ORACLE_BASE=/u01/app/grid
oracle.install.asm.OSDBA=asmdba
oracle.install.asm.OSOPER=asmoper
oracle.install.asm.OSASM=asmadmin
oracle.install.crs.config.gpnp.scanName=openEuler-scan
oracle.install.crs.config.gpnp.scanPort=1521
oracle.install.crs.config.clusterName=openEuler-cls
oracle.install.crs.config.gpnp.configureGNS=false
oracle.install.crs.config.clusterNodes=openEuler01:openEuler01-vip,openEuler02:openEuler02-vip
oracle.install.crs.config.networkInterfaceList=ens33:192.168.6.0:1,ens37:1.1.1.0:5
oracle.install.crs.config.useIPMI=false
oracle.install.asm.SYSASMPassword=oracle
oracle.install.asm.diskGroup.name=OCR
oracle.install.asm.diskGroup.redundancy=EXTERNAL
oracle.install.asm.diskGroup.disks=/dev/asm_ocr_1
oracle.install.asm.diskGroup.diskDiscoveryString=/dev/asm*
oracle.install.asm.monitorPassword=oracle
oracle.install.crs.config.ClusterConfiguration=STANDALONE
oracle.install.crs.config.configureAsExtendedCluster=false
oracle.install.crs.configureGIMR=false
oracle.install.asm.storageOption=ASM
oracle.install.asm.diskGroup.AUSize=4
oracle.install.asm.configureAFD=false
oracle.install.crs.config.ignoreDownNodes=false
oracle.install.config.managementOption=NONE
oracle.install.crs.rootconfig.executeRootScript=false
oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v19.0.0
oracle.install.crs.config.scanType=LOCAL_SCAN#==============================================================#
静默安装 Grid 软件
#==============================================================# Preparing the home to patch...
Applying the patch /soft/35940989...
Successfully applied the patch.
The log can be found at: /tmp/GridSetupActions2024-03-21_10-31-09AM/installerPatchActions_2024-03-21_10-31-09AM.log
Launching Oracle Grid Infrastructure Setup Wizard...[WARNING] [INS-30011] The SYS password entered does not conform to the Oracle recommended standards.CAUSE: Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].ACTION: Provide a password that conforms to the Oracle recommended standards.
[WARNING] [INS-30011] The ASMSNMP password entered does not conform to the Oracle recommended standards.CAUSE: Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].ACTION: Provide a password that conforms to the Oracle recommended standards.
The response file for this session can be found at:/u01/app/19.3.0/grid/install/response/grid_2024-03-21_10-31-09AM.rspYou can find the log of this install session at:/tmp/GridSetupActions2024-03-21_10-31-09AM/gridSetupActions2024-03-21_10-31-09AM.logAs a root user, execute the following script(s):1. /u01/app/oraInventory/orainstRoot.sh2. /u01/app/19.3.0/grid/root.shExecute /u01/app/oraInventory/orainstRoot.sh on the following nodes:
[openEuler01, openEuler02]
Execute /u01/app/19.3.0/grid/root.sh on the following nodes:
[openEuler01, openEuler02]Run the script on the local node first. After successful completion, you can start the script in parallel on all other nodes.Successfully Setup Software.
As install user, execute the following command to complete the configuration./u01/app/19.3.0/grid/gridSetup.sh -executeConfigTools -responseFile /soft/grid.rsp [-silent]Moved the install session logs to:/u01/app/oraInventory/logs/GridSetupActions2024-03-21_10-31-09AM#==============================================================#
执行 root 脚本
#==============================================================# 节点 192.168.6.130 : 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.
Check /u01/app/19.3.0/grid/install/root_openEuler01_2024-03-21_11-00-24-542542904.log for the output of root script节点 192.168.6.131 : 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.
Check /u01/app/19.3.0/grid/install/root_openEuler02_2024-03-21_11-09-02-281159664.log for the output of root script#==============================================================#
Grid 软件版本
#==============================================================# SQL*Plus: Release 19.0.0.0.0 - Production
Version 19.22.0.0.0#==============================================================#
Grid 补丁信息
#==============================================================# 36115038;TOMCAT RELEASE UPDATE 19.0.0.0.0 (36115038)
35967489;OCW RELEASE UPDATE 19.22.0.0.0 (35967489)
35956421;ACFS RELEASE UPDATE 19.22.0.0.0 (35956421)
35943157;Database Release Update : 19.22.0.0.240116 (35943157)
33575402;DBWLM RELEASE UPDATE 19.0.0.0.0 (33575402)OPatch succeeded.#==============================================================#
ASM 磁盘组创建
#==============================================================# State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 512 4096 1048576 51200 51092 0 51092 0 N DATA/
MOUNTED EXTERN N 512 512 4096 4194304 10240 9900 0 9900 0 Y OCR/#==============================================================#
Oracle 安装静默文件
#==============================================================# oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
oracle.install.db.CLUSTER_NODES=openEuler01,openEuler02
oracle.install.db.OSBACKUPDBA_GROUP=backupdba
oracle.install.db.OSDGDBA_GROUP=dgdba
oracle.install.db.OSKMDBA_GROUP=kmdba
oracle.install.db.OSRACDBA_GROUP=racdba
oracle.install.db.rootconfig.executeRootScript=false
oracle.install.db.rootconfig.configMethod=
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0#==============================================================#
静默安装数据库软件
#==============================================================# Preparing the home to patch...
Applying the patch /soft/35940989...
Successfully applied the patch.
The log can be found at: /u01/app/oraInventory/logs/InstallActions2024-03-21_11-16-04AM/installerPatchActions_2024-03-21_11-16-04AM.log
Launching Oracle Database Setup Wizard...[WARNING] [INS-13013] Target environment does not meet some mandatory requirements.CAUSE: Some of the mandatory prerequisites are not met. See logs for details. /u01/app/oraInventory/logs/InstallActions2024-03-21_11-16-04AM/installActions2024-03-21_11-16-04AM.logACTION: Identify the list of failed prerequisite checks from the log: /u01/app/oraInventory/logs/InstallActions2024-03-21_11-16-04AM/installActions2024-03-21_11-16-04AM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
The response file for this session can be found at:/u01/app/oracle/product/19.3.0/db/install/response/db_2024-03-21_11-16-04AM.rspYou can find the log of this install session at:/u01/app/oraInventory/logs/InstallActions2024-03-21_11-16-04AM/installActions2024-03-21_11-16-04AM.logAs a root user, execute the following script(s):1. /u01/app/oracle/product/19.3.0/db/root.shExecute /u01/app/oracle/product/19.3.0/db/root.sh on the following nodes:
[openEuler01, openEuler02]Successfully Setup Software with warning(s).#==============================================================#
执行 root 脚本
#==============================================================# 节点 192.168.6.130 : 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.
Check /u01/app/oracle/product/19.3.0/db/install/root_openEuler01_2024-03-21_11-56-19-366497121.log for the output of root script节点 192.168.6.131 : 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.
Check /u01/app/oracle/product/19.3.0/db/install/root_openEuler02_2024-03-21_11-56-20-424984369.log for the output of root script#==============================================================#
OJVM 补丁安装
#==============================================================# 节点 192.168.6.130 : Oracle Interim Patch Installer version 12.2.0.1.40
Copyright (c) 2024, Oracle Corporation. All rights reserved.PREREQ sessionOracle Home : /u01/app/oracle/product/19.3.0/db
Central Inventory : /u01/app/oraInventoryfrom : /u01/app/oracle/product/19.3.0/db/oraInst.loc
OPatch version : 12.2.0.1.40
OUI version : 12.2.0.7.0
Log file location : /u01/app/oracle/product/19.3.0/db/cfgtoollogs/opatch/opatch2024-03-21_11-56-22AM_1.logInvoking prereq "checkconflictagainstohwithdetail"Prereq "checkConflictAgainstOHWithDetail" passed.OPatch succeeded.
Oracle Interim Patch Installer version 12.2.0.1.40
Copyright (c) 2024, Oracle Corporation. All rights reserved.Oracle Home : /u01/app/oracle/product/19.3.0/db
Central Inventory : /u01/app/oraInventoryfrom : /u01/app/oracle/product/19.3.0/db/oraInst.loc
OPatch version : 12.2.0.1.40
OUI version : 12.2.0.7.0
Log file location : /u01/app/oracle/product/19.3.0/db/cfgtoollogs/opatch/opatch2024-03-21_11-56-40AM_1.logVerifying environment and performing prerequisite checks...
OPatch continues with these patches: 35926646 Do you want to proceed? [y|n]
Y (auto-answered by -silent)
User Responded with: Y
All checks passed.Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/u01/app/oracle/product/19.3.0/db')Is the local system ready for patching? [y|n]
Y (auto-answered by -silent)
User Responded with: Y
Backing up files...
Applying interim patch '35926646' to OH '/u01/app/oracle/product/19.3.0/db'Patching component oracle.javavm.server, 19.0.0.0.0...Patching component oracle.javavm.server.core, 19.0.0.0.0...Patching component oracle.rdbms.dbscripts, 19.0.0.0.0...Patching component oracle.rdbms, 19.0.0.0.0...Patching component oracle.javavm.client, 19.0.0.0.0...
Patch 35926646 successfully applied.
Log file location: /u01/app/oracle/product/19.3.0/db/cfgtoollogs/opatch/opatch2024-03-21_11-56-40AM_1.logOPatch succeeded.节点 192.168.6.131 : Oracle Interim Patch Installer version 12.2.0.1.40
Copyright (c) 2024, Oracle Corporation. All rights reserved.PREREQ sessionOracle Home : /u01/app/oracle/product/19.3.0/db
Central Inventory : /u01/app/oraInventoryfrom : /u01/app/oracle/product/19.3.0/db/oraInst.loc
OPatch version : 12.2.0.1.40
OUI version : 12.2.0.7.0
Log file location : /u01/app/oracle/product/19.3.0/db/cfgtoollogs/opatch/opatch2024-03-21_11-59-15AM_1.logInvoking prereq "checkconflictagainstohwithdetail"Prereq "checkConflictAgainstOHWithDetail" passed.OPatch succeeded.
Oracle Interim Patch Installer version 12.2.0.1.40
Copyright (c) 2024, Oracle Corporation. All rights reserved.Oracle Home : /u01/app/oracle/product/19.3.0/db
Central Inventory : /u01/app/oraInventoryfrom : /u01/app/oracle/product/19.3.0/db/oraInst.loc
OPatch version : 12.2.0.1.40
OUI version : 12.2.0.7.0
Log file location : /u01/app/oracle/product/19.3.0/db/cfgtoollogs/opatch/opatch2024-03-21_11-59-33AM_1.logVerifying environment and performing prerequisite checks...
OPatch continues with these patches: 35926646 Do you want to proceed? [y|n]
Y (auto-answered by -silent)
User Responded with: Y
All checks passed.Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/u01/app/oracle/product/19.3.0/db')Is the local system ready for patching? [y|n]
Y (auto-answered by -silent)
User Responded with: Y
Backing up files...
Applying interim patch '35926646' to OH '/u01/app/oracle/product/19.3.0/db'Patching component oracle.javavm.server, 19.0.0.0.0...Patching component oracle.javavm.server.core, 19.0.0.0.0...Patching component oracle.rdbms.dbscripts, 19.0.0.0.0...Patching component oracle.rdbms, 19.0.0.0.0...Patching component oracle.javavm.client, 19.0.0.0.0...
Patch 35926646 successfully applied.
Log file location: /u01/app/oracle/product/19.3.0/db/cfgtoollogs/opatch/opatch2024-03-21_11-59-33AM_1.logOPatch succeeded.#==============================================================#
Oracle 软件版本
#==============================================================# SQL*Plus: Release 19.0.0.0.0 - Production
Version 19.22.0.0.0#==============================================================#
Oracle 补丁信息
#==============================================================# 35926646;OJVM RELEASE UPDATE: 19.22.0.0.240116 (35926646)
35967489;OCW RELEASE UPDATE 19.22.0.0.0 (35967489)
35943157;Database Release Update : 19.22.0.0.240116 (35943157)OPatch succeeded.#==============================================================#
静默建库命令
#==============================================================# dbca -silent -createDatabase \
-ignorePrereqFailure \
-templateName General_Purpose.dbc \
-responseFile NO_VALUE \
-gdbName lucifer \
-sid lucifer \
-sysPassword oracle \
-systemPassword oracle \
-redoLogFileSize 100 \
-diskGroupName +DATA \
-storageType ASM -enableArchive true \
-archiveLogDest +DATA \
-databaseConfigType RAC \
-nodeinfo openEuler01,openEuler02 \
-characterset AL32UTF8 \
-nationalCharacterSet AL16UTF16 \
-emConfiguration NONE \
-automaticMemoryManagement false \
-totalMemory 3716 \
-databaseType OLTP \
-createAsContainerDatabase false #==============================================================#
创建数据库
#==============================================================# [WARNING] [DBT-06208] The 'SYS' password entered does not conform to the Oracle recommended standards.CAUSE:
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
b.The password entered is a keyword that Oracle does not recommend to be used as passwordACTION: Specify a strong password. If required refer Oracle documentation for guidelines.
[WARNING] [DBT-06208] The 'SYSTEM' password entered does not conform to the Oracle recommended standards.CAUSE:
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
b.The password entered is a keyword that Oracle does not recommend to be used as passwordACTION: Specify a strong password. If required refer Oracle documentation for guidelines.
Prepare for db operation
8% complete
Copying database files
33% complete
Creating and starting Oracle instance
34% complete
35% complete
39% complete
42% complete
45% complete
50% complete
Creating cluster database views
52% complete
67% complete
Completing Database Creation
71% complete
73% complete
75% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:/u01/app/oracle/cfgtoollogs/dbca/lucifer.
Database Information:
Global Database Name:lucifer
System Identifier(SID) Prefix:lucifer
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/lucifer/lucifer.log" for further details.#==============================================================#
配置 OMF && 优化 RMAN
#==============================================================# Recovery Manager: Release 19.0.0.0.0 - Production on Thu Mar 21 12:34:23 2024
Version 19.22.0.0.0Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.connected to target database: LUCIFER (DBID=4020080529)RMAN>
using target database control file instead of recovery catalog
new RMAN configuration parameters:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+DATA/snapcf_fdcdb1.f';
new RMAN configuration parameters are successfully storedRMAN> Recovery Manager complete.#==============================================================#
配置控制文件复用
#==============================================================# Recovery Manager: Release 19.0.0.0.0 - Production on Thu Mar 21 12:36:21 2024
Version 19.22.0.0.0Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.connected to target database: LUCIFER (not mounted)RMAN>
Starting restore at 21-MAR-24
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=133 instance=lucifer1 device type=DISKchannel ORA_DISK_1: copied control file copy
Finished restore at 21-MAR-24Recovery Manager complete.数据库控制文件: NAME
----------------------------------------------------------------------------------------------------
+DATA/LUCIFER/CONTROLFILE/current.261.1164197265
+DATA/LUCIFER/CONTROLFILE/control02.ctl#==============================================================#
配置在线重做日志
#==============================================================# 数据库在线重做日志文件: THREAD# GROUP# MEMBER size(M)
---------- ---------- ------------------------------------------------------------------------------------------------------------------------ ----------1 1 +DATA/LUCIFER/ONLINELOG/group_1.262.1164197267 1001 2 +DATA/LUCIFER/ONLINELOG/group_2.263.1164197267 1001 11 +DATA/LUCIFER/ONLINELOG/group_11.274.1164199055 1001 12 +DATA/LUCIFER/ONLINELOG/group_12.275.1164199057 1001 13 +DATA/LUCIFER/ONLINELOG/group_13.276.1164199059 1001 14 +DATA/LUCIFER/ONLINELOG/group_14.277.1164199061 1001 15 +DATA/LUCIFER/ONLINELOG/group_15.278.1164199065 1002 3 +DATA/LUCIFER/ONLINELOG/group_3.266.1164198731 1002 4 +DATA/LUCIFER/ONLINELOG/group_4.267.1164198733 1002 21 +DATA/LUCIFER/ONLINELOG/group_21.279.1164199067 1002 22 +DATA/LUCIFER/ONLINELOG/group_22.280.1164199069 1002 23 +DATA/LUCIFER/ONLINELOG/group_23.281.1164199071 1002 24 +DATA/LUCIFER/ONLINELOG/group_24.282.1164199077 1002 25 +DATA/LUCIFER/ONLINELOG/group_25.283.1164199079 100#==============================================================#
配置 RMAN 备份任务
#==============================================================# ## OracleBegin
00 02 * * * /home/oracle/scripts/del_arch.sh
#00 00 * * 0 /home/oracle/scripts/dbbackup_lv0.sh
#00 00 * * 1,2,3,4,5,6 /home/oracle/scripts/dbbackup_lv1.sh#==============================================================#
配置 glogin.sql
#==============================================================# define _editor=vi
set serveroutput on size 1000000
set pagesize 9999
set long 99999
set trimspool on
col name format a80
set termout off
define gname=idle
column global_name new_value gname
select lower(user) || '@' || substr( global_name, 1, decode( dot, 0, length(global_name), dot-1) ) global_name from (select global_name, instr(global_name,'.') dot from global_name );
ALTER SESSION SET nls_date_format = 'YYYY-MM-DD HH24:MI:SS';
set sqlprompt '&gname _DATE> '
set termout on#==============================================================#
优化数据库参数
#==============================================================# 数据库参数: NAME SID SPVALUE VALUE
-------------------------------------------------- ---------- -------------------------------------------------------------------------------- --------------------------------------------------------------------------------
_b_tree_bitmap_plans * FALSE FALSE
_datafile_write_errors_crash_instance * FALSE FALSE
audit_file_dest * /u01/app/oracle/admin/lucifer/adump /u01/app/oracle/admin/lucifer/adump
audit_trail * NONE DB
cluster_database * true TRUE
compatible * 19.0.0 19.0.0
control_file_record_keep_time * 31 31
db_block_size * 8192 8192
db_create_file_dest * +DATA +DATA
db_file_multiblock_read_count * 128
db_files * 5000 200
db_name * lucifer lucifer
db_writer_processes * 1
deferred_segment_creation * FALSE FALSE
diagnostic_dest * /u01/app/oracle /u01/app/oracle
dispatchers * (PROTOCOL=TCP) (SERVICE=luciferXDB) (PROTOCOL=TCP) (SERVICE=luciferXDB)
event * 10949 trace name context forever,level 1
event * 28401 trace name context forever,level 1
fast_start_parallel_rollback * LOW
instance_mode * read-only READ-WRITE
log_archive_dest_1 * location=+DATA location=+DATA
log_archive_format * %t_%s_%r.dbf %t_%s_%r.dbf
max_dump_file_size * unlimited
max_string_size * STANDARD
nls_language * AMERICAN AMERICAN
nls_territory * AMERICA AMERICA
open_cursors * 1000 300
optimizer_adaptive_plans * TRUE
optimizer_adaptive_statistics * FALSE
optimizer_index_caching * 0
optimizer_mode * ALL_ROWS
parallel_force_local * TRUE FALSE
parallel_max_servers * 64 64
pga_aggregate_target * 1246756864 780140544
processes * 2000 640
remote_login_passwordfile * exclusive EXCLUSIVE
session_cached_cursors * 300 50
sessions * 984
sga_max_size * 4988076032 3120562176
sga_target * 4988076032 3120562176
spfile * +DATA/LUCIFER/PARAMETERFILE/spfile.269.1164198737
statistics_level * TYPICAL
undo_retention * 10800 900恭喜!Oracle RAC 安装成功,现在是否重启主机:[Y/N] N
相关文章:

openEuler 22.03(华为欧拉)一键安装 Oracle 19C RAC(19.22) 数据库
前言 Oracle 一键安装脚本,演示 openEuler 22.03 一键安装 Oracle 19C RAC 过程(全程无需人工干预):(脚本包括 ORALCE PSU/OJVM 等补丁自动安装) ⭐️ 脚本下载地址:Shell脚本安装Oracle数据库…...
蓝桥杯刷题记录之数字王国之军训排队
记录 卡了半天,check函数中的temp % ele 0写成了ele % temp 0就挺无语的 思路 这个晚上在补 代码 import java.util.*; public class Main{static List<List<Integer>> que new ArrayList<>();static int MIN Integer.MAX_VALUE;static i…...

Go语言学习Day1:什么是Go?
名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 1、走近Go①Go语言的Logo②Go语言的创始人③Go语…...

C语言内存函数之 memcmp函数
memcmp函数的记忆:mem表示内存,单位是字节,表示以单位字节来进行操作;头文件是string.h,cmp是compare的缩写,表示比较。总的意思就是在规定的内存下以字节为单位一个字节一个字节的进行比较。 memcmp函数的…...
3. C++ 常见的段错误及对策
常见的 C/C 段错误及对策 一、指针没有指向一块合法的内存 定义了指针变量,但是没有为指针分配内存,即指针没有指向一块合法的内存。这里举几个比较隐蔽的例子。 结构体成员指针未初始化;没有为结构体指针分配足够的内存;函数的…...
推荐的Kubernetes 学习资料
官方文档: Kubernetes 官方文档:https://kubernetes.io/docs/Kubernetes 教程:https://kubernetes.io/docs/tutorials/ 书籍: Kubernetes in Action,Marko Luksa 著Kubernetes Up and Running,Kelsey Hi…...

MySQL之索引与事务
一 索引的概念 一种帮助系统查找信息的数据 数据库索引 是一个排序的列表,存储着索引值和这个值所对应的物理地址无须对整个表进行扫描,通过物理地 址就可以找到所需数据是表中一列或者若干列值排序的方法 需要额外的磁盘空间 索引的作用 1 数据库…...

Linux的基本使用
1.Linux的背景 1.1什么Linux Linux是⼀个操作系统.和Windows是"并列"的关系. 1.2Linux系统的优势 1. 开源(意味着免费,便宜) 2. 稳定(Linux可以运⾏很多年,都不会发⽣重⼤问题) 3. 安全(Linux只有管理员或者特定⽤⼾才能访问Linux内核) 4. ⾃由(不会被强加商业产品和…...
亚信安慧AntDB全景观察:数据库领域的创新者
随着大数据时代的到来,对数据库的需求愈发强烈。在这一背景下,国产数据库逐渐崭露头角,亚信安慧AntDB作为重要的代表产品之一正积极参与到激烈的市场竞争中。亚信安慧AntDB不仅追求技术的革新和突破,同时也致力于满足用户日益增长…...

Linux 系统是如何收发⽹络包的
Linux 系统是如何收发⽹络包的? ⽹络模型 为了使得多种设备能通过⽹络相互通信,和为了解决各种不同设备在⽹络互联中的兼容性问题,国际标准化组织制定了开放式系统互联通信参考模型(Open System Interconnection Reference Mode…...

飞跃前端瓶颈:技术进阶指南精华篇
引言: 在互联网的快车道上,前端技术日新月异。对于前端工程师而言,技术水平达到一定高度后,往往会遭遇成长的天花板。本文将探讨如何识别并突破这些技术瓶颈,分享实用的进阶策略和实践案例。 一、技术等级概览…...

Jenkins安装 Linux 更换镜像 安装插件
Jenkins安装 Linux 更换镜像 安装插件 前言 下面叙述了三种jenkins安装的方式,jenkins安装之前必须有java环境因为他是java写的… yum安装只能安装最新版本的jenkins,但是jenkins是java写的所以他强依赖java版本,当你的服务器的java版本与jenkins版本冲突时还需要给jenkins重…...

(一)基于IDEA的JAVA基础1
Java是一门面向对象的编程语言,不仅吸收了C语言的各种优点,还摒弃了C里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论࿰…...

FPGA开源项目分享——基于FPGA加速的热扩散模拟器
导语 今天继续分享康奈尔大学FPGA课程ECE 5760的典型案例——基于FPGA加速的热扩散模拟器。 (更多其他案例请参考网站: Final Projects ECE 5760) 1. 项目概述 项目网址 https://people.ece.cornell.edu/land/courses/ece5760/FinalProje…...
【ARM 嵌入式 C 入门及渐进 12 --寄存器位清0和置位函数实现】
文章目录 寄存器位清0和置位函数实现示例使用方式注意事项 寄存器位清0和置位函数实现 在 C 语言中,可以使用宏定义来创建用于清除(清零)或设置(置一)32位地址中特定位的函数。以下是两个宏定义的示例: #…...
Java实现10万,并发去重,优雅地处理重复请求!
对于一些用户请求,在某些情况下是可能重复发送的,如果是查询类操作并无大碍,但其中有些是涉及写入操作的,一旦重复了,可能会导致很严重的后果,例如交易的接口如果重复请求可能会重复下单。 重复的场景有可…...

《深入解析 C#》—— C# 3 部分
文章目录 第三章 C#3:LINQ及相关特性3.1 自动实现属性(*)3.2 隐式类型 var(*)3.3 对象和集合初始化3.3.1 对象初始化器3.3.2 集合初始化器 3.4 匿名类型3.4.1 基本语法和行为3.4.2 编译器生成类型3.4.3 匿名类型的局限…...
Redis 的5种数据类型的基本命令
目录 String的基本命令 1. SET 2. GET 3. GETSET 4. STRLEN 5. APPEND 6. SETRANGE 7. GETRANGE 8. SETEX 9. SETNX 10. MSET 11. MGET 12. INCR 13. DECR 14. INCRBY 15. DECRBY 16. INCRBYFLOAT Map的基本命令 1. HSET 2. HGET 3. HMSET 4. HMGET 5. …...

【Liunx-后端开发软件安装】Liunx安装nginx
【Liunx-后端开发软件安装】Liunx安装nginx 使用安装包安装 一、简介 nginx,这个家伙可不是你厨房里的那位大厨,它可是互联网世界的“煎饼果子摊主”。想象一下,在熙熙攘攘的网络大街上,nginx挥舞着它的锅铲——哦不,是…...

力扣Lc20--- 202.快乐数(java版)-2024年3月20日
1.题目 2.知识点 (1)while (seen.contains(n) false) { // 循环体 } 与 !seen.contains(n) 等同 (2) 当传入数字 19 给 isHappy(19) 方法时,下面是每一行代码的执行过程: 初始化一个空的 HashSet&#…...

stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...
【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?
FTP(File Transfer Protocol)本身是一个基于 TCP 的协议,理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况,主要原因包括: ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...

一些实用的chrome扩展0x01
简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序,无论是测试应用程序、搜寻漏洞还是收集情报,它们都能提升工作流程。 FoxyProxy 代理管理工具,此扩展简化了使用代理(如 Burp…...

Mac flutter环境搭建
一、下载flutter sdk 制作 Android 应用 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 1、查看mac电脑处理器选择sdk 2、解压 unzip ~/Downloads/flutter_macos_arm64_3.32.2-stable.zip \ -d ~/development/ 3、添加环境变量 命令行打开配置环境变量文件 ope…...