【Red Hat 4.6---详细安装Oracle 19c】---静默方式安装

🔻 一、安装前规划

规划项:(本环境) 描述:
操作系统版本Red Hat Enterprise Linux Server release 4.6 (Santiago)
主机名langtest
数据库版本

Oracle 19c

IP规划10.10.10.164
服务器空间要求根据实际要求
数据库名/实例名orcl
数据库块大小oracle建库一般设置数据库块大小8192K
数据库使用字符集

这里用AL32UTF8 字符集

UFT8与GBK的区别:
区别主要是他们占用的字节不同(汉字),UTF8占用三个字节,而GBK占用两个字节

如varchar2(30)类型,

        如果是utf8,只能输入10汉字;

        而gbk则可以输入15个汉字。

一般生产环境服务器空间规划要求(可根据业务量自行调整)
/                                                           ------100G
数据库安装目录(如:/u01)             ------100G
数据存储目录(如:/oradata)        ------500G
归档目录(如:/archive)               ------500G(一般和数据目录一致)
备份目录(如:/backup)                 ----------1.5T(一般是数据目录3倍左右) 

 

🔻 二、安装前准备一(系统参数修改)

⛳ 2.1 内核版本、系统版本查看

拓展:普通用户切换到root用户

出现这种原因是因为在 /etc/sudoers 文件中没有配置

1、使用root用户登录

2、编辑 /etc/sudoers 文件

-- root用户登录,编辑 /etc/sudoers 文件
[root@langtest ~]# vi /etc/sudoers-- 末行加入
-- NOPASSWD:ALL 表示切换到时候不需要输入密码
oracle ALL=(ALL) NOPASSWD:ALL-- 然后 :wq! 保存退出

 3、查看修改结果

 -- 系统的硬件架构
[oracle@langtest ~]$ uname -m
x86_64
[oracle@langtest ~]$ -- 查看内核版本
[oracle@langtest ~]$ cat /proc/version
Linux version 2.6.32-504.el6.x86_64 (mockbuild@x86-023.build.eng.bos.redhat.com) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) ) #1 SMP Tue Sep 16 01:56:35 EDT 2014
[oracle@langtest ~]$ -- 所有可用的系统信息
[oracle@langtest ~]$ uname -a
Linux langtest 2.6.32-504.el6.x86_64 #1 SMP Tue Sep 16 01:56:35 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
[oracle@langtest ~]$ -- 查看系统版本
[oracle@langtest ~]$  cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 4.6 (Santiago)
[oracle@langtest ~]$ 

⛳ 2.2 修改主机名-重启生效  

1、域名主机名映射 

-- 域名--主机名 映射
[oracle@langtest ~]$ vi /etc/hosts-- 末行增加
10.10.10.164   langtest

2、主机名 

-- 修改主机名
[oracle@langtest ~]$ vi /etc/hostname-- 增加
langtest

 ⛳ 2.3 关闭selinux

关闭selinux可以提高系统的性能,因为 selinux会对系统进行安全检查,这会消耗一定的系统资源。

[oracle@langtest ~]$ vi /etc/selinux/config


-- 将SELINUX= enforcing 修改为SELINUX=disabled 

拓展:防火墙有关命令

-- 关闭防火墙
[oracle@langtest ~]$ systemctl stop firewalld-- 开启防火墙
[oracle@langtest ~]$ systemctl start firewalld-- 重启防火墙
[oracle@langtest ~]$ systemctl restart firewalld-- 防火墙状态查看
[oracle@langtest ~]$ systemctl status firewalld-- 禁止开机启动
[oracle@langtest ~]$ systemctl disable firewalld-- 设置开机启动
[oracle@langtest ~]$ systemctl enable firewalld

 

⛳ 2.4 防火墙设置1521端口开放 

-- 设置1521端口开放
[oracle@langtest ~]$ firewall-cmd --zone=public --add-port=1521/tcp --permanent
success
[oracle@langtest ~]$ -- 重启防火墙,查看开放端口列表
[oracle@langtest ~]$ firewall-cmd --list-ports
1521/tcp
[oracle@langtest ~]$ 

⛳ 2.5 系统相关配置检查 

-- 查看磁盘占用的空间
[root@langtest ~]# df -h
-- 查看内存总量
[root@langtest ~]# grep MemTotal /proc/meminfo
-- 查看空闲内存量
[root@langtest ~]# grep MemFree /proc/meminfo

 

 安装oracle 11g对于共享内存(/dev/shm)要求/dev/shm空间不能小于分配给oracle使用内存的大小

 

我这里大小已经够用了,就不需要增加了 !!!!!!!!!

 

拓展:修改/dev/shm 大小 (/dev/shm空间不能小于分配给oracle使用内存的大小)

将/dev/shm 增加到4G

[root@langtest ~]# vi /etc/fstab-- 文本末添加内容
tmpfs	/dev/shm	tmpfs   defaults size=4096M	  0 0
-- 重新挂载/dev/shm,然后df -h /dev/shm查看挂载情况
[root@langtest ~]# mount -o remount /dev/shm
2.5.1 🍁 /tmp(临时文件存储空间) >1G

 

2.5.2 🍁 /u01(软件安装目录) >2.5G 

 

2.5.3 🍁 内核需求 

安装数据库19c操作系统内核需求
On Oracle Linux 4 and Red Hat Enterprise Linux 42.6.9 or later
On Oracle Linux 5 Update 52.6.32-100.0.19 or later
On Oracle Linux 5 Update 22.6.18 or later (with Red Hat Compatible Kernel)
On Oracle Linux 62.6.32-100.28.5.el6.x86_64 or later
On Oracle Linux 6

2.6.32-71.el6.x86_64 or later (with Red Hat Compatible Kernel)  

Oracle 19c要求OS至少为RHEL4.7,内核为Kernel 2.6.9

⛳ 2.6 系统光盘镜像文件挂载—配置本地yum源

一般生产环境无法访问外网,在内网环境可以使用系统ISO镜像文件作为本地yum源,在服务器上挂载DVD的 iso 文件。

2.6.1 🍁 上传iso镜像文件并挂载到 /mnt/dvd/ 下

1、创建挂载镜像文件目录 

-- 创建镜像文件挂载目录/mnt/dvd
[root@langtest ~]# mkdir -p /mnt/dvd-- 查看创建情况
[root@langtest ~]# ls -lrt /mnt/dvd
total 0
[root@langtest ~]# 

2、上传rhel-server-7.9-x86_64-dvd.iso文件到 /usr/local/src

通过 sftp 将镜像上传到 /usr/local/src  下

 

 

3、挂载ISO文件

-- 挂载iso文件(只能读,不可写)
[root@langtest ~]# mount -t iso9660 -o loop /usr/local/src/rhel-server-7.9-x86_64-dvd.iso /mnt/dvd-- 重新以可读可写的方式挂载
[root@langtest ~]# mount -o remount,rw /

 

 

4、开机自动挂载本地镜像文件

 

-- 设置开机自动挂载本地镜像文件
[root@langtest ~]# vi /etc/fstab-- 末行添加内容
/usr/local/src/rhel-server-7.9-x86_64-dvd.iso    /mnt/dvd    iso9660   loop    0    0

 

5、查看挂载情况

[root@langtest ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root99G   38G   57G  40% /
tmpfs                 2.0T   28K  2.0T   1% /dev/shm
/dev/sda1             190M   33M  147M  19% /boot
/dev/mapper/vg_root-lv_oracle99G   56G   39G  59% /u01
/dev/mapper/vg_root-lv_backup99G   69G   26G  74% /backup
/dev/mapper/vg_root-lv_onlbak99G  2.4G   91G   3% /onlbak
/dev/mapper/vg_root-lv_test99G   41G   54G  43% /oracle
/dev/mapper/vg_faredata-lv_faredata776G  553G  184G  76% /fare_data
/dev/mapper/vg_rptbak-lv_rptbak739G  343G  358G  49% /rptbak
/dev/mapper/vg_oradata-lv_oradata792G  717G   35G  96% /oradata
/dev/mapper/vg_oradata02-lv_oradata02970G  131G  790G  15% /oradata02
/dev/mapper/vg_amrbak-lv_amrbak650G  3.6G  613G   1% /amrbak
/dev/mapper/vg_postgres-lv_postgres99G  403M   93G   1% /postgres
/usr/local/src/rhel-server-7.9-x86_64-dvd.iso4.3G  4.3G     0 100% /mnt/dvd
[root@langtest ~]# 

 

 2.6.2 🍁 备份yum源文件
[root@langtest ~]# cd /etc/yum.repos.d/
[root@langtest ~]# more redhat.repo

 

-- 备份yum源文件
[root@langtest yum.repos.d]# cp redhat.repo redhat.repo-bak

 

 2.6.3🍁 本地yum源配置

1、编辑 /etc/yum.repos.d/redhat.repo 文件 

[root@langtest yum.repos.d]#  cd /etc/yum.repos.d/
[root@langtest yum.repos.d]# ls
cobbler-config.repo  local.repo  redhat.repo  redhat.repo-bak  rhel-source.repo.bak
[root@langtest yum.repos.d]# vi redhat.repo

 

 

 

 2、增加如下内容

[root@langtest yum.repos.d]# vi redhat.repo-- 末行增加# 标识符
[redhat]# 名称
name=Red Hat Enterprise Linux 7.9   # 本地yum源地址
baseurl=file:///mnt/dvd#  下载的rpm不进行校验
gpgcheck=0#启用状态
enabled=1

 2.6.4🍁 验证本地yum源配置

1、清除yum缓存

###清除yum缓存
[root@langtest ~]# yum clean all

 

2、缓存本地yum源中的软件包信息 

-- 缓存本地yum源中的软件包信息
[root@langtest ~]# yum makecache

 

3、查询仓库中的所有软件包 

-- 查询仓库中的所有软件包
[root@langtest ~]# yum list

⛳ 2.7 Orange19c有关依赖包检查及安装 

1、检查19c相关的依赖包

-- Orange19c有关依赖包检查
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 \ | grep "not installed"

----提前安装有关依赖 

1、安装有关依赖

-- 安装有关依赖
[root@langtest ~]# 
yum install gcc* binutils* compat* glibc* ksh* libgcc* libstdc* libaio* make* sysstat* unixODBC* -y

 

拓展: 

-- 手动上传安装compat-libstdc++

[root@langtest ~]# rpm -ivh compat-libstdc++-8-3.3.4.2.x86_64.rpm --force --nodeps
warning: compat-libstdc++-8-3.3.4.2.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 4f2a6fd2: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...1:compat-libstdc++-8-3.3.4.2       ################################# [100%]
[root@langtest ~]# 

2、有关依赖包再次检查 

-- 有关依赖包再次检查
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 \ | grep "not installed"

⛳ 2.8 修改资源限制参数并使其生效 

对oracle用户做资源的限制,主要是出于性能上的考虑,防止oracle用户过渡消耗有限资源,使系统变得臃肿缓慢。

 1、编辑 /etc/security/limits.conf 文件

 

-- 备份limits.conf 文件,limits.conf只针对于单个会话。
[root@langtest ~]# cd  /etc/security/
[root@langtest security]# ls
access.conf  console.apps      console.perms    group.conf   limits.d        namespace.d     opasswd       pam_winbind.conf  time.conf
chroot.conf  console.handlers  console.perms.d  limits.conf  namespace.conf  namespace.init  pam_env.conf  sepermit.conf
[root@langtest security]# cp /etc/security/limits.conf /etc/security/limits.conf-bak
[root@langtest security]# vi /etc/security/limits.conf-- 末行添加
# Oracle
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  65536
oracle              hard    nofile  65536
oracle              soft    stack   10240
oracle              soft  memlock  unlimited
oracle              hard  memlock  unlimited

 

注意:资源限制参数分为软限制和硬限制
nproc       ----进程最大数目
nofile       ----进程打开文件的最大数目
stack       ----最大栈大小
memlock ----最大锁定内存地址空间(要比实际内存小,如内存4G,设置3G最大锁定内存地址空间,则为3x1024x1024=3145728)

--------其他配置项-------
core             ----限制内核文件的大小
data             ----最大数据大小
fsize             ----最大文件大小
rss                ---- 最大持久设置大小
cpu               ---- 以分钟为单位的最多 CPU 时间
as                 ---- 地址空间限制
maxlogins     ---- 此用户允许登录的最大数目 

 

2、使 limits.conf 文件配置生效 

-- 使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。vi /etc/pam.d/login 文件,文末添加内容:[root@langtest ~]#  vi /etc/pam.d/login-- 末行增加
session  required  /lib64/security/pam_limits.so

 

 ⛳ 2.9 系统内核参数修改

1、备份、编辑内核参数文件sysctl.conf

[root@langtest ~]# cp /etc/sysctl.conf /etc/sysctl.conf-bak
[root@langtest ~]# vi /etc/sysctl.conf-- 末行增加
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 65892823
kernel.shmmax = 215917602406
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 = 1048586

 

系统内核参数详解,关注该四个:

1、kernel.shmmax    ----单个共享内存段的最大值(如系统内存4G,则oracle 内存为0.8x4G=3.2G(SGA=0.8x3.2G+PGA=0.2x3.2G)) >= SGA的值,则最终值应该>=0.8x3.2Gx1024x1024x1024
2、kernel.shmall    -----控制共享内存页数(kernel.shmmax/PAGESIZE)-- PAGESIZE—页数查看
[oracle@langtest ~]$ getconf PAGESIZE
4096
[oracle@langtest ~]$ 
3、kernel.shmmni    -----共享内存段的最大数量 = 4096(和每页大小一致即可)4、vm.nr_hugepages  -----大页,直接分配并保留对应大小的内存区域(SGA/2M稍微大一点,加200M左右),如(0.8x3.2Gx1024x1024x1024)/(1024x1024)

 

 

2、使内核参数文件sysctl.conf生效 

-- 使内核参数文件sysctl.conf生效,重新加载配置文件
[oracle@langtest ~]$ sysctl -p
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 65892823
kernel.shmmax = 215917602406
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 = 1048586
[oracle@langtest ~]$ 

 

⛳ 2.10 用户创建进程数的限制

nproc是操作系统级别对每个用户创建进程数的限制.

 

-- 设置每个用户创建进程最大数为1024
[root@langtest ~]# echo "* soft nproc 1024 " > /etc/security/limits.d/90-nproc.conf
[root@langtest ~]# cat /etc/security/limits.d/90-nproc.conf
* soft nproc 1024
[root@langtest ~]#

 

 

拓展: 

1、查看所有用户创建的进程数,使用命令:

[root@langtest ~]# ps h -Led -o user | sort | uniq -c | sort -n1 ntp2 postfix7 zabbix12 postgres28 mysql412 oracle4216 root
[root@langtest ~]# 

 

2、查看某个用户创建的进程数,使用命令: (进程太多,只取了一部分

[root@langtest ~]# ps -o nlwp,pid,lwp,args -u root | sort -n1    547    547 [migration/136]1    548    548 [stopper/136]1    549    549 [ksoftirqd/136]1    550    550 [watchdog/136]1   5509   5509 [edac-poller]1    551    551 [migration/137]1    552    552 [stopper/137]1    553    553 [ksoftirqd/137]1    554    554 [watchdog/137]1    555    555 [migration/138]1     55     55 [migration/13]1    556    556 [stopper/138]1    557    557 [ksoftirqd/138]1    558    558 [watchdog/138]1    559    559 [migration/139]1      5      5 [stopper/0]1    560    560 [stopper/139]1    561    561 [ksoftirqd/139]1    562    562 [watchdog/139]1    563    563 [migration/140]1    564    564 [stopper/140]1    565    565 [ksoftirqd/140]1     56     56 [stopper/13]1    566    566 [watchdog/140]1    567    567 [migration/141]1    568    568 [stopper/141]1    569    569 [ksoftirqd/141]1    570    570 [watchdog/141]1    571    571 [migration/142]
[root@langtest ~]# 

🔻 三、安装前准备二(创建用户、用户组以及安装目录)

注:在安装任何软件设置的用户和用户密码都要做好记录

 ⛳ 3.1 创建用户组

-- 创建oinstall用户组—控制软件安装,补丁安装
[oracle@langtest ~]$ /usr/sbin/groupadd -g 600 dba-- 创建dba用户组—控制数据库创建、管理
[oracle@langtest ~]$ /usr/sbin/groupadd -g 601 oinstall-- 创建oper用户组—数据库操作员
[oracle@langtest ~]$ /usr/sbin/groupadd -g 603 oper
[oracle@langtest ~]$

拓展:

-- 删除用户组
[oracle@langtest ~]$ groupadd test
[oracle@langtest ~]$ useradd -g test -G dba test
[oracle@langtest ~]$ groupdel test
groupdel: cannot remove the primary group of user ‘test’
[oracle@langtest ~]$-- 如果组里面有用户需要先删除用户或移动用户,才能删除组
[oracle@langtest ~]$ userdel test ###删除用户

⛳ 3.2 创建oracle用户和设置密码 

-- 创建oracle用户—编号为600,默认组为dba ,并添加到oinstall组,主要是dba组发生作用
[oracle@langtest ~]$ useradd -u 600 -g dba -G oinstall oracle

-- passwd oracle ----设置oracle用户密码(Or@cle2024)

[oracle@langtest ~]$ passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[oracle@langtest ~]$

-- 检查创建的oracle用户

[oracle@langtest ~]$ id
uid=600(oracle) gid=600(dba) groups=600(dba),601(oinstall)
[oracle@langtest ~]$ 

⛳ 3.3 创建安装目录 

-- 创建oracle安装目录
[oracle@langtest ~]$ mkdir -p /u01/app/oracle-- 更改/u01目录用户组
[oracle@langtest ~]$ chown -R oracle:dba /u01-- 更改oracle目录权限
[oracle@langtest ~]$ chmod -R 775 /u01/app/oracle

⛳ 3.4 设置oracle用户环境变量 

-- 切换至oracle用户,编辑 profile19c 文件
[oracle@langtest ~]$ vi profile19c-- 增加如下内容# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programsPATH=$PATH:$HOME/.local/bin:$HOME/binexport PATH
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
export TEMP=/tmp
export TMP=/tmp
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
umask 022
stty erase ^H

 

 使配置文件生效:

-- 使环境变量生效
[oracle@langtest ~]$ source profile19c-- 安装目录
[oracle@langtest ~]$ echo $ORACLE_BASE
/u01/app/oracle-- 家目录
[oracle@langtest ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/19.3/db_1-- 环境路径
[oracle@langtest ~]$ echo $PATH
/u01/app/oracle/product/19.3/db_1/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin-- 实例名
[oracle@langtest ~]$ env | grep ORACLE_SID
ORACLE_SID=orcl
[oracle@langtest ~]$ 

⛳ 3.5 创建oracle安装文件所在目录 

1、创建安装文件目录 

-- 创建安装文件所在目录
[root@langtest ~]# mkdir -p /u01/app/oracle/product/19.3/db_1
[root@langtest ~]# ls -lrt /u01/app/oracle/product/19.3/db_1
total 0
[root@langtest ~]# 

2、上传oracle19c安装包

将下载好的19c数据库安装包上传到 /u01/app/oracle/product/19.3/db_1目录下

1.官网下载


 

2.百度网盘提取oracle19c

 

 

 3、解压oracle19c安装包

[oracle@langtest ~]$ cd /u01/app/oracle/product/19.3/db_1
[oracle@langtest db_1]$ ls -lrt
total 2988000
-rw------- 1 oracle dba 3059705302 Jul  9 18:20 LINUX.X64_193000_db_home.zip
[oracle@langtest db_1]$ unzip LINUX.X64_193000_db_home.zip

 

 4、更改oracle安装文件所在目录的用户组

[root@langtest ~]# chown -R oracle:dba /u01/app/oracle/product/19.3/db_1
[root@langtest ~]# 

 

 5、更改oracle安装文件的操作权限

[oracle@langtest db_1]$ chmod +x runInstaller

🔻 四、安装数据库软件、配置监听、建库

拓展:关于oracle的响应文件

db_install.rsp    ----安装响应文件
dbca.rsp          ----实例响应文件
netca. rsp        ----监听响应文件

⛳ 4.1 编辑静默安装响应文件 

1、以oracle用户进入安装包解压后的 /u01/app/oracle/product/19.3/db_1/install/response/  目录下

-- 进入到安装响应文件目录下
[oracle@langtest ~]$ cd /u01/app/oracle/product/19.3/db_1/install/response/
[oracle@langtest response]$ ls
db_install.rsp
[oracle@langtest response]$ 

2、备份安装响应文件 (修改前养成备份的习惯)

-- 备份安装响应文件
[oracle@langtest response]$ cp db_install.rsp db_install.rsp_bak
[oracle@langtest response]$ ls
db_install.rsp  db_install.rsp_bak
[oracle@langtest response]$ 

 

 3、编辑db_install.rsp文件

-- 编辑 安装响应文件
[oracle@langtest response]$ vi db_install.rsp-- 修改如下内容
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=dba
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/19c/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=dba
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
oracle.install.db.rootconfig.executeRootScript=false

编辑完,:wq 保存 

拓展:关于oracle的安装响应文件db_install.rsp参数详解

🍀1、安装类型:
oracle.install.option=INSTALL_DB_SWONLY
1、 INSTALL_DB_SWONLY   ----仅安装数据库软件
2、 INSTALL_DB_AND_CONFIG ----安装和配置数据库

🍀2、安装组:
UNIX_GROUP_NAME=dba

🍀3、INVENTORY清单目录:
INVENTORY_LOCATION=/u01/app/oraInventory
该目录主要存储数据库的控制文件、数据文件、重做日志文件。

🍀4、oracle产品目录:
ORACLE_HOME=/u01/app/oracle/product/19c/db_1

🍀5、oracle基目录:
ORACLE_BASE=/u01/app/oracle

🍀6、安装版本:
oracle.install.db.InstallEdition=EE
1、EE : Enterprise Edition ----企业版
2、SE2 : Standard Edition ----标准版2

🍀7、要授予SYSDBA权限的操作系统组:
oracle.install.db.OSDBA_GROUP=dba

🍀8、SYSOPER权限的操作系统组:
oracle.install.db.OPER_GROUP=dba


🍀9、SYSBACKUP权限的操作系统组

oracle.install.db.OSBACKUPDBA_GROUP=dba

🍀10、SYSDG权限的操作系统组

oracle.install.db.OSDGDBA_GROUP=dba

🍀11、SYSKM权限的操作系统组

oracle.install.db.OSKMDBA_GROUP=dba

🍀12、SYSRAC权限的操作系统组

oracle.install.db.OSRACDBA_GROUP=dba

  

🍀13、指定脚本执行模式:true:使用适当的配置方法自动执行根脚本。false:手动执行根脚本

oracle.install.db.rootconfig.executeRootScript=false

🍀14、自动执行脚本的配置方法 root 或者 sudo

oracle.install.db.rootconfig.configMethod=root

🍀15、sudo程序的绝对路径

oracle.install.db.rootconfig.sudoPath=

  

🍀16、指定sudoers列表中的用户的名称。
#仅当选择SUDO配置方法时适用。
#注意:对于单实例数据库安装,sudo用户名必须是安装数据库的用户的用户名。

oracle.install.db.rootconfig.sudoUserName=

🍀17、群集节点名称

oracle.install.db.CLUSTER_NODES=

———仅安装数据库软件配置如上参数即可,如果选择安装和配置数据库还需配置下面参数———

🍀18、创建的数据库的类型

1.GENERAL_PURPOSE :为通用或事务繁重的应用程序设计的入门数据库
2.DATA_WAREHOUSE :一个为数据仓库应用程序优化的入门数据库

oracle.install.db.config.starterdb.type=

🍀19、全局数据库名称

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

🍀20、数据库实例名:

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

🍀21、指定是否应将数据库配置为容器数据库。
1.true :是

2.false 或者空 :否

oracle.install.db.ConfigureAsContainerDB=

🍀22、在容器数据库中指定可插入数据库名称

oracle.install.db.config.PDBName=

🍀23、数据库字符集

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

🍀24、是否自动内存管理

1.true

2.false

oracle.install.db.config.starterdb.memoryOption=

🍀25、指定数据库的总内存分配。值(MB)应为 ,至少256 MB,并且不应超过可用的物理内存总量

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

🍀26、是否将示例架构加载到启动器数据库。

1.true

2.false

oracle.install.db.config.starterdb.installExampleSchemas=

🍀27、启动数据库通用密码

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

🍀28、启动器数据库的SYS密码

oracle.install.db.config.starterdb.password.SYS=

🍀29、启动器数据库的SYSTEM密码

oracle.install.db.config.starterdb.password.SYSTEM=

🍀30、启动器数据库的DBSNMP密码,仅适用于oracle.install.db.config.starterdb.managementOption=CLOUD_CONTROL

oracle.install.db.config.starterdb.password.DBSNMP=

🍀31、在容器数据库中创建可插入数据库所需的PDBADMIN密码

oracle.install.db.config.starterdb.password.PDBADMIN=

🍀32、管理数据库的管理方法

1.CLOUD_CONTROL:使用Enterprise Manager CLOUD CONTROL和database Express管理数据库

2.DEFAULT:使用默认的database Express选项管理数据库

oracle.install.db.config.starterdb.managementOption=

🍀33、连接到云服务主机IP,仅适用于oracle.install.db.config.starterdb.managementOption=CLOUD_CONTROL

oracle.install.db.config.starterdb.omsHost=

🍀34、连接到云服务主机端口,仅适用于oracle.install.db.config.starterdb.managementOption=CLOUD_CONTROL

oracle.install.db.config.starterdb.omsPort=

🍀35、连接到云服务主机用户名,仅适用于oracle.install.db.config.starterdb.managementOption=CLOUD_CONTROL

oracle.install.db.config.starterdb.emAdminUser=

🍀36、连接到云服务主机密码,仅适用于oracle.install.db.config.starterdb.managementOption=CLOUD_CONTROL

oracle.install.db.config.starterdb.emAdminPassword=

🍀37、是否需要数据库恢复

1.true

2.false

oracle.install.db.config.starterdb.enableRecovery=

🍀38、数据库存储:

1、FILE_SYSTEM_STORAGE ----文件系统
2、ASM_STORAGE -----ASM存储
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE

🍀39、指定数据库文件位置,该位置是数据文件的目录,控件文件,重做日志。
#仅当
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE时适用

oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=

🍀40、指定恢复位置
#仅当
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE时适用

oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=

🍀41、指定要用于存储的现有ASM磁盘组
#仅当
oracle.install.db.config.starterdb.storageType=ASM_STORAGE时适用

oracle.install.db.config.asm.diskGroup=

🍀42、ASM实例的ASMSNMP用户的密码

#仅当oracle.install.db.config.starterdb.storageType=ASM_STORAGE时适用

oracle.install.db.config.asm.ASMSNMPPassword=

 ⛳ 4.2 使用db_install.rsp响应文件开始安装数据库软件

1、进入oracle解压目录 /u01/app/oracle/product/19.3/db_1

[oracle@langtest ~]$ cd /u01/app/oracle/product/19.3/db_1
[oracle@langtest db_1]$ ls -lrt
total 292
-rw-r--r--  1 oracle dba   852 Aug 18  2015 env.ora
-rw-r--r--  1 oracle dba  2927 Oct 14  2016 schagent.conf
-rwxr-x--x  1 oracle dba  1783 Mar  8  2017 runInstaller
drwxr-x--- 14 oracle dba  4096 Apr 12  2019 OPatch
drwxr-x---  7 oracle dba  4096 Apr 17  2019 xdk
drwxr-xr-x  3 oracle dba  4096 Apr 17  2019 wwg
drwxr-xr-x  4 oracle dba  4096 Apr 17  2019 usm
drwxr-xr-x  5 oracle dba  4096 Apr 17  2019 suptools
drwxr-xr-x  6 oracle dba  4096 Apr 17  2019 srvm
drwxr-xr-x  3 oracle dba  4096 Apr 17  2019 sqlj
drwxr-xr-x  4 oracle dba  4096 Apr 17  2019 sqldeveloper
drwxr-xr-x  3 oracle dba  4096 Apr 17  2019 slax
-rw-r-----  1 oracle dba    10 Apr 17  2019 root.sh.old.1
drwxr-xr-x  3 oracle dba  4096 Apr 17  2019 relnotes
drwxr-xr-x  4 oracle dba  4096 Apr 17  2019 racg
drwxr-xr-x  5 oracle dba  4096 Apr 17  2019 R
drwxr-xr-x  5 oracle dba  4096 Apr 17  2019 perl
drwxr-xr-x  4 oracle dba  4096 Apr 17  2019 owm
drwxr-xr-x  3 oracle dba  4096 Apr 17  2019 oss
drwxr-xr-x  6 oracle dba  4096 Apr 17  2019 ord
drwxr-xr-x  4 oracle dba  4096 Apr 17  2019 oracore
drwxr-xr-x  7 oracle dba  4096 Apr 17  2019 opmn
drwxr-xr-x  5 oracle dba  4096 Apr 17  2019 olap
drwxr-xr-x  5 oracle dba  4096 Apr 17  2019 nls
drwxr-xr-x  4 oracle dba  4096 Apr 17  2019 mgw

 

 2、执行安装

[oracle@langtest oracle]$ ./runInstaller -silent -ignoreInternalDriverError -responseFile /u01/app/oracle/product/19.3/db_1/install/response/db_install.rsp-- 参数说明
-silent                     对于无提示模式下的操作, 输入内容可以是一个响应文件, 也可以是命令行变量值对的列表。
-ignorePrereq               忽略运行先决条件检查。
-ignoreSysPrereqs           忽略系统先决条件检查的结果。
-showProgress               用于在控制台上显示安装进度。仅在无提示安装下才支持此选项。
-responseFile <Path>        指定要使用的响应文件和路径。

说明:

        1.如果安装的时候报错:/software/oracle/perl/bin/perl: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /software/oracle/perl/bin/perl)

可以参考:https://zhuanlan.zhihu.com/p/529548252 我按照这个步骤操作,再次安装的时候不报这个错误了

        2.安装好GLIBC_2.14 后,ssh 登录报如下错误

-- 登录的时候报这个错误
-bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_COLLATE: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_MESSAGES: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_NUMERIC: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_TIME: cannot change locale (en_US.UTF-8): No such file or directory
[oracle@langtest ~]$[oracle@langtest ~]$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory造成原因:升级libc后导致中文乱码
解决方法:
1、如果这时你没有删除glibc的编译目录,则进入glibc的编译目录,也就是build目录
[root@langtest build]#  make localedata/install-locales
上面命令执行结束,再次执行 locale 这时应该已经正常了
[root@langtest build]# locale2、如果你已经删除了编译glibc的build目录或者不知道build的目录在哪里
· 查看 libc.so.6 软连接指向
[root@langtest ~]# ls -la /lib64/libc.so.6
[root@langtest ~]# /lib64/libc.so.6 -> libc-2.14.so· 查看 locale-archive 归档文件目录
[root@langtest ~]# strings libc-2.14.so | grep locale-archive
[root@langtest ~]#  /usr/local/glibc-2.14/lib/locale/locale-archive
上面这个目录是在升级libc的时候build的目录· 添加软链接
[root@langtest ~]#  ls -la /usr/local/glibc-2.14/lib/locale/locale-archive
发现文件并不存在
那么
[root@langtest ~]#  ln -s /usr/lib/locale/locale-archive /usr/local/glibc-2.14/lib/locale/locale-archive重新执行 locale 已经正常了 !
[root@langtest ~]#  locale

安装过程: 

  

✅—— 等待安装即可,出现Successfully Setup Software.则代表成功—— 

 

3、新建窗口,root用户执行

[root@langtest ~]# /u01/app/oracle/product/19.3/db_1/root.sh
Check /u01/app/oracle/product/19.3/db_1/install/root_langtest_2024-07-10_09-01-18-037231095.log for the output of root script
[root@langtest ~]# 

 ✅—— 至此安装成功,接下来配置监听——

⛳ 4.3 oracle用户登录使用netca.rsp配置监听 (这里建议先创建数据库,然后再配置监听

1、执行监听响应文件netca.rsp配置监听

[oracle@langtest netca]$ netca /silent /responseFile /u01/app/oracle/product/19.3/db_1/assistants/netca/netca.rsp Parsing command line arguments:Parameter "silent" = trueParameter "responsefile" = /u01/app/oracle/product/19.3/db_1/assistants/netca/netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Listener started at port:1523
Oracle Net Listener Startup:Running Listener Control: /u01/db/bin/lsnrctl start LISTENERListener Control complete.Listener started successfully.
Listener configuration complete.
Default local naming configuration complete.
Oracle Net Services configuration successful. The exit code is 0[oracle@langtest netca]$ 

 

 监听配置成功后,会在/u01/app/oracle/product/19.3/db_1/network/admin 中生成listener.ora和sqlnet.ora两个文件。

2、编辑监听文件 vi listener.ora

[oracle@langtest admin]$ vi listener.oraLISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.164)(PORT = 1521))))
#配置静态监听
SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(GLOBAL_DBNAME=orcl)(ORACLE_HOME=/u01/app/oracle/product/19.3/db_1)(SID_NAME=orcl)))ADR_BASE_LISTENER = /u01/app/oracle

🍁 4.3.1 监听有关命令

 1、监听状态查看

 

[oracle@langtest admin]$ lsnrctl  statusLSNRCTL for Linux: Version 19.0.0.0.0 - Production on 10-JUL-2024 09:35:57Copyright (c) 1991, 2019, Oracle.  All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                10-JUL-2024 09:34:15
Uptime                    0 days 0 hr. 1 min. 41 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/19.3/db_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/langtest/listener/alert/log.xml
Listening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.211.129.164)(PORT=1521)))
Services Summary...
Service "amronlinecd" has 1 instance(s).Instance "amronline", status READY, has 1 handler(s) for this service...
Service "amronlinecd_XPT" has 1 instance(s).Instance "amronline", status READY, has 1 handler(s) for this service...
Service "fareinlan_cd" has 1 instance(s).Instance "tdpfareinlan", status READY, has 1 handler(s) for this service...
Service "fareintl_cd" has 1 instance(s).Instance "tdpfareintl", status READY, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
Service "tdpfareinlanXDB" has 1 instance(s).Instance "tdpfareinlan", status READY, has 1 handler(s) for this service...
Service "tdpfareintlXDB" has 1 instance(s).Instance "tdpfareintl", status READY, has 1 handler(s) for this service...
The command completed successfully

2、监听停止

[oracle@langtest admin]$ lsnrctl  stop

3、监听开启

[oracle@langtest admin]$ lsnrctl  start

4、重新启动监听

[oracle@langtest admin]$ lsnrctl  reload

 ⛳ 4.4 oracle用户登录使用实例响应文件dbca.rsp建库&建立实例

创建实例也可以参考:Linux下创建Oracle数据库的实例_linux创建oracle数据库实例-CSDN博客

dbca.rsp----实例响应文件

🍁 4.4.1 编辑监听响应文件

1、进入到实例响应文件目录 :/u01/app/oracle/product/19.3/db_1/assistants/dbca

[oracle@langtest ~]$ cd /u01/app/oracle/product/19.3/db_1/assistants/dbca
[oracle@langtest dbca]$ ls
dbca.rsp  doc  jlib  templates
[oracle@langtest dbca]$ 

 

2、备份实例响应文件

[oracle@langtest dbca]$ cp dbca.rsp dbca.rsp_bak
[oracle@langtest dbca]$ ls
dbca.rsp  dbca.rsp_bak  doc  jlib  templates
[oracle@langtest dbca]$ 

 

3、编辑dbca.rsp 文件,修改以下参数,其中字符可以选择AL32UTF8 ,或者ZHS16GBK(这里和安装规划时保持一致)

[oracle@langtest dbca]$ vi dbca.rsp-- 修改如下:
gdbName=orcl
sid=orcl
databaseConfigType=SI
templateName=General_Purpose.dbc
sysPassword=AFuwd7_5K^sys
systemPassword=AFuwd7_5K^system
emConfiguration=DBEXPRESS
dbsnmpPassword=AFuwd7_5K^dbsnmp
datafileDestination=/oradata02/orcl/
recoveryAreaDestination=/amrbak/flash_recovery_area/ORCL/
characterSet=AL32UTF8
nationalCharacterSet=UTF8
listeners=LISTENER
initParams=processes=800
totalMemory=6144

🍁 4.4.2 使用oracle用户开始建库&建立实例 

1、执行实例响应dbca.rsp文件,建库&建立实例

[oracle@langtest dbca]$ dbca -silent -createDatabase -responseFile /u01/app/oracle/product/19.3/db_1/assistants/dbca/dbca.rsp

2、建库&建立实例过程:

 

报了一个错误,内存不够,加一个参数,取消内存检查:-J-Doracle.assistants.dbca.validate.ConfigurationParams=false 

 

最终创建实例的命令: 

[oracle@langtest dbca]$ dbca -silent -createDatabase  -J-Doracle.assistants.dbca.validate.ConfigurationParams=false -responseFile /u01/app/oracle/product/19.3/db_1/assistants/dbca/dbca.rsp

✅—— 100%就代表建库成功,接下来即可登录使用oracle数据库—— 

🔻 五、数据库简单使用

⛳ 5.1 连接数据库

[oracle@langtest ~]$ source /home/oracle/profile19c 
[oracle@langtest ~]$ ps -ef |grep smon
oracle    81346      1  0 02:04 ?        00:00:00 ora_smon_orcl
oracle    88485      1  0 02:21 ?        00:00:00 ora_smon_amronline
oracle    91814  85628  0 02:31 pts/1    00:00:00 grep smon
oracle   189476      1  0  2023 ?        00:06:06 ora_smon_tdpfareinlan
oracle   192090      1  0  2023 ?        00:06:00 ora_smon_tdpfareintl
[oracle@langtest ~]$ export ORACLE_SID=orcl
[oracle@langtest ~]$ sqlplus / as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Thu Jul 11 02:32:13 2024
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle.  All rights reserved.Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0SQL> show user;
USER is "SYS"
SQL> 

⛳ 5.2 启动或关闭数据库

[oracle@langtest ~]$ source /home/oracle/profile19c 
[oracle@langtest ~]$ export ORACLE_SID=orcl
[oracle@langtest ~]$ sqlplus / as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Thu Jul 11 02:33:25 2024
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle.  All rights reserved.Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>  
SQL> 
SQL> 
SQL> startup
ORACLE instance started.Total System Global Area 4831835720 bytes
Fixed Size                  8906312 bytes
Variable Size             889192448 bytes
Database Buffers         3607101440 bytes
Redo Buffers              326635520 bytes
Database mounted.
Database opened.
SQL> 

⛳ 5.3 查看监听状态 

-- 停监听
[oracle@langtest ~]$ lsnrctl stop-- 启动监听
[oracle@langtest ~]$ lsnrctl start-- 监听状态
[oracle@langtest ~]$ lsnrctl status

⛳ 5.4 查看数据库版本

[oracle@langtest ~]$ sqlplus / as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Thu Jul 11 02:45:05 2024
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle.  All rights reserved.Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0SQL> set linesize 132
SQL> select * from v$version;BANNER
--------------------------------------------------------------------------------
BANNER_FULL
------------------------------------------------------------------------------------------------------------------------------------
BANNER_LEGACY                                                                        CON_ID
-------------------------------------------------------------------------------- ----------
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production                    0SQL> 

⛳ 5.5 查看数据实例名、状态、版本

SQL> select instance_name,status,VERSION from v$instance;INSTANCE_NAME    STATUS       VERSION
---------------- ------------ -----------------
orcl             OPEN         19.0.0.0.0SQL> 

⛳ 5.6 查看所有用户

-- 检索用户信息。可检索系统用户(SystemUser)、外部用户(ExternalUser)、和内部用户(CommonUser)的所有信息
SQL> select * from dba_users;-- 可以通过该功能来获取全部数据库用户的信息,查出被授权的所有Oracle用户的角色,账户名等信息。
SQL> select * from all_users;-- 描述当前用户下所有用户信息的视图
SQL> select * from user_users;

⛳ 5.7 查看用户、角色的权限(直接赋值给用户或角色的权限)

SQL> select * from dba_sys_privs;

⛳ 5.8 当前用户所拥有的系统权限

SQL> select * from user_sys_privs;

⛳ 5.9 查看角色权限((只能查看登陆用户拥有的角色权限)

sql> select * from role_sys_privs;

⛳ 5.10 查看所有角色

sql> select * from dba_roles;

⛳ 5.11 查看用户对象权限

sql> select * from user_tab_privs;
sql> select * from dba_tab_privs;
sql> select * from all_tab_privs;

⛳ 5.12 查看哪些用户有DBA权限

SQL> select * from dba_role_privs where granted_role='DBA';GRANTEE                                                                                                                          GRA ADM DEL DEF COM INH
-------------------------------------------------------------------------------------------------------------------------------- --- --- --- --- --- ---
SYS                                                                                                                              DBA YES NO  YES YES YES
SYSTEM                                                                                                                           DBA NO  NO  YES YES YESSQL> 

⛳ 5.12 创建用户

SQL> create user cmdb identified by "CMDB^Pw8";

⛳ 5.13 授权

GRANT:赋予一个用户,一个组或所有用户访问权限
GRANT 语法:
GRANT privilege [, ...] ON object [, ...] TO { PUBLIC | GROUP group | username }如:
SQL> grant select, insert, update, delete on apm.table178 to cmdb;

⛳ 5.14 回收权限

SQL> revoke select, insert, update, delete on apm.table178 to cmdb;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/43676.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

物业系统自主研发接口测试框架

1、自主研发框架整体设计 1.1、什么是测试框架? 在了解什么是自动化测试框架之前&#xff0c;先了解一下什么叫框架?框架是整个或部分系统的可重用设计&#xff0c;表现为一组抽象构件及构件实例间交互的方法;另一种定义认为&#xff0c;框架是可被应用开发者定制的应用骨架…

Redis 主从复制,集群与高可用

虽然Redis可以实现单机的数据持久化&#xff0c;但无论是RDB也好或者AOF也好&#xff0c;都解决不了单点宕机问题&#xff0c;即一旦单台 redis服务器本身出现系统故障、硬件故障等问题后&#xff0c;就会直接造成数据的丢失 此外,单机的性能也是有极限的,因此需要使用另外的技…

捷配生产笔记-细间距芯片的表面处理工艺:OSP与沉金工艺的重要性

在现代电子制造领域&#xff0c;随着技术的进步&#xff0c;电子设备变得越来越小型化和高性能化。细间距芯片作为实现这一目标的关键组件&#xff0c;其制造工艺要求极为严格。在这些要求中&#xff0c;表面处理工艺尤为关键&#xff0c;因为它直接影响到芯片的焊接质量和长期…

实验7 数据查询(2)

一、实验目的 学习SQL语言的定义、操纵功能熟悉通过SQL语言对数据库进行查询操作&#xff0c;包括单表查询、多表查询、嵌套查询、集合查询 二、实验软件 MySQL三、实验内容和要求 给定四个关联表&#xff0c;其定义和数据加载如下&#xff1a; 学生表 Student create tab…

Cesium中实现图层组

图层组 某天领导找我&#xff0c;说业务中可能存在多个影像服务为一个图层组&#xff0c;并且需要同时加载和同时在图层列表中上下移动的需求。 例如一些专题地图&#xff0c;包含所有学校、医院、公交站等图层&#xff0c;而这些图层都是单独发布的。 在 Cesium 中确实存在…

前端与嵌入式开发通信之QWebChannel(Qt)

前端与嵌入式开发通信之QWebChannel 最近开发中需要用到和c开发的操作台进行通信的的需求&#xff0c;就找到了这个技术&#xff0c;记录一下 首先需要安装导入 qwebchannel npm i qwebchannel import { QWebChannel } from "qwebchannel"; 初始化qwebchannel并封…

myeclipse开发ssm框架项目图书管理系统 mysql数据库web计算机毕业设计项目

摘 要 随着计算机的广泛应用&#xff0c;其逐步成为现代化的标志。图书馆的信息量也会越来越大&#xff0c;因此需要对图书信息、借书信息、还书信息等进行管理&#xff0c;及时了解各个环节中信息的变更&#xff0c;要对因此而产生的单据进行及时的处理&#xff0c;为了提高高…

智充科技营收增速放缓:经营成本飙升,应收账款大幅增长

《港湾商业观察》黄懿 6月10日&#xff0c; XCHG Limited 智能充电有限公司(下称&#xff1a;智充科技)在美国证监会(SEC)更新招股书&#xff0c;拟在美国纳斯达克上市&#xff0c;其股票代码为“XCH”。北京智充科技有限公司为其国内运营主体&#xff08;下称“北京智充科技”…

Linux-shell编程入门基础

文章目录 前言Shell编程bash特性shell作用域变量环境变量$特殊变量$特殊状态变量 $特殊符号(很重要)其他内置shell命令shell语法的子串截取统计 指令执行时间练习shell特殊扩展变量父子shell的理解内置和外置命令区别 数值计算双括号(())运算letexprexpr模式匹配 bcawk中括号 s…

数据结构(Java):Stack相关OJ习题

1、括号匹配问题 . - 力扣&#xff08;LeetCode&#xff09; 1.1 思路分析 根据栈的先进后出原则&#xff0c;我们可以这样解决问题&#xff1a; 遍历字符串&#xff0c;遇见左括号就将左括号push入栈&#xff1b;遇见右括号就pop出栈&#xff0c;将出栈的元素和该右括号比较…

最简单的vue3组件之间传值

localStorage 是 HTML5 引入的一个 Web Storage API 的一部分&#xff0c;它允许网页在用户的浏览器上存储数据。localStorage 提供了一种持久化的本地存储方案&#xff0c;数据不会因为浏览器关闭而丢失&#xff0c;除非用户或脚本显式地删除它们。 localStorage 是一种非常实…

批量提取网页表格内容至excel文件

问题背景 将网页的表格内容&#xff08;5237个股票信息&#xff09;复制粘贴到excel文件中 网址&#xff1a;A股上市公司名单-A股上市公司名录-A股上市公司大全-商业计划书-可研报告-中商产业研究院数据库-中商情报网 实现代码 # 导入包 import pandas as pd import time# 创…

超越传统:3D生物打印如何利用扩散创造奇迹?

超越传统&#xff1a;3D生物打印如何利用扩散创造奇迹&#xff1f; 组织工程和再生医学领域迫切需要能够模拟人体组织结构和功能的体外模型和组织替代物。然而&#xff0c;传统的体外模型和组织替代物往往难以满足高度特异性、复杂性和功能性的要求。3D生物打印技术应运而生&a…

Base64文件流查看下载PDF方法-CSDN

问题描述 数票通等接口返回的PDF类型发票是以Base64文件流的方式返回的&#xff0c;无法直接查看预览PDF发票&#xff0c; 处理方法 使用第三方在线工具&#xff1a;https://www.jyshare.com/front-end/61/ 在Html代码框中粘贴如下代码 <embed type"application/pd…

技术开发分享:商品详情APP原数据实时接口代码解析

商品详情app端原数据实时接口代码解析主要包括以下几个步骤&#xff1a; 获取商品ID&#xff1a;首先需要从淘宝的分享链接中提取商品ID&#xff0c;可以通过正则表达式匹配的方式获取。 构建请求URL&#xff1a;根据商品ID构建请求URL&#xff0c;通常包括淘宝的商品详情API地…

未来互联网的新篇章:深度解析Web3技术

随着技术的不断演进&#xff0c;Web3正逐渐成为引领未来互联网发展的关键驱动力。本文将深入探讨Web3技术的核心概念、关键特征以及其对未来互联网生态的深远影响&#xff0c;旨在帮助读者全面理解和把握这一新兴技术的发展方向和潜力。 1. Web3的基本概念和演进 Web3并非简单…

为什么键盘上F和J这两个键有两个凸起的横线呢?

不知道小伙伴们有没有注意过&#xff0c;我们常用的电脑键盘上&#xff0c;为什么F和J这两个键总是有两个凸起的横线的呢&#xff1f; 首先&#xff0c;让我们来回顾一下这位陪伴我们多年的老朋友——键盘。从最初的打字机到现在的机械键盘、薄膜键盘&#xff0c;键盘的形态和…

新书速览|Vue.js 3.x+Express全栈开发:从0到1打造商城项目

《Vue.js 3.xExpress全栈开发&#xff1a;从0到1打造商城项目》 1 本书内容 《Vue.js 3.xExpress全栈开发 : 从0到1打造商城项目》是一本详尽的全栈开发教程&#xff0c;旨在通过Vue.js和Express框架引导读者从零开始构建一个完整的电商项目。内容覆盖电商项目的基本结构&…

C++——map和set类用法指南

一、前言 1.1 关联式容器 关联式容器也是用来存储数据的&#xff0c;与序列式容器不同的是&#xff0c;其里面存储的是<key,value>结构的键值对&#xff0c;在数据检索时比序列式容器效率更高。 1.2 键值对 用来表示具有一一对应关系的一种结构&#xff0c;该结构中一般…

Redis如何高效实现定时任务

写在文章开头 redis通过单线程结合非阻塞事件轮询机制实现高效的网络IO和时间事件处理&#xff0c;这篇文章我们将从源码的角度深入分析一下redis时间事件的设计与实现。 Hi&#xff0c;我是 sharkChili &#xff0c;是个不断在硬核技术上作死的 java coder &#xff0c;是 CS…