背景
之前一个一起扛过雷的同事求帮忙
说要弄一个demo环境.
部署Oracle数据库
等到正版的到了之后就铲掉.
经过一顿折腾, 答应了同事.
然后想着今天晚上先自己验证一把
明天给部署
一波三折
现场给部署了ubuntu操作系统
其实Oracle官方一直不支持ubuntu操作系统
所以没办法,跟同事说最好是还CentOS系列
然后客户很快的选择了OracleLinux9
比较悲伤, 我有7-8-10,就是没有9的介质.
没办法只能重新下一个了
测试环境最快部署的方案
其实是容器或者是rpm包
为了简单期间, 我还是用rpm包吧
容器部署起来可能要求客户网络多一些.
需要说明, 为了简单, 还是使用preinstall的rpm包来进行处置.
字符集可能是AL32UTF8 国家字符集是AL16UTF16
准备开干
介质下载
https://yum.oracle.com/oracle-linux-isos.html#content-4
先下载操作系统
介质为:
OracleLinux-R9-U7-x86_64-dvd.iso
然后下载preinstall
https://yum.oracle.com/repo/OracleLinux/OL9/appstream/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el9.x86_64.rpm
再下载 rpm包, 其实就一个, 我自己还下载了多遍
https://www.oracle.com/database/technologies/oracle-database-software-downloads.html
需要注意需要有账户才可以的, 需要注册
系统安装
ESXi上面部署虚拟机
这个比较简单略过不提.
安装过程
1. 部署 preinstall
需要先修改一下 安装源:
sudo sed -i 's|https://yum.oracle.com|https://mirrors.aliyun.com/oracle|g' /etc/yum.repos.d/*.repo
sudo yum makecache
然后执行安装:
yum localinstall oracle-database-preinstall-19c-1.0-1.el9.x86_64.rpm -y
2. 部署 oracle-ee 的rpm包
yum localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm -y
# 大概7min左右安装完成.
3. 执行参数配置修改
vim /etc/init.d/oracledb_ORCLCDB-19c
这次计划使用默认值:
export ORACLE_VERSION=19c
export ORACLE_SID=ORCLCDB
export TEMPLATE_NAME=General_Purpose.dbc
export CHARSET=AL32UTF8
export PDB_NAME=ORCLPDB1
export LISTENER_NAME=LISTENER
export NUMBER_OF_PDBS=1
export CREATE_AS_CDB=true
4. 初始化数据库
创建部分目录:
chown -R oracle:oinstall /opt/oracle
mkdir -p /opt/oracle/product/19c/dbhome_1
mkdir -p /opt/app/oracle/oradata/
mkdir --p /opt/oracle/oraInventory
touch /etc/oratab
chown oracle:oinstall /etc/oratab
/etc/init.d/oracledb_ORCLCDB-19c configure
# 这一步大概需要20min左右完成
5. 修改环境变量:
cat >/etc/profile.d/oracle.sh <<EOF
export ORACLE_SID=ORCLCDB
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export PATH=$PATH:/opt/oracle/product/19c/dbhome_1/bin
export NLS_LANG="AMERICAN_AMERICA.UTF8"
EOF
6. 验证
su - oracle
sqlplus / as sysdba
show pdbs
CREATE TRIGGER open_all_pdbs
AFTER STARTUP ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'alter pluggable database all open';
END open_all_pdbs;
/
alter user system identified by "Testxxxxxxx" ;