Euler OS 欧拉系统安装oracle 19c记录

欧拉系统安装oracle 19c记录

https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm

[oracle@openEuler01 dbs]$ cat /etc/openEuler-release
openEuler release 20.03 (LTS-SP1)

[oracle@openEuler01 dbs]$ cat /etc/redhat-release
####---Red Hat Enterprise Linux release 8.0 (Ootpa)
CentOS Linux release 7.5.1804 (Core)


错误1:

[root@openEuler01 opt]# rpm -ivh  oracle-database-preinstall-19c-1.0-2.el7.x86_64.rpm
警告:oracle-database-preinstall-19c-1.0-2.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID ec551f03: NOKEY
错误:依赖检测失败:
    /etc/redhat-release 被 oracle-database-preinstall-19c-1.0-2.el7.x86_64 需要


[root@openEuler01 opt]# rpm -ivh oracle-database-preinstall-19c-1.0-2.el7.x86_64.rpm    --nodeps --force
warning: oracle-database-preinstall-19c-1.0-2.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:oracle-database-preinstall-19c-1.################################# [100%]
   
   
错误2:
   
[root@openEuler01 opt]# rpm -ivh  oracle-database-ee-19c-1.0-1.x86_64.rpm
warning: oracle-database-ee-19c-1.0-1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:oracle-database-ee-19c-1.0-1     ################################# [100%]
Exception java.lang.UnsatisfiedLinkError: /opt/oracle/product/19c/dbhome_1/oui/lib/linux64/liboraInstaller.so: libnsl.so.1: cannot open shared object file: No such file or directory occurred..
java.lang.UnsatisfiedLinkError: /opt/oracle/product/19c/dbhome_1/oui/lib/linux64/liboraInstaller.so: libnsl.so.1: cannot open shared object file: No such file or directory
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1122)
    at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.loadNativeLib(OiipuUnixOps.java:388)
    at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.<clinit>(OiipuUnixOps.java:130)
    at oracle.sysman.oii.oiip.oiipg.OiipgEnvironment.getEnv(OiipgEnvironment.java:201)
    at oracle.sysman.oii.oiix.OiixIniPair.instantiateEnvVars(OiixIniPair.java:299)
    at oracle.sysman.oii.oiix.OiixIniPair.updateValue(OiixIniPair.java:230)
    at oracle.sysman.oii.oiix.OiixIniPair.<init>(OiixIniPair.java:148)
    at oracle.sysman.oii.oiix.OiixIniFile.readFile(OiixIniFile.java:809)
    at oracle.sysman.oii.oiix.OiixIniFile.readIniFile(OiixIniFile.java:978)
    at oracle.sysman.oii.oiix.OiixIniFile.getProfileString(OiixIniFile.java:385)
    at oracle.sysman.oii.oiix.OiixOraparam.getOraparamProfileString(OiixOraparam.java:338)
    at oracle.sysman.oii.oiix.OiixOraparam.getOraparamProfileString(OiixOraparam.java:296)
    at oracle.sysman.oii.oiix.OiixOraparam.usePrereqChecker(OiixOraparam.java:416)
    at oracle.sysman.oii.oiic.OiicSessionContext.setVariables(OiicSessionContext.java:1325)
    at oracle.sysman.oii.oiic.OiicBaseInventoryApp.execute(OiicBaseInventoryApp.java:771)
    at oracle.sysman.oii.oiic.OiicBaseInventoryApp.main_helper(OiicBaseInventoryApp.java:690)
    at oracle.sysman.oii.oiic.OiicDetachHome.main(OiicDetachHome.java:420)
'DetachHome' failed.
Exception in thread "main" java.lang.NullPointerException
    at oracle.sysman.oii.oiic.OiicBaseInventoryApp.main_helper(OiicBaseInventoryApp.java:706)
    at oracle.sysman.oii.oiic.OiicDetachHome.main(OiicDetachHome.java:420)
Exception java.lang.NoClassDefFoundError: Could not initialize class oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps occurred..
java.lang.NoClassDefFoundError: Could not initialize class oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps
    at oracle.sysman.oii.oiip.oiipg.OiipgEnvironment.getEnv(OiipgEnvironment.java:201)
    at oracle.sysman.oii.oiix.OiixIniPair.instantiateEnvVars(OiixIniPair.java:299)
    at oracle.sysman.oii.oiix.OiixIniPair.updateValue(OiixIniPair.java:230)
    at oracle.sysman.oii.oiix.OiixIniPair.<init>(OiixIniPair.java:148)
    at oracle.sysman.oii.oiix.OiixIniFile.readFile(OiixIniFile.java:809)
    at oracle.sysman.oii.oiix.OiixIniFile.readIniFile(OiixIniFile.java:978)
    at oracle.sysman.oii.oiix.OiixIniFile.getProfileString(OiixIniFile.java:385)
    at oracle.sysman.oii.oiix.OiixOraparam.getOraparamProfileString(OiixOraparam.java:338)
    at oracle.sysman.oii.oiix.OiixOraparam.getOraparamProfileString(OiixOraparam.java:296)
    at oracle.sysman.oii.oiix.OiixOraparam.usePrereqChecker(OiixOraparam.java:416)
    at oracle.sysman.oii.oiic.OiicSessionContext.setVariables(OiicSessionContext.java:1325)
    at oracle.sysman.oii.oiic.OiicBaseInventoryApp.execute(OiicBaseInventoryApp.java:771)
    at oracle.sysman.oii.oiic.OiicBaseInventoryApp.main_helper(OiicBaseInventoryApp.java:690)
    at oracle.sysman.oii.oiic.OiicAttachHome.main(OiicAttachHome.java:696)
'AttachHome' failed.
Exception in thread "main" java.lang.NullPointerException
    at oracle.sysman.oii.oiic.OiicBaseInventoryApp.main_helper(OiicBaseInventoryApp.java:706)
    at oracle.sysman.oii.oiic.OiicAttachHome.main(OiicAttachHome.java:696)
[SEVERE] An error occurred while registering the Oracle home. Verify logs in /var/log/oracle-database-ee-19c/results/oraInstall.log and /opt/oracle/oraInventory for more details and try again.
warning: %post(oracle-database-ee-19c-1.0-1.x86_64) scriptlet failed, exit status 1


错误3:
[root@openEuler01 opt]# /etc/init.d/oracledb_ORCLCDB-19c configure
Configuring Oracle Database ORCLCDB.
The java.library.path system variable is missing or invalid. Please set java.library.path with a correct value and retry the operation.
[FATAL] [INS-00001] Unknown irrecoverable error
   CAUSE: No additional information available.
   ACTION: Refer to the logs or contact Oracle Support Services
   SUMMARY:
       - [DBT-00006] The logging directory could not be created.
       - [DBT-00006] The logging directory could not be created.

Database configuration failed.

[root@openEuler01 opt]# chown -R   oracle:oinstall   /opt/oracle
[oracle@openEuler01 ~]$ mkdir  -p  /opt/oracle/product/19c/dbhome_1
[oracle@openEuler01 ~]$ mkdir  -p  /opt/app/oracle/oradata/
[oracle@openEuler01 ~]$ mkdir  /opt/oracle/oraInventory   
[root@openEuler01 dbs]# mkdir  /etc/oratab
[root@openEuler01 dbs]# chown  oracle:oinstall  /etc/oratab


错误4:
[oracle@openEuler01 tmp]$ lsnrctl   status
lsnrctl: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory
[oracle@openEuler01 tmp]$ yum install  libnsl

[oracle@openEuler01 ~]$ lsnrctl   status

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 15-NOV-2021 16:55:44

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

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused
[oracle@openEuler01 ~]$ lsnrctl   start

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 15-NOV-2021 16:55:47

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

Starting /opt/oracle/product/19c/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Log messages written to /opt/oracle/diag/tnslsnr/openEuler01/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=openEuler01)(PORT=1521)))

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                15-NOV-2021 16:55:48
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         /opt/oracle/diag/tnslsnr/openEuler01/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=openEuler01)(PORT=1521)))
The listener supports no services
The command completed successfully
[oracle@openEuler01 ~]$
[oracle@openEuler01 ~]$ dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname cdb01 -sid cdb01 -responseFile NO_VALUE -characterSet AL32UTF8 -sysPassword OraPasswd1 -systemPassword OraPasswd1 -createAsContainerDatabase true -numberOfPDBs 1 -pdbName pdb1 -pdbAdminPassword OraPasswd1 -databaseType MULTIPURPOSE -automaticMemoryManagement false -totalMemory 1536 -storageType FS -datafileDestination "/opt/oracle/oradata/" -redoLogFileSize 50 -emConfiguration NONE -ignorePreReqs
准备执行数据库操作
已完成 8%
复制数据库文件
已完成 31%
正在创建并启动 Oracle 实例
已完成 32%
已完成 36%
已完成 40%
已完成 43%
已完成 46%
正在进行数据库创建
已完成 51%
已完成 53%
已完成 54%
正在创建插接式数据库
已完成 58%
已完成 77%
执行配置后操作
已完成 100%
数据库创建完成。有关详细信息, 请查看以下位置的日志文件:
 /opt/oracle/cfgtoollogs/dbca/cdb01。
数据库信息:
全局数据库名:cdb01
系统标识符 (SID):cdb01
有关详细信息, 请参阅日志文件 "/opt/oracle/cfgtoollogs/dbca/cdb01/cdb01.log"。

[oracle@openEuler01 dbs]$  vim  ~/.bash_profile

# Source /root/.bashrc if user has one
[ -f ~/.bashrc ] && . ~/.bashrc

ORACLE_BASE=/opt/oracle
PATH=$PATH:$HOME/.local/bin:$HOME/bin
ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
PATH=$PATH:$HOME/.local/bin:$HOME/bin:/opt/oracle/product/19c/dbhome_1/bin
export ORACLE_BASE
export PATH
ORACLE_SID=cdb01
export ORACLE_SID
export ORACLE_HOME


[oracle@openEuler01 dbs]$ echo $ORACLE_SID
cdb01
[oracle@openEuler01 dbs]$ .   ~/.bash_profile
[oracle@openEuler01 dbs]$ sqlplus   /  as  sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Mon Nov 15 17:14:06 2021
Version 19.3.0.0.0

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


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

SQL> show  pdbs;    

    CON_ID CON_NAME              OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
     2 PDB$SEED              READ ONLY  NO
     3 PDB1                 READ WRITE NO

### 实现Oracle 19c在EulerOS上的静默安装 #### 准备工作 为了确保Oracle 19c能够在EulerOS上顺利进行静默安装,前期准备工作至关重要。这包括但不限于确认硬件资源满足最低需求、准备必要的软件包以及调整操作系统的内核参数等。 对于操作系统环境而言,需保证已正确设置主机名解析,并关闭SELinux以减少不必要的权限冲突[^3]。此外,还需创建用于运行Oracle服务的操作系统用户及其所属组,通常命名为`oracle`和`oinstall`,并赋予其适当目录下的读写执行权限。 #### 安装依赖库 由于EulerOS并非官方支持列表中的Linux发行版之一,因此可能需要手动安装一些额外的支持库来弥补兼容性的缺失。这些库可以参照Red Hat Enterprise Linux的相关说明获取,因为两者基于相似的技术栈构建而成。具体命令如下所示: ```bash yum install -y binutils compat-libcap1 gcc glibc ksh libaio \ libgcc make sysstat smartmontools unixODBC elfutils-libelf-devel \ numactl-devel bzip2 ``` #### 下载与解压介质 前往甲骨文官方网站下载适用于Linux x86_64架构的Oracle Database 19c压缩包文件(如`LINUX.X64_19C_DATABASE.ZIP`),将其放置于指定路径下并通过以下指令完成解压缩过程: ```bash unzip LINUX.X64_19C_DATABASE.zip -d /opt/oracle/database/ ``` #### 编辑响应文件 静默模式的核心在于利用预定义好的`.rsp`格式的回答文件指导整个安装流程自动推进而不需要任何人为干涉。针对本次场景可参考提供的模板修改相应字段值,比如选择组件类型(`INSTALL_TYPE`)设为"SERVER"表示仅部署数据库服务器端部分;设定ORACLE_HOME位置(`/u01/app/oracle/product/19.0.0/dbhome_1`);指明全局数据库名称(`GLOBAL_DBNAME`)及SID标识符(`SID`)等等。 一份典型的响应文件示例如下: ```properties # responseFile.rsp [GENERAL] RESPONSEFILE_VERSION="19.0" SHOW_WELCOME_PAGE=false DECLINE_SECURITY_UPDATES=true SECURITY_UPDATES_VIA_MYORACLESUPPORT=false SKIP_SOFTWARE_UPDATES=true SPECIFY_HOME_NAME=false INVENTORY_LOCATION=/u01/app/oraInventory UNIX_GROUP_NAME=oinstall SELECTED_LANGUAGES=en,zh_CN FROM_LOCATION=/opt/oracle/database/response/db_inst.rsp MY_ORACLE_SUPPORT_USERNAME= MY_ORACLE_SUPPORT_PASSWORD= [INSTALLATION OPTION] INSTALL_OPTION=SOFTWARE_ONLY [GRID_INSTALL_OPTIONS] CLUSTER_NODES={} [DATABASE_FILELOCATION] DATAFILE_DESTINATION=/u02/oradata RECOVERY_AREADESTINATION=/u02/fast_recovery_area CREATE_AS_CONTAINER_DATABASE=false SAMPLE_SCHEMA=false [CONFIGURATION MIGRATION OPTIONS] [PREREQUISITES CHECKING] IGNORE_PREREQ_FAILURES=true [END_OF_INPUT] ``` #### 执行静默安装 当一切就绪之后便可以通过调用`runInstaller`工具携带上述定制化的应答表作为输入参数从而触发后台无人值守式的部署动作。考虑到日志记录的重要性建议重定向输出流至特定的日志文件以便后续排查可能出现的问题所在之处。 ```bash cd /opt/oracle/database ./runInstaller -silent -responseFile /path/to/responseFile.rsp -ignorePrereq -waitForCompletion &> oracle_install.log & ``` #### 后续配置 待安装程序结束返回提示信息后并不代表全部工作已完成,还需要登录新建立起来的服务实例进一步完善诸如网络监听器注册、初始化参数优化等一系列收尾措施才能使这套平台真正投入使用当中去。 通过以上步骤可以在EulerOS环境中成功实施Oracle 19c产品的自动化安装方案,极大提高了工作效率的同时也降低了误操作的风险概率。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lq2003

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值