Linux静默安装Oracle21C
* 博客文章部分截图及内容来自于学习的书本及相应培训课程以及网络其他博客,仅做学习讨论之用,不做商业用途。
* 如有侵权,马上联系我,我立马删除对应链接。
* @author Alan
* @Email no008@foxmail.com
正文
Linux静默安装Oracle21C
1、修改主机名及配置hosts
[root@localhost ~]# hostname # 查看主机名
[root@localhost ~]# hostname oracledb # 修改主机名
[root@localhost ~]# vim /etc/hosts # 修改hosts
[root@localhost ~]# cat /etc/hosts
2、关闭selinux和防火墙
[root@localhost ~]# setenforce 0 // 不重启系统生效
[root@localhost ~]# vim /etc/selinux/config # 修改为SELINUX=disabled 重启系统后生效
[root@localhost ~]# systemctl status firewalld.service # 查看状态
[root@localhost ~]# systemctl stop firewalld.service # 停止 firewall
[root@localhost ~]# systemctl disable firewalld.service # 禁止 firewall 开机启动
3、检查依赖包
[root@localhost ~]# rpm --query --queryformat "%{NAME}-%{VERSION}.%{RELEASE} (%{ARCH})\n" bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat
4、安装依赖包
[root@localhost ~]# yum -y install compat-libcap1 compat-libstdc++-33 elfutils-libelf-devel fontconfig-devel glibc-devel ksh libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libstdc++-devel libxcb smartmontools sysstat
5、创建用户及用户组
[root@localhost ~]# groupadd -g 54321 oinstall
[root@localhost ~]# groupadd -g 54322 dba
[root@localhost ~]# groupadd -g 54323 oper
[root@localhost ~]# groupadd -g 54324 backupdba
[root@localhost ~]# groupadd -g 54325 dgdba
[root@localhost ~]# groupadd -g 54326 kmdba
[root@localhost ~]# groupadd -g 54330 racdba
[root@localhost ~]# useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle
#!/bin/bash
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54330 racdba
useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle
6、配置内核参数
[root@localhost ~]# vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 16451328
kernel.shmmax = 33692319744
kernel.shmmni = 4096
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
7、使内核参数生效
[root@localhost ~]# sysctl -p
8、配置用户资源
[root@localhost ~]# vim /etc/security/limits.conf
oracle soft nofile 1024
oracle hard nofile 65536
oracle hard nproc 16384
oracle soft nproc 2047
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 3145728
oracle soft memlock 3145728
9、修改/etc/pam.d/login文件
[root@localhost ~]# vim /etc/pam.d/login
session required /lib/security/pam_limits.so
10、修改/etc/profile文件
[root@localhost ~]# vim /etc/profile
[root@localhost ~]# source /etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
11、创建安装目录
[root@localhost ~]# mkdir -p /home/oracle/app/oracle/product/21.3.0
[root@localhost ~]# mkdir -p /home/oracle/app/oracle/oradata
[root@localhost ~]# mkdir -p /home/oracle/app/oracle/inventory
[root@localhost ~]# mkdir -p /home/oracle/app/oraInventory
[root@localhost ~]# mkdir -p /home/oracle/app/oracle/fast_recovery_area
[root@localhost ~]# chown -R oracle:oinstall /home/oracle/app
[root@localhost ~]# chmod -R 775 /home/oracle/app
#!/bin/bash
mkdir -p /home/oracle/app/oracle/product/21.3.0
mkdir -p /home/oracle/app/oracle/oradata
mkdir -p /home/oracle/app/oracle/inventory
mkdir -p /home/oracle/app/oraInventory
mkdir -p /home/oracle/app/oracle/fast_recovery_area
chown -R oracle:oinstall /home/oracle/app
chmod -R 775 /home/oracle/app
12、配置oracle用户的环境变量
[root@localhost ~]# su - oracle
[oracle@oracledb ~]$ vim .bash_profile
[oracle@oracledb ~]$ source /home/oracle/.bash_profile
export LANG=en_US
export NSL_LANG=american_america.ZHS16GBK
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/app/oracle/product/21.3.0
export ORACLE_SID=YXPCDB
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export CLASSPATH=$CLASSPATH:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/jlib:$ORACLE_HOME/network/lib
13、解压安装包文件
[oracle@oracledb ~]$ exit
[root@localhost ~]# chown oracle:oinstall /Tools/LINUX.X64_213000_db_home.zip
[root@localhost ~]# chmod 755 /Tools/LINUX.X64_213000_db_home.zip
[root@localhost ~]# su - oracle
[oracle@oracledb ~]$ unzip /Tools/LINUX.X64_213000_db_home.zip -d $ORACLE_HOME
14、配置安装引导文件
[oracle@localhost ~]$ cd $ORACLE_HOME/install/response
[oracle@oracledb response]$ cp db_install.rsp db_install.rsp.bak
[oracle@oracledb response]$ vim db_install.rsp
// 主要修改以下参数
oracle.install.option=INSTALL_DB_SWONLY // 29行
UNIX_GROUP_NAME=oinstall // 34行
INVENTORY_LOCATION=/home/oracle/app/oraInventory // 41行
ORACLE_HOME=/home/oracle/app/oracle/product/21.3.0 // 45行
ORACLE_BASE=/home/oracle/app/oracle // 50行
oracle.install.db.InstallEdition=EE // 62行
oracle.install.db.OSDBA_GROUP=dba // 79行
oracle.install.db.OSOPER_GROUP=oper // 85行
oracle.install.db.OSBACKUPDBA_GROUP=backupdba // 90行
oracle.install.db.OSDGDBA_GROUP=dgdba // 95行
oracle.install.db.OSKMDBA_GROUP=kmdba // 100行
oracle.install.db.OSRACDBA_GROUP=racdba // 105行
oracle.install.db.rootconfig.executeRootScript=false // 120行
- :set number 显示行号
- :set nu 显示行号
- :set nu! 取消显示行号
15、执行安装
[oracle@localhost ~]$ cd $ORACLE_HOME
[oracle@oracledb 21.3.0]$ ./runInstaller -silent -responseFile $ORACLE_HOME/install/response/db_install.rsp
16、以root用户执行脚本
[root@localhost ~]# sh /home/oracle/app/oraInventory/orainstRoot.sh
[root@localhost ~]# sh /home/oracle/app/oracle/product/21.3.0/root.sh
17、创建监听
[oracle@oracledb 21.3.0]$ cd assistants/netca
[oracle@oracledb netca]$ cp netca.rsp netca.rsp.bak
[oracle@oracledb netca]$ netca /silent /responseFile $ORACLE_HOME/assistants/netca/netca.rsp
18、建库
[oracle@oracledb netca]$ cd $ORACLE_HOME/assistants/dbca
[oracle@oracledb dbca]$ dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE -gdbname YXPCDB -sid YXPCDB -createAsContainerDatabase TRUE -numberOfPDBs 1 -pdbName pdbYXP -pdbAdminPassword Yangxiaopeng214 -sysPassword Yangxiaopeng214 -systemPassword Yangxiaopeng214 -datafileDestination '/home/oracle/app/oracle/oradata' -recoveryAreaDestination '/home/oracle/flash_recovery_area' -redoLogFileSize 50 -storageType FS -characterset ZHS16GBK -nationalCharacterSet AL16UTF16 -totalMemory 2048 -databaseType OLTP -emConfiguration NONE
- 主要参数
-------------主要参数-------------------------------------------------------------------
gdbName=YXPCDB
sid=YXPCDB
databaseConfigType=SI
createAsContainerDatabase=true
numberOfPDBs=1
pdbName=pdbYXP
pdbAdminPassword=Yangxiaopeng214
templateName=General_Purpose.dbc
sysPassword=Yangxiaopeng214
systemPassword=Yangxiaopeng214
emConfiguration=NONE
dbsnmpPassword=Yangxiaopeng214
datafileDestination=/home/oracle/app/oracle/oradata
recoveryAreaDestination=/home/oracle/flash_recovery_area
storageType=FS
characterSet=ZHS16GBK
nationalCharacterSet=AL16UTF16
sampleSchema=true
totalMemory=2048
redoLogFileSize=50
-- rac数据库
dbca -silent -ignorePreReqs -ignorePrereqFailure -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname rac21c -sid rac21c \
-createAsContainerDatabase TRUE \
-sysPassword lhr -systemPassword lhr -dbsnmpPassword lhr \
-datafileDestination '+DATA' -recoveryAreaDestination '+FRA' \
-storageType ASM \
-characterset AL32UTF8 \
-totalMemory 1024 \
-databaseType OLTP \
-emConfiguration none \
-nodeinfo raclhr-21c-n1,raclhr-21c-n2
-- 单实例
dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname YXPCDB -sid YXPCDB \
-createAsContainerDatabase TRUE \
-numberOfPDBs 1 \
-pdbName pdbxmm \
-pdbAdminPassword Yangxiaopeng214 \
-sysPassword Yangxiaopeng214 -systemPassword Yangxiaopeng214 \
-datafileDestination '/home/oracle/app/oracle/oradata' \
-recoveryAreaDestination '/home/oracle/flash_recovery_area' \
-redoLogFileSize 50 \
-storageType FS \
-characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \
-totalMemory 1024 \
-databaseType OLTP \
-emConfiguration NONE
19、验证
[oracle@oracledb ~]$ lsnrctl status # 查看监听状态
[oracle@oracledb ~]$ lsnrctl restart # 重启监听
[oracle@oracledb ~]$ lsnrctl stop # 停止监听
[oracle@oracledb ~]$ lsnrctl start # 启动监听
- 下图为两个库的截图
[oracle@oracledb ~]$ sqlplus
- 输入用户名和密码
- select
sysdate from dual;
20、其他
- 启动服务
先启动监听,再启动数据库
[oracle@oracledb ~]$ lsnrctl start # 启动监听
[oracle@oracledb ~]$ sqlplus /nolog # 打开sqlplus
SQL> conn / as sysdba # 连接数据库
SQL> startup # 启动数据库
SQL> show con_name # 显示当前容器
SQL> shutdown # 关闭数据库
SQL> exit # 退出
[oracle@oracledb ~]$ lsnrctl stop # 停止监听
21、启动两个实例
- YXPCDB 实例的数据库中创建了temp_yxp表,CDB2实例的数据库中未创建temp_yxp表
- 根据oracle用户的ORACLE_SID环境变量来启动数据库
[oracle@oracledb ~]$ lsnrctl start
[oracle@oracledb ~]$ echo $ORACLE_SID # YXPCDB 第一个实例
[oracle@oracledb ~]$ sqlplus /nolog
SQL> conn / as sysdba
SQL> startup
SQL> exit
[oracle@oracledb ~]$ sqlplus
SQL> select * from temp_yxp; # 表存在
SQL> exit
[oracle@oracledb ~]$ vim .bash_profile # 更改ORACLE_SID的值为CDB2
[oracle@oracledb ~]$ source .bash_profile
[oracle@oracledb ~]$ echo $ORACLE_SID # CDB2 第二个实例
[oracle@oracledb ~]$ sqlplus /nolog
SQL> conn / as sysdba
SQL> startup
SQL> exit
[oracle@oracledb ~]$ sqlplus
SQL> select * from temp_yxp; # 表 不存在
SQL> exit
[oracle@oracledb ~]$ export ORACLE_SID=YXPCDB # 临时生效,上述过程中涉及修改ORACLE_SID环境变量亦可用此方法
22、客户端连接
本文来自博客园,作者:99号程序员,转载请注明原文链接:https://www.cnblogs.com/yyxp/p/15949732.html
为人:谦逊、激情、博学、审问、慎思、明辨、 笃行
学问:纸上得来终觉浅,绝知此事要躬行
为事:工欲善其事,必先利其器。
态度:道阻且长,行则将至;行而不辍,未来可期
.....................................................................
------- 桃之夭夭,灼灼其华。之子于归,宜其室家。 ---------------
------- 桃之夭夭,有蕡其实。之子于归,宜其家室。 ---------------
------- 桃之夭夭,其叶蓁蓁。之子于归,宜其家人。 ---------------
=====================================================================
* 博客文章部分截图及内容来自于学习的书本及相应培训课程以及网络其他博客,仅做学习讨论之用,不做商业用途。
* 如有侵权,马上联系我,我立马删除对应链接。 * @author Alan -liu * @Email no008@foxmail.com
转载请标注出处! ✧*꧁一品堂.技术学习笔记꧂*✧. ---> https://www.cnblogs.com/ios9/
学问:纸上得来终觉浅,绝知此事要躬行
为事:工欲善其事,必先利其器。
态度:道阻且长,行则将至;行而不辍,未来可期
.....................................................................
------- 桃之夭夭,灼灼其华。之子于归,宜其室家。 ---------------
------- 桃之夭夭,有蕡其实。之子于归,宜其家室。 ---------------
------- 桃之夭夭,其叶蓁蓁。之子于归,宜其家人。 ---------------
=====================================================================
* 博客文章部分截图及内容来自于学习的书本及相应培训课程以及网络其他博客,仅做学习讨论之用,不做商业用途。
* 如有侵权,马上联系我,我立马删除对应链接。 * @author Alan -liu * @Email no008@foxmail.com
转载请标注出处! ✧*꧁一品堂.技术学习笔记꧂*✧. ---> https://www.cnblogs.com/ios9/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-04-05 jQuery获取各种标签的文本和value值