转眼间已经2023年,再有一周就要过年了,在这里先给大家拜个早年,祝大家新的一年万事顺利。

Oracle如今版本号也和年份挂钩,在前段时间的OCW上也宣布发布了beta版本的23c,因为23c是继19c之后的另一个长期支持版本,所以今天就下载安装测试尝尝鲜。

自己的测试环境目前剩余资源有限,就先装个单实例的23c体验下吧:

1.准备系统环境

直接依据db1克隆出一个机器供23c安装使用。
克隆后配置需要的内存8G,修改下主机名db23c、IP地址:192.168.1.23

[root@bogon ~]# virt-clone -o db1 -n 23c --auto-clone
[root@bogon ~]# virsh start db1
[root@bogon ~]# virsh setmem 8192000
[root@bogon ~]# virsh console 23c [root@db01xx ~]# hostnamectl set-hostname db23c
[root@db01xx ~]# vi /etc/hosts
[root@db01xx ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
[root@db01xx ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens9
[root@db01xx ~]# reboot

嗯,有虚拟机克隆起来真是太香了!

2.安装介质上传

因为模版中之前没上传23c的介质,所以需要拷贝上传下:

jingyuzhao@jingyuzhao-mac 23c % scp db_home.zip root@192.168.1.23:/u01/media
root@192.168.1.23's password:
db_home.zip 40% 1520MB 11.1MB/s 03:24 ETA

无线网络直接传的,速度不快,但11MB/s的速度还可以接受,就不折腾去连千兆网线了。

3.安装23c软件并创建数据库

1) 安装Oracle用户、组、设置密码

groupadd -g 54321 oinstall
groupadd -g 54322 dba useradd -u 54321 -g oinstall -G dba oracle echo oracle | passwd --stdin oracle

2) 创建$ORACLE_BASE目录并赋予上层目录oracle权限:

mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app

3) 安装好Oracle需要的rpm包

先安装19c需要的rpm包,如果缺少再安装,整理后回填到这里,供下次安装参考。

等23c正式官方文档出来后,再按文档说明安装。

yum -y install oracle-database-preinstall-19c

4)修改配置文件 /etc/security/limits.conf

oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768

5)修改配置文件 /etc/sysctl.conf

增加如下内容:

vm.swappiness = 1
vm.dirty_background_ratio = 3
vm.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
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 = 1048576
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.panic_on_oops = 1

然后 sysctl -p 生效。

6)Oracle用户环境变量配置

vi ~/.bash_profile

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/23.0.0/db_1
export ORACLE_SID=demo23
export PATH=$ORACLE_HOME/bin:$PATH

7)Oracle用户解压oracle软件安装包

mkdir -p /u01/app/oracle/product/23.0.0/db_1
cd $ORACLE_HOME
unzip /u01/media/db_home.zip

8)使用图形界面安装数据库软件,dbca建库,netca创建监听

export DISPLAY=192.168.1.9:0.0
./runInstaller

居然遇到错误了。。

[oracle@db23c db_1]$ ./runInstaller
ERROR: Unable to verify the graphical display setup. This application requires X display. Make sure that xdpyinfo exist under PATH variable.
/u01/app/oracle/product/23.0.0/db_1/perl/bin/perl: error while loading shared libraries: libnsl.so.2: cannot open shared object file: No such file or directory

查看发现系统只有 libnsl.so.1 的链接指向:

[oracle@db23c db_1]$ ls -l /lib64/libnsl*
-rwxr-xr-x. 1 root root 115824 Sep 30 2020 /lib64/libnsl-2.17.so
lrwxrwxrwx. 1 root root 23 Jan 9 11:48 /lib64/libnsl.so -> ../../lib64/libnsl.so.1
lrwxrwxrwx. 1 root root 14 Jan 7 00:02 /lib64/libnsl.so.1 -> libnsl-2.17.so

试着创建一个链接试试看(需要root用户权限):

# Usage: ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
[root@db23c ~]# ln -s /lib64/libnsl-2.17.so /lib64/libnsl.so.2

然后再尝试:

[oracle@db23c db_1]$ ./runInstaller
/u01/app/oracle/product/23.0.0/db_1/perl/bin/perl: /lib64/libcrypt.so.1: version `XCRYPT_2.0' not found (required by /u01/app/oracle/product/23.0.0/db_1/perl/bin/perl)
/u01/app/oracle/product/23.0.0/db_1/perl/bin/perl: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /u01/app/oracle/product/23.0.0/db_1/perl/bin/perl)

额,看起来不行,库文件很多都不符合23c的要求看起来。当前系统是OEL 7.9,推测23c要适配OEL 8.*才可以,因为目前23c只是beta版,在MOS的Certifications里面还没有相关信息,等正式版出来,大家去参照官方说明即可。

根据经验,步骤都是OK的,就是系统要换新版本的系统,换了OEL 8.7 之后果然一切顺利。

来看下23c的安装启动画面~

开始图形配置23c的安装:

在这一步可以看到,23c这个下一代的长期支持版本,已不再提供non-cdb的选项:

另外注意,在预检查的部分,发现默认除了oinstall和dba组,还有oper组,可以执行脚本修复:

同时还发现还需要安装policycoreutils-python-utils这个rpm包,直接yum安装即可。

[root@db23c db_1]# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba)
[root@db23c db_1]# /tmp/InstallActions2023-01-13_11-39-14AM/CVU_23_oracle_2023-01-13_11-39-17_17676/runfixup.sh
All Fix-up operations were completed successfully.
[root@db23c db_1]# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54323(oper),54322(dba) [root@db23c db_1]# yum install policycoreutils-python-utils

修复之后,就只剩下swap和kvm-clock两项不符合要求了,这个是我测试环境受限,可以忽略:

最后完成安装:

4.番外:OEL8.7的环境准备

去 edelivery.oracle.com 下载一个OEL 8.7,再次尝试。
发现介质变的好大,OEL 7.9才4G+大小的规模,OEL 8.7居然有12G大小。

1)KVM环境下安装OEL 8.7

virt-install \
--network bridge:br0 \
--name oel8 \
--ram=8192 \
--vcpus=2 \
--disk path=/flash/vm-images/oel8.img,size=20 \
--cdrom /flash/ISO/OracleLinux-R8-U7-Server-x86_64-dvd.iso

2)配置网络

配置网卡时,发现在OEL 8中,配置完熟悉的ifcfg-xxx文件,使用systemctl restart network已经不再有用。

使用 nmcli c reload 重载网络配置才可以生效网卡。

3)virsh console oel8 卡住问题

发现解决 virsh console oel8 卡住问题也和之前在OEL7配置不一样,针对ttyS0的几个文件,在OEL8中都没找到!

--这个/etc/securetty文件原来没有,直接生成了一个新的。
echo ttyS0 >> /etc/securetty --在 `/etc/default/grub` 文件中的 `GRUB_CMDLINE_LINUX` 这一行的最后添加 `console=ttyS0,115200` (引号里面哦)
GRUB_CMDLINE_LINUX="resume=/dev/mapper/ol-swap rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet console=ttyS0,115200" --生成配置文件
[root@bogon system]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
done --启动对应服务
systemctl status serial-getty@ttyS0
systemctl start serial-getty@ttyS0
systemctl enable serial-getty@ttyS0 --尝试virsh console oel8连接成功:
[root@bogon ~]# virsh console oel8
连接到域 oel8
换码符为 ^] Oracle Linux Server 8.7
Kernel 5.15.0-3.60.5.1.el8uek.x86_64 on an x86_64 bogon login: root
Password:
Last login: Thu Jan 12 23:36:42 from 192.168.1.4

4)克隆oel8

和文章开头时的示例类似,来配置主机名db23c、IP地址:192.168.1.23

[root@bogon ~]# virt-clone -o oel8 -n 23c --auto-clone
[root@bogon ~]# virsh start 23c
[root@bogon ~]# virsh console 23c [root@db01xx ~]# hostnamectl set-hostname db23c
[root@db01xx ~]# vi /etc/hosts
[root@db01xx ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens3
[root@db01xx ~]# nmcli c reload
[root@db01xx ~]# nmcli c up ens3
[root@db01xx ~]# reboot

这次不用raw,试着添加一个动态增长的磁盘:

[root@bogon ~]# qemu-img create -f qcow2 -o preallocation=falloc /flash/vm-images/23c-lun1.qcow2 100G
Formatting '/flash/vm-images/23c-lun1.qcow2', fmt=qcow2 size=107374182400 encryption=off cluster_size=65536 preallocation='falloc' lazy_refcounts=off
[root@bogon ~]#
[root@bogon ~]# virsh attach-disk 23c /flash/vm-images/23c-lun1.qcow2 sdb
成功附加磁盘

然后登录到VM中,进行lvm配置操作,最终分好两个目录 /u01 和 /oradata

[root@db23c ~]# pvcreate /dev/sdb
[root@db23c ~]# vgcreate ora /dev/sdb
[root@db23c ~]# lvcreate -L 50G -n u01 ora
[root@db23c ~]# lvcreate -l 12803 -n oradata ora
[root@db23c ~]# mkfs.xfs /dev/mapper/ora-u01
[root@db23c ~]# mkfs.xfs /dev/mapper/ora-oradata
[root@db23c ~]# mkdir /u01
[root@db23c ~]# mkdir /oradata
[root@db23c ~]# vi /etc/fstab --末尾添加两行:
/dev/mapper/ora-u01 /u01 xfs defaults 0 0
/dev/mapper/ora-oradata /oradata xfs defaults 0 0
[root@db23c ~]# mount -a
[root@db23c ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 8.5M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/ol-root 17G 2.0G 16G 12% /
/dev/sda1 1014M 245M 770M 25% /boot
tmpfs 794M 0 794M 0% /run/user/0
/dev/mapper/ora-u01 50G 390M 50G 1% /u01
/dev/mapper/ora-oradata 50G 390M 50G 1% /oradata
[root@db23c ~]# chown oracle:oinstall /oradata

至此,新的基础环境准备就绪,回到文章开头,开始体验安装23c数据库吧~

Linux平台Oracle 23c单实例 安装部署配置 快速参考的更多相关文章

  1. Linux平台oracle 11g单实例 安装部署配置 快速参考

    1.重建主机的Oracle用户 组 统一规范 uid gid 以保证共享存储挂接或其他需求的权限规范 userdel -r oracle groupadd -g 7 oinstall groupadd ...

  2. Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考

    操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...

  3. Linux平台Oracle 12.1.0.2 单实例安装部署

    主题:Linux平台Oracle 12.1.0.2 单实例安装部署 环境:RHEL 6.5 + Oracle 12.1.0.2 需求:安装部署OEM 13.2需要Oracle 12.1.0.2版本作为 ...

  4. Oracle 11g 单实例安装文档

    这里介绍在Red Hat Enterprise Linux Server release 5.7 (Tikanga)下安装ORACLE 11.2.0.1.0的过程,本文仅仅是为了写这样安装指导文档而整 ...

  5. Oracle 12c 单实例安装

    准备工作 实验环境:Redhat 6.6   Oracle 12c 12.2.0.1 1.官网下载 https://www.oracle.com/technetwork/database/enterp ...

  6. Linux平台Oracle多个实例启动说明

    环境说明:oracle实例1的SID为orcl(为默认启动的实例),第二个实例的SID为orcl2 启动步骤:  1)启动数据库实例完成后,启动数据库监听服务 #lsnrctl   start 2)切 ...

  7. Linux平台Oracle多个实例启动

    如何在Linux系统中启动多个Oracle实例?相信很多Oracle的初学者都会碰到这一类问题,下面我简单介绍一下. 1.切换Oracle用户: # su oracle 2.切换到Oracle目录下: ...

  8. 在 Oracle Linux 6.5 上安装 Oracle 11g 单实例数据库

    Checking the Hardware Requirements 系统必须满足下面最小的硬件要求 Memory Requirements Minimum: 1 GB of RAMRecommend ...

  9. Linux平台达梦数据库V7单实例安装方式之图形方式

    一 前言 我们在学习任何一个应用时,了解它的最初步骤通常是学会如何进行安装配置,后序才去关心如何使用,学习达梦数据库也是如此,而达梦数据库的安装提供了多种方式,接下来会一一介绍每种安装方式,达梦数据库 ...

  10. Oracle 11g 单实例静默安装实战记录(linux)

    oracle 11g 单实例静默安装 AUTHOR:Oracle_Ran 环境规划: OS Version : Red Hat Enterprise Linux Server release 6.7 ...

随机推荐

  1. Taurus .Net Core 微服务开源框架:Admin 插件【4-3】 - 配置管理-Mvc【Plugin-MicroService 微服务】

    前言: 继上篇:Taurus .Net Core 微服务开源框架:Admin 插件[4-2] - 配置管理-Mvc[含请求日志打印] 本篇继续介绍下一个内容: 1.系统配置节点:Mvc - Plugi ...

  2. NextJS项目的部署以及多环境的实现

    背景 开发了个Next项目,将部署过程记录一下.另外由于项目准备了两个服务器分别作为开发自测的开发环境和交付给客户的生产环境使用:因此也介绍一下NextJS项目中多环境的配置. 项目结构 计划是让Ng ...

  3. CF961E Tufurama题解

    我们维护一个存储下标数据的树状数组,先将 \(1\sim n\) 插入树状数组. 用 \(a\) 表示原数组,\(b\) 表示按照 \(a_i\) 排序后的数组. 我们从 \(1\) 开始统计,直到 ...

  4. 通信原理知识点总结(XDU网信通原)

    因为感觉第2章和第7章内容特别乱,当时老师讲的时候好像也没有按照一个正确的顺序来讲,所以我就把这两部分的内容按照结构顺序整理了一下,这样更便于理解和记忆 第2章 无线信道传输特性 显示不全点链接看完整 ...

  5. ISP-长短曝光融合生成HDR图像

    1.高动态范围图像相关 图像的动态范围是指一幅图像中量化的最大亮度与最小噪声的比值.高动态范围HDR(high dynamic range)图像,能够完整表示真实场景中跨度很大的动态范围.采用普通CM ...

  6. 数据分析之jupyter notebook工具

    一.jupyter notebook介绍 1.简介 Jupyter Notebook是基于网页的用于交互计算的应用程序.其可被应用于全过程计算:开发.文档编写.运行代码和展示结果.--Jupyter ...

  7. elasticSearch初步学习反思

    转自自己的qq空间 2022年11月29日 每次找到新技术就会发癫 把业务整理完了 看着elasticSearch开始发癫 TM的把所有的一切都塞给它 反正全标记索引要啥拿啥 狠狠地获取就完了 思来想 ...

  8. C语言循环坑 -- continue的坑

    文章目录 前言 一.continue语法 1.continue的作用 2.语法 二.大坑项目 题目 分析 正确写法 三.进坑调试 第一种 第二种 总结 前言 在使用continue和break时,会出 ...

  9. 如何编写难以维护的React代码?耦合组件

    如何编写难以维护的React代码?耦合组件 在许多项目中,我们经常会遇到一些难以维护的React代码.其中一种常见的情况是:子组件直接操作父组件方法,从而导致父子组件深度耦合.这样的实现让子组件过于依 ...

  10. 体验IntelliJ IDEA的远程开发(Remote Development)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 IDEA的远程开发功能,可以将本地的编译.构 ...