【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 文件

java 复制代码
-- root用户登录,编辑 /etc/sudoers 文件
[root@langtest ~]# vi /etc/sudoers


-- 末行加入
-- NOPASSWD:ALL 表示切换到时候不需要输入密码
oracle ALL=(ALL) NOPASSWD:ALL


-- 然后 :wq! 保存退出

3、查看修改结果

java 复制代码
 -- 系统的硬件架构
[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、域名主机名映射

java 复制代码
-- 域名--主机名 映射
[oracle@langtest ~]$ vi /etc/hosts

-- 末行增加
10.10.10.164   langtest

2、主机名

java 复制代码
-- 修改主机名
[oracle@langtest ~]$ vi /etc/hostname

-- 增加
langtest

⛳ 2.3 关闭selinux

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

java 复制代码
[oracle@langtest ~]$ vi /etc/selinux/config

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


拓展:防火墙有关命令

java 复制代码
-- 关闭防火墙
[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端口开放

java 复制代码
-- 设置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 系统相关配置检查

java 复制代码
-- 查看磁盘占用的空间
[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

java 复制代码
[root@langtest ~]# vi /etc/fstab

-- 文本末添加内容
tmpfs	/dev/shm	tmpfs   defaults size=4096M	  0 0
java 复制代码
-- 重新挂载/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 4 2.6.9 or later
On Oracle Linux 5 Update 5 2.6.32-100.0.19 or later
On Oracle Linux 5 Update 2 2.6.18 or later (with Red Hat Compatible Kernel)
On Oracle Linux 6 2.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、创建挂载镜像文件目录

java 复制代码
-- 创建镜像文件挂载目录/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文件

java 复制代码
-- 挂载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、开机自动挂载本地镜像文件

java 复制代码
-- 设置开机自动挂载本地镜像文件
[root@langtest ~]# vi /etc/fstab


-- 末行添加内容
/usr/local/src/rhel-server-7.9-x86_64-dvd.iso    /mnt/dvd    iso9660   loop    0    0

5、查看挂载情况

java 复制代码
[root@langtest ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root
                       99G   38G   57G  40% /
tmpfs                 2.0T   28K  2.0T   1% /dev/shm
/dev/sda1             190M   33M  147M  19% /boot
/dev/mapper/vg_root-lv_oracle
                       99G   56G   39G  59% /u01
/dev/mapper/vg_root-lv_backup
                       99G   69G   26G  74% /backup
/dev/mapper/vg_root-lv_onlbak
                       99G  2.4G   91G   3% /onlbak
/dev/mapper/vg_root-lv_test
                       99G   41G   54G  43% /oracle
/dev/mapper/vg_faredata-lv_faredata
                      776G  553G  184G  76% /fare_data
/dev/mapper/vg_rptbak-lv_rptbak
                      739G  343G  358G  49% /rptbak
/dev/mapper/vg_oradata-lv_oradata
                      792G  717G   35G  96% /oradata
/dev/mapper/vg_oradata02-lv_oradata02
                      970G  131G  790G  15% /oradata02
/dev/mapper/vg_amrbak-lv_amrbak
                      650G  3.6G  613G   1% /amrbak
/dev/mapper/vg_postgres-lv_postgres
                       99G  403M   93G   1% /postgres
/usr/local/src/rhel-server-7.9-x86_64-dvd.iso
                      4.3G  4.3G     0 100% /mnt/dvd
[root@langtest ~]# 
2.6.2 🍁 备份yum源文件
java 复制代码
[root@langtest ~]# cd /etc/yum.repos.d/
[root@langtest ~]# more redhat.repo
java 复制代码
-- 备份yum源文件
[root@langtest yum.repos.d]# cp redhat.repo redhat.repo-bak
2.6.3🍁 本地yum源配置

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

java 复制代码
[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、增加如下内容

java 复制代码
[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缓存

java 复制代码
###清除yum缓存
[root@langtest ~]# yum clean all

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

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

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

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

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

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

java 复制代码
-- 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、安装有关依赖

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

拓展:

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

java 复制代码
[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、有关依赖包再次检查

java 复制代码
-- 有关依赖包再次检查
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 文件

java 复制代码
-- 备份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 文件配置生效

java 复制代码
-- 使 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

java 复制代码
[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

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

java 复制代码
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生效

java 复制代码
-- 使内核参数文件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是操作系统级别对每个用户创建进程数的限制.

java 复制代码
-- 设置每个用户创建进程最大数为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、查看所有用户创建的进程数,使用命令:

java 复制代码
[root@langtest ~]# ps h -Led -o user | sort | uniq -c | sort -n
      1 ntp
      2 postfix
      7 zabbix
     12 postgres
     28 mysql
    412 oracle
   4216 root
[root@langtest ~]# 

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

java 复制代码
[root@langtest ~]# ps -o nlwp,pid,lwp,args -u root | sort -n
 1    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 创建用户组

java 复制代码
-- 创建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 ~]$

拓展:

java 复制代码
-- 删除用户组
[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用户和设置密码

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

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

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

-- 检查创建的oracle用户

java 复制代码
[oracle@langtest ~]$ id
uid=600(oracle) gid=600(dba) groups=600(dba),601(oinstall)
[oracle@langtest ~]$ 

⛳ 3.3 创建安装目录

java 复制代码
-- 创建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用户环境变量

java 复制代码
-- 切换至oracle用户,编辑 profile19c 文件
[oracle@langtest ~]$ vi profile19c


-- 增加如下内容

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export 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

使配置文件生效:

java 复制代码
-- 使环境变量生效
[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、创建安装文件目录

java 复制代码
-- 创建安装文件所在目录
[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安装包

java 复制代码
[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安装文件所在目录的用户组

java 复制代码
[root@langtest ~]# chown -R oracle:dba /u01/app/oracle/product/19.3/db_1
[root@langtest ~]# 

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

java 复制代码
[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/ 目录下

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

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

java 复制代码
-- 备份安装响应文件
[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文件

java 复制代码
-- 编辑 安装响应文件
[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

java 复制代码
[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、执行安装

java 复制代码
[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 登录报如下错误

java 复制代码
-- 登录的时候报这个错误
-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]# locale


2、如果你已经删除了编译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用户执行

java 复制代码
[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配置监听

java 复制代码
[oracle@langtest netca]$ netca /silent /responseFile /u01/app/oracle/product/19.3/db_1/assistants/netca/netca.rsp 

Parsing command line arguments:
    Parameter "silent" = true
    Parameter "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 LISTENER
    Listener 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

java 复制代码
[oracle@langtest admin]$ vi listener.ora

LISTENER =
  (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、监听状态查看

java 复制代码
[oracle@langtest admin]$ lsnrctl  status

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 10-JUL-2024 09:35:57

Copyright (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、监听停止

java 复制代码
[oracle@langtest admin]$ lsnrctl  stop

3、监听开启

java 复制代码
[oracle@langtest admin]$ lsnrctl  start

4、重新启动监听

java 复制代码
[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

java 复制代码
[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、备份实例响应文件

java 复制代码
[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(这里和安装规划时保持一致)

java 复制代码
[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文件,建库&建立实例

java 复制代码
[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

最终创建实例的命令:

java 复制代码
[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 连接数据库

sql 复制代码
[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 sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jul 11 02:32:13 2024
Version 19.3.0.0.0

Copyright (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.0

SQL> show user;
USER is "SYS"
SQL> 

⛳ 5.2 启动或关闭数据库

sql 复制代码
[oracle@langtest ~]$ source /home/oracle/profile19c 
[oracle@langtest ~]$ export ORACLE_SID=orcl
[oracle@langtest ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jul 11 02:33:25 2024
Version 19.3.0.0.0

Copyright (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.0

SQL> 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 查看监听状态

java 复制代码
-- 停监听
[oracle@langtest ~]$ lsnrctl stop


-- 启动监听
[oracle@langtest ~]$ lsnrctl start


-- 监听状态
[oracle@langtest ~]$ lsnrctl status

⛳ 5.4 查看数据库版本

sql 复制代码
[oracle@langtest ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jul 11 02:45:05 2024
Version 19.3.0.0.0

Copyright (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.0

SQL> 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                    0


SQL> 

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

sql 复制代码
SQL> select instance_name,status,VERSION from v$instance;

INSTANCE_NAME    STATUS       VERSION
---------------- ------------ -----------------
orcl             OPEN         19.0.0.0.0

SQL> 

⛳ 5.6 查看所有用户

sql 复制代码
-- 检索用户信息。可检索系统用户(SystemUser)、外部用户(ExternalUser)、和内部用户(CommonUser)的所有信息
SQL> select * from dba_users;

-- 可以通过该功能来获取全部数据库用户的信息,查出被授权的所有Oracle用户的角色,账户名等信息。
SQL> select * from all_users;


-- 描述当前用户下所有用户信息的视图
SQL> select * from user_users;

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

sql 复制代码
SQL> select * from dba_sys_privs;

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

sql 复制代码
SQL> select * from user_sys_privs;

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

sql 复制代码
sql> select * from role_sys_privs;

⛳ 5.10 查看所有角色

sql 复制代码
sql> select * from dba_roles;

⛳ 5.11 查看用户对象权限

sql 复制代码
sql> select * from user_tab_privs;
sql> select * from dba_tab_privs;
sql> select * from all_tab_privs;

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

sql 复制代码
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 YES

SQL> 

⛳ 5.12 创建用户

sql 复制代码
SQL> create user cmdb identified by "CMDB^Pw8";

⛳ 5.13 授权

sql 复制代码
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 复制代码
SQL> revoke select, insert, update, delete on apm.table178 to cmdb;
相关推荐
F-2H5 分钟前
C语言:指针4(常量指针和指针常量及动态内存分配)
java·linux·c语言·开发语言·前端·c++
aherhuo8 分钟前
基于openEuler22.09部署OpenStack Yoga云平台(一)
linux·运维·服务器·openstack
Minxinbb10 分钟前
MySQL中Performance Schema库的详解(上)
数据库·mysql·dba
檀越剑指大厂35 分钟前
【Linux系列】Shell 脚本中的条件判断:`[ ]`与`[[ ]]`的比较
linux·运维·服务器
mmsx1 小时前
android sqlite 数据库简单封装示例(java)
android·java·数据库
zpjing~.~2 小时前
Mongo 分页判断是否有下一页
数据库
2401_857600952 小时前
技术与教育的融合:构建现代成绩管理系统
数据库·oracle
2301_819287123 小时前
ce第六次作业
linux·运维·服务器·网络
秋恬意3 小时前
Mybatis能执行一对一、一对多的关联查询吗?都有哪些实现方式,以及它们之间的区别
java·数据库·mybatis
武汉联从信息3 小时前
如何使用linux日志管理工具来管理oracle osb服务器日志文件?
linux·运维·服务器