尝试在CentOS Stream 8上安装Oracle Database 23c Free
首先
2023年4月,Oracle数据库23c Free(以下简称23cFree)开始提供。虽然与之前的XE类似,但XE是在正式版本发布后提供的,而这次则是先提供了Free版。
Oracle数据库23c将成为19c后的首个长期支持版本,也是首个不再支持非容器数据库的版本。
尽管尚未确定正式版的发布时间,23cFree和正式版在功能上似乎存在差异。为了了解它们的特点,我们首先进行了预先调查并尝试了安装。
之前我一直认为我不能再使用以前常用的CentOS了,但最近才知道原来可以使用CentOS Stream 8(也有9版本),所以这次我打算在CentOS Stream 8上安装23cFree。
另外,因为机缘巧合,我决定重新整理一下在CentOS Stream 8环境中安装Oracle数据库时应进行的必要设置。
请参阅以下有关23cFree的文章。
安装 CentOS Stream 8
关于下载和安装ISO镜像,请参考以下文章。
这次我们在Oracle VM上搭建了环境。
CentOS Stream 8的配置设定
在安装23cFree之前,为了保险起见,先进行预定的操作系统设置。
在CentOS Stream 8中,如果在操作系统安装时创建一个OS账号,它会自动添加到”wheel”用户组中,因此根据规范应该使用sudo进行以下设置,但为了方便起见,我们选择使用root用户进行操作。
禁用SELinux。
编辑/etc/selinux/config文件,并将SELINUX的值更改为disabled,然后重新启动操作系统。
[root@centos8stream ~]# vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
#SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
[root@centos8stream ~]#
[root@centos8stream ~]# reboot
禁用Firewalld
停止并禁用Firewalld。
[root@centos8stream etc]# systemctl stop firewalld
[root@centos8stream etc]# systemctl disable firewalld
修改journald的设置
我們將更改syslog的設定,使其永久保存在磁盤中。
[root@centos8stream ~]# vim /etc/systemd/journald.conf
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See journald.conf(5) for details.
[Journal]
Storage=persistent
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
RateLimitIntervalSec=0
RateLimitBurst=0
#SystemMaxUse=
#SystemKeepFree=
#SystemMaxFileSize=
#SystemMaxFiles=100
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#RuntimeMaxFiles=100
#MaxRetentionSec=
#MaxFileSec=1month
#ForwardToSyslog=no
#ForwardToKMsg=no
#ForwardToConsole=no
#ForwardToWall=yes
#TTYPath=/dev/console
#MaxLevelStore=debug
#MaxLevelSyslog=debug
#MaxLevelKMsg=notice
#MaxLevelConsole=info
#MaxLevelWall=emerg
#LineMax=48K
SystemMaxUse=1G
[root@centos8stream ~]# systemctl restart systemd-journald
NTP服务器设置
指定一个NTP服务器,并将时间同步设置为慢速模式。本次选择了jp.pool.ntp.org作为NTP服务器。
[root@centos8stream ~]# vim /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#pool 2.centos.pool.ntp.org iburst
server jp.pool.ntp.org prefer iburst
# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift
# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3
# Enable kernel synchronization of the real-time clock (RTC).
rtcsync
# Enable hardware timestamping on all interfaces that support it.
#hwtimestamp *
# Increase the minimum number of selectable sources required to adjust
# the system clock.
#minsources 2
# Allow NTP client access from local network.
#allow 192.168.0.0/16
# Serve time even if not synchronized to a time source.
#local stratum 10
# Specify file containing keys for NTP authentication.
keyfile /etc/chrony.keys
# Get TAI-UTC offset and leap seconds from the system tz database.
leapsectz right/UTC
# Specify directory for log files.
logdir /var/log/chrony
# Select which information is logged.
#log measurements statistics tracking
leapsecmode slew
[root@centos8stream ~]# systemctl restart chronyd
请确认和必要时更改操作系统的时区。
在安装操作系统时,我在GUI界面上将时区设置为“Asia/Tokyo”。但不知为何,实际上却变成了“America/New_York (EDT)”。因此,我需要更改操作系统的时区设置。
[root@centos8stream ~]# timedatectl status
Local time: 火 2023-05-16 07:38:20 EDT
Universal time: 火 2023-05-16 11:38:20 UTC
RTC time: 火 2023-05-16 11:38:21
Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
[root@centos8stream ~]#
[root@centos8stream ~]# timedatectl set-timezone Asia/Tokyo
[root@centos8stream ~]#
[root@centos8stream ~]# timedatectl status
Local time: 火 2023-05-16 20:39:19 JST
Universal time: 火 2023-05-16 11:39:19 UTC
RTC time: 火 2023-05-16 11:39:20
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
[root@centos8stream ~]#
主机设置
我会进行/etc/hosts文件的设置。
[root@centos8stream etc]# vim /etc/hosts
192.168.XXX.XXX centos8stream
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
安装23cFree
如果要在Linux上安装正式版的Oracle,需要事先进行一些准备工作,例如创建oracle用户、oinstall等组,设置内核参数等等。但是,对于23cFree来说,只需安装两个rpm软件包,基本上就可以放心地完成安装。
可从以下网站下载用于安装的RPM。
从上述网站下载以下两个RPM,并将其放置在服务器上。
【RHEL和CentOS的预安装RPM】
oracle-database-preinstall-23c-1.0-0.5.el8.x86_64.rpm
【适用于Linux x64的Oracle Database 23c 免费的开发者预览版(OL8或RHEL8)】
oracle-database-free-23c-1.0-1.el8.x86_64.rpm
我已经按照以下步骤安装了23cFree和创建了数据库。
安装oracle-database-preinstall-23c。
它会自动安装或更新所需的Oracle软件包。
[root@centos8stream ~]# dnf localinstall oracle-database-preinstall-23c-1.0-0.5.el8.x86_64.rpm
メタデータの期限切れの最終確認: 0:22:46 時間前の 2023年05月15日 04時41分12秒 に実施しました。
依存関係が解決しました。
======================================================================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
======================================================================================================================================================================================
インストール:
oracle-database-preinstall-23c x86_64 1.0-0.5.el8 @commandline 30 k
依存関係のインストール:
compat-openssl10 x86_64 1:1.0.2o-4.el8 appstream 1.1 M
glibc-devel x86_64 2.28-225.el8 baseos 83 k
glibc-headers x86_64 2.28-225.el8 baseos 488 k
kernel-headers x86_64 4.18.0-490.el8 baseos 11 M
ksh x86_64 20120801-257.el8 appstream 929 k
libnsl x86_64 2.28-225.el8 baseos 105 k
libxcrypt-devel x86_64 4.1.1-6.el8 baseos 25 k
lm_sensors-libs x86_64 3.4.0-23.20180522git70f7e08.el8 baseos 59 k
make x86_64 1:4.2.1-11.el8 baseos 498 k
sysstat x86_64 11.7.3-9.el8 appstream 426 k
トランザクションの概要
======================================================================================================================================================================================
インストール 11 パッケージ
合計サイズ: 15 M
ダウンロードサイズの合計: 15 M
インストール後のサイズ: 17 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/10): sysstat-11.7.3-9.el8.x86_64.rpm 485 kB/s | 426 kB 00:00
(2/10): ksh-20120801-257.el8.x86_64.rpm 902 kB/s | 929 kB 00:01
(3/10): compat-openssl10-1.0.2o-4.el8.x86_64.rpm 1.1 MB/s | 1.1 MB 00:01
(4/10): glibc-devel-2.28-225.el8.x86_64.rpm 228 kB/s | 83 kB 00:00
(5/10): libnsl-2.28-225.el8.x86_64.rpm 1.2 MB/s | 105 kB 00:00
(6/10): libxcrypt-devel-4.1.1-6.el8.x86_64.rpm 492 kB/s | 25 kB 00:00
(7/10): lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64.rpm 1.1 MB/s | 59 kB 00:00
(8/10): glibc-headers-2.28-225.el8.x86_64.rpm 721 kB/s | 488 kB 00:00
(9/10): make-4.2.1-11.el8.x86_64.rpm 1.1 MB/s | 498 kB 00:00
(10/10): kernel-headers-4.18.0-490.el8.x86_64.rpm 8.4 MB/s | 11 MB 00:01
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計 2.5 MB/s | 15 MB 00:05
CentOS Stream 8 - AppStream 1.5 MB/s | 1.6 kB 00:00
GPG 鍵 XXXXXXXXXX をインポート中:
Userid : "CentOS (CentOS Official Signing Key) <security@centos.org>"
Fingerprint: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
これでよろしいですか? [y/N]: y
鍵のインポートに成功しました
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
インストール中 : make-1:4.2.1-11.el8.x86_64 1/11
scriptletの実行中: make-1:4.2.1-11.el8.x86_64 1/11
インストール中 : compat-openssl10-1:1.0.2o-4.el8.x86_64 2/11
scriptletの実行中: compat-openssl10-1:1.0.2o-4.el8.x86_64 2/11
インストール中 : lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64 3/11
scriptletの実行中: lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64 3/11
インストール中 : sysstat-11.7.3-9.el8.x86_64 4/11
scriptletの実行中: sysstat-11.7.3-9.el8.x86_64 4/11
インストール中 : libnsl-2.28-225.el8.x86_64 5/11
インストール中 : kernel-headers-4.18.0-490.el8.x86_64 6/11
scriptletの実行中: glibc-headers-2.28-225.el8.x86_64 7/11
インストール中 : glibc-headers-2.28-225.el8.x86_64 7/11
インストール中 : libxcrypt-devel-4.1.1-6.el8.x86_64 8/11
インストール中 : glibc-devel-2.28-225.el8.x86_64 9/11
scriptletの実行中: glibc-devel-2.28-225.el8.x86_64 9/11
インストール中 : ksh-20120801-257.el8.x86_64 10/11
scriptletの実行中: ksh-20120801-257.el8.x86_64 10/11
インストール中 : oracle-database-preinstall-23c-1.0-0.5.el8.x86_64 11/11
scriptletの実行中: oracle-database-preinstall-23c-1.0-0.5.el8.x86_64 11/11
検証 : compat-openssl10-1:1.0.2o-4.el8.x86_64 1/11
検証 : ksh-20120801-257.el8.x86_64 2/11
検証 : sysstat-11.7.3-9.el8.x86_64 3/11
検証 : glibc-devel-2.28-225.el8.x86_64 4/11
検証 : glibc-headers-2.28-225.el8.x86_64 5/11
検証 : kernel-headers-4.18.0-490.el8.x86_64 6/11
検証 : libnsl-2.28-225.el8.x86_64 7/11
検証 : libxcrypt-devel-4.1.1-6.el8.x86_64 8/11
検証 : lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64 9/11
検証 : make-1:4.2.1-11.el8.x86_64 10/11
検証 : oracle-database-preinstall-23c-1.0-0.5.el8.x86_64 11/11
インストール済み:
compat-openssl10-1:1.0.2o-4.el8.x86_64 glibc-devel-2.28-225.el8.x86_64 glibc-headers-2.28-225.el8.x86_64 kernel-headers-4.18.0-490.el8.x86_64
ksh-20120801-257.el8.x86_64 libnsl-2.28-225.el8.x86_64 libxcrypt-devel-4.1.1-6.el8.x86_64 lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64
make-1:4.2.1-11.el8.x86_64 oracle-database-preinstall-23c-1.0-0.5.el8.x86_64 sysstat-11.7.3-9.el8.x86_64
完了しました!
Oracle Database Free 23c安装
23cFree的安装非常简单,只需要安装软件包即可。
[root@centos8stream ~]# dnf localinstall oracle-database-free-23c-1.0-1.el8.x86_64.rpm
メタデータの期限切れの最終確認: 0:24:11 時間前の 2023年05月15日 04時41分12秒 に実施しました。
依存関係が解決しました。
======================================================================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
======================================================================================================================================================================================
インストール:
oracle-database-free-23c x86_64 1.0-1 @commandline 1.6 G
トランザクションの概要
======================================================================================================================================================================================
インストール 1 パッケージ
合計サイズ: 1.6 G
インストール後のサイズ: 5.2 G
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
scriptletの実行中: oracle-database-free-23c-1.0-1.x86_64 1/1
インストール中 : oracle-database-free-23c-1.0-1.x86_64 1/1
scriptletの実行中: oracle-database-free-23c-1.0-1.x86_64 1/1
[INFO] Executing post installation scripts...
[INFO] Oracle home installed successfully and ready to be configured.
To configure Oracle Database Free, optionally modify the parameters in '/etc/sysconfig/oracle-free-23c.conf' and then run '/etc/init.d/oracle-free-23c configure' as root.
検証 : oracle-database-free-23c-1.0-1.x86_64 1/1
インストール済み:
oracle-database-free-23c-1.0-1.x86_64
完了しました!
我們來檢查安裝後的狀態。
确认Oracle用户组。”
Oracle用户和用户组已经被创建好了。
[root@centos8stream etc]# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba)
核心参数的确认
除了HugePage的设置外,其他设置已经被适当地设置好了。
[root@centos8stream etc]# cat sysctl.conf
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
# oracle-database-preinstall-23c setting for fs.file-max is 6815744
fs.file-max = 6815744
# oracle-database-preinstall-23c setting for kernel.sem is '250 32000 100 128'
kernel.sem = 250 32000 100 128
# oracle-database-preinstall-23c setting for kernel.shmmni is 4096
kernel.shmmni = 4096
# oracle-database-preinstall-23c setting for kernel.shmall is 1073741824 on x86_64
kernel.shmall = 1073741824
# oracle-database-preinstall-23c setting for kernel.shmmax is 4398046511104 on x86_64
kernel.shmmax = 4398046511104
# oracle-database-preinstall-23c setting for kernel.panic_on_oops is 1 per Orabug 19212317
kernel.panic_on_oops = 1
# oracle-database-preinstall-23c setting for net.core.rmem_default is 262144
net.core.rmem_default = 262144
# oracle-database-preinstall-23c setting for net.core.rmem_max is 4194304
net.core.rmem_max = 4194304
# oracle-database-preinstall-23c setting for net.core.wmem_default is 262144
net.core.wmem_default = 262144
# oracle-database-preinstall-23c setting for net.core.wmem_max is 1048576
net.core.wmem_max = 1048576
# oracle-database-preinstall-23c setting for net.ipv4.conf.all.rp_filter is 2
net.ipv4.conf.all.rp_filter = 2
# oracle-database-preinstall-23c setting for fs.aio-max-nr is 1048576
fs.aio-max-nr = 1048576
# oracle-database-preinstall-23c setting for net.ipv4.ip_local_port_range is 9000 65500
net.ipv4.ip_local_port_range = 9000 65500
[root@centos8stream etc]#
在23cFree中,默认情况下会进行SGA_TARGET和PGA_AGGREGATE_TARGET的内存设置,因此在创建数据库之后,根据需要可以进行HugePages的设置(非必需)。
(计算公式)
vm.nr_hugepages = (SGA_TARGET的值(MB) + 50MB) / hugepagesize = (SGA_TARGET的值(MB) + 50MB) / 2
在23cFree中,SGA_TARGET指定为536M,所以如果要进行HugePages设置,需要在vm.nr_hugepages中指定293。
vm.nr_hugepages = 293另外,还需要在/etc/security/limits.conf中指定memlock(包括soft和hard两种值)并添加。指定的值会根据SGA_TARGET的值而变化。
(计算公式)
memlock = (SGA_TARGET的值(MB) + 50MB + 10MB) * 1024 (KB)
在23cFree中,memlock需要指定为(536+50+10)*1024=610304。
oracle soft memlock 610304
oracle hard memlock 610304
请提供以下文本的中文译文:
/etc/security/limits.conf的配置。
在19c中,除了HugePages相关的设置外,还需要以下设置,但在安装23cFree后,这些设置仍未被添加。
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
登录的/etc/pam.d/login配置
在19c版本中,已经添加了以下设置,但在安装23c Free之后,并没有添加这些设置。
session required pam_limits.so
/etc/profile的配置
我在19c中添加了以下配置,但在安装23cFree后,配置并没有被添加进来。
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
透明大页设置
透明巨页已经配置好了。
[root@centos8stream etc]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
[root@centos8stream etc]#
[root@centos8stream etc]# cat /sys/kernel/mm/transparent_hugepage/defrag
always defer defer+madvise madvise [never]
(RHEL的情况下)
/sys/kernel/mm/redhat_transparent_hugepage/enabled
/sys/kernel/mm/redhat_transparent_hugepage/defrag
我想在正式版本发布后重新确认上述操作系统设置周边的情况。
创建数据库
安装23cFree后,以root用户执行/etc/init.d/oracle-free-23c configure命令,将创建数据库。
我认为基本默认设置就可以了,但如果你想更改侦听器端口或数据库字符集之类的内容,你可以先编辑/etc/sysconfig/oracle-free-23c.conf文件,然后执行/etc/init.d/oracle-free-23c configure命令。
[root@centos8stream etc]# cat /etc/sysconfig/oracle-free-23c.conf
#This is a configuration file to setup the Oracle Database.
#It is used when running '/etc/init.d/oracle-free-23c configure'.
# LISTENER PORT used Database listener, Leave empty for automatic port assignment
LISTENER_PORT=
# Character set of the database
CHARSET=AL32UTF8
# Database file directory
# If not specified, database files are stored under Oracle base/oradata
DBFILE_DEST=
# DB Domain name
DB_DOMAIN=
# SKIP Validations, memory, space
SKIP_VALIDATIONS=false
创建数据库
使用根用户执行/etc/init.d/oracle-free-23c configure命令时,会询问SYS、SYSTEM、PDBADMIN用户的密码,设置后将开始创建CDB和PDB(一个)。
[root@centos8stream ~]# /etc/init.d/oracle-free-23c configure
Specify a password to be used for database accounts. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. Note that the same password will be used for SYS, SYSTEM and PDBADMIN accounts:
Confirm the password:
Configuring Oracle Listener.
Listener configuration succeeded.
Configuring Oracle Database FREE.
SYSユーザー・パスワードを入力してください:
************
SYSTEMユーザー・パスワードを入力してください:
************
PDBADMINユーザー・パスワードを入力してください:
***************
DB操作の準備
7%完了
データベース・ファイルのコピー中
29%完了
Oracleインスタンスの作成および起動中
30%完了
33%完了
36%完了
39%完了
43%完了
データベース作成の完了
47%完了
49%完了
50%完了
プラガブル・データベースの作成
54%完了
71%完了
構成後アクションの実行
93%完了
カスタム・スクリプトを実行中
100%完了
データベースの作成が完了しました。詳細は、次の場所にあるログ・ファイルを参照してください:
/opt/oracle/cfgtoollogs/dbca/FREE
データベース情報:
グローバル・データベース名:FREE
システム識別子(SID):FREE
詳細はログ・ファイル"/opt/oracle/cfgtoollogs/dbca/FREE/FREE.log"を参照してください。
Connect to Oracle Database using one of the connect strings:
Pluggable database: centos8stream/FREEPDB1
Multitenant container database: centos8stream
[root@centos8stream ~]#
当完成后,SID(CDB):FREE,PDB:FREEPDB1将会被创建。
安装rlwrap
为了在SQL*Plus中使用历史功能,需要安装rlwrap。为了安装rlwrap,需要先安装EPEL仓库。
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
接下来安装rlwrap。
# dnf install rlwrap
设定环境变量
切换到Oracle用户并将环境变量设置如下。
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/23c/dbhomeFree
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=FREE
export NLS_LANG=Japanese_Japan.AL32UTF8
#export ORAENV_ASK=NO
alias sqlplus='rlwrap sqlplus'
以SYS用户登录到CDB并进行初始设置。
连接到CDB和PDB,并修改审计设置和默认概要文件。另外,设置PDB自动启动(保存状态)。
[oracle@centos8stream ~]$ sqlplus / as sysdba
SQL*Plus: Release 23.0.0.0.0 - Developer-Release on 月 5月 15 05:47:18 2023
Version 23.2.0.0.0
Copyright (c) 1982, 2023, Oracle. All rights reserved.
Oracle Database 23c Free, Release 23.0.0.0.0 - Developer-Release
Version 23.2.0.0.0
に接続されました。
SQL>
SQL> noaudit all;
noaudit all privileges;
noaudit exempt access policy;
ALTER PROFILE DEFAULT LIMIT
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_GRACE_TIME UNLIMITED
PASSWORD_LOCK_TIME UNLIMITED
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED;
監査取消しが成功しました。
SQL>
SQL> sho pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 FREEPDB1 READ WRITE NO
SQL>
SQL> alter session set container=FREEPDB1;
セッションが変更されました。
SQL>
SQL> show con_name
CON_NAME
------------------------------
FREEPDB1
SQL>
SQL> alter pluggable database FREEPDB1 save state;
プラガブル・データベースが変更されました。
SQL>
SQL> noaudit all;
noaudit all privileges;
noaudit exempt access policy;
ALTER PROFILE DEFAULT LIMIT
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_GRACE_TIME UNLIMITED
PASSWORD_LOCK_TIME UNLIMITED
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED;
監査取消しが成功しました。
听众状态确认
[oracle@centos8stream ~]$ lsnrctl status
LSNRCTL for Linux: Version 23.0.0.0.0 - Developer-Release on 15-5月 -2023 06:57:30
Copyright (c) 1991, 2023, Oracle. All rights reserved.
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=centos8stream)(PORT=1521)))に接続中
リスナーのステータス
------------------------
別名 LISTENER
バージョン TNSLSNR for Linux: Version 23.0.0.0.0 - Developer-Release
開始日 15-5月 -2023 05:19:22
稼働時間 0 日 1 時間 38 分 8 秒
トレース・レベル off
セキュリティ ON: Local OS Authentication
SNMP OFF
デフォルト・サービス FREE
パラメータ・ファイル /opt/oracle/product/23c/dbhomeFree/network/admin/listener.ora
ログ・ファイル /opt/oracle/diag/tnslsnr/centos8stream/listener/alert/log.xml
リスニング・エンドポイントのサマリー...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=centos8stream)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
サービスのサマリー...
サービス"FREE"には、1件のインスタンスがあります。
インスタンス"FREE"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"FREEXDB"には、1件のインスタンスがあります。
インスタンス"FREE"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"fbb91781d7412d32e053750aa8c0ea4a"には、1件のインスタンスがあります。
インスタンス"FREE"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"freepdb1"には、1件のインスタンスがあります。
インスタンス"FREE"、状態READYには、このサービスに対する1件のハンドラがあります...
コマンドは正常に終了しました。
在中国,只需要一种选择来用中文释义以下内容:
SQL*Plus的设置
以下是SQL*Plus中用于设置编辑器等的配置示例。
[oracle@centos8stream ~]$ cat $ORACLE_HOME/sqlplus/admin/glogin.sql
--
-- Copyright (c) 1988, 2005, Oracle. All Rights Reserved.
--
-- NAME
-- glogin.sql
--
-- DESCRIPTION
-- SQL*Plus global login "site profile" file
--
-- Add any SQL*Plus commands here that are to be executed when a
-- user starts SQL*Plus, or uses the SQL*Plus CONNECT command.
--
-- USAGE
-- This script is automatically run
--
show con_name
set pages 100
set lines 200
define _EDITOR = vim
配置tnsnames.ora文件
我将添加PDB的设置。以下是设置示例。
# tnsnames.ora Network Configuration File: /opt/oracle/product/23c/dbhomeFree/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
FREE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = centos8stream)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = FREE)
)
)
LISTENER_FREE =
(ADDRESS = (PROTOCOL = TCP)(HOST = centos8stream)(PORT = 1521))
FREEPDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = centos8stream)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = FREEPDB1)
)
)
只要在tnsnames.ora进行设置后,能够成功连接到PDB就可以了。
[oracle@centos8stream ~]$ sqlplus sys@freepdb1 as sysdba
SQL*Plus: Release 23.0.0.0.0 - Developer-Release on 火 5月 16 07:18:30 2023
Version 23.2.0.0.0
Copyright (c) 1982, 2023, Oracle. All rights reserved.
パスワードを入力してください:
Oracle Database 23c Free, Release 23.0.0.0.0 - Developer-Release
Version 23.2.0.0.0
に接続されました。
CON_NAME
------------------------------
FREEPDB1
SQL>
自动启动和停止设置
使用root用户编辑/etc/oratab文件,并将末尾为”N”的部分更改为”Y”。
[root@centos8stream etc]# vim /etc/oratab
#
# This file is used by ORACLE utilities. It is created by root.sh
# and updated by either Database Configuration Assistant while creating
# a database or ASM Configuration Assistant while creating ASM instance.
# A colon, ':', is used as the field terminator. A new line terminates
# the entry. Lines beginning with a pound sign, '#', are comments.
#
# Entries are of the form:
# $ORACLE_SID:$ORACLE_HOME:<N|Y>:
#
# The first and second fields are the system identifier and home
# directory of the database respectively. The third field indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
FREE:/opt/oracle/product/23c/dbhomeFree:Y ←ここをNからYに変更
接下来,创建以下Unit文件,并将其放置在/etc/systemd/system目录中。
[root@centos8stream system]# cat oracle.service
[Unit]
Description=Oracle Database Server
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/opt/oracle/product/23c/dbhomeFree/bin/dbstart /opt/oracle/product/23c/dbhomeFree
ExecStop=/opt/oracle/product/23c/dbhomeFree/bin/dbshut /opt/oracle/product/23c/dbhomeFree
User=oracle
Group=oinstall
[Install]
WantedBy=multi-user.target
随后,我们将启用oracle.service。
[root@centos8stream system]# systemctl enable oracle
Created symlink /etc/systemd/system/multi-user.target.wants/oracle.service → /etc/systemd/system/oracle.service.
[root@centos8stream system]#
[root@centos8stream system]# systemctl is-enabled oracle
enabled
警报日志、监听器日志
默认情况下,输出如下所示。
アラートログ:/opt/oracle/diag/rdbms/free/FREE/trace/alert_FREE.log
リスナーログ:/opt/oracle/diag/tnslsnr/(host名)/listener/trace/listener.log
数据文件创建的位置
默认情况下,它是在下面创建的。
中国发展银行的数据库文件
[oracle@centos8stream FREE]$ pwd
/opt/oracle/oradata/FREE
[oracle@centos8stream FREE]$ ll
合計 2486340
drwxr-x--- 2 oracle oinstall 104 5月 15 18:30 FREEPDB1
-rw-r----- 1 oracle oinstall 18759680 5月 17 16:21 control01.ctl
-rw-r----- 1 oracle oinstall 18759680 5月 17 16:21 control02.ctl
drwxr-x--- 2 oracle oinstall 85 5月 15 18:22 pdbseed
-rw-r----- 1 oracle oinstall 209715712 5月 17 10:59 redo01.log
-rw-r----- 1 oracle oinstall 209715712 5月 17 16:20 redo02.log
-rw-r----- 1 oracle oinstall 209715712 5月 17 10:59 redo03.log
-rw-r----- 1 oracle oinstall 618668032 5月 17 16:19 sysaux01.dbf
-rw-r----- 1 oracle oinstall 1216356352 5月 17 16:19 system01.dbf
-rw-r----- 1 oracle oinstall 20979712 5月 17 11:02 temp01.dbf
-rw-r----- 1 oracle oinstall 36708352 5月 17 16:19 undotbs01.dbf
-rw-r----- 1 oracle oinstall 5251072 5月 17 10:59 users01.dbf
[oracle@centos8stream FREE]$
PDB数据库文件
[oracle@centos8stream FREEPDB1]$ pwd
/opt/oracle/oradata/FREE/FREEPDB1
[oracle@centos8stream FREEPDB1]$ ll
合計 744728
-rw-r----- 1 oracle oinstall 346038272 5月 17 16:19 sysaux01.dbf
-rw-r----- 1 oracle oinstall 304095232 5月 17 16:19 system01.dbf
-rw-r----- 1 oracle oinstall 20979712 5月 17 11:00 temp01.dbf
-rw-r----- 1 oracle oinstall 104865792 5月 17 16:19 undotbs01.dbf
-rw-r----- 1 oracle oinstall 5251072 5月 17 10:59 users01.dbf
[oracle@centos8stream FREEPDB1]$
其他
据23c的新功能,似乎可以通过指定dual的SQL语句来执行select语句,而无需编写from子句。
SQL> select dbtimezone;
DBTIME
------
+00:00
SQL> select to_char(sysdate,'YYYY/MM/DD HH24:MI:SS');
TO_CHAR(SYSDATE,'YY
-------------------
2023/05/17 16:28:15
SQL>
我想在正式版发布后或其他时候,额外确认一下有关23c功能变更和初始参数变更等方面的内容。
最后
我尝试在CentOS Stream 8上安装Oracle Database 23c Free,并大致确认了操作系统设置等方面的差异。