一、资源:

1、操作系统(二选一,我在适配时,两个环境都测试了)x86_64架构

银河麒麟服务器版操作系统: Kylin-Server-10-SP2-Release-Build09-20210524-x86_64.iso  自己下载吧银河麒麟v10下载(服务器版 桌面版) - 2021-09-24更新 - 掘金 (juejin.cn)

统信服务器版操作系统:uniontechos-server-20-1050e-amd64.iso   下载路径 统信UOS生态社区 - 打造操作系统创新生态

2、oracle数据库oracle 19c :

LINUX.X64_193000_db_home.zip

下载的地址 https://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle19c-linux-5462157.html"

(unzip 不要加任何参数,且在服务器上进行解压,因为里面有对应的软连接)

3、其他rpm包(镜像源中没有的)

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

4、so文件

libpthread_nonshared.a  下载地址https://download.csdn.net/download/yy4545/85916420https://download.csdn.net/download/yy4545/85916420

要放到/usr/lib64/目录下,不然执行安装oracle时会报错:makefile /u01/app/oracle/19.0.0/dbhome_1/rdbms/lib/ins_rdbms.mk

/usr/bin/ld: 找不到 -lclntshcore

二、安装:

总体要做的内容

  • 1、主机文件配置
  • 2、系统参数配置
  • 3、依赖的包安装
  • 4、创建用户、组及目录、设置oracle 密码、配置环境变量(参数)
  • 5、解压安装包、安装oracle、创建数据库
  • 6、设置开机启动
  • 7、19c常用命令
  • 8、打补丁包(可选)

1、主机文件配置:

/etc/hosts 中添加 :ip地址  主机名   主机名

另外把ipv6的那一行给注释掉

hostname -I 是列出所有ip(除了127.0.0.1) 如果你有多个ip,请在下面的命令执行后,重新修改/etc/hosts 只保留一个ip。
cat >> /etc/hosts <<EOF
###START-ORACL19C###
`hostname -I` `hostname` `hostname`
###END-ORACL19C###
EOF

如下图:

2、系统参数配置

加入系统参数/etc/sysctl.conf

cat >> /etc/sysctl.conf <<EOF
###START-ORACL19C###
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
###END-ORACL19C###
EOF####然后执行 /sbin/sysctl -p 使配置生效
/sbin/sysctl -p 

添加最大打开文件数等配置

cat >> /etc/security/limits.d/oracle-database-preinstall-19c.conf <<EOF
###START-ORACL19C###
oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   nproc    16384
oracle   hard   nproc    16384
oracle   soft   stack    10240
oracle   hard   stack    32768
oracle   hard   memlock    134217728
oracle   soft   memlock    134217728
###END-ORACL19C###
EOF

3、依赖的包安装

   先配置repo源

先把安装使用的iso文件加载到cdrom(光驱)中,然后挂载到本地/mnt下

mount  /dev/cdrom   /mnt/#查看挂载情况
df  -h  

安装依赖的包,没有的包可以暂时忽略,使用的是dnf,也可以使用yum来安装,直接把dnf替换为yum即可

dnf install -y bc \binutils \libnsl \compat-libstdc++-33 \elfutils-libelf \elfutils-libelf-devel \fontconfig-devel \gcc \gcc-c++ \glibc \glibc-devel \ksh \libaio \libaio-devel \libXrender \libXrender-devel \libX11 \libXau \libXi \libXtst \libgcc \librdmacm-devel \libstdc++ \libstdc++-devel \libxcb \make \net-tools  \nfs-utils  \python  \python-configshell  \python-rtslib  \python-six  \targetcli  \smartmontools \sysstat \unixODBC \unixODBC-devel

其中 compat-libstdc++ 需要自己从网上下载,或者去centos7源中找   名字为compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

##"单独复制安装包compat-libstdc++-33-3.2.3-72 服务器上,并执行下面命令开始安装"
dnf install -y ./compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

4、创建用户、组及目录、设置oracle 密码、配置环境变量(参数)

##### "创建新组和用户。"
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
###下面按需进行去掉注释,我安装时没有使用
#groupadd -g 54324 backupdba
#groupadd -g 54325 dgdba
#groupadd -g 54326 kmdba
#groupadd -g 54327 asmdba
#groupadd -g 54328 asmoper
#groupadd -g 54329 asmadmin
#groupadd -g 54330 racdba### 设置组
useradd -u 54321 -g oinstall -G dba,oper oracle##此步可以不做,
echo "设置oracle用户的密码为1qaz!QAZ  ,由于密码有大小写和最少8个字符限制,所以设置的比较复杂"
echo "1qaz!QAZ" |passwd --stdin oracle### 创建安装目录
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
mkdir -p /data/oradata    ### 数据的存储目录,最好使用单独挂载的磁盘,为了测试无所谓
chown -R oracle:oinstall /u01 /data
chmod -R 775 /u01 /data

配置oracle的环境变量

echo "创建脚本目录/home/oracle/scripts"
mkdir -p /home/oracle/scripts
echo "创建脚本“setEnv.sh”文件,包含环境变量等"。
cat > /home/oracle/scripts/setEnv.sh <<EOF
# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMPexport ORACLE_HOSTNAME=`hostname`
export ORACLE_UNQNAME=oraclcdb
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORA_INVENTORY=/u01/app/oraInventory
export ORACLE_SID=oraclcdb
export PDB_NAME=pdb1
export DATA_DIR=/data/oradataexport PATH=/usr/sbin:/usr/local/bin:$PATH
export PATH=$ORACLE_HOME/bin:\$PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
EOFecho "在“/home/oracle/.bash_profile”文件末尾添加对“setEnv.sh”文件的引用。执行下面命令"
echo ". /home/oracle/scripts/setEnv.sh" >> /home/oracle/.bash_profile

创建启停脚本

echo "创建“start_all.sh”和“stop_all.sh”脚本用来启动/关闭服务。确保所有权和权限正确无误。
安装完成后,您把“/etc/oratab”中每个实例的重新启动标志设置为“Y”,后就可以使用该脚本了"
cat > /home/oracle/scripts/start_all.sh <<EOF
#!/bin/bash
. /home/oracle/scripts/setEnv.shexport ORAENV_ASK=NO
. oraenv
export ORAENV_ASK=YESdbstart \$ORACLE_HOME
EOFcat > /home/oracle/scripts/stop_all.sh <<EOF
#!/bin/bash
. /home/oracle/scripts/setEnv.shexport ORAENV_ASK=NO
. oraenv
export ORAENV_ASK=YESdbshut \$ORACLE_HOME
EOFchown -R oracle:oinstall /home/oracle/scripts
chmod u+x /home/oracle/scripts/*.sh

把依赖的so文件复制到/usr/lib64/目录下

cp  /你的存放位置/libpthread_nonshared.a  /usr/lib64/libpthread_nonshared.a

5、解压安装包、安装oracle、创建数据库

解压时一定要用unzip,不要使用任何参数,且在服务器上进行解压,因为里面有对应的软连接;如果加了参数有概率导致lib下的.so不全,导致安装异常

#root用户下
chown -R oracle:oinstall LINUX.X64_193000_db_home.zip#并把文件cp到ORACLE_HOME下,我设置的oracle_home路径为:/u01/app/oracle/product/19.0.0/dbhome_1
cp LINUX.X64_193000_db_home.zip /u01/app/oracle/product/19.0.0/dbhome_1#切换到oracle用户下
su - oracle
cd $ORACLE_HOME
#开始解压,一定不要加参数,静等解压完毕
unzip  LINUX.X64_193000_db_home.zip

上面完成后开始执行静默安装oracle 19c (oracle用户下操作)

su - oracle     #切换到oracle用户下
cd $ORACLE_HOME# Fake Oracle Linux 7. 欺骗oracle 让他认为此为Oracle linux 否则会报错,因为oracle是基于#redhat的linux适配的export CV_ASSUME_DISTID=OEL7.6./runInstaller -ignorePrereq -waitforcompletion -silent                        \-responseFile ${ORACLE_HOME}/install/response/db_install.rsp               \oracle.install.option=INSTALL_DB_SWONLY                                    \ORACLE_HOSTNAME=${ORACLE_HOSTNAME}                                         \UNIX_GROUP_NAME=oinstall                                                   \INVENTORY_LOCATION=${ORA_INVENTORY}                                        \SELECTED_LANGUAGES=en,zh_CN                                                \ORACLE_HOME=${ORACLE_HOME}                                                 \ORACLE_BASE=${ORACLE_BASE}                                                 \oracle.install.db.InstallEdition=EE                                        \oracle.install.db.OSDBA_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.config.starterdb.characterSet=AL32UTF8                   \SECURITY_UPDATES_VIA_MYORACLESUPPORT=false                                 \DECLINE_SECURITY_UPDATES=trueecho "等待最后两个root用户执行的脚本"
###  如果前面按照步骤操作的情况下,是比较顺利的。
### 有异常了也不用怕,看报错信息,慢慢排错就行。

创建数据库(oracle用户下操作)

su - oracle
cd $ORACLE_HOME#启动监听
lsnrctl startecho "静默模式创建数据库"
dbca -silent -createDatabase                                                   \-templateName General_Purpose.dbc                                         \-gdbname ${ORACLE_SID} -sid  ${ORACLE_SID} -responseFile NO_VALUE         \-characterSet AL32UTF8                                                    \-sysPassword SysPassword1                                                 \-systemPassword SysPassword1                                              \-createAsContainerDatabase true                                           \-numberOfPDBs 1                                                           \-pdbName ${PDB_NAME}                                                      \-pdbAdminPassword PdbPassword1                                            \-databaseType MULTIPURPOSE                                                \-memoryMgmtType auto_sga                                                  \-totalMemory 2000                                                         \-storageType FS                                                           \-datafileDestination "${DATA_DIR}"                                        \-redoLogFileSize 50                                                       \-emConfiguration NONE                                                     \-ignorePreReqs

-characterSet AL32UTF8    数据库编码可以根据自己需要进行修改

静待数据库安装完毕。。。。。

6、设置开机启动

sed -i 's,'${ORACLE_SID}':.*$,'${ORACLE_SID}':'${ORACLE_HOME}':Y,g' /etc/oratabcat << EOF >>  /etc/rc.d/rc.local
su oracle -lc "/home/oracle/scripts/start_all.sh"
su oracle -lc "lsnrctl start"
EOF#为开机启动文件赋权chmod +x  /etc/rc.d/rc.local# pdb不会开机自启,所以要设置pdb开机启动
su oracle -lc "sqlplus / as sysdba" << EOF
alter system set db_create_file_dest='\${DATA_DIR}';
alter pluggable database \${PDB_NAME} save state;
exit;
EOF

7、19c常用命令

show con_name;#查看已有pdb
show pdbs
#查看已有pdb的datafile文件
select name from v$datafile;
#查看已有pdb的tempfile文件
select name from v$tempfile;#查看DB_CREATE_FILE_DEST缺省路径
show parameter DB_CREATE_FILE_DEST;select name,open_mode from v$pdbs;
alter session set container=ORCLPDB1;

8、打补丁包(可选)

        没有对应的补丁包,所以此步略过。。

三、总结

由于是国产的操作系统(实际跟centos是有渊源的(不是很肯定,支持国产)。麒麟是基于openeular,openeular是基于centos的; 统信是基于阿里openanolis,有双核心{一个是阿里自己开发的,一个是基于centos8的};),没有可以参照的,而且大部分包有修改。比较折腾,耗时将近一周;总算搞定了,在此记录,烦请请记得给关注点赞。

  最重要的是一个包:compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm,一个so文件,zip包的解压(unzip 不要加任何参数,且在服务器上进行解压,因为里面有对应的软连接)

银河麒麟v10 服务器 和统信20 1050e 服务器 安装oracle 19c实战(适配成功)相关推荐

  1. 飞腾2000+银河麒麟V10桌面版+docker+达梦8.1

    飞腾2000+银河麒麟V10桌面版+docker 信创适配笔记 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 飞腾2000+银河麒麟V10桌面版+docker 前言 一. ...

  2. 银河麒麟V10+飞腾处理器+ARM+Qt5.12.8离线安装包

    银河麒麟V10+飞腾处理器+ARM+Qt5.12.8离线安装包 在线安装: sudo apt-get install cmake qt5-default qtcreator sudo apt-get ...

  3. 银河麒麟V10服务器系统安装教程及注意事项

    系统安装 1.引导安装 从U盘引导安装时首先进入的是安装引导页面,如下图: 使用向上方向键<↑>选择"Install Kylin Linux Advanced Server V1 ...

  4. 【银河麒麟V10】【服务器】ftp使用介绍及常见场景搭建

    一.ftp概述 1.FTP协议 FTP是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20.21号端口,其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端 ...

  5. 飞腾arm服务器下的银河麒麟V10 yum 安装docker

    银河麒麟V10 yum 安装docker 1. 查看版本 1. 1 增加软件源 1. 2 yum安装docker的命令 2. 安装仓库 2.1 安装缺少的依赖container-selinux 2.2 ...

  6. 2022-06-29 银河麒麟V10 Nginx-rtmp+FFmpeg流媒体服务器环境搭建

    银河麒麟V10 系统信息 2022-06-29_10-06-50.png FFmpeg 下载源码https://github.com/FFmpeg/FFmpeg/releases/tag/n3.4.1 ...

  7. 银河麒麟V10操作系统(桌面版/服务器版)官网免试用申请下载链接

    银河麒麟V10操作系统(桌面版/服务器版)官网免试用申请下载链接 序言 #目前就职一家麒麟软件省区的总代理公司,作为公司的一名技术,希望将工作中接触到的关于麒麟软件的一些相关知识做个blog加深记忆, ...

  8. 【银河麒麟V10】【服务器】系统分区扩容

    一.麒麟服务器系统分区说明 1.自动分区 银河麒麟V10服务器版默认的自动分区方案使用的是lvm分区(含root.backup和swap分区),有利于满足后期分区大小的动态调整 如下图可以看到,默认分 ...

  9. 银河麒麟V10高级服务器操作系统clickhouse数据迁移技术全网唯一

    银河麒麟V10操作系统clickhouse数据迁移技术 前言 笔者自述:笔者本人为中国软件行业国产化进程中的一份子,本人也是非常支持华为手机以及鸿蒙操作系统.本文介绍在本人在实际国产化切换过程中的一些 ...

最新文章

  1. python的设计哲学_Python 的设计哲学
  2. 解决INVALID BOUND STATEMENT (NOT FOUND)(MYBATIS的MAPPER绑定问题)
  3. eDrawings Pro 2020中文版
  4. 10个python使用技巧
  5. Shell脚本编程基础笔记一
  6. mysql分层_MySql中的分层数据
  7. flask+apache2+ubuntu
  8. js typeof 能得到哪几种类型
  9. 【猥琐流】制作一个隐藏在黑页下的大马并且添加后门
  10. hive实现两列数据合并成一列
  11. 深度遍历和广度遍历(图解)
  12. python画运动物体的轨迹_canvas动画—圆形扩散、运动轨迹
  13. 批量修改word中的公式--mathtype
  14. 阿里云产品有哪些?阿里云产品种类整理汇总
  15. C语言switch输入月份输出季节,输入年月,输出月份有几天(分别用了if——else和switch)...
  16. python字典增加方法_python增加字典项的方法
  17. 微信小程序---页面事件
  18. windows中hadoop报错org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
  19. buctoj-寒假集训进阶训练赛(二十二)
  20. 详细Redis入门教程

热门文章

  1. 727665503骗子 出售winmydns的骗子 dnscdn@qq.com(727665503)
  2. [操作系统学习笔记]Operating System(三)
  3. 变身后是一只火鸟的机器人_正文 第六百九十二章: 不死鸟的传说(求月票)
  4. html仿app开始广告,广告编写.html
  5. getTime 方法
  6. zsh: permission denied:解决终端命令行失效,文件夹无权限的问题。
  7. Gitblit使用安装使用教程
  8. 【美化§美女之冷艳xp主题】
  9. 网易大数据面试题答案
  10. Machine Learning in Action 读书笔记---第4章 基于概率论的分类方法:朴素贝叶斯