当前位置: 首页 > news >正文

麒麟armv10-sp3安装oracle19c

项目需要用arm的操作系统安装oracle,未找到一个完整的安装文档,dbca无法图形问题解决,特此整理

一、环境信息

CPU

操作系统

兼容性信息

二、安装准备

1、软件下载及兼容性信息

麒麟系统兼容性官网网站:麒麟生态

oracle安装包:https://www.oracle.com/webapps/redirect/signon?nexturl=https://download.oracle.com/otn/linux/oracle19c/190000/LINUX.X64_193000_db_home.zip

oracle-database-preinstall-19c:Oracle Linux 7 (x86_64) Latest | Oracle, Software. Hardware. Complete.

oracle硬件要求:Server Hardware Checklist for Oracle Database Installation

2、设置hosts

###START-ORACL19C###
`hostname -I` `hostname` `hostname`
###END-ORACL19C###
EOF

3、规划swap

内存大于16G,swap要16G

dd if=/dev/zero of=/mnt/central/swapfile bs=1024 count=16M
mkswap /mnt/central/swapfile # 格式化 swap
chown root:root /mnt/central/swapfile
chmod 0600 /mnt/central/swapfile
swapon /mnt/central/swapfile # 激活 swap
swapon -s # 查看是否生效

vi /etc/fstab
/mnt/central/swapfile swap swap defaults 0 0

##最好重启一下机器

4、关闭防火墙

systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld

5、关闭 selinux

sed -i 's/enforcing/disabled/' /etc/selinux/config

6、配置环境变量

cat <<EOF >>~/.bash_profile

export ORACLE_HOSTNAME=`hostname`

export ORACLE_UNQNAME=myodb

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1

export ORA_INVENTORY=/u01/app/oraInventory

export ORACLE_SID=myodb

export PATH=/usr/bin:/usr/sbin:/usr/local/bin:$PATH

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

EOF

7、配置yum

mount /usr/local/src/Kylin-Server-V10-SP3-General-Release-2303-ARM64.iso /mnt/cdrom/

cd /etc/yum.repos.d/

mkdir bak

mv kylin_aarch64.repo bak/

vi local.repo

[LocalRepo]
name=Local Repository
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0

yum makecache

yum clean all

yum list  

三、软件安装

1、上传传软件

mkdir /soft

#上传软件

sha256sum LINUX.ARM64_1919000_db_home.zip

#检查与官网是否一样

Oracle Database 19c for LINUX ARM (aarch64)

2、安装preinstall

oracle-database-preinstall-19c 这个工具会自动配置系统参数,创建 oracle 用户和组

rpm -ivh oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

安装提示的依赖

安装完如果提示有/etc/release我们强制安装

rpm -ivh oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm --nodeps

3、创建目录授权

mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1

mkdir -p /data/oradata ### 数据的存储目录

chown -R oracle:oinstall /u01 /soft /data

chmod -R 775 /u01 /soft /data

passwd oracle#设置密码

4、图形化准备

第一步:安装软件包

yum install –y xorg-x11-xauth

yum install –y xterm # xterm是一款终端模拟器

第二步:修改配置文件

修改/etc/ssh/ssh_config, 将 ForwardX11 由no修改为yes

修改/etc/ssh/sshd_config,将 X11Forwarding 由no修改为yes

重启SSH服务:service sshd restart

5、设置编译工具

Oracle软件relink时,会到指定位置找ar和as工具,在CentOS 8上,虽然有这两个工具,但是位置不对,在Orace软件引用的位置创建符号链接:

mkdir -p /opt/rh/devtoolset-8/root/usr/bin/

cd /opt/rh/devtoolset-8/root/usr/bin/

ln -s /usr/bin/ar ar

ln -s /usr/bin/as as

6、配置libnsl.so.1的软连接

启动图形时会报缺失,详细了解可以参考:rhel8安装Oracle19c缺少libnsl如何解决 - 墨天轮

cd /usr/lib64

ln -s /u01/app/oracle/product/19.3.0/dbhome_1/lib/stubs/libnsl.so.2 libnsl.so.1

7、设置CV_ASSUME_DISTID参数

export CV_ASSUME_DISTID=OEL7.6

#由于在该版本的cvu_prereq.xml文件中只是写了oel支持,现在的操作系统是Kylin Linux Advanced Server,不在他的列表里面,因此提示该错误,解决方案参考:19.x:Database software installation failed with ” PRVG-0282 : failed to retrieve the operating system distribution ID ” (Doc ID 2894095.1),设置CV_ASSUME_DISTID解决该问题

8、解压软件

su - oracle

cd /soft

unzip LINUX.ARM64_1919000_db_home.zip -d $ORACLE_HOME  

9、执行安装

[oracle@localhost dbhome_1]$ ./runInstaller 

安装比较简单,按如上设置基本不会出问题,附上一张安装图

四、数据库创建

安装中遇到最大的问题就是创建数据库了,dbca图形启动一直卡住,静默安装直接闪退

日志报错,libsrvm19.so在link时异常

1、dbca安装

#备份home/lib目录下的libsrvm19.so

mv $ORACLE_HOME/lib/libsrvm19.so $ORACLE_HOME/lib/libsrvm19.so_bak

#拷贝oui目录下libsrvm19.so导lib目录

cp $ORACLE_HOME/oui/lib/aarch64/libsrvm19.so $ORACLE_HOME/lib/libsrvm19.so

dbca启动图形

#安装完成后避免环境异常替换回libsrvm19.so

rm -rf $ORACLE_HOME/lib/libsrvm19.so

mv $ORACLE_HOME/lib/libsrvm19.so_bak $ORACLE_HOME/lib/libsrvm19.so

整体创建与x86一样,不在截图赘述,附上一张安装完成截图

2、手工建库

dbca用如上可以解决,dbca如实在解决不了,或者体验手工建库可参考

1.1、创建目录

su - oracle

mkdir -p /u01/app/oracle/admin/myodb/adump

mkdir -p /u01/app/oracle/flashback

mkdir -p /data/oradata/myodb/datafile

mkdir -p/data/oradata/myodb/tempfile

mkdir -p/data/oradata/myodb/onlinelog

1.2、创建密码文件

cd $ORACLE_HOME/dbs
orapwd file=orapwhefeidb password=oracle

1.3、创建pfile

vi myodb.ora


myodb.__db_cache_size=754974720
myodb.__java_pool_size=16777216
myodb.__large_pool_size=16777216
myodb.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
myodb.__pga_aggregate_target=2248146944
myodb.__sga_target=4194304000
myodb.__shared_io_pool_size=0
myodb.__shared_pool_size=3321888768
myodb.__streams_pool_size=33554432
*.audit_file_dest='/u01/app/oracle/admin/myodb/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/data/oradata/myodb/control01.ctl','/data/oradata/myodb/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_files=1000
*.db_name='myodb'
*.db_recovery_file_dest='/u01/app/oracle/flashback'
*.db_recovery_file_dest_size=107374182400
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=myodbXDB)'
*.event='28401 TRACE NAME CONTEXT FOREVER, LEVEL 1'
*.memory_target=6442450944
*.open_cursors=300
*.processes=2000
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=2205
*.undo_tablespace='UNDOTBS1'

1.4、启动实例

sqlplus / as sysdba

#用pfile启动实例导nomount

startup nomount pfile='/home/oracle/myodb.ora';

#创建spfile

create spfile from pfile;

1.5、创建数据库

CREATE DATABASE myodb
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 ('/data/oradata/myodb/onlinelog/redo01a.log') SIZE 200M BLOCKSIZE 512,
GROUP 2 ('/data/oradata/myodb/onlinelog/redo02a.log') SIZE 200M BLOCKSIZE 512,
GROUP 3 ('/data/oradata/myodb/onlinelog/redo03a.log') SIZE 200M BLOCKSIZE 512
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 8192
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/data/oradata/myodb/datafile/system01.dbf'
SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
SYSAUX DATAFILE '/data/oradata/myodb/datafile/sysaux01.dbf'
SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
DEFAULT TABLESPACE users
DATAFILE '/data/oradata/myodb/datafile/users01.dbf'
SIZE 5M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE '/data/oradata/myodb/tempfile/temp01.dbf'
SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
UNDO TABLESPACE UNDOTBS1
DATAFILE '/data/oradata/myodb/datafile/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED;

1.6、脚本执行

@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
@?/rdbms/admin/utlrp.sql
@?/sqlplus/admin/pupbld.sql


#脚本说明:
#catalog.sql创建数据字典表的视图、励态性能视图和许多视图的公共同义词。授予PUBLIC对同义词的访问权限。
#catproc.sql运行PL/SQL 所需或与PL/SQL一起使用的所有脚本。
#utlrp.sql重新编译所有处于无效状态的PL/SQL模块,包括包、过程和类型。
#pupbld.sql SQL*Plus 需要,启用SQL*Plus以禁用用户命令。

#也可以用catctl.pl使用脚本运行catpcat.sql代替catalog.sql与catproc.sql
#catpcat.sql构建数据字典。
#该脚本使用catctl.pl程序运行(而不是使用SQL*Plus)并在内部运行脚本catalog.sql和catproc.sql并行进程,从而提高建数据字典的性能。

五、其他

使用Oracle11.2客户端连接Oracle 19c的时候,报错:
ORA-28040: No matching authentication protocol
ORA-28040: 没有匹配的验证协议

问题原因
原因客户端与服务器的没有匹配的认证协议

解决方案

1、在数据库服务器上的$ORACLE_HOME/network/admin/sqlnet.ora文件添加相应参数

SQLNET.ALLOWED_LOGON_VERSION_SERVER=11

SQLNET.ALLOWED_LOGON_VERSION_CLIENT=11

重启监听

2、升级客户端版本

相关文章:

  • SurfaceComposerClient
  • DeepSeek01-本地部署大模型
  • Vite 在生产环境下的打包策略
  • Uniapp 从入门到精通:组件与 API 的深度剖析
  • 【GESP C++三级考试考点详细解读】
  • 年前集训总结python
  • 使用vue2 脚手架 结合 Element UI 写一个电商商城前端静态网站模板-前端项目练习
  • 日做力扣题1--3. 无重复字符的最长子串
  • fastapi+vue实现按钮级别的权限控制
  • Golang学习笔记_33——桥接模式
  • oracle between and包含边界
  • 罗德与施瓦茨ZNB20,矢量网络分析仪9KHz-20GHz
  • Redis集群主从切换源码解读
  • MySQL 学习笔记:从基础到进阶
  • 格瑞普推出革命性半固态电池,为行业无人机续航注入未来动力
  • ib网络状态探测
  • 低代码系统-产品架构案例介绍、某PaaS(十四)
  • 如何简单的去使用jconsloe 查看线程 (多线程编程篇1)
  • 深度学习和机器学习的本质区别(白话版)
  • 基于FPGA的制冷型红外成像电路设计(论文+图纸)
  • 梅花奖在上海丨陈丽俐“婺剧折戏专场”:文戏武做,武戏文唱
  • 观察|“双雄”格局下电池制造商如何生存:加码不同技术、抢滩新赛道
  • 母亲节|写给妈妈
  • 巴基斯坦关闭全部领空
  • 央行:下阶段将实施好适度宽松的货币政策
  • 英国和美国就关税贸易协议条款达成一致