玩玩Oracle,MySQL有点腻了。

本文涉及的产品
RDS AI 助手,专业版
RDS Agent(兼容OpenClaw),2核4GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: 近期都在玩MySQL,要不玩玩Oracle?那就二话不说,直接开干?No!开干前得有环境,不然后面没法玩了,本篇先把环境搭建好,目前主流的是Oracle 19C,那就搭建这个吧!计划在Oracle Linux 8 (OL8) 上进行安装。

OL8是什么鬼?

请自行脑补,笔者今晚是真的累,附上脑补链接:


再附上安装的参考链接

这个链接其实也算不上是真正官方的,感觉还不错,好像是一个老外的博客!除了安装部署,还有很多知识点,老外写的都挺不错,盆友们可自行去研究更深入的东西哈!


Oracle 19C安装先决条件

特别注意:以下操作在root用户环境下进行

  1. /etc/hosts文件必须包含服务器的完全限定名称
sed -i '$a\::1 ol8-oracle19c-testserver.localdomain ol8-oracle19c-testserver' /etc/hosts
  1. 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
  1. 关闭selinux
  • vi /etc/selinux/config
SELINUX=disabled
  1. 使用oracle-database-preinstall-19c包来执行所有先决条件设置
dnf install oracle-database-preinstall-19c -y
  1. 设置oralce账户密码
passwd oracle
  1. 创建安装oracle软件的目录
mkdir -p /data/u01/app/oracle/product/19.0.0/dbhome_1 
mkdir -p /data/u02/oradata 
chown -R oracle:oinstall /data/
chmod -R 775 /data/

Oracle 19c相关环境变量的配置文件准备

以下操作切换到oracle用户环境下进行,切换用户的操作巩固下?

su - oracle
  1. 在oracle用户的家目录下创建一个脚本目录
mkdir scripts
cd scripts/
  1. 创建环境配置文件:/home/oracle/scripts/setEnv.sh
cat > /home/oracle/scripts/setEnv.sh <<EOF
# Oracle Settings
export TMP=/tmp
export TMPDIR=\$TMP
export ORACLE_HOSTNAME=ol8-oracle19c-testserver.localdomain
export ORACLE_UNQNAME=cdb1
export ORACLE_BASE=/data/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/19.0.0/dbhome_1
export ORA_INVENTORY=/data/u01/app/oraInventory
export ORACLE_SID=cdb1
export PDB_NAME=pdb1
export DATA_DIR=/data/u02/oradata
export PATH=/usr/sbin:/usr/local/bin:\$PATH
export PATH=\$ORACLE_HOME/bin:\$PATH
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
EOF
  1. 在“/home/oracle/.bash_profile”文件的末尾添加对“setEnv.sh”文件的引用
echo ". /home/oracle/scripts/setEnv.sh" >> /home/oracle/.bash_profile
source /home/oracle/.bash_profile

启停脚本准备

  1. start_all.sh脚本
cat > /home/oracle/scripts/start_all.sh <<EOF
#!/bin/bash
. /home/oracle/scripts/setEnv.sh
export ORAENV_ASK=NO
. oraenv
export ORAENV_ASK=YES
dbstart \$ORACLE_HOME
EOF
  1. stop_all.sh脚本
cat > /home/oracle/scripts/stop_all.sh <<EOF
#!/bin/bash
. /home/oracle/scripts/setEnv.sh
export ORAENV_ASK=NO
. oraenv
export ORAENV_ASK=YES
dbshut \$ORACLE_HOME
EOF
  1. 赋权
chown -R oracle:oinstall /home/oracle/scripts
chmod u+x /home/oracle/scripts/*.sh

开始静默安装

  1. 进入$ORACLE_HOME路径,将二进制安装包上传该路径并解压

请自行下载OL8,并上传和解压哈!

$ cd $ORACLE_HOME 
[oracle@ol8-oracle19c-testserver dbhome_1]$ ls -l
total 2987996
-rw-r--r-- 1 oracle oinstall 3059705302 Jan 18 09:10 LINUX.X64_193000_db_home.zip
[oracle@ol8-oracle19c-testserver dbhome_1]$
  1. 执行前设置 CV_ASSUME_DISTID,解决ol8版本对19c兼容性问题
export CV_ASSUME_DISTID=OEL7.6
  1. 静默安装命令准备

关于静默安装的更多信息请参考:https://oracle-base.com/articles/misc/oui-silent-installations

./runInstaller -ignorePrereq -waitforcompletion -silent \
    -responseFile ${ORACLE_HOME}/install/response/db_install.rsp \
    oracle.install.option=INSTALL_DB_SWONLY \
    ORACLE_HOSTNAME=${ORACLE_HOSTNAME} \
    UNIX_GROUP_NAME=oinstall \
    INVENTORY_LOCATION=${ORA_INVENTORY} \
    SELECTED_LANGUAGES=en,en_GB \
    ORACLE_HOME=${ORACLE_HOME} \
    ORACLE_BASE=${ORACLE_BASE} \
    oracle.install.db.InstallEdition=EE \
    oracle.install.db.OSDBA_GROUP=dba \
    oracle.install.db.OSBACKUPDBA_GROUP=dba \
    oracle.install.db.OSDGDBA_GROUP=dba \
    oracle.install.db.OSKMDBA_GROUP=dba \
    oracle.install.db.OSRACDBA_GROUP=dba \
    SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \
    DECLINE_SECURITY_UPDATES=true
  1. 这是安装成功后的输出,如果安装失败请自行解决哈!
As a root user, execute the following script(s):
        1. /data/u01/app/oraInventory/orainstRoot.sh
        2. /data/u01/app/oracle/product/19.0.0/dbhome_1/root.sh
Execute /data/u01/app/oraInventory/orainstRoot.sh on the following nodes: 
[ol8-oracle19c-testserver]
Execute /data/u01/app/oracle/product/19.0.0/dbhome_1/root.sh on the following nodes: 
[ol8-oracle19c-testserver]
Successfully Setup Software.
Moved the install session logs to:
 /data/u01/app/oraInventory/logs/InstallActions2022-02-25_04-14-51PM

只要前期的先决条件准备充分,正常情况下安装还是会比较顺利的。

  1. 切换到root,按照出现的提示,运行脚本
  • 执行/data/u01/app/oraInventory/orainstRoot.sh
[root@ol8-oracle19c-testserver ~]# sh /data/u01/app/oraInventory/orainstRoot.sh
Changing permissions of /data/u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
  • 执行/data/u01/app/oracle/product/19.0.0/dbhome_1/root.sh
Changing groupname of /data/u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@ol8-oracle19c-testserver ~]# 
[root@ol8-oracle19c-testserver ~]# sh /data/u01/app/oracle/product/19.0.0/dbhome_1/root.sh
Check /data/u01/app/oracle/product/19.0.0/dbhome_1/install/root_ol8-oracle19c-testserver_2022-02-25_16-25-04-378568362.log for the output of root script
  1. 启动监听器
>$ lsnrctl start

使用配置助手(DBCA)创建数据库

  1. 静默安装,命令行下执行
dbca -silent -createDatabase \
     -templateName General_Purpose.dbc \
     -gdbname ${ORACLE_SID} -sid  ${ORACLE_SID} -responseFile NO_VALUE \
     -characterSet AL32UTF8 \
     -sysPassword s's's \
     -systemPassword 1qaz#EDC \
     -createAsContainerDatabase true \
     -numberOfPDBs 1 \
     -pdbName ${PDB_NAME} \
     -pdbAdminPassword 1qaz#EDC \
     -databaseType MULTIPURPOSE \
     -memoryMgmtType auto_sga \
     -totalMemory 2000 \
     -storageType FS \
     -datafileDestination "${DATA_DIR}" \
     -redoLogFileSize 50 \
     -emConfiguration NONE \
     -ignorePreReqs

注意:请根据自己的实际环境调整上述参数,别直接粘贴笔者的。

  1. 安装完成后,编辑“/etc/oratab”文件,将每个实例的重启标志设置为“Y”
cdb1:/data/u01/app/oracle/product/19.0.0/dbhome_1:Y
  1. 启用 Oracle 托管文件 (OMF) 并确保 PDB 在实例启动时启动
sqlplus / as sysdba <<EOF
alter system set db_create_file_dest='${DATA_DIR}';
alter pluggable database ${PDB_NAME} save state;
exit;
EOF

OK!今晚到此为止,就此搁笔。目前一台单机的Oracle 19c环境就准备好了,接下来就好玩了,笔者后面会慢慢剖析每个知识点,分享给大家。希望多多关注、点赞、转发。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
Oracle 关系型数据库 MySQL
Oracle linux 8 二进制安装 MySQL 8.4企业版
Oracle linux 8 二进制安装 MySQL 8.4企业版
589 1
|
SQL Oracle 关系型数据库
MySQL 和 Oracle 的区别?
本文对比了Oracle和MySQL数据库的多个方面。Oracle适用于大型数据库,支持高并发和大访问量,市场占有率为40%,安装占用空间较大,约3G;而MySQL适合中小型应用,是开源免费的,安装仅需152M。两者在主键生成、字符串处理、SQL语句、事务处理等方面存在差异。Oracle功能更为强大,尤其在企业级应用中表现突出,而MySQL则以简单易用见长。
1531 7
MySQL 和 Oracle 的区别?
|
Oracle 关系型数据库 MySQL
使用崖山YMP 迁移 Oracle/MySQL 至YashanDB 23.2 验证测试
这篇文章是作者尚雷关于使用崖山YMP迁移Oracle/MySQL至YashanDB 23.2的验证测试分享。介绍了YMP的产品信息,包括架构、版本支持等,还详细阐述了外置库部署、YMP部署、访问YMP、数据源管理、任务管理(创建任务、迁移配置、离线迁移、校验初始化、一致性校验)及MySQL迁移的全过程。
|
监控 Oracle 关系型数据库
Mysql、Oracle审计日志的开启
通过上述步骤,可以在 MySQL 和 Oracle 数据库中启用和配置审计日志。这些日志对于监控数据库操作、提高安全性和满足合规性要求非常重要。确保正确配置审计参数和策略,定期查看和分析审计日志,有助于及时发现并处理潜在的安全问题。
906 11
|
存储 Oracle 关系型数据库
Oracle和MySQL有哪些区别?从基本特性、技术选型、字段类型、事务、语句等角度详细对比Oracle和MySQL
从基本特性、技术选型、字段类型、事务提交方式、SQL语句、分页方法等方面对比Oracle和MySQL的区别。
3651 18
Oracle和MySQL有哪些区别?从基本特性、技术选型、字段类型、事务、语句等角度详细对比Oracle和MySQL
|
Oracle NoSQL 关系型数据库
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
3310 3
|
Oracle 关系型数据库 MySQL
shell获取多个oracle库mysql库所有的表
请注意,此脚本假设你有足够的权限访问所有提到的数据库。在实际部署前,请确保对脚本中的数据库凭据、主机名和端口进行适当的修改和验证。此外,处理数据库操作时,务必谨慎操作,避免因错误的脚本执行造成数据损坏或服务中断。
309 0
|
存储 Oracle 关系型数据库
oracle 数据库 迁移 mysql数据库
将 Oracle 数据库迁移到 MySQL 是一项复杂的任务,因为这两种数据库管理系统具有不同的架构、语法和功能。
452 0
|
存储 Oracle 关系型数据库
oracle迁移mysql数据库注意(转)
oracle转mysql修改:1. substr() substr( string , 0, 10) 这里测试 必须从 第一位获取 既是 substr(string , 1 , 10)2. to_char() 只能用做oracle的函数,兼容oracle和mysql故 改为concat( … , ''); 这里 使用了两个, 一个 是将类似 int 转为 string 3.
2000 0
|
9月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
747 93

热门文章

最新文章

推荐镜像

更多