Linux安装Oracle数据库

2023-05-16

Linux安装Oracle数据库


文章目录

  • Linux安装Oracle数据库
    • 0. 写在前面
    • 1. Oracle 数据库
      • 1.1 简介
      • 1.2 Oracle 与 MySQL 的SQL 区别
    • 2. 前置准备
      • 2.1 安装依赖包
      • 2.2 配置用户组
      • 2.3 上传安装包并解压
      • 2.4 修改配置文件 sysctl.conf
      • 2.5 修改配置文件 limits.conf
      • 2.6 设置环境变量
    • 3. Linux最小化环境安装Oracle(静默安装)
      • 3.1 备份db_install.rsp
      • 3.2 修改db_install.rsp
      • 3.3 执行安装
      • 3.4 验证是否安装正确
      • 3.5 设置Oracle 监听
      • 3.6 静默创建数据库
      • 3.7 验证
    • 4. 进入虚拟机图像化页面安装Oracle软件
    • 5. 创建数据库实例
      • 5.1 查看监听状态
      • 5.2. 创建一个普通用户并授权
      • 5.3 创建表
    • 6. 参考


0. 写在前面

  • Linux版本:CentOS7.5
  • Oracle版本:Oracle19c

oracle19c其实就是属于12g版本的

  • 至少预留10G的存储空间
[root@node01 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
devtmpfs        1.9G     0  1.9G    0% /dev
tmpfs           1.9G     0  1.9G    0% /dev/shm
tmpfs           1.9G   12M  1.9G    1% /run
tmpfs           1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda3        47G   31G   14G   70% /
/dev/sda1       976M  142M  768M   16% /boot
tmpfs           378M     0  378M    0% /run/user/1000
  • Oracle 软件的最小本地磁盘存储空间
  • 对于 Linux x86-64: 对于独立服务器安装的 Oracle 网格基础设施,至少为 6.5 GB。 Oracle Database Enterprise Edition 至少为 7.2 GB。 Oracle 数据库标准版 2 至少为 7.2 GB。
  • 对于 IBM:System z 上的 Linux: 对于独立服务器安装的 Oracle 网格基础架构,至少为 5.5 GB。 Oracle Database Enterprise Edition 至少为 5.9 GB。 Oracle 数据库标准版 2 至少为 5.9 GB。
  • 注意:Oracle 建议您分配大约 100 GB,以便在现有 Oracle 主目录之上留出额外的空间来应用任何未来的修补程序。有关与修补程序相关的特定磁盘空间要求,请参阅修补程序文档。

经过个人最终的实验,建议虚拟机所在的磁盘剩余空间要大于等于30G,再不济,至少20G,低于20G就得考虑扩容。

  • 官网下载地址

https://www.oracle.com/cn/database/technologies/oracle-database-software-downloads.html

  • 阿里云镜像

https://mirrors.aliyun.com/oracle/

  • SELinux和防火墙

关闭SELinux(SELINUX=disabled)和防火墙「Active: inactive (dead)」

[whybigdata@node01 ~]$ cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
#SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted


[whybigdata@node01 ~]$ systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
  • 关于版本选择与支持问题可以参考下方链接

https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/additional-drivers-and-software-packages-for-linux.html

1. Oracle 数据库

1.1 简介

Oracle Database,又名 Oracle RDBMS,或简称 Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说 Oracle 数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库解决方案。

1.2 Oracle 与 MySQL 的SQL 区别

类型OracleMySQL
整型number(N)/integerint/integer
浮点型floatfloat/double
字符串类型varchar2(N)varchar(N)
NULL‘’null 和’'不一样
分页rownumlimit
""限制很多,一般不让用与单引号一样
价格闭源,收费开源,免费
主键自动增长×
if not exists×
auto_increment×
create database×
select * from table as t×

2. 前置准备

2.1 安装依赖包

  • yum源安装
yum install -y bc binutils  compat-libcap1  compat-libstdc++33  elfutils-libelf  elfutils-libelf-devel  fontconfig-devel  glibc  glibc-devel  ksh  libaio  libaio-devel  libX11  libXau  libXi  libXtst  libXrender  libXrender-devel  libgcc  libstdc++  libstdc++-devel  libxcb  make  smartmontools  sysstat  kmod*  gcc-c++  compat-libstdc++-33
  • 检查安装结果:
rpm -qa bc binutils  compat-libcap1  compat-libstdc++33  elfutils-libelf  elfutils-libelf-devel  fontconfig-devel  glibc  glibc-devel  ksh  libaio  libaio-devel  libX11  libXau  libXi  libXtst  libXrender  libXrender-devel  libgcc  libstdc++  libstdc++-devel  libxcb  make  smartmontools  sysstat  kmod*  gcc-c++  compat-libstdc++-33

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LpMYH0Xx-1675306617404)(./0.jpeg)]

如果compat-libstdc++-33在本地镜像没有,那么需要在线安装或先下载rpm包之后在单独安装

rpm –ivh compat-libstdc++-33-3.2.3-72.el7.x86_64

2.2 配置用户组

Oracle 安装文件不允许通过 root 用户启动,需要为oracle 配置一个专门的用户。此处创建一个名为oracle的用户

  • 创建 sql 用户组
[root@node01 software]#groupadd sql
  • 创建 oracle 用户并放入 sql 组中
[root@node01 software]#useradd oracle -g sql
  • 修改 oracle 用户登录密码,输入密码后即可使用oracle 用户登录系统(密码设置为123456)
[root@node01 software]#passwd oracle

2.3 上传安装包并解压

注意:Oracle19c 需要把软件包直接解压到ORACLE_HOME 的目录下

  • 进入存放Oracle的zip包的目录,解压到指定目录(安装目录)

Note:安装目录需要提前创建,因为解压zip包后的文件是分散的

[root@node01 software]# mkdir -p /home/oracle/app/oracle/product/19.3.0/dbhome_1 
[root@node01 software]# unzip LINUX.X64_193000_db_home.zip -d
/home/oracle/app/oracle/product/19.3.0/dbhome_1
  • 修改所属用户和组(不要在oracle用户下修改,不成功)
[root@node01 dbhome_1]# chown -R oracle:sql /home/oracle/app/

2.4 修改配置文件 sysctl.conf

[root@node01 module]# vim /etc/sysctl.conf

删除或者注释里面的内容,并添加如下内容:

net.ipv4.ip_local_port_range = 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128 
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576

参数解析:

  • net.ipv4.ip_local_port_range :可使用的 IPv4 端口范围
  • fs.file-max :该参数表示文件句柄的最大数量。文件句柄设置表示在 linux 系统中可以打开的文件数量。
  • kernel.shmall :该参数表示系统一次可以使用的共享内存总量(以页为单位)
  • kernel.shmmax :该参数定义了共享内存段的最大尺寸(以字节为单位)
  • kernel.shmmni :这个内核参数用于设置系统范围内共享内存段的最大数量
  • kernel.sem : 该参数表示设置的信号量。
  • net.core.rmem_default:默认的TCP 数据接收窗口大小(字节)。
  • net.core.wmem_default:默认的TCP 数据发送窗口大小(字节)。
  • net.core.rmem_max:最大的 TCP 数据接收窗口(字节)。
  • net.core.wmem_max:最大的 TCP 数据发送窗口(字节)。
  • fs.aio-max-nr :同时可以拥有的的异步 IO 请求数目。

2.5 修改配置文件 limits.conf

 [root@node01 module]# vim /etc/security/limits.conf

在文件末尾添加:(使用oracle用户)

oracle soft nproc 2047 
oracle hard nproc 16384 
oracle soft nofile 1024 
oracle hard nofile 65536

2.6 设置环境变量

oracle用户下新建.bash_profile文件

[oracle@node01 dbhome_1]# vim /home/oracle/.bash_profile

添加如下内容:

#ORACLE_HOME
export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=/home/oracle/app/oracle/product/19.3.0/dbhome_1 export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=orcl
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

使环境变量生效

[oracle@node01 ~]$ source /home/oracle/.bash_profile

3. Linux最小化环境安装Oracle(静默安装)

3.1 备份db_install.rsp

进入oracle安装目录下的install/response目录,提前备份一份db_install.rsp

[oracle@node01 response]$ cd $ORACLE_HOME/install/response
[oracle@node01 response]$ ll
总用量 20
-rw-r--r-- 1 oracle sql 19932 26 2019 db_install.rsp
[oracle@node01 response]$ cp db_install.rsp db_install.rsp.bak
[oracle@node01 response]$ ll
总用量 40
-rw-r--r-- 1 oracle sql 19932 26 2019 db_install.rsp
-rw-r--r-- 1 oracle sql 19932 110 19:10 db_install.rsp.bak

3.2 修改db_install.rsp

修改db_install.rsp文件

[oracle@node01 response]$ vim db_install.rsp

UNIX_GROUP_NAME=sql
INVENTORY_LOCATION=/home/oracle/app/oraInventory
ORACLE_HOME=/home/oracle/app/oracle/product/19.3.0/dbhome_1
ORACLE_BASE=/home/oracle/app/oracle/
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
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.OSDBA_GROUP=dba

为数据库安装创建 OSDBA 组

每个 Oracle 数据库都需要将操作系统组指定为 OSDBA 组。此组的成员被授予管理数据库的 SYSDBA 系统特权。

在以下情况下,您必须创建 OSDBA 组:

  • OSDBA 组不存在,例如,如果这是系统上首次安装 Oracle 数据库软件
  • 存在 OSDBA 组,但您希望为新的 Oracle 数据库安装授予另一组操作系统用户的数据库管理权限

使用组名创建 OSDBA 组,除非已存在具有该名称的组:dba

  • oracle.install.db.OSOPER_GROUP=oper

为数据库安装创建 OSOPER 组

仅当要标识具有一组有限数据库管理权限(SYSOPER 操作员权限)的操作系统用户组时,才创建 OSOPER 组。

对于大多数安装,仅创建 OSDBA 组就足够了。但是,要使用 OSOPER 组,请在以下情况下创建它:

  • 如果 OSOPER 组不存在;例如,如果这是首次在系统上安装 Oracle 数据库软件
  • 如果存在 OSOPER 组,但您希望在新的 Oracle 安装中为不同的操作系统用户组授予数据库操作员权限

如果 OSOPER 组不存在,或者需要新的 OSOPER 组,请创建它。使用组名称,除非已存在具有该名称的组。例如:oper

  • oracle.install.db.OSBACKUPDBA_GROUP=backupdba

为数据库安装创建 OSBACKUPDBA 组

在安装过程中,必须将一个组指定为 OSBACKUPDBA 组。此组的成员被授予使用 RMAN 或 SQL*Plus 执行备份和恢复操作的 SYSBACKUP 权限。

使用组名创建 OSBACKUPDBA 组,除非已存在具有该名称的组:backupdba

  • oracle.install.db.OSDGDBA_GROUP=dgdba

创建用于数据库安装的 OSDGDBA 组

您必须在以下期间将组指定为 OSDGDBA 组 安装。此组的成员被授予 SYSDG 权限 以执行数据卫士操作。

使用组名称创建 OSDGDBA 组,除非已存在具有该名称的组:dgdba,

  • oracle.install.db.OSKMDBA_GROUP=kmdba

为数据库安装创建 OSKMDBA 组

在安装过程中,必须将一个组指定为 OSKMDBA 组。此组的成员被授予执行透明数据加密密钥库操作的 SYSKM 特权。

如果需要用于透明数据加密的单独组,请使用组名称创建 OSKMDBA 组,除非已存在具有该名称的组:kmdba

  • oracle.install.db.OSRACDBA_GROUP=racdba

为数据库安装创建 OSRACDBA 组

在数据库安装过程中,必须将一个组指定为 OSRACDBA 组。此组的成员被授予 SYSRAC 权限,以在 Oracle RAC 集群上执行 Oracle 数据库的日常管理。

使用组名称创建 OSRACDBA 组,除非已存在具有该名称的组:racdba

3.3 执行安装

进入oracle安装目录

[oracle@node01 dbhome_1]$ ./runInstaller -silent -responseFile /home/oracle/app/oracle/product/19.3.0/dbhome_1/install/response/db_install.rsp
正在启动 Oracle 数据库安装向导...

[FATAL] [INS-32031] 产品清单位置无效。
   操作: 指定有效的产品清单位置。
[FATAL] [INS-32033] 主产品清单位置不可写。
   操作: 请确保产品清单位置可以写入。
已将安装会话日志移动到:
 /home/oracle/app/oraInventory/logs/InstallActions2023-01-10_09-31-27PM

出现Error,查看日志:/tmp

[oracle@node01 ~]$ cd /tmp/InstallActions2023-01-10_09-31-27PM
[oracle@node01 InstallActions2023-01-10_09-31-27PM]$ ll
总用量 612
drwxr-xr-x 3 oracle sql   4096 1月  10 21:31 CVU_19.0.0.0.0_oracle
-rw-r--r-- 1 oracle sql      0 1月  10 21:31 installActions2023-01-10_09-31-27PM.err
-rw-r--r-- 1 oracle sql  49671 1月  10 21:31 installActions2023-01-10_09-31-27PM.log
-rw-r--r-- 1 oracle sql 558102 1月  10 21:31 installActions2023-01-10_09-31-27PM.out
-rw-r--r-- 1 oracle sql    138 1月  10 21:31 installerPatchActions_2023-01-10_09-31-27PM.log
-rw-r--r-- 1 oracle sql   4072 1月  10 21:31 time2023-01-10_09-31-27PM.log

[oracle@node01 InstallActions2023-01-10_09-31-27PM]$ tail -20 installActions2023-01-10_09-31-27PM.log

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tGAwoOsi-1675306617405)(1.png)]

[root@node01 app]# mkdir oraInventory
[root@node01 app]# chown -R oracle:sql ./oraInventory/

Error2:[FATAL] [INS-35341] 安装用户不是以下组的成员: [dba, backupdba, dgdba, kmdba, racdba]

[oracle@node01 dbhome_1]$ ./runInstaller -silent -responseFile /home/oracle/app/oracle/product/19.3.0/dbhome_1/install/response/db_install.rsp
正在启动 Oracle 数据库安装向导...

[FATAL] [INS-35341] 安装用户不是以下组的成员: [dba, backupdba, dgdba, kmdba, racdba]
   原因: 安装用户帐户必须是安装所需的所有组的成员。
   操作: 确保安装用户是所选系统权限操作系统组的成员。
已将安装会话日志移动到:
 /home/oracle/app/oraInventory/logs/InstallActions2023-01-10_09-57-38PM
 
[root@node01 ~]# id oracle
uid=1001(oracle) gid=1001(sql) 组=1001(sql)

查看所有用户组:cat /etc/group

[root@node01 ~]# cat /etc/group | grep sql
mysql:x:27:
sql:x:1001:
[root@node01 ~]# cat /etc/group | grep dba
[root@node01 ~]# cat /etc/group | grep backupdba
[root@node01 ~]# cat /etc/group | grep dgdba
[root@node01 ~]# cat /etc/group | grep kmdba
[root@node01 ~]# cat /etc/group | grep racdba
[root@node01 ~]#
  • 解释说明:

关于uid:0 表示管理员(root),1 - 500 表示系统用户,501 - 65535 表示普通用户

mail      :        x      :     12    :    postfix
⬇	             ⬇            ⬇          ⬇
Group(用户组)     用户组口令        GID    该用户组包含的用户(user)
  • 新增组:dba、oper、backupdba、dgdba、kmdba、racdba
  • 增加dba、oper用户到sql组
# 查看用户
[root@node01 ~]# groups oracle
oracle : sql
[root@node01 ~]# useradd dba -g sql
[root@node01 ~]# useradd oper -g sql


[root@node01 ~]# groupadd dba
[root@node01 ~]# groupadd oper
[root@node01 ~]# groupadd backupdba
[root@node01 ~]# groupadd dgdba
[root@node01 ~]# groupadd kmdba
[root@node01 ~]# groupadd racdba

[root@node01 ~]# cat /etc/group | grep dba
dba:x:1002:
backupdba:x:1004:
dgdba:x:1005:
kmdba:x:1006:
racdba:x:1007:

[root@node01 ~]# id oracle
uid=1001(oracle) gid=1001(sql)=1001(sql)
[root@node01 ~]# id dba
uid=1002(dba) gid=1001(sql)=1001(sql)
[root@node01 ~]# id oper
uid=1003(oper) gid=1001(sql)=1001(sql)

# 查看用户
[root@node01 ~]# groups dba
dba : sql
[root@node01 ~]# groups oper
oper : sql

# 将oracle用户添加到创建的用户组dba、oper、backupdba、dgdba、kmdba、racdba中
[root@node01 etc]# id oracle
uid=1001(oracle) gid=1001(sql)=1001(sql)
[root@node01 etc]#
[root@node01 etc]# usermod -G dba,oper,backupdba,dgdba,kmdba,racdba oracle
[root@node01 etc]# id oracle
uid=1001(oracle) gid=1001(sql)=1001(sql),1002(dba),1003(oper),1004(backupdba),1005(dgdba),1006(kmdba),1007(racdba)

Note:usermod的option-G-g的区别,useraddusermod的区别

# 强制使用 group_name 为新主组(-g)
usermod -g group_name user_name

# useradd是新建一个用户【oracle】并将其添加到sql用户组中,如下所示:
[root@node01 ~]# useradd oracle -g sql

# 当然,这个方法也应该是可以实现【将oracle用户添加到创建的用户组dba、oper、backupdba、dgdba、kmdba、racdba中】
[root@node01 ~]# useradd oracle -g sql -G dba backupdba dgdba kmdba racdba

Error3:[FATAL] [INS-35341] 安装用户不是以下组的成员: [dba, backupdba, dgdba, kmdba, racdba]

[oracle@node01 dbhome_1]$ ./runInstaller -silent -responseFile /home/oracle/app/oracle/product/19.3.0/dbhome_1/install/response/db_install.rsp
正在启动 Oracle 数据库安装向导...

[WARNING] [INS-32047] 为主产品清单指定的位置 (/home/oracle/app/oraInventory) 不为空。
   操作: 建议为产品清单提供空位置。
[FATAL] [INS-35341] 安装用户不是以下组的成员: [dba, backupdba, dgdba, kmdba, racdba]
   原因: 安装用户帐户必须是安装所需的所有组的成员。
   操作: 确保安装用户是所选系统权限操作系统组的成员。
已将安装会话日志移动到:
 /home/oracle/app/oraInventory/logs/InstallActions2023-01-11_06-04-43PM

还是与Error2一样,当前会话需要断开重连

[oracle@node01 ~]$ id
uid=1001(oracle) gid=1001(sql)=1001(sql)

[oracle@node01 dbhome_1]$ id oracle
uid=1001(oracle) gid=1001(sql)=1001(sql),1002(dba),1003(oper),1004(backupdba),1005(dgdba),1006(kmdba),1007(racdba)

# 断开当前会话重连node01
[oracle@node01 ~]$ id
uid=1001(oracle) gid=1001(sql)=1001(sql),1002(dba),1003(oper),1004(backupdba),1005(dgdba),1006(kmdba),1007(racdba)

Error4:

[oracle@node01 dbhome_1]$ ./runInstaller -silent -responseFile /home/oracle/app/oracle/product/19.3.0/dbhome_1/install/response/db_install.rsp
正在启动 Oracle 数据库安装向导...

[WARNING] [INS-32047] 为主产品清单指定的位置 (/home/oracle/app/oraInventory) 不为空。
   操作: 建议为产品清单提供空位置。
[WARNING] [INS-13014] 目标环境不满足一些可选要求。
   原因: 不满足一些可选的先决条件。有关详细信息, 请查看日志。installActions2023-01-11_08-36-29PM.log
   操作: 从日志 installActions2023-01-11_08-36-29PM.log 中确定失败的先决条件检查列表。然后, 从日志文件或安装手册中查找满足这些先决条件的适当配置, 并手动进行修复。
可以在以下位置找到此会话的响应文件:
 /home/oracle/app/oracle/product/19.3.0/dbhome_1/install/response/db_2023-01-11_08-36-29PM.rsp

可以在以下位置找到本次安装会话的日志:
 /tmp/InstallActions2023-01-11_08-36-29PM/installActions2023-01-11_08-36-29PM.log
^[

^C[FATAL] 调用 makefile '/home/oracle/app/oracle/product/19.3.0/dbhome_1/ldap/lib/ins_ldap.mk' 的目标 'clientonlyinstall' 时出错。有关详细信息, 请参阅 '/tmp/InstallActions2023-01-11_08-36-29PM/installActions2023-01-11_08-36-29PM.log'

Error5:

[oracle@node01 dbhome_1]$ ./runInstaller -silent -responseFile /home/oracle/app/oracle/product/19.3.0/dbhome_1/install/response/db_install.rsp
正在启动 Oracle 数据库安装向导...

[FATAL] [INS-32035] 为主产品清单指定的位置 (/home/oracle/app/oraInventory) 不为空。
   原因: 指定的主产品清单位置由其他安装会话锁定, 或者指定的位置没有日志写入权限。
   操作: 为产品清单指定空位置。
已将安装会话日志移动到:
 /home/oracle/app/oraInventory/logs/InstallActions2023-01-11_08-43-04PM

[oracle@node01 dbhome_1]$ ./runInstaller -silent -responseFile /home/oracle/app/oracle/product/19.3.0/dbhome_1/install/response/db_install.rsp
正在启动 Oracle 数据库安装向导...

[WARNING] [INS-13014] 目标环境不满足一些可选要求。
   原因: 不满足一些可选的先决条件。有关详细信息, 请查看日志。installActions2023-01-11_09-05-44PM.log
   操作: 从日志 installActions2023-01-11_09-05-44PM.log 中确定失败的先决条件检查列表。然后, 从日志文件或安装手册中查找满足这些先决条件的适当配置, 并手动进行修复。
可以在以下位置找到此会话的响应文件:
 /home/oracle/app/oracle/product/19.3.0/dbhome_1/install/response/db_2023-01-11_09-05-44PM.rsp

可以在以下位置找到本次安装会话的日志:
 /tmp/InstallActions2023-01-11_09-05-44PM/installActions2023-01-11_09-05-44PM.log

以 root 用户的身份执行以下脚本:
        1. /home/oracle/app/oraInventory/orainstRoot.sh
        2. /home/oracle/app/oracle/product/19.3.0/dbhome_1/root.sh

在以下节点上执行/home/oracle/app/oraInventory/orainstRoot.sh:
[node01]
在以下节点上执行/home/oracle/app/oracle/product/19.3.0/dbhome_1/root.sh:
[node01]


Successfully Setup Software with warning(s).
已将安装会话日志移动到:
 /home/oracle/app/oraInventory/logs/InstallActions2023-01-11_09-05-44PM

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5sOWlXV6-1675306617406)(1.jpeg)]

  • 根据上述日志提示完成以下步骤
[root@node01 ~]# /home/oracle/app/oraInventory/orainstRoot.sh
更改权限/home/oracle/app/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。

更改组名/home/oracle/app/oraInventory 到 sql.
脚本的执行已完成。
[root@node01 ~]# /home/oracle/app/oracle/product/19.3.0/dbhome_1/root.sh
Check /home/oracle/app/oracle/product/19.3.0/dbhome_1/install/root_node01_2023-01-11_21-11-18-051196576.log for the output of root script


3.4 验证是否安装正确

命令行输入net,连续按两下Tab键,观察是否有netca,若有则代表Oracle软件安装成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GMOwFa4m-1675306617407)(./2.jpeg)]

3.5 设置Oracle 监听

默认监听端口1521

  • 创建监听
[oracle@node01 ~]$ cd /home/oracle/app/oracle/product/19.3.0/dbhome_1/assistants/netca
[oracle@node01 netca]$ pwd
/home/oracle/app/oracle/product/19.3.0/dbhome_1/assistants/netca
[oracle@node01 netca]$
[oracle@node01 netca]$ netca /silent /responseFile /home/oracle/app/oracle/product/19.3.0/dbhome_1/assistants/netca/netca.rsp

正在对命令行参数进行语法分析:
    参数"silent" = true
    参数"responsefile" = /home/oracle/app/oracle/product/19.3.0/dbhome_1/assistants/netca/netca.rsp
完成对命令行参数进行语法分析。
Oracle Net Services 配置:
完成概要文件配置。
Oracle Net 监听程序启动:
    正在运行监听程序控制:
      /home/oracle/app/oracle/product/19.3.0/dbhome_1/bin/lsnrctl start LISTENER
   监听程序控制完成。
    监听程序已成功启动。
监听程序配置完成。
成功完成 Oracle Net Services 配置。退出代码是0

要在响应文件模式下运行 Oracle DBCA,请执行以下操作

Warnning:修改响应文件模板并保存文件以供使用时,响应文件可能包含纯文本密码。响应文件的所有权应仅授予 Oracle 软件安装所有者,并且响应文件的权限应更改为 600。Oracle 强烈建议数据库管理员或其他管理员在不使用响应文件时删除或保护它们。

  • 操作如下:

以静默方式创建和配置 Oracle 数据库 使用Oracle DBCA。

[oracle@node01 ~]$ cd /home/oracle/app/oracle/product/19.3.0/dbhome_1/assistants/dbca/
[oracle@node01 dbca]$ ll
总用量 40
-rw-r----- 1 oracle sql 25502 4月   6 2019 dbca.rsp
drwxr-xr-x 2 oracle sql  4096 4月  17 2019 doc
drwxr-xr-x 2 oracle sql  4096 4月  17 2019 jlib
drwxr-xr-x 2 oracle sql  4096 4月  17 2019 template
[oracle@node01 dbca]$ cp dbca.rsp dbca.rsp.bak
[oracle@node01 dbca]$ vim dbca.rsp

Note:如果未正确配置响应文件,那么 Oracle DBCA 将失败。

  • 添加的内容如下:
gdbName=node01gdb
sid=node01gdb
databaseConfigType=SI

templateName=General_Purpose.dbc
sysPassword=123456
systemPassword=123456
emConfiguration=DBEXPRESS
dbsnmpPassword=123456
datafileDestination=/home/oracle/app/oracle/oradata
characterSet=AL32UTF8
totalMemory=1024

totalMemory参数在老版本中默认是800MB

totalMemory:调大内存,一般设置为1.5-2倍的物理内存大小即可

  • 可以通过以下命令检查配置是否正确
[oracle@node01 ~]$ egrep -v "(^#|^$)" /home/oracle/app/oracle/product/19.3.0/dbhome_1/assistants/dbca/dbca.rsp
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0
gdbName=node01gdb
sid=node01gdb
databaseConfigType=SI
RACOneNodeServiceName=
policyManaged=
createServerPool=
serverPoolName=
cardinality=
force=
pqPoolName=
pqCardinality=
createAsContainerDatabase=
numberOfPDBs=
pdbName=
useLocalUndoForPDBs=
pdbAdminPassword=
nodelist=
templateName=General_Purpose.dbc
sysPassword=123456
systemPassword=123456
oracleHomeUserPassword=
emConfiguration=DBEXPRESS
emExpressPort=5500
runCVUChecks=
dbsnmpPassword=123456
omsHost=
omsPort=
emUser=
emPassword=
dvConfiguration=
dvUserName=
dvUserPassword=
dvAccountManagerName=
dvAccountManagerPassword=
olsConfiguration=
datafileJarLocation=
datafileDestination=/home/oracle/app/oracle/oradata
recoveryAreaDestination=
storageType=
diskGroupName=
asmsnmpPassword=
recoveryGroupName=
characterSet=AL32UTF8
nationalCharacterSet=
registerWithDirService=
dirServiceUserName=
dirServicePassword=
walletPassword=
listeners=
variablesFile=
variables=
initParams=
sampleSchema=
memoryPercentage=
databaseType=
automaticMemoryManagement=
totalMemory=1024

创建存储Oracle数据的存储路径/home/oracle/app/oracle/oradata

[oracle@node01 oracle]$ cd /home/oracle/app/oracle
[oracle@node01 oracle]$ pwd
/home/oracle/app/oracle
[oracle@node01 oracle]$ mkdir oradata
[oracle@node01 oracle]$ ll
总用量 20
drwxr-x---  3 oracle sql 4096 111 21:29 cfgtoollogs
drwxr-xr-x  2 oracle sql 4096 111 21:06 checkpoints
drwxrwxr-x 23 oracle sql 4096 111 21:06 diag
drwxr-xr-x  2 oracle sql 4096 111 21:44 oradata
drwxr-xr-x  3 oracle sql 4096 110 18:39 product

3.6 静默创建数据库

DBCA 静默模式命令语法说明

选择描述
-silent指定以静默模式运行 DBCA。-silent在静默模式下,DBCA 使用您指定为命令行选项的值来创建或修改数据库。
command options指定 DBCA 命令和该命令的有效选项。
`-h-help`
  • 使用以下命令语法以静默方式或响应文件方式运行 Oracle DBCA
$ORACLE_HOME/bin/dbca [-silent] -createDatabase -responseFile /local_dir/dbca.rsp 

使用响应文件:

[oracle@node01 dbca]$ dbca -silent -createDatabase -responseFile /home/oracle/app/oracle/product/19.3.0/dbhome_1/assistants/dbca/dbca.rsp
[WARNING] [DBT-06208] 输入的 'SYS(S)' 口令未遵从 Oracle 建议的标准。
   原因:
a. Oracle 建议, 输入的口令长度不应少于 8 个字符, 至少包含 1 个大写字符, 1 个小写字符和 1 个数字 [0-9]。
b. 输入的口令是一个关键字, Oracle 建议不要将其用作口令
   操作: 指定强口令。如果需要, 请参阅 Oracle 文档以了解相关指南。
[WARNING] [DBT-06208] 输入的 'SYSTEM' 口令未遵从 Oracle 建议的标准。
   原因:
a. Oracle 建议, 输入的口令长度不应少于 8 个字符, 至少包含 1 个大写字符, 1 个小写字符和 1 个数字 [0-9]。
b. 输入的口令是一个关键字, Oracle 建议不要将其用作口令
   操作: 指定强口令。如果需要, 请参阅 Oracle 文档以了解相关指南。
准备执行数据库操作
已完成 10%
复制数据库文件
已完成 40%
正在创建并启动 Oracle 实例
已完成 42%
已完成 46%
已完成 50%
已完成 54%
已完成 60%
正在进行数据库创建
已完成 66%
已完成 70%
执行配置后操作
已完成 100%
数据库创建完成。有关详细信息, 请查看以下位置的日志文件:
 /home/oracle/app/oracle/cfgtoollogs/dbca/node01gdb。
数据库信息:
全局数据库名:node01gdb
系统标识符 (SID):node01gdb
有关详细信息, 请参阅日志文件 "/home/oracle/app/oracle/cfgtoollogs/dbca/node01gdb/node01gdb.log"

Note:该步骤考验网络情况,大概10min左右考研完成!

3.7 验证

  • 登录数据库,进入到SQL交互界面即成功!!!

Note:以sqlplus / as sysdba方式登录时,采用的是操作系统验证的方式,所以用户名/密码输入与不输入本质上是没有差别的。

[oracle@node01 dbca]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Wed Jan 11 22:48:20 2023
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> show parameter name;
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0


SQL> 
  • 查询数据库状态
SQL> select status from v$instance;
select status from v$instance
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0


SQL> 

出现Error:ORA-01034: ORACLE not available

  • 执行startup命令,根据提示修复上述Error
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/home/oracle/app/oracle/product/19.3.0/dbhome_1/dbs/initORCL.ora'

根据startup命令的结果提示,我们需要将$ORACLE_BASE/admin/你设置的数据库名称/pfile目录下的init.ora.xxx形式的文件复制到ORACLE_HOME/dbs目录下initORCL.ora(请注意命名)即可

Note:上述「你设置的数据库名称」指的是在bdbca.rsp文件中参数gdbName的值(此处本人的数据库名称为node01gd)

[oracle@node01 pfile]$ cp init.ora.0112023223752 $ORACLE_HOME/dbs/initORCL.ora
[oracle@node01 pfile]$ ll $ORACLE_HOME/dbs
总用量 28
-rw-rw---- 1 oracle sql 1544 111 22:40 hc_node01gdb.dat
-rw-r--r-- 1 oracle sql 3079 514 2015 init.ora
-rw-r----- 1 oracle sql 2052 112 19:48 initORCL.ora
-rw-r----- 1 oracle sql   24 111 22:30 lkHADOOP10
-rw-r----- 1 oracle sql   24 111 22:29 lknode01GDB
-rw-r----- 1 oracle sql 2048 111 22:31 orapwnode01gdb
-rw-r----- 1 oracle sql 3584 111 22:42 spfilenode01gdb.ora
  • 再次执行startup命令,出现同样的错误

查看$ORACLE_BASE/dbs/init.ora文件中db_name的参数值和环境变量(.bash_profile)中ORACLE_SID的参数值是否一致「注意大小写」

  • 本人确实是大小写不一致的问题,修改.bash_profile中ORACLE_SID为db_name的参数值即可,并重新source一下环境变量
[oracle@node01 pfile]$ cat /home/oracle/.bash_profile
...
#ORACLE_HOME
export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=/home/oracle/app/oracle/product/19.3.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=ORCL
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
...

[oracle@node01 pfile]$ cat $ORACLE_HOME/dbs/init.ora
....
db_name='ORCL'
memory_target=1G
....
[oracle@node01 pfile]$ vim ~/.bash_profile
[oracle@node01 pfile]$ source /home/oracle/.bash_profile
  • 依旧执行startup命令,成功打开数据库
[oracle@node01 dbs]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jan 12 20:11:07 2023
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 1073737800 bytes
Fixed Size                  8904776 bytes
Variable Size             704643072 bytes
Database Buffers          352321536 bytes
Redo Buffers                7868416 bytes
Database mounted.
Database opened.
SQL>
  • 再次查询数据库状态,可以看到状态为open
SQL> select status from v$instance;

STATUS
------------------------
OPEN

SQL>

简单的示例:查询当前数据库show parameter name,执行结果的最后一行就是当前数据库名

SQL> show parameter name;

NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
cdb_cluster_name                     string

cell_offloadgroup_name               string

db_file_name_convert                 string

db_name                              string
hadoop10
db_unique_name                       string

NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
node01gdb
global_names                         boolean
FALSE
instance_name                        string
ORCL
lock_name_space                      string

log_file_name_convert                string


NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
pdb_file_name_convert                string

processor_group_name                 string

service_names                        string
node01gdb

4. 进入虚拟机图像化页面安装Oracle软件

5. 创建数据库实例

5.1 查看监听状态

  • 命令行输入lsn,连续按下两次「Tab」键即可查看到lsnsrctl命令
[oracle@node01 dbhome_1]$ lsn
lsnodes  lsnrctl  lsns
  • 查看状态
[oracle@node01 dbhome_1]$ lsnrctl status

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 12-JAN-2023 19:23:22

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=node01)(PORT=1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused
[oracle@node01 dbhome_1]$ lsnrctl start

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 12-JAN-2023 19:23:34
	
Copyright (c) 1991, 2019, Oracle.  All rights reserved.

Starting /home/oracle/app/oracle/product/19.3.0/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 19.0.0.0.0 - Production
System parameter file is /home/oracle/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
Log messages written to /home/oracle/app/oracle/diag/tnslsnr/node01/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=node01)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=node01)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                12-JAN-2023 19:23:36
Uptime                    0 days 0 hr. 0 min. 2 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /home/oracle/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
Listener Log File         /home/oracle/app/oracle/diag/tnslsnr/node01/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=node01)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully

5.2. 创建一个普通用户并授权

  • 创建用户
[oracle@node01 dbs]$ sqlplus

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jan 12 21:20:56 2023
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Enter user-name: system
Enter password:
Last Successful login time: Thu Jan 12 2023 21:18:48 +08:00

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> create user whybigdata identified by 123456;

User created.

SQL> 
  • 授权
SQL> grant create session,create table,create view,create sequence,unlimited tablespace to whybigdata;

Grant succeeded.

5.3 创建表

Note:student表的创建实在system用户下创建的

  • 创建表student
SQL> create TABLE student(id INTEGER,name VARCHAR2(20));

Table created.

SQL> insert into student values (1,'zhangsan');

1 row created.

SQL> select * from student;

        ID NAME
---------- ----------------------------------------
         1 zhangsan

SQL>
  • 在其他会话窗口(虚拟机终端工具)查询不到表student的数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qGXu4kcl-1675306617408)(2.png)]

原因:在当前会话(创建表的会话)中需要提交(commit)才可以在终端(其他会话)查询到表插入的数据

SQL> commit;

Commit complete.
  • 虚拟机终端再次查询表数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Oi18BRXA-1675306617410)(3.png)]

  • 切换到上述创建的普通用户whybigdata中,查询不到表student的数据
[oracle@node01 dbs]$ sqlplus

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jan 12 21:28:38 2023
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Enter user-name: whybigdata
Enter password:

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> select * from student;
select * from student
              *
ERROR at line 1:
ORA-00942: table or view does not exist


原因:Oracle是按照用户来隔离的,每个用户所属的表空间是不一样的

注意:安装完成后重启机器可能出现 ORACLE not available 错误,解决方法如下:

[oracle@node01 ~]$ sqlplus / as sysdba 
SQL>startup
SQL>conn whybigdata Enter password:

6. 参考

  • https://www.cnblogs.com/charelee/p/13866895.html
  • Creating Operating System Privileges Groups (oracle.com)
  • https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/installing-the-oracle-database-software.html
  • https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/completing-preinstallation-tasks-manually.html
  • https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/configuring-operating-systems-for-oracle-database-on-linux.html
  • https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/Chunk72467155.html
  • https://community.oracle.com/mosc/discussion/3997981/ins-35341-while-installing-11g-and-12c
  • Running Oracle DBCA Using Response Files
  • https://docs.oracle.com/en/database/oracle/oracle-database/21/multi/dbca-reference.html
  • https://docs.oracle.com/en/database/oracle/oracle-database/18/rilin/editing-a-response-file-template.html
  • http://www.dba-oracle.com/sf_ora_01034_oracle_not_available.htm
  • https://www.techiepage.net/how-to-fix-ora-01034-oracle-not-available-error/
  • https://asktom.oracle.com/pls/apex/asktom.search?tag=ora-01034-oracle-not-available
  • https://blog.sina.com.cn/s/blog_4b5bc0110101d310.html
  • https://community.oracle.com/tech/developers/discussion/4488389/ora-01078-failure-in-processing-system-parameters-lrm-00109-could-not-open-parameter-file
  • https://ittutorial.org/ora-01078-failure-in-processing-system-parameters/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux安装Oracle数据库 的相关文章

  • 没有可用的符号表信息

    我正在测试第三方的库 它崩溃了 当我想查看崩溃的原因时 我的 gdb 告诉我没有可用的调试符号 Program received signal SIGSEGV Segmentation fault Switching to Thread 0
  • 如何使用 sed 仅删除双空行?

    我找到了这个问题和答案 https stackoverflow com questions 4651591 howto use sed to remove only triple empty lines关于如何删除三重空行 但是 我只需要对
  • 在主目录中安装库

    在 Linux Ubuntu 中 我尝试运行一个工具 但它显示错误 库丢失 我无权在系统中安装任何内容 或者根本无法从我的用户帐户执行 sudo 是否可以在我的主目录 没有 sudo 中安装缺少的库 在我的例子中为 libstdc so 6
  • diff 文件仅比较每行的前 n 个字符

    我有2个文件 我们将它们称为 md5s1 txt 和 md5s2 txt 两者都包含a的输出 find type f print0 xargs 0 md5sum sort gt md5s txt 不同目录下的命令 许多文件被重命名 但内容保
  • Hibernate 本机查询 - char(3) 列

    我在 Oracle 中有一个表 其中列 SC CUR CODE 是 CHAR 3 当我做 Query q2 em createNativeQuery select sc cur code sc amount from sector cost
  • 在 Mac OS X 上构建 Linux 内核

    我正在做一个修改Linux内核的项目 我有一台桌面 Linux 机器 在上面构建内核没有问题 不过 我要去旅行 我想在途中工作 我只有一台 MacBook 当我尝试构建 Linux 内核时 它抱怨说elf h was not found 我
  • 何时使用 pthread 条件变量?

    线程问题 看来 只有在其他线程调用 pthread cond notify 之前调用 pthread cond wait 时 条件变量才起作用 如果在等待之前发生通知 那么等待将被卡住 我的问题是 什么时候应该使用条件变量 调度程序可以抢占
  • 如何检查oracle数据库中分配给模式、角色的对象的权限(DDL、DML、DCL)?

    大多数时候 我们都在与愚蠢的事情作斗争 以获取架构 角色及其对象的权限详细信息 并尝试找到一些简单的方法来获取有关它的所有详细信息以及伪查询代码 以批量生成授予语句以供进一步使用执行 所以我们在这里得到它 关于数据字典视图前缀的一些简单介绍
  • 在 Linux 上更快地分叉大型进程?

    在现代 Linux 上达到与 Linux 相同效果的最快 最好的方法是什么 fork execve combo 从一个大的过程 我的问题是进程分叉大约 500MByte 大 并且一个简单的基准测试只能从进程中实现约 50 个分叉 秒 比较最
  • 无法加载 JavaHL 库。- linux/eclipse

    在尝试安装 Subversion 插件时 当 Eclipse 启动时出现此错误 Failed to load JavaHL Library These are the errors that were encountered no libs
  • 使用 Hibernate 将 Oracle 日期映射到 Java 对象

    我收到消息 文字与格式字符串不匹配 例如 以下是 Java 类中的一些方法 public String getDateTime public void setDateTime String date time 以下是该类的 Hibernat
  • 如何计算选择查询的最佳获取大小

    在 JDBC 中 默认获取大小为 10 但我想当我有一百万行时 这不是最佳获取大小 据我所知 获取大小太低会降低性能 但如果获取大小太高也会降低性能 我怎样才能找到最佳尺寸 这对数据库端有影响吗 它会占用大量内存吗 如果您的行很大 请记住
  • 如何使用 bash 锁定文件

    我有一个任务从远程服务器同步目录 rsync av email protected cdn cgi l email protection srv data srv data 为了使其定期运行并避免脚本 reEnter 问题 我使用 rsyn
  • 如何使用 xterm.js 创建基于 Web 的终端以 ssh 进入本地网络上的系统

    我偶然发现了这个很棒的图书馆xterm js https xtermjs org 这也是 Visual Studio Code 终端的基础 我有一个非常普遍的问题 我想通过基于网络的终端 不在网络中 可能位于 aws 服务器上 访问本地网络
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • 如何禁用 GNOME 桌面屏幕锁定? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何阻止 GNOME 桌面在几分钟空闲时间后锁定屏幕 我已经尝试过官方手册了在红帽 https access redhat com doc
  • Linux TUN/TAP:无法从 TAP 设备读回数据

    问题是关于如何正确配置想要使用 Tun Tap 模块的 Linux 主机 My Goal 利用现有的路由软件 以下为APP1和APP2 但拦截并修改其发送和接收的所有消息 由Mediator完成 我的场景 Ubuntu 10 04 Mach
  • 将数据从 oracle 移动到 HDFS,处理并从 HDFS 移动到 Teradata

    我的要求是 将数据从 Oracle 移至 HDFS 处理HDFS上的数据 将处理后的数据移至 Teradata 还需要每 15 分钟执行一次整个处理 源数据量可能接近50GB 处理后的数据也可能相同 在网上搜索了很多之后 我发现 PRARO
  • 为什么 Linux perf 使用事件 l1d.replacement 来处理 x86 上的“L1 dcache misses”?

    在英特尔 x86 上 Linux用途 https stackoverflow com a 52172985 149138事件l1d replacements来实施其L1 dcache load misses event 该事件定义如下 计数
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C

随机推荐

  • 动态规划算法

    动态规划算法 文章目录 动态规划算法0 动态规划的思想方法1 动态规划法的设计思想2 动态规划基本步骤3 动态规划算法设计步骤3 1 动态规划算法的基本要素 4 两种实现的比较5 备忘录方法6 备忘录方法与动态规划比较7 参考 0 动态规划
  • 最长公共子序列(LCS)

    最长公共子序列 xff08 LCS xff09 文章目录 最长公共子序列 xff08 LCS xff09 0 写在前面1 问题描述2 最长公共子序列的结构3 子问题的递归结构4 计算最优值5 算法的改进6 参考 0 写在前面 本文文字大都来
  • 贪心算法(Java)

    贪心算法 文章目录 贪心算法0 写在前面1 贪心算法的基本要素1 1 贪心选择性质1 2 最优子结构性质1 3 贪心算法与动态规划算法的差异 2 贪心算法的特点3 贪心法的正确性证明4 活动安排问题4 1 问题描述4 2 贪心法的设计思想4
  • android -- 蓝牙 bluetooth (五)接电话与听音乐

    前段时间似乎所有的事情都赶在一起 xff0c 回家 集体出游 出差 xff0c 折腾了近一个月 xff0c 终于算暂时清静了 xff0c 但清静只是暂时 xff0c 估计马上又要出差了 xff0c 所以赶紧把蓝牙这一部分的文章了结下 xff
  • 保研/考研复试-数据结构

    数据结构 1 时间复杂度 xff1a 是一个描述算法性能的函数 xff0c 可以定性的描述算法的运行时间 是评价算法优劣的重要指标 2 快速找到第K个数 1 xff09 可以使用快排的思想 xff0c 因为快排每次可以找到一个第i位置的数
  • Github高效搜索方式

    Github高效搜索方式 文章目录 Github高效搜索方式0 写在前面1 常用的搜索功能1 1 直接搜索1 2 寻找指定用户 大小的仓库1 3 搜索仓库1 4 查找特定star范围的仓库1 5 查找指定主题1 6 查找仓库语言1 7 搜索
  • 电子游戏销售之缺失值检测与处理

    电子游戏销售之缺失值检测与处理 文章目录 电子游戏销售之缺失值检测与处理 0 写在前面 1 数据缺失值预处理 1 1 表的形状 1 2 原始数据每个特征缺失和非缺失的数目 1 3 每个特征缺失的率 1 4 处理后各特征缺失值的数目 1 5
  • 电子游戏销售之回归模型与数据可视化

    电子游戏销售之回归模型与数据可视化 文章目录 电子游戏销售之回归模型与数据可视化0 写在前面1 回归模型1 1 模型建立准备1 2 建立模型1 3 模型分析 2 数据可视化3 参考资料 0 写在前面 该篇文章的任务包括以下3个方面 检测与处
  • 基于R的Bilibili视频数据建模及分析——预处理篇

    基于R的Bilibili视频数据建模及分析 预处理篇 文章目录 基于R的Bilibili视频数据建模及分析 预处理篇0 写在前面1 项目介绍1 1 项目背景1 2 数据来源1 3 数据集展示 2 数据预处理2 1 删除空数据2 2 增加id
  • 基于R的Bilibili视频数据建模及分析——变量相关性分析篇

    基于R的Bilibili视频数据建模及分析 变量相关性分析篇 文章目录 基于R的Bilibili视频数据建模及分析 变量相关性分析篇 0 写在前面 1 数据分析 1 1 变量相关性分析 1 2 单元数据直观展示 1 3 多元数据直观展示 2
  • 基于R的Bilibili视频数据建模及分析——聚类分析篇

    基于R的Bilibili视频数据建模及分析 聚类分析篇 文章目录 基于R的Bilibili视频数据建模及分析 聚类分析篇 0 写在前面 1 数据分析 1 1 聚类分析 1 2 聚类统计 1 3 系统聚类 1 4 Kmeans与主成分分析 2
  • 基于R的Bilibili视频数据建模及分析——建模-因子分析篇

    基于R的Bilibili视频数据建模及分析 建模 因子分析篇 文章目录 基于R的Bilibili视频数据建模及分析 建模 因子分析篇 0 写在前面 1 数据分析 1 1 建模 因子分析 1 2 对数线性模型 1 3 主成分分析 1 4 因子
  • 大数据技术之Maxwell基础知识

    大数据技术之Maxwell基础知识 文章目录 大数据技术之Maxwell基础知识0 写在前面1 Maxwell 概述1 1 Maxwell 定义1 2 Maxwell 工作原理1 2 1 MySQL 主从复制过程1 2 2 Maxwell
  • 大数据技术之Maxwell入门案例学习

    大数据技术之Maxwell入门案例学习 文章目录 大数据技术之Maxwell入门案例学习1 写在前面2 Maxwell 使用2 1 Maxwell 安装部署2 2 Maxwell 入门案例2 2 1 监控 Mysql 数据并在控制台打印2
  • Canal实时监控案例

    Canal实时监控案例 文章目录 Canal实时监控案例0 写在前面1 TCP 模式测试1 1 IDEA创建项目canal module 1 2 通用监视类 CanalClient1 2 1 Canal 封装的数据结构1 2 2 在 can
  • unity笔记--Transform.SetSibling

    transform SetAsLastSibling 将变换移动到本地变换列表的末尾 即设置为同级索引中的最后一项 transform SetAsFirstSibling 将变换移动到本地变换列表的开头 即设置为同级索引中的第一项 tran
  • 大数据技术之Canal入门篇

    大数据技术之Canal入门篇 文章目录 大数据技术之Canal入门篇写在前面第 1 章 Canal 入门1 1 什么是 Canal1 2 MySQL 的Binlog1 2 1 什么是 Binlog1 2 2 Binlog 的分类 1 3 C
  • Doris集成Spark读写的简单示例

    Doris集成Spark读写的简单示例 文章目录 Doris集成Spark读写的简单示例0 写在前面1 Spark Doris Connector介绍2 基本示例2 1 提前准备表和数据2 2 新建项目2 3 使用SQL方式进行读写2 3
  • Linux用户与用户组介绍

    Linux用户与用户组介绍 文章目录 Linux用户与用户组介绍0 写在前面1 group1 1 什么是组 xff1f 1 2 groupadd1 2 groupmod1 3 groupdel1 4 gpasswd1 5 相关文件说明 2
  • Linux安装Oracle数据库

    Linux安装Oracle数据库 文章目录 Linux安装Oracle数据库0 写在前面1 Oracle 数据库1 1 简介1 2 Oracle 与 MySQL 的SQL 区别 2 前置准备2 1 安装依赖包2 2 配置用户组2 3 上传安