拓扑图
环境准备
- CentOS 7 1908
- ELF 5.0.2 of SMTX OS
CPU绑定
在NUMA结构中,尽量把vCPU放到最少的NUMA
#virsh list查看哪些虚机和序号
[root@smtx-01 19:08:10 smartx]$virsh list
Id Name State
----------------------------------------------------
1 e9eafd7a-9b19-4dd3-bce4-60635252528c running
2 c4ea06f4-8084-4cdb-8010-a72e05402ce8 running
#查看vcpu和vm的绑定
[root@smtx-01 19:53:54 smartx]$virsh vcpuinfo 1
VCPU: 0
CPU: 31
State: running
CPU time: 619.7s
CPU Affinity: -y-y-y-y-y-yyyyyyyyyyyyyyyyyyyyy
VCPU: 1
CPU: 7
State: running
CPU time: 616.4s
CPU Affinity: -y-y-y-y-y-yyyyyyyyyyyyyyyyyyyyy
#总cores
[root@smtx-01 20:01:02 smartx]$cat /proc/cpuinfo | grep 'processor' | wc -l
32
#物理cores
[root@smtx-01 20:03:34 smartx]$cat /proc/cpuinfo | grep "cores"|uniq
cpu cores : 8
#cpus
[root@smtx-01 20:03:40 smartx]$grep 'physical id' /proc/cpuinfo | sort -u | wc -l
2
[root@smtx-01 15:00:22 smartx]$virsh vcpupin 2 4 20#绑定2号虚拟机的4号vCPU到20 core
[root@smtx-01 14:31:30 smartx]$virsh vcpupin 2 --current
VCPU: CPU Affinity
----------------------------------
0: 16
1: 17
2: 18
3: 19
4: 20
5: 21
6: 22
7: 23
8: 24
9: 25
......
磁盘准备
- 16C+64G+200G+100G(/u01)
# 挂载/u01
*mkdir /u01
mkfs -t xfs /dev/vdb
mount /dev/vdb /u01
echo "/dev/vdb /u01 xfs defaults 0 0" >> /etc/fstab*
[root@oracle-19 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 4.4G 0 rom
vda 252:0 0 200G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 199G 0 part
├─centos_oracle--19-root 253:0 0 50G 0 lvm /
├─centos_oracle--19-swap 253:1 0 20G 0 lvm [SWAP]
└─centos_oracle--19-home 253:2 0 129G 0 lvm /home
vdb 252:16 0 100G 0 disk
[root@oracle-19 ~]# mkdir /u01
[root@oracle-19 ~]# mkfs.xfs -f /dev/vdb
meta-data=/dev/vdb isize=512 agcount=4, agsize=6553600 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=26214400, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=12800, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@oracle-19 ~]# mount /dev/vdb /u01
[root@oracle-19 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 12M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/mapper/centos_oracle--19-root 50G 4.0G 47G 8% /
/dev/vda1 1014M 184M 831M 19% /boot
/dev/mapper/centos_oracle--19-home 129G 33M 129G 1% /home
tmpfs 6.3G 20K 6.3G 1% /run/user/988
tmpfs 6.3G 0 6.3G 0% /run/user/0
/dev/vdb 100G 33M 100G 1% /u01
[root@oracle-19 ~]# vim /etc/fstab
#
/dev/vdb /u01 xfs defaults 0 0
网络接口调优
ethtool -g enp94s0f0np0 #查看10G端口,如果没有设置为8K,可用修改
ethtool -G enp94s0f0np0 rx 8192
ethtool -G enp94s0f0np0 tx 8192
[root@smtx-02 20:07:56 smartx]$ethtool -g enp94s0f0np0
Ring parameters for enp94s0f0np0:
Pre-set maximums:
RX: 8192
RX Mini: 0
RX Jumbo: 0
TX: 8192
Current hardware settings:
RX: 1024
RX Mini: 0
RX Jumbo: 0
TX: 1024
[root@smtx-02 20:08:00 smartx]$ethtool -G enp94s0f0np0 rx 8192
[root@smtx-02 20:08:27 smartx]$ethtool -G enp94s0f0np0 tx 8192
[root@smtx-02 20:08:28 smartx]$ethtool -g enp94s0f0np0
Ring parameters for enp94s0f0np0:
Pre-set maximums:
RX: 8192
RX Mini: 0
RX Jumbo: 0
TX: 8192
Current hardware settings:
RX: 8192
RX Mini: 0
RX Jumbo: 0
TX: 8192
ethtool -g enp24s0f0 #查看1G端口,如果没有设置为4K,可用修改
ethtool -G enp24s0f0 rx 4096
ethtool -G enp24s0f0 tx 4096
禁用防火墙等系统服务
*systemctl disable firewalld
systemctl stop firewalld
systemctl disable avahi-daemon
systemctl disable bluetooth
systemctl disable cups
systemctl stop NetworkManager.service
systemctl disable NetworkManager.service*
[root@oracle-19 ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@oracle-19 ~]# systemctl stop firewalld.service
[root@oracle-19 ~]# systemctl disable avahi-daemon
Removed symlink /etc/systemd/system/multi-user.target.wants/avahi-daemon.service.
Removed symlink /etc/systemd/system/sockets.target.wants/avahi-daemon.socket.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.Avahi.service.
[root@oracle-19 ~]# systemctl disable bluetooth.service
Removed symlink /etc/systemd/system/dbus-org.bluez.service.
Removed symlink /etc/systemd/system/bluetooth.target.wants/bluetooth.service.
[root@oracle-19 ~]# systemctl disable cups.service
Removed symlink /etc/systemd/system/multi-user.target.wants/cups.path.
Removed symlink /etc/systemd/system/multi-user.target.wants/cups.service.
Removed symlink /etc/systemd/system/sockets.target.wants/cups.socket.
Removed symlink /etc/systemd/system/printer.target.wants/cups.service.
[root@oracle-19 ~]# systemctl disable NetworkManager
Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
Removed symlink /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service.
[root@oracle-19 ~]# systemctl stop NetworkManager
启用系统服务
chmod +x /etc/rc.d/rc.local
systemctl enable rc-local
systemctl start rc-local
systemctl is-active rc-local
systemctl enable polkit
[root@oracle-19 ~]# chmod +x /etc/rc.d/rc.local
[root@oracle-19 ~]# systemctl enable rc-local
[root@oracle-19 ~]# systemctl start rc-local.service
[root@oracle-19 ~]# systemctl is-active rc-local.service
active
[root@oracle-19 ~]# systemctl enable polkit
安装依赖
yum install -y binutils compat-libstdc++-33 compat-libcap1 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libXext libXtst kde-l10n-Chinese.noarch libstdc++-devel make xclock sysstat libvirt-devel man nfs-utils lsof expect unzip redhat-lsb openssh-clients smartmontools unixODBC perl telnet vsftpd ntsysv lsscsi libX11 libxcb libXau libXi strace sg3_utils kexec-tools net-tools nmap lrzsz tree dos2unix ncurses ncurses-devel unixODBC-devel
[root@oracle-19 ~]# rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
Preparing... ################################# [100%]
package compat-libstdc++-33-3.2.3-72.el7.x86_64 is already installed
#这个rpm yum的方法很难装上
链接:https://pan.baidu.com/s/1JG4Nm6t9El_OT6vEeb13pg
提取码:erl1
--19c安装软件也在此
- 禁用SELUNIX
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
- 创建scsi_id软连接
ln -s /lib/udev/scsi_id /sbin/scsi_id
ll /sbin/scsi_id
[root@oracle-19 ~]# ln -s /lib/udev/scsi_id /sbin/scsi_id
[root@oracle-19 ~]# ll /sbin/scsi_id
lrwxrwxrwx. 1 root root 17 May 24 20:17 /sbin/scsi_id -> /lib/udev/scsi_id
禁用透明大页
原因
- Huge pages(标准大页)和Transparent Hugepages(透明大页)
- 透明HugePages内存与标准HugePages内存不同,因为内核khugepaged线程在运行时动态分配内存。
- 标准HugePages内存在启动时预先分配,并且在运行时不会更改。
- 透明Hugepages可能会在运行时导致内存分配延迟。
- 为避免性能问题,Oracle建议您在所有Oracle数据库服务器上禁用透明HugePages。
- Oracle建议使用标准HugePages来提高性能
echo "### disable transparent_hugepage" >>/etc/rc.local
echo "if test -f /sys/kernel/mm/transparent_hugepage/enabled; then " >>/etc/rc.local
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >>/etc/rc.local
echo "fi" >>/etc/rc.local
echo "if test -f /sys/kernel/mm/transparent_hugepage/defrag; then" >>/etc/rc.local
echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >>/etc/rc.local
echo "fi" >>/etc/rc.local
chmod +x /etc/rc.local
source /etc/rc.local
sh /etc/rc.local
cat /sys/kernel/mm/transparent_hugepage/defrag
- 创建用户组
groupadd -g 1001 oinstall
groupadd -g 1002 dba
groupadd -g 1003 oper
groupadd -g 1004 asmadmin
groupadd -g 1005 asmoper
groupadd -g 1006 asmdba
useradd -u 1001 -g oinstall -G dba,asmadmin,asmdba,oper oracle
useradd -u 1002 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
chage -M -1 oracle
chage -M -1 grid
echo "cisco123" |passwd oracle --stdin
echo "cisco123" |passwd grid --stdin
- 修改内核参数
cat>>/etc/sysctl.conf<<EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 16443117
kernel.shmmax = 53880805785
kernel.shmmni = 4096
kernel.sem = 250 256000 100 1024
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 10485860
net.core.wmem_default = 262144
net.core.wmem_max = 10485860
vm.min_free_kbytes = 524288
net.ipv4.ipfrag_high_thresh = 16777216
net.ipv4.ipfrag_low_thresh = 15728640
vm.swappiness = 0
vm.dirty_background_ratio = 5
vm.dirty_ratio = 15
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
vm.overcommit_memory = 1
EOF
sysctl -p
kernel.shmall = memory size / pagesize (这个pagesize是OS的,可以通过getconf PAGESIZE得知,可以通过执行以下命令获取到)
echo "`cat /proc/meminfo | grep "MemTotal" | awk '{print $2}'` / (`getconf PAGESIZE` / 1024)" | bc
kernel.shmmax 推荐: 1/2 memory < shmmax <= memory - 1. Limit max SGA size.
(注意,这里的单位是byte,可以通过下面命令计算–此处示例以物理内存的80%进行设置:
echo "`cat /proc/meminfo | grep "MemTotal" | awk '{print $2}'` * 1024 * 0.8" | bc | sed 's#\..*$##'
[root@oracle-19 ~]# echo "`cat /proc/meminfo | grep "MemTotal" | awk '{print $2}'` / (`getconf PAGESIZE` / 1024)" | bc
16443117
[root@oracle-19 ~]# echo "`cat /proc/meminfo | grep "MemTotal" | awk '{print $2}'` * 1024 * 0.8" | bc | sed 's#\..*$##'
53880805785
注: 对于OLTP类,Oracle数据库:SGA=系统内存*80%70%,PGA=系统内存80%20% 对于OLAP类,Oracle数据库:SGA=系统内存80%50%,PGA=系统内存80%*50%
别忘了执行命令生效:sysctl -p
- 修改Limits配置
cp /etc/security/limits.conf /etc/security/limits.conf.`date +%Y%m%d`
echo " grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
grid soft nproc 4096
grid hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft nproc 4096
oracle hard nproc 16384
root soft nproc 2047 " >> /etc/security/limits.conf
echo "session required pam_limits.so" >>/etc/pam.d/login
echo "NOZEROCONF=yes" >> /etc/sysconfig/network
- 修改默认shell启动配置
修改/etc/profile,添加如下设置:
cat >>/etc/profile <<EOF
if [ \$USER = "oracle" ] || [ \$USER = "grid" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF
修改/etc/csh.login,添加如下设置:
cat >>/etc/csh.log <<EOF
if ( \$USER = "oracle" || \$USER = "grid" ) then
limit maxproc 16384
limit descriptors 65536
endif
EOF
- 创建目录
mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory
mkdir -p /u01/app/grid
chown -R grid:oinstall /u01/app/grid
chmod -R 775 /u01/app/grid
mkdir -p /u01/app/19c/grid
chown -R grid:oinstall /u01/app/19c/grid
chmod -R 775 /u01/app/19c/grid
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
mkdir -p /u01/app/oracle/product/19c/db_1
chown -R oracle:oinstall /u01/app/oracle/product/19c/db_1
chmod -R 775 /u01/app/oracle/product/19c/db_1
- 设置grid 环境变量
#vim /home/grid/.bash_profile
export ORACLE_BASE=/u01/app/grid
export ORACLE_SID=+ASM1
export ORACLE_HOME=/home/u01/app/19c/grid
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
NAME=oracle-19
PS1="[$NAME:$LOGNAME]:\${PWD}>"
umask 022
设置oracle 环境变量
#vim /home/oracle/.bash_profile
export ORACLE_SID=odb
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export TMP=/tmp
export TMPDIR=$TMP
NAME=oracle-19
PS1="[$NAME:$LOGNAME]:\${PWD}>"
umask 022
- 检查操作系统时区
[root@oracle-19 ~]# date
Tue May 24 21:54:45 CST 2022
- 设置NOZEROCON
echo "NOZEROCONF=yes" >> /etc/sysconfig/network
- 修改grid 和 oracle 进程数量限制
echo "oracle soft nproc 16384" >>/etc/security/limits.d/20-nproc.conf
echo "grid soft nproc 16384" >>/etc/security/limits.d/20-nproc.conf
echo "oracle hard nproc 16384" >>/etc/security/limits.d/20-nproc.conf
echo "grid hard nproc 16384" >>/etc/security/limits.d/20-nproc.conf
- 修改GRUB参数
#vim /etc/default/grub
在GRUB_CMDLINE_LINUX后增加
iommu=soft elevator=noop apm=off transparent_hugepage=never numa=off powersaved=off spectre_v2=off nopti
保存
#grub2-mkconfig -o /boot/grub2/grub.cfg
配置磁盘(根据配置修改)
根据系统使用存储的不同而配置磁盘,进行磁盘名称持久化的方法略有不同。
编辑 /etc/udev/rules.d/99-oracle-asmdevice.rules
#vim /etc/udev/rules.d/99-oracle-asmdevice.rules
本次部署的虚拟机的虚拟磁盘选择Virtio总线方式,可以发挥更好的I/O性能,
[root@oracle-19 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 4.4G 0 rom /run/media/grid/CentOS 7 x86_64
vda 252:0 0 200G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 199G 0 part
├─centos_oracle--19-root 253:0 0 50G 0 lvm /
├─centos_oracle--19-swap 253:1 0 20G 0 lvm [SWAP]
└─centos_oracle--19-home 253:2 0 129G 0 lvm /home
vdb 252:16 0 100G 0 disk /u01
vdc 252:32 0 80G 0 disk
vdd 252:48 0 80G 0 disk
vde 252:64 0 80G 0 disk
vdf 252:80 0 80G 0 disk
vdg 252:96 0 40G 0 disk
vdh 252:112 0 40G 0 disk
vdi 252:128 0 40G 0 disk
vdj 252:144 0 40G 0 disk
具体格式为:
SUBSYSTEM=="block",KERNEL=="vdc",GROUP="asmadmin",OWNER="grid",MODE="0660"
SUBSYSTEM=="block",KERNEL=="vdd",GROUP="asmadmin",OWNER="grid",MODE="0660"
SUBSYSTEM=="block",KERNEL=="vde",GROUP="asmadmin",OWNER="grid",MODE="0660"
SUBSYSTEM=="block",KERNEL=="vdf",GROUP="asmadmin",OWNER="grid",MODE="0660"
SUBSYSTEM=="block",KERNEL=="vdg",GROUP="asmadmin",OWNER="grid",MODE="0660"
SUBSYSTEM=="block",KERNEL=="vdh",GROUP="asmadmin",OWNER="grid",MODE="0660"
SUBSYSTEM=="block",KERNEL=="vdi",GROUP="asmadmin",OWNER="grid",MODE="0660"
SUBSYSTEM=="block",KERNEL=="vdj",GROUP="asmadmin",OWNER="grid",MODE="0660"
执行配置:
#/sbin/udevadm trigger --type=devices --action=change
reboot
GRID 安装(图形化安装)
解压安装介质,root
unzip V982068-01.zip -d /u01/app/19c/grid/
chown -R grid:oinstall /u01/app/19c/grid/
chmod +x -R /u01/app/19c/grid/
注:V982068-01.zip是GRID安装介质
以grid用户登陆
图形化安装Grid
cd /u01/app/19c/grid
./gridSetup.sh
第1步:配置选项
第2步:选择磁盘组
更改搜索路径为 /dev/vd*
冗余:选择 外部
选择磁盘:勾选需要的磁盘
第3步:指定ASM口令
对这些账户使用同一口令:xxx123
第4步:管理选项
不用注册,略过
第5步:特权操作系统组
第6步:指定安装位置
第7步:创建产品清单
第8步:Root脚本执行配置
第9步:执行先决条件检查
交换空间大小告警可忽略(不使用交换空间)
包:cvuqdisk-1.0.10.1 本次部署不使用,告警可忽略
忽略告警,选择继续
第10步 概要
第11步 安装产品
执行配置脚本:
执行1:
/u01/app/oraInventory/orainstRoot.sh
执行2:
/u01/app/19c/grid/root.sh
继续执行:
第12步 完成
ASM磁盘管理
前面安装Grid的作用就是可用ASM使用磁盘
在VM中增加磁盘
在DBVM增加4块磁盘用于REDO log文件。
在DBVM的操作系统OS中显示为:vdg、vdh、vdi、vdj
配置磁盘
根据系统使用存储的不同而配置磁盘,进行磁盘名称持久化的方法略有不同。
编辑 /etc/udev/rules.d/99-oracle-asmdevice.rules
#vim /etc/udev/rules.d/99-oracle-asmdevice.rules
本次部署的虚拟机的虚拟磁盘选择Virtio总线方式,可以发挥更好的I/O性能,
具体格式为:
SUBSYSTEM=="block",KERNEL=="vdc",GROUP="asmadmin",OWNER="grid",MODE="0660"
SUBSYSTEM=="block",KERNEL=="vdd",GROUP="asmadmin",OWNER="grid",MODE="0660"
SUBSYSTEM=="block",KERNEL=="vde",GROUP="asmadmin",OWNER="grid",MODE="0660"
SUBSYSTEM=="block",KERNEL=="vdf",GROUP="asmadmin",OWNER="grid",MODE="0660"
SUBSYSTEM=="block",KERNEL=="vdg",GROUP="asmadmin",OWNER="grid",MODE="0660"
SUBSYSTEM=="block",KERNEL=="vdh",GROUP="asmadmin",OWNER="grid",MODE="0660"
SUBSYSTEM=="block",KERNEL=="vdi",GROUP="asmadmin",OWNER="grid",MODE="0660"
SUBSYSTEM=="block",KERNEL=="vdj",GROUP="asmadmin",OWNER="grid",MODE="0660"
执行配置:
/sbin/udevadm trigger --type=devices --action=change
ASM磁盘组配置
以grid用户登陆DBVM
cd /u01/app/19c/grid/bin
./asmca
运行asmca
选择磁盘组
创建磁盘组
选择之前配置的4块redo磁盘vdg、vdh、vdi、vdj。
选用 外部 冗余模式。
执行操作
点击确定,执行操作
完成
完成后,可以看到新建的REDO磁盘组。
- 安装Oracle数据库
解压安装介质,oracle login
unzip V982063-01.zip -d /u01/app/oracle/product/19c/db_1/
图形化安装Oracle数据库
cd /u01/app/oracle/product/19c/db_1/
./runInstaller
第1步 配置选项
选择 仅设置软件
第2步 数据库安装选项
选择单实例数据库安装
第3步 数据库版本
选择 企业版
第4步 指定安装位置
第5步 已授权的操作系统组
第6步 Root脚本执行
第7步 先决条件检查
交换空间大小告警可忽略(不使用交换空间)
选择 是
第8步 概要
第9步 安装产品
执行配置脚本
第10步 完成
用DBCA创建数据库
cd /u01/app/oracle/product/19c/db_1/bin
./dbca
图形化创建数据库
第1步 选择数据库操作
选择 创建数据库
第2步 选择数据库创建模式
选择 高级配置
第3步 选择数据库部署类型
选择 一般用途或事务处理
第4步 指定数据库标识详细信息
填写 全局数据库名:odb
PDB名称:pdb01
第5步 选择数据库存储选项
选择将以下项用于数据库存储属性
第6步 快速恢复选项
第7步 指定网络配置详细信息
第8步 选择Oracle Data Vault配置选项
第9步 指定配置选项
配置内存为VM总内存的80%(SGA、PGA自动分配)
第10步 指定管理选项
第11步 指定数控用户身份证明
选择 所有账户使用同一管理口令: xxx123
第12步 选择数据库创建选项
第13步 概要
第14步 进度页
第15步 完成
- 检查测试
连接Oracle数据库
sqlplus / as sysdba
查看连接数据库名称
SQL> show con_name;
查看全局数据库名
SQL>select name from v$database;
查看PDBS
SQL> show pdbs;
查看数据库SGA设置
SQL> show parameter sga;
查看数据库PGA设置
SQL> show parameter pga;
连接CDB
SQL> alter session set container=CDB$ROOT;