Centos7虚拟机中oracle19c数据库安装

news2024/9/28 13:22:17

目录[-]

  1.  1.  Centos7虚拟机中oracle19c数据库安装
    1. 1.1.  1.先诀条件
    2. 1.2.  2.oracle19c安装准备(root用户下执行)
    3. 1.3.  3.CentOS7上安装oracle19c

1.先诀条件

  • 本文在安装oracle19c时,各项oracle配置操作都通过图形界面进行。因此CentOS7系统需要安装gnome图形程序,虚拟机安装时未默认安装gnome的同志可参考自行安装:How to Install GUI (Gnome 3) Using CD/DVD on RHEL/CentOS 7

  • oracle官网下载oracle19c安装包:Database Software Downloads | Oracle,选择linux版本x86_64版本即可,其中RPM(red hat package manager),即基于red hat发行版的linux软件包管理工具。RPM本文中安装未用到,也不是安装oracle的必须工具,但Oralce官网推荐安装此工具,以便在集群部署时更加快捷。本文不安装此工具,因为不会。

  • 部署非生产的oracle环境,LINUX服务器最少分配2GB的内存,以及最少30GB的磁盘空间。如果VM安装LINUX虚拟机时,磁盘空间没分配够,可参考此文扩容:windowsVMware虚拟机中扩展linux磁盘空间-CSDN博客,内存空间的话,直接VM中调整就行(注意调整时保持虚拟机关机状态并无快照)

2.oracle19c安装准备(root用户下执行)

  • 更新所有安装过的包至最新版并自动执行选项y,等待更新complete
 yum update -y 

yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的Shell 前端软件包管理器;基于 RPM 包管理.

  • 安装数据库相关依赖及zip,unzip包,等待安装complete:

yum install -y binutils.x8664 compat-libcap1.x8664 gcc.x8664 gcc-c++.x8664 glibc.i686 glibc.x8664 glibc-devel.i686 glibc-devel.x8664 ksh compat-libstdc++-33 libaio.i686 libaio.x8664 libaio-devel.i686 libaio-devel.x8664 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x8664 libstdc++-devel.i686 libstdc++-devel.x8664 libXi.i686 libXi.x8664 libXtst.i686 libXtst.x8664 make.x8664 sysstat.x8664 zip unzip 

  • 为oracle用户分别安装用户属组及dba用户属组,以管理用户权限和组织用户。用户属组可以用来限制用户对文件和目录的访问权限,同时也可以方便地将用户分组管理,并添加oracle用户,将其分配给主用户组oinstall及附属用户组dba:
 groupadd oinstall 
 groupadd dba
useradd -g oinstall -G dba oracle 

  • 为新创建的oracle用户设定密码:
 passwd oracle 

  • 在/etc/sysctl.conf文件中添加以下内核参数信息(如果已有内容的话就按情况调整)
 

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8329226240
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 

各项内核参数说明:

  • net.ipv4.iplocalport_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 请求数⽬。

  • 使内核参数生效:

sysctl -p 

sysctl: 用于在运行时检查和设置内核参数的命令。
-p: 告诉sysctl从指定的配置文件中读取参数并应用它们。如果没有指定任何文件,则默认使用/etc/sysctl.conf和/etc/sysctl.d/目录下的所有文件。

  • 查看内核参数:
sysctl -a 

  • 在/etc/security/limits.conf文件中为oracle设定相关系统限制:
 

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

limits.conf文件实际是Linux PAM(插入式认证模块,Pluggable Authentication Modules)中pam_limits.so的配置文件,可以突破系统的默认限制,对系统访问资源起到一定保护作用。

而上面 nproc 和 nofile 是两个重要的内核参数,它们分别限制了用户可以拥有的进程数和打开的文件描述符的数量。这些限制对于运行大型数据库(如Oracle)的系统来说尤为重要,因为这些数据库可能会创建大量的进程和文件描述符。

在以上设定中实际是为oracle的用户设置资源限制的。具体来说:

  • oracle soft nproc 2047:为oracle用户设置软限制,即警告级别的进程数为2047。当该用户达到这个进程数时,系统会发出警告,但不会阻止用户创建更多进程。

  • oracle hard nproc 16384:为oracle用户设置硬限制,即最大的进程数为16384。这个限制是硬性的,达到此限制后,用户将无法创建更多的进程。

  • oracle soft nofile 1024:为oracle用户设置软限制,即警告级别的文件描述符数量为1024。当该用户打开的文件描述符数达到这个数值时,系统会发出警告,但不会阻止用户打开更多文件。

  • oracle hard nofile 65536:为oracle用户设置硬限制,即最大的文件描述符数量为65536。达到此限制后,用户将无法打开更多的文件或套接字。

  • 通过FTP ,rz命令,将本地oracle19c zip 包上传至虚拟机,注意上传有乱码时调整xshell终端编码与CentOS虚拟机编码一致

  • 创建一个新文件夹stage,将下载的oracle19c zip包解压至此文件夹:

 mkdir /oracleUnzipFiles
 unzip LINUX.X64193000db_home.zip -d /oracleUnzipFiles/
  • 分别创建oracleBaseHome作为oracle基目录,oracleDataFiles作为数据存储目录(注意实际创建路径):
 mkdir /oracleDBMS/oracleBaseHome 
 mkdir /oracleDBMS/oracleDataFiles 

Oracle Base目录下包括admin和product等子目录,其中admin目录存放数据库的管理信息,product目录存放Oracle产品的信息。Oracle Base目录的位置可以在Oracle数据库安装过程中指定,也可以在数据库安装完成后通过修改Oracle的环境变量来设置。在Oracle数据库中,Oracle Base目录是一个非常重要的目录,它包含了Oracle数据库的所有文件和目录结构,是Oracle数据库正常运行的基础。

oracle database file是Oracle数据库的物理存储目录,用于存储数据库的各种对象和数据。

  • 设置权限:
 chown -R oracle:oinstall /oracleDBMS/oracleBaseHome
 chown -R oracle:oinstall /oracleDBMS/oracleDataFiles

chown更改文件用户或组所有权,-R参数递归目录

 chmod -R 775 /oracleDBMS/oracleBaseHome
 chmod -R 775 /oracleDBMS/oracleDataFiles
  • chmod 是“change mode”的缩写,用于更改文件或目录的权限。

  • -R 是一个选项,表示“递归”,意味着命令将应用于指定目录及其所有子目录和文件。

  • 775 是权限的表示方式,它是一个三位数字,分别代表文件拥有者、文件所属组和其他用户的权限。

  • 数字 775 的权限分解如下:

  • 第一个数字 7 代表文件拥有者的权限,它是 rwx(读、写、执行)的权限组合,对应的数字是 4(读)+ 2(写)+ 1(执行) = 7。

  • 第二个数字 7 代表文件所属组的权限,也是 rwx,同样是 4 + 2 + 1 = 7。

  • 第三个数字 5 代表其他用户的权限,它是 r-x(读、执行)的权限组合,对应的数字是 4(读)+ 0(写)+ 1(执行) = 5。

因此,chmod -R 775 directory_name 命令会递归地将 directory_name 目录及其所有子目录和文件的权限设置为:文件拥有者和文件所属组拥有读、写、执行权限,而其他用户只有读和执行权限。

 chmod g+s /oracleDBMS/oracleBaseHome
 chmod g+s /oracleDBMS/oracleDataFiles
  • 设置或添加“set group ID” (SGID) 位。当SGID位被设置在一个目录上时,新创建在该目录下的文件或子目录将继承该目录的组,而不是创建者的主组。

以上操作全部完成后即可进行图形界面oracle数据库安装。

3.CentOS7上安装oracle19c

  • 切换为oracle用户登录 ,执行oracle数据库安装命令:
 /oracleUnzipFiles/runInstaller 

以oracle用户执行执行命令时无权限时授权:

 chown -R oracle:oinstall /oracleUnzipFiles/ 
 chmod -R 775 /oracleUnzipFiles/

再次执行时若无法启动oracle图形安装界面:

以root用户执行以下命令,允许所有访问启动图形界面:

 xhost + 
  • xhost + 是一个在X Window System中使用的命令,用于控制哪些客户端可以访问X服务器。这个命令允许你指定哪些用户或哪些计算机可以连接到你的X服务器,从而控制对图形界面的访问权限。
    xhost + 命令的具体作用取决于其后跟的参数。例如:

  • xhost +local: 允许从本地网络访问。

  • xhost -local: 禁止本地访问。
  • xhost + :禁用访问控制,允许所有访问,包括远程访问(警告:这可能会带来安全风险)。
  • xhost - :转回访问控制,即恢复默认的访问控制设置。

以oracle用户执行以下命令,在本linux虚拟机中输出图形界面:

 export DISPLAY=:0.0

DISPLAY 环境变量通常用于告诉图形应用程序它们应该连接到哪个 X server,以便显示它们的用户界面。:0.0 是 DISPLAY 环境变量的一个常见值,它通常表示连接到本机的第一个 X server。

oralce安装界面看不太清的话,linux设置-设备-调整下分辨率。

  • 进入安装界面,第一项配置选项,选第一项,创建并安装单实例:

  • 第二项系统类,选桌面:

  • 第三项典型安装,配置各项重要参数:

oracle base是oracle基目录,softwarelocation自动生成,可以看出是oralce安装包的解压路径,实际上是oracle这个软件产品即oracle home目录,一般情况下orace base 的product目录下包含oracle home目录,如果有不同版本的oracle软件安装,那么可以在oracle base 下有两个不同的oracle home目录。本文解压时没注意,分开放置了。各位可以按网上类似路径将oracle home目录放到oracle base 目录下,比如:Oracle base: /u01/app/oracle
Software location: /u01/app/oracle/product/12.2.0/ 。dbhome_1OSDBA group即之前创建的用户组,此处选dba;global dabase name 即全局数据库名,后面的create as container database即创建为窗口数据库,此时需要同步指定可拔插数据库名。容器数据库(CDB)是一个包含零个或多个可插拔数据库(PDBs)的数据库。每个PDB都是一个独立的、可插拔的数据库,它们共享同一个CDB的系统全局区(SGA)和其他资源

  • 第四项创建安装库,主要保存安装过程中相关文件,比如install log files(注意有可能报ins-35179内存不足,free -m或free -h可查看内存使用情况。此时VM中直接给虚拟机增加内存,不需要关闭虚拟机,可能最小要加到3G,我之前是2G没够。)

root用户创建目录:

mkdir oralInvestory

分配权限:

chown -R oracle:oinstall /oracleDBMS/oralInvestory 

  • 执行中有些需以root用户权限进行,授权自动以root执行:

执行条件校验时swap交换内存不够,按下面这个操作以swap分区文件操作没调整好,可能因为是swap分区而不是文件的原因:

  • 关闭所有交换分区命令如下:

    swapoff -a 
    
  • 通过swap分区文件增加swap空间
    创建swap分区的文件

      dd if=/dev/zero of=swapfile bs=1G count=3
     
    

其中bs是每块的大小,count是块的数量;bscount,就是swap文件的大小 此外,swapfile是swap文件的路径,可以根据需求修改。

  • 格式化交换分区文件

     mkswap swapfile 
    这里的路径和之前的路径要对应起来。

  • 启用swap分区文件

    swapon swapfile 

  • 添加开机启动 修改/etc/fstab这个文件,添加或者修改这一行:

     swapfile swap swap defaults 0 0 
    注意,路径还是要对应,而且必须是全路径。最后两个是零,不是大写字母O。 此项不是必须的。如果不修改开机启动配置,重启之后的swap空间会重置,之前配置丢失。

有功夫的同志可以慢慢试下怎么扩展swap分区,我是直接先增大虚拟机磁盘,删除swap分区后重新将空闲空间分配为swap分区,完成后可通过free -m查看。windowsVMware虚拟机中扩展linux磁盘空间-CSDN博客

  • 扩展后检查可通过,重新检查配置概况,确认安装,耗时较长。:

  • 安装过程中有需要root用户执行的,没怎么注意,我直接点了yes,也是正常安装完成了。后面发现好像这个提示是要执行orainstRoot.sh与root.sh这两个脚本:

  • orainstRoot.sh 是 Oracle 数据库安装过程中的一个脚本文件,用于设置 Oracle Inventory 的目录权限。

  • Oracle Inventory 是一个存储 Oracle 软件安装信息的目录,它包含了关于已安装的软件包、补丁和依赖项的信息。orainstRoot.sh 脚本的主要目的是确保 Oracle Inventory 目录具有正确的权限设置,以便 Oracle 数据库和其他相关组件能够正常访问和更新其中的信息。

  • 在安装 Oracle 数据库时,通常需要以 root 用户身份运行 orainstRoot.sh 脚本,以确保对 Oracle Inventory 目录的权限设置正确。这个脚本通常位于 Oracle 安装介质的 oraInventory 目录下。

  • 运行 orainstRoot.sh 脚本后,它会执行一系列操作,包括创建或验证 Oracle Inventory 目录的存在,设置正确的权限,以及更新相关的配置文件。这些操作是确保 Oracle 数据库和其他组件能够正确安装和运行的重要步骤。

  • root.sh是Oracle数据库安装过程中的一个脚本文件,用于设置必要的操作系统权限。

具体来说,root.sh脚本主要执行以下操作:

  • 设置Oracle数据库软件的文件权限,确保Oracle数据库软件的文件和目录具有正确的访问权限。

  • 创建和配置Oracle数据库的环境变量,这些环境变量对于Oracle数据库的运行至关重要。 将Oracle数据库的相关命令和程序添加到系统的PATH环境变量中,以便用户可以直接在命令行中运行这些命令和程序。

  • 配置Oracle数据库的网络设置,包括监听器配置和网络服务名配置等。

  • 在安装Oracle数据库时,通常需要以root用户身份运行root.sh脚本,以确保对操作系统级别的设置和配置具有足够的权限。运行该脚本后,Oracle数据库将具备在操作系统中正常运行所需的所有必要权限和环境配置

直接以root用户手动执行:

/oracleDBMS/oralInvestory/orainstRoot.sh 

/oracleUnzipFiles/root.sh 

  • 第五项,为了外部数据库连接,需要开通以下协议端口:
1521/TCP
5500/TCP
5520/TCP
3938/TCP

执行以下命令:

firewall-cmd --zone=public --add-port=1521/tcp --add-port=5500/tcp --add-port=5520/tcp --add-port=3938/tcp --permanent

  • firewall-cmd --zone=public 是 firewalld 防火墙的一个命令,用于管理公共区域(public zone)中的防火墙规则。firewalld 是 Linux 系统中的一个防火墙管理工具,它允许用户通过命令行或配置文件来配置防火墙规则,从而控制进出系统的网络流量。

  • 具体来说,--zone=public 参数指定了命令应用于哪个防火墙区域。在这个例子中,它是应用于公共区域。公共区域通常是默认的区域,用于处理未被明确分配到其他区域的网络连接。

  • 这个命令后面通常会跟着其他的选项和参数,用于添加、删除或查询防火墙规则。例如,你可以使用 --add-service 参数来添加一个服务到公共区域的允许列表中,或者使用 --remove-service 参数来从允许列表中移除一个服务。

这里有一些常用的 firewall-cmd 命令示例:

  • 添加一个服务到公共区域的允许列表:firewall-cmd --zone=public --add-service=http

  • 从公共区域的允许列表中移除一个服务:firewall-cmd --zone=public --remove-service=http

  • 查询公共区域的当前配置:firewall-cmd --zone=public --list-all

以上我们执行的命令做了以下几件事情:

--zone=public:指定了规则应用于 public 区域。public 是 firewalld 的默认区域,通常用于不受信任的外部网络连接。

--add-port=1521/tcp:向 public 区域添加一个 TCP 端口规则,允许流量通过端口 1521。这个端口通常用于 Oracle 数据库的监听器。

--add-port=5500/tcp:向 public 区域添加一个 TCP 端口规则,允许流量通过端口 5500。这个端口可能用于某个自定义的应用程序或服务。

--add-port=5520/tcp:向 public 区域添加一个 TCP 端口规则,允许流量通过端口 5520。同样,这个端口也可能用于某个特定的应用程序或服务。

--add-port=3938/tcp:向 public 区域添加一个 TCP 端口规则,允许流量通过端口 3938。这个端口通常与 Oracle XML DB 相关。

--permanent:这个选项表示这些规则是永久性的,即使系统重启后也会保持。如果不加这个选项,规则只会临时生效,重启后失效。

重新加载linux防火墙以使以上设置生效:

 firewall-cmd --reload

第六项设置oracle数据库环境变量:以oracle用户,在/home/oracle/.bash_profile路径下,添加如下内容:

TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/oracleDBMS/oracleBaseHome; export ORACLE_BASE
ORACLE_HOME=/oracleUnzipFiles; export ORACLE_HOME
ORACLE_SID=orclFederer; export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

linux中以.开头的文件一般是默认隐藏的,可以以ls -a命令显示查看。

ORACLE_BASE与ORACLE_HOME及ORACLE_SID注意按自己安装过程中的实际路径设置。

示例代码:

TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=tecmint; export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH


每个环境变量的解释:

  • TMPDIR=$TMP; export TMPDIR

TMPDIR 是一个环境变量,它定义了临时文件的默认目录。这里,它设置为$TMP的值,然后导出,使其在当前Shell会话及其子进程中可用。

  • ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

ORACLE_BASE 定义了Oracle数据库安装的基础目录,即Oracle产品的根目录。这里,它被设置为/u01/app/oracle,并导出。

  • ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1; export ORACLE_HOME

ORACLE_HOME 定义了Oracle软件产品的特定安装目录,通常是数据库软件的安装位置。这里,它被设置为ORACLE_BASE下的一个子目录,并导出。

  • ORACLE_SID=tecmint; export ORACLE_SID

ORACLE_SID 定义了当前会话的Oracle系统标识符(SID)。它用于标识要连接的特定Oracle数据库实例。这里,它被设置为tecmint,并导出。

  • PATH=$ORACLE_HOME/bin:$PATH; export PATH

PATH 是一个环境变量,它定义了系统搜索可执行文件的目录列表。这里,$ORACLE_HOME/bin被添加到$PATH的开头,以确保Shell首先在当前Oracle安装中的bin目录下查找可执行文件。

  • LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; export LD_LIBRARYPATH

LD_LIBRARY_PATH 是一个环境变量,它定义了动态链接器在查找共享库时应该搜索的目录列表。这里,它包含了Oracle库目录以及其他标准库目录,并导出。

  • CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

CLASSPATH 是一个环境变量,它定义了Java运行时环境查找用户定义的类和资源文件的目录和ZIP/JAR文件列表。这里,它包含了Oracle的Java库,并导出。

  • 第六项调整监听文件localhost地址为0.0.0.0/oracleUnzipFiles/network/admin/listener.ora,以方便进行非本机的远程连接:

最后,在/home/oracle路径下执行命令加载.bash_profile文件,使配置生效:

source .bash_profile 

使用以下任一方法查看数据库状态:

  • 使用ps命令配合grep命令来查找正在运行的pmon进程 。pmon是Oracle的后台进程,如果存在pmon进程,那么说明Oracle数据库已经成功启动。

    ps -ef | grep pmon 

  • 使用systemctl命令查看oracle服务的状态 。如果服务正在运行,那么说明Oracle数据库已经成功启动(仅适用于systemd系统)。

    systemctl status oracle

使用lsnrctl命令来查看监听器的状态 。监听器是用于接受和处理Oracle数据库连接请求的进程,如果监听器正在运行,那么说明Oracle数据库已经成功启动。

lsnrctl status 

服务未启动,执行以下命令之一启动oracle服务:

  • linux的oracle用户下使用sqlplus命令行工具 你可以使用sqlplus作为Oracle用户登录,并使用STARTUP命令来启动数据库实例。

sqlplus / as sysdba
STARTUP;

  • 使用dbstart脚本 Oracle提供了一个dbstart脚本来启动和停止数据库实例。你可以使用这个脚本来管理数据库的自动启动。
    dbstart

这个命令会启动数据库实例,并且通常会读取oratab文件来确定哪些数据库实例应该被启动。

  • 使用systemd服务(本文不适用) 如果你的Oracle数据库配置为使用systemd服务来管理,你可以使用systemctl命令来启动服务。

 systemctl start oracle-rdbms.service 

启动报错:

报ORACLE_HOME环境变量未配置,实际已经配置过了。分别修改以下两个命令文件中环境变量引用将 将ORACLE_HOME=$1 修改为 ORACLE_HOME=$ORACL_EHOME ,将ORACLE_HOME_LISTNER=$1 修改为 ORACLE_HOME_LISTNER=$ORACLE_HOME:

 vim $ORACLE_HOME/bin/dbstart
 vim $ORACLE_HOME/bin/dbshut

此处$ORACLE_HOME就是之前已配置过的oracle软件安装目录,本文为/oracleUnzipFiles

ORACLE_HOME=$1 在shell脚本中表示将脚本的第一个参数($1)赋值给环境变量 ORACLE_HOME;在Oracle数据库的启动脚本(如 dbstart)中,ORACLE_HOME_LISTNER 变量通常用于确定监听器的位置。然而,直接使用 $1 作为这个变量的值可能不是一个好的做法,因为它依赖于脚本调用时传入的参数,这可能会导致脚本的行为变得不可预测。

因此,本文我们将 ORACLE_HOME_LISTNER=$1 修改为 ORACLE_HOME_LISTNER=$ORACLE_HOME。这样做的好处是,$ORACLE_HOME 通常是一个已经设置好的环境变量,指向Oracle数据库软件的安装目录,这样可以确保监听器始终在正确的位置找到.

调整好后,重新执行dbstart命令启动数据库服务,不知道什么情况我执行dbstart与dbshut命令均不报错,但没效果……使用第一种sql命令行,执行后正常启动:

监听状态:

WINDOWS配置tnsnams.ora,即可远程登录 。注意本文虚拟机安装时采用的DHCP动态配置协议,虚拟机IP每次启动可能会不一样。

PLSQL以sys/sysdba即可登录,密码为安装过程中指定的数据库密码。

参考文档:https://www.tecmint.com/install-oracle-database-12c-on-centos-7/

https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/index.html#Oracle%C2%AE-Database

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

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

相关文章

【自编码器】梳理(上)

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 梳理有关自编码器 1. 自编码器 1.1 原理 Auto-Encoder,中文称作自编码器,是一种无监督式学习模型。利用输入数据 X X X本身作…

苍穹外卖笔记

苍穹外卖 DAY01nginx反向代理MD5加密yapi进行接口导入Swagger介绍 DAY02新增员工需求分析和设计写相关代码测试(1. 后端文档测试 2. 前后端联调代码完善 员工分页查询DAY01 02涉及到的知识 DAY01 nginx反向代理 MD5加密 拓展:spring security jwt 提供了更强大灵…

实战高效RPC方案在嵌入式环境中的应用与揭秘

实战高效RPC方案在嵌入式环境中的应用与揭秘 开篇 在嵌入式系统开发中,大型项目往往采用微服务架构来构建,其核心思想是将一个庞大的单体应用分割成一系列小型、独立、松耦合的服务模块,这些模块可以是以线程或进程形式存在的多个服务单元。…

C语言动态内存的管理

前言 本篇博客就来探讨一下动态内存,说到内存,我们以前开辟空间大小都是固定的,不能调整这个空间大小,于是就有动态内存,可以让我们自己选择开辟多少空间,更加方便,让我们一起来看看动态内存的有…

yolov5训练并生成rknn模型部署在RK3588开发板上,实现NPU加速推理

简介 RK3588是瑞芯微(Rockchip)公司推出的一款高性能、低功耗的集成电路芯片。它采用了先进的28纳米工艺技术,并配备了八核心的ARM Cortex-A76和Cortex-A55处理器,以及ARM Mali-G76 GPU。该芯片支持多种接口和功能,适…

python写爬虫爬取京东商品信息

工具库 爬虫有两种方案: 第一种方式是使用request模拟请求,并使用bs4解析respond得到数据。第二种是使用selenium和无头浏览器,selenium自动化操作无头浏览器,由无头浏览器实现请求,对得到的数据进行解析。 第一种方…

分布式技术知识体系

分布式架构知识与技术 1.分布式相关理论与组件原理 理解分布式基础理论(CAP/BASE) 掌握分布式必知必会的核心知识与技能 摸清分布式系统研发与设计的各个环节 2.分布式相关技术及实践 掌握分布式各应用场景与实践技术栈 熟练运用分布式中间件 完成软件…

java面向对象编程基础

对象: java程序中的对象: 本质上是一种特殊的数据结构 对象是由类new出来的,有了类就可以创建对象 对象在计算机的执行原理: student s1new student();每次new student(),就是在堆内存中开辟一块内存区域代表一个学生对象s1变…

第十届蓝桥杯大赛个人赛省赛(软件类)真题- CC++ 研究生组-最短路

6 肉眼观察&#xff0c; 看起来短的几条路对比下来是6~ #include <iostream> using namespace std; int main() {printf("6");return 0; }

学习或复习电路的game推荐:nandgame(NAND与非门游戏)、Turing_Complete(图灵完备)

https://www.nandgame.com/ 免费 https://store.steampowered.com/app/1444480/Turing_Complete/ 收费&#xff0c;70元。据说可以导出 Verilog &#xff01;

蓝桥杯需要掌握的几个案例(C/C++)

文章目录 蓝桥杯C/C组的重点主要包括以下几个方面&#xff1a;以下是一些在蓝桥杯C/C组比赛中可能会涉及到的重要案例类型&#xff1a;1. **排序算法案例**&#xff1a;2. **查找算法案例**&#xff1a;3. **数据结构案例**&#xff1a;4. **动态规划案例**&#xff1a;5. **图…

Python文件读写操作

文件操作注意点 注意点&#xff1a; 1. for line in file --> 会将偏移量移到末尾 2. buffering1 --> 缓冲区中遇到换行就刷新&#xff0c;即向磁盘中写入 3. 读操作结束后&#xff0c;文本偏移量就会移动到读操作结束位置 """编写一个程序,循环不停的写入…

SQLServer TRY_CONVERT函数

TRY_CONVERT&#xff1a;数据库中的安全转换利器 在数据库操作中&#xff0c;数据类型转换是一个常见的需求。然而&#xff0c;传统的转换方法在面对无法转换的数据时&#xff0c;往往会抛出错误&#xff0c;影响程序的稳定性和用户体验。为了解决这个问题&#xff0c;SQL Serv…

Mysql数据库:事务管理

目录 一、Mysql事务的概述 1、Mysql事务的概念 2、事务的ACID四大特性 3、事务之间的相互影响 4、事务的四种隔离级别 5、MySQL与Oracle自动提交事务的区别 6、事务隔离级别的作用范围 二、Mysql事务相关操作 1、查询和设置事务隔离级别 1.1 全局级事务隔离级别 1.1…

手撕算法-买卖股票的最佳时机 II(买卖多次)

描述 分析 使用动态规划。dp[i][0] 代表 第i天没有股票的最大利润dp[i][1] 代表 第i天持有股票的最大利润 状态转移方程为&#xff1a;dp[i][0] max(dp[i-1][0], dp[i-1][1] prices[i]); // 前一天没有股票&#xff0c;和前一天有股票今天卖掉的最大值dp[i][1] max(dp[i-1…

广州迅腾文化传播助力品牌传播的力量:以声塑形

在市场竞争日益激烈的今天&#xff0c;品牌传播成为企业塑造形象、提升竞争力的关键一环。通过精准的品牌传播策略&#xff0c;企业能够迅速吸引目标消费者的注意&#xff0c;实现新产品的快速推广和市场的占领。品牌传播不仅关乎企业的形象塑造&#xff0c;更关乎企业与消费者…

RIP,EIGRP,OSPF的区别

1.路由协议 能否选择出最优路径 2.路由协议 是否能够完成故障切换/多久能够完成故障切换 3.路由协议 是否会占用过大硬件资源 -- RIP -- 路由信息协议 跳数:一次三层设备的转发算一跳 中间隔的设备数量 不按照链路带宽来算 Rip认为路径一样,这个时候。 下面这个跳数不…

Linux:点命令source

相关阅读 Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html?spm1001.2014.3001.5482 source命令用于读取一个文件的内容并在当前Shell环境&#xff08;包括交互式Shell或是非交互式Shell&#xff09;执行里面的命令。它被称为点命令是因为命令名source也可…

(三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练

这里写目录标题 一、colmap解算数据放入高斯1. 将稀疏重建的文件放入高斯2. 将稠密重建的文件放入高斯 二、vkitti数据放入高斯 一、colmap解算数据放入高斯 运行Colmap.bat文件之后&#xff0c;进行稀疏重建和稠密重建之后可以得到如下文件结构。 1. 将稀疏重建的文件放入高…

稀碎从零算法笔记Day23-LeetCode:二叉树的最大深度

题型&#xff1a;链表、二叉树的遍历 链接&#xff1a;104. 二叉树的最大深度 - 力扣&#xff08;LeetCode&#xff09; 来源&#xff1a;LeetCode 题目描述 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上…