转眼间已经2023年,再有一周就要过年了,在这里先给大家拜个早年,祝大家新的一年万事顺利。
Oracle如今版本号也和年份挂钩,在前段时间的OCW上也宣布发布了beta版本的23c,因为23c是继19c之后的另一个长期支持版本,所以今天就下载安装测试尝尝鲜。
自己的测试环境目前剩余资源有限,就先装个单实例的23c体验下吧:
[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
复制
嗯,有虚拟机克隆起来真是太香了!
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的速度还可以接受,就不折腾去连千兆网线了。
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两项不符合要求了,这个是我测试环境受限,可以忽略:
最后完成安装:
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数据库吧~