Linux静默安装Oracle21C

Linux静默安装Oracle21C

1、修改主机名及配置hosts


  1. [root@localhost ~]# hostname# 查看主机名

  2. [root@localhost ~]# hostname oracledb# 修改主机名

  3. [root@localhost ~]# vim /etc/hosts# 修改hosts

  4. [root@localhost ~]# cat /etc/hosts

2、关闭selinux和防火墙


  1. [root@localhost ~]# setenforce 0// 不重启系统生效

  2. [root@localhost ~]# vim /etc/selinux/config # 修改为SELINUX=disabled 重启系统后生效

  3. [root@localhost ~]# systemctl status firewalld.service# 查看状态

  4. [root@localhost ~]# systemctl stop firewalld.service # 停止 firewall

  5. [root@localhost ~]# systemctl disable firewalld.service # 禁止 firewall 开机启动

3、检查依赖包


  1. [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、安装依赖包


  1. [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、创建用户及用户组


  1. [root@localhost ~]# groupadd -g 54321 oinstall

  2. [root@localhost ~]# groupadd -g 54322 dba

  3. [root@localhost ~]# groupadd -g 54323 oper

  4. [root@localhost ~]# groupadd -g 54324 backupdba

  5. [root@localhost ~]# groupadd -g 54325 dgdba

  6. [root@localhost ~]# groupadd -g 54326 kmdba

  7. [root@localhost ~]# groupadd -g 54330 racdba

  8. [root@localhost ~]# useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle

  9. #!/bin/bash

  10. groupadd -g 54321 oinstall

  11. groupadd -g 54322 dba

  12. groupadd -g 54323 oper

  13. groupadd -g 54324 backupdba

  14. groupadd -g 54325 dgdba

  15. groupadd -g 54326 kmdba

  16. groupadd -g 54330 racdba

  17. useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle

6、配置内核参数


  1. [root@localhost ~]# vim /etc/sysctl.conf

  2. fs.aio-max-nr = 1048576

  3. fs.file-max = 6815744

  4. kernel.shmall = 16451328

  5. kernel.shmmax = 33692319744

  6. kernel.shmmni = 4096

  7. kernel.sem = 250 32000 100 128

  8. net.ipv4.ip_local_port_range = 9000 65500

  9. net.core.rmem_default = 262144

  10. net.core.rmem_max = 4194304

  11. net.core.wmem_default = 262144

  12. net.core.wmem_max = 1048576

7、使内核参数生效


  1. [root@localhost ~]# sysctl -p

8、配置用户资源


  1. [root@localhost ~]# vim /etc/security/limits.conf

  2. oracle soft nofile 1024

  3. oracle hard nofile 65536

  4. oracle hard nproc 16384

  5. oracle soft nproc 2047

  6. oracle soft stack 10240

  7. oracle hard stack 32768

  8. oracle hard memlock 3145728

  9. oracle soft memlock 3145728

9、修改/etc/pam.d/login文件


  1. [root@localhost ~]# vim /etc/pam.d/login

  2. session required /lib/security/pam_limits.so

10、修改/etc/profile文件


  1. [root@localhost ~]# vim /etc/profile

  2. [root@localhost ~]# source /etc/profile

  3. if [ $USER = "oracle" ]; then

  4. if [ $SHELL = "/bin/ksh" ]; then

  5. ulimit -p 16384

  6. ulimit -n 65536

  7. else

  8. ulimit -u 16384 -n 65536

  9. fi

  10. fi

11、创建安装目录


  1. [root@localhost ~]# mkdir -p /home/oracle/app/oracle/product/21.3.0

  2. [root@localhost ~]# mkdir -p /home/oracle/app/oracle/oradata

  3. [root@localhost ~]# mkdir -p /home/oracle/app/oracle/inventory

  4. [root@localhost ~]# mkdir -p /home/oracle/app/oraInventory

  5. [root@localhost ~]# mkdir -p /home/oracle/app/oracle/fast_recovery_area

  6. [root@localhost ~]# chown -R oracle:oinstall /home/oracle/app

  7. [root@localhost ~]# chmod -R 775 /home/oracle/app

  8. #!/bin/bash

  9. mkdir -p /home/oracle/app/oracle/product/21.3.0

  10. mkdir -p /home/oracle/app/oracle/oradata

  11. mkdir -p /home/oracle/app/oracle/inventory

  12. mkdir -p /home/oracle/app/oraInventory

  13. mkdir -p /home/oracle/app/oracle/fast_recovery_area

  14. chown -R oracle:oinstall /home/oracle/app

  15. chmod -R 775 /home/oracle/app

12、配置oracle用户的环境变量


  1. [root@localhost ~]# su - oracle

  2. [oracle@oracledb ~]$ vim .bash_profile

  3. [oracle@oracledb ~]$ source /home/oracle/.bash_profile

  4. export LANG=en_US

  5. export NSL_LANG=american_america.ZHS16GBK

  6. export ORACLE_BASE=/home/oracle

  7. export ORACLE_HOME=$ORACLE_BASE/app/oracle/product/21.3.0

  8. export ORACLE_SID=YXPCDB

  9. export PATH=$ORACLE_HOME/bin:$PATH

  10. export LD_LIBRARY_PATH=$ORACLE_HOME/lib

  11. export CLASSPATH=$CLASSPATH:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/jlib:$ORACLE_HOME/network/lib

13、解压安装包文件


  1. [oracle@oracledb ~]$ exit

  2. [root@localhost ~]# chown oracle:oinstall /Tools/LINUX.X64_213000_db_home.zip

  3. [root@localhost ~]# chmod 755 /Tools/LINUX.X64_213000_db_home.zip

  4. [root@localhost ~]# su - oracle

  5. [oracle@oracledb ~]$ unzip /Tools/LINUX.X64_213000_db_home.zip -d $ORACLE_HOME

14、配置安装引导文件


  1. [oracle@localhost ~]$ cd $ORACLE_HOME/install/response

  2. [oracle@oracledb response]$ cp db_install.rsp db_install.rsp.bak

  3. [oracle@oracledb response]$ vim db_install.rsp

  4. // 主要修改以下参数

  5. oracle.install.option=INSTALL_DB_SWONLY// 29行

  6. UNIX_GROUP_NAME=oinstall// 34行

  7. INVENTORY_LOCATION=/home/oracle/app/oraInventory// 41行

  8. ORACLE_HOME=/home/oracle/app/oracle/product/21.3.0// 45行

  9. ORACLE_BASE=/home/oracle/app/oracle// 50行

  10. oracle.install.db.InstallEdition=EE// 62行

  11. oracle.install.db.OSDBA_GROUP=dba// 79行

  12. oracle.install.db.OSOPER_GROUP=oper// 85行

  13. oracle.install.db.OSBACKUPDBA_GROUP=backupdba// 90行

  14. oracle.install.db.OSDGDBA_GROUP=dgdba// 95行

  15. oracle.install.db.OSKMDBA_GROUP=kmdba// 100行

  16. oracle.install.db.OSRACDBA_GROUP=racdba// 105行

  17. oracle.install.db.rootconfig.executeRootScript=false// 120行

  • :set number 显示行号

  • :set nu 显示行号

  • :set nu! 取消显示行号

15、执行安装


  1. [oracle@localhost ~]$ cd $ORACLE_HOME

  2. [oracle@oracledb 21.3.0]$ ./runInstaller -silent -responseFile $ORACLE_HOME/install/response/db_install.rsp

16、以root用户执行脚本


  1. [root@localhost ~]# sh /home/oracle/app/oraInventory/orainstRoot.sh

  2. [root@localhost ~]# sh /home/oracle/app/oracle/product/21.3.0/root.sh

17、创建监听


  1. [oracle@oracledb 21.3.0]$ cd assistants/netca

  2. [oracle@oracledb netca]$ cp netca.rsp netca.rsp.bak

  3. [oracle@oracledb netca]$ netca /silent /responseFile $ORACLE_HOME/assistants/netca/netca.rsp

18、建库


  1. [oracle@oracledb netca]$ cd $ORACLE_HOME/assistants/dbca

  2. [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

  • 主要参数

  1. -------------主要参数-------------------------------------------------------------------

  2. gdbName=YXPCDB

  3. sid=YXPCDB

  4. databaseConfigType=SI

  5. createAsContainerDatabase=true

  6. numberOfPDBs=1

  7. pdbName=pdbYXP

  8. pdbAdminPassword=Yangxiaopeng214

  9. templateName=General_Purpose.dbc

  10. sysPassword=Yangxiaopeng214

  11. systemPassword=Yangxiaopeng214

  12. emConfiguration=NONE

  13. dbsnmpPassword=Yangxiaopeng214

  14. datafileDestination=/home/oracle/app/oracle/oradata

  15. recoveryAreaDestination=/home/oracle/flash_recovery_area

  16. storageType=FS

  17. characterSet=ZHS16GBK

  18. nationalCharacterSet=AL16UTF16

  19. sampleSchema=true

  20. totalMemory=2048

  21. redoLogFileSize=50

  22. -- rac数据库

  23. dbca -silent -ignorePreReqs -ignorePrereqFailure -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \

  24. -gdbname rac21c -sid rac21c \

  25. -createAsContainerDatabase TRUE \

  26. -sysPassword lhr -systemPassword lhr -dbsnmpPassword lhr \

  27. -datafileDestination '+DATA' -recoveryAreaDestination '+FRA' \

  28. -storageType ASM \

  29. -characterset AL32UTF8 \

  30. -totalMemory 1024 \

  31. -databaseType OLTP \

  32. -emConfiguration none \

  33. -nodeinfo raclhr-21c-n1,raclhr-21c-n2

  34. -- 单实例

  35. dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \

  36. -gdbname YXPCDB -sid YXPCDB \

  37. -createAsContainerDatabase TRUE \

  38. -numberOfPDBs 1 \

  39. -pdbName pdbxmm \

  40. -pdbAdminPassword Yangxiaopeng214 \

  41. -sysPassword Yangxiaopeng214 -systemPassword Yangxiaopeng214 \

  42. -datafileDestination '/home/oracle/app/oracle/oradata' \

  43. -recoveryAreaDestination '/home/oracle/flash_recovery_area' \

  44. -redoLogFileSize 50 \

  45. -storageType FS \

  46. -characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \

  47. -totalMemory 1024 \

  48. -databaseType OLTP \

  49. -emConfiguration NONE

19、验证


  1. [oracle@oracledb ~]$ lsnrctl status # 查看监听状态

  2. [oracle@oracledb ~]$ lsnrctl restart# 重启监听

  3. [oracle@oracledb ~]$ lsnrctl stop# 停止监听

  4. [oracle@oracledb ~]$ lsnrctl start# 启动监听

  • 下图为两个库的截图

  1. [oracle@oracledb ~]$ sqlplus

  • 输入用户名和密码

  • select sysdate from dual;

20、其他


  • 启动服务

先启动监听,再启动数据库

  1. [oracle@oracledb ~]$ lsnrctl start# 启动监听

  2. [oracle@oracledb ~]$ sqlplus /nolog# 打开sqlplus

  3. SQL> conn / as sysdba# 连接数据库

  4. SQL> startup# 启动数据库

  5. SQL> show con_name# 显示当前容器

  6. SQL> shutdown# 关闭数据库

  7. SQL> exit# 退出

  8. [oracle@oracledb ~]$ lsnrctl stop# 停止监听

21、启动两个实例


  • YXPCDB 实例的数据库中创建了temp_yxp表,CDB2实例的数据库中未创建temp_yxp表

  • 根据oracle用户的ORACLE_SID环境变量来启动数据库

  1. [oracle@oracledb ~]$ lsnrctl start

  2. [oracle@oracledb ~]$ echo $ORACLE_SID # YXPCDB 第一个实例

  3. [oracle@oracledb ~]$ sqlplus /nolog

  4. SQL> conn / as sysdba

  5. SQL> startup

  6. SQL> exit

  7. [oracle@oracledb ~]$ sqlplus

  8. SQL> select * from temp_yxp;# 表存在

  9. SQL> exit

  10. [oracle@oracledb ~]$ vim .bash_profile # 更改ORACLE_SID的值为CDB2

  11. [oracle@oracledb ~]$ source .bash_profile

  12. [oracle@oracledb ~]$ echo $ORACLE_SID # CDB2 第二个实例

  13. [oracle@oracledb ~]$ sqlplus /nolog

  14. SQL> conn / as sysdba

  15. SQL> startup

  16. SQL> exit

  17. [oracle@oracledb ~]$ sqlplus

  18. SQL> select * from temp_yxp;# 表 不存在

  19. SQL> exit

  20. [oracle@oracledb ~]$ export ORACLE_SID=YXPCDB # 临时生效,上述过程中涉及修改ORACLE_SID环境变量亦可用此方法

22、客户端连接


  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
第一篇 Oracle管理配置 第1章 Oracle安装配置(教学视频:10分钟) 23 1.1 Oracle简介 23 1.1.1 数据库术语 23 1.1.2 主流数据库简介 24 1.1.3 Oracle数据库的特点 24 1.2 安装Oracle数据库 25 1.2.1 Oracle数据库的版本变迁及安装环境 25 1.2.2 安装过程 26 1.2.3 安装中需要注意的问题 27 1.3 本章小结 28 1.4 习题 28 第2章 Oracle常用工具(教学视频:7分钟) 29 2.1 Net Configuration Assistant(网络配置助手) 29 2.1.1 监听程序配置 29 2.1.2 命名方法配置 31 2.1.3 本地Net服务名配置 32 2.2 Net Manager(网络管理员) 34 2.3 本章实例 36 2.4 本章小结 38 2.5 习题 38 第3章 SQL Plus和PL/SQL(教学视频:11分钟) 39 3.1 SQL Plus与PL/SQL简介 39 3.2 使用SQL Plus 40 3.2.1 登录SQL Plus 40 3.2.2 SQL Plus输出结果的格式化 41 3.2.3 SQL Plus小结 46 3.3 PL/SQL 46 3.3.1 PL/SQL常用开发工具 46 3.3.2 开发一个简单的PL/SQL程序 48 3.4 本章实例 49 3.5 本章小结 50 3.6 习题 50 第二篇 Oracle数据库对象 第4章 Oralce数据库(教学视频:15分钟) 51 4.1 创建Oracle数据库 51 4.2 Oracle数据库的相关术语 52 4.2.1 数据库 53 4.2.2 数据库实例和SID 53 4.2.3 ORACLE_SID 54 4.3 Oracle数据库的备份与恢复 55 4.3.1 逻辑备份/恢复(导出/导入) 55 4.3.2 物理备份/恢复 56 4.3.3 利用PL/SQL Developer备份数据库 60 4.4 本章实例 61 4.5 本章小结 61 4.6 习题 62 第5章 Oracle数据表对象(教学视频:42分钟) 63 5.1 Oracle表空间 63 5.1.1 Oracle表空间简介 63 5.1.2 创建Oracle表空间 64 5.1.3 查看表空间 66 5.1.4 修改数据库默认表空间 67 5.1.5 修改表空间名称 68 5.1.6 删除表空间 69 5.2 创建Oracle数据表 70 5.2.1 利用工具创建数据表 70 5.2.2 利用工具查看数据表 71 5.2.3 利用命令创建数据表 72 5.2.4 利用命令查看表结构 72 5.3 修改Oracle数据表结构 73 5.3.1 利用工具修改数据表结构 73 5.3.2 利用命令修改数据表结构 74 5.4 删除数据表 75 5.4.1 利用工具删除数据表 76 5.4.2 利用SQL语句删除数据表 76 5.5 备份/恢复数据表 76 5.5.1 利用工具备份/恢复数据表 77 5.5.2 利用命令备份/恢复数据表 82 5.6 临时表 83 5.6.1 临时表简介 83 5.6.2 会话级临时表 84 5.6.3 事务级临时表 85 5.6.4 查看临时表在数据库中的信息 86 5.6.5 临时表的应用场景 86 5.7 特殊的表dual 87 5.7.1 分析dual表 87 5.7.2 dual表的应用场景 87 5.7.3 修改dual表对查询结果的影响 88 5.8 本章实例 89 5.9 本章小结 90 5.10 习题 90 第6章 约束(教学视频:43分钟) 91 6.1 主键约束 91 6.1.1 主键简介 91 6.1.2 创建主键约束 92 6.1.3 修改表的主键约束 94 6.1.4 主键应用场景 96 6.2 外键约束 97 6.2.1 外键简介 97 6.2.2 创建外键约束 97 6.2.3 级联更新与级联删除 100 6.2.4 修改外键属性 102 6.2.5 外键使用 104 6.3 唯一性约束 105 6.3.1 唯一性约束简介 105 6.3.2 创建唯一性约束 105 6.3.3 修改唯一性约束 107 6.3.4 唯一性约束的使用 108 6.4 检查约束 108 6.4.1 检查约束简介 108 6.4.2 创建检查约束 108 6.4.3 修改检查约束 110 6.4.4 检查约束的使用 111 6.5 默认值约束 111 6.5.1 默认值约束简介 112 6.5.2 创建默认值约束 112 6.5.3 修改默认值约束 113 6.6 本章实例 115 6.7 本章小结 116 6.8 习题 116 第7章 视图(教学视频:50分钟) 117 7.1 关系视图 117 7.1.1 建立关系视图 117 7.1.2 修改/删除视图 118 7.1.3 联接视图 120 7.1.4 编译视图 122 7.1.5 使用force选项强制创建视图 124 7.1.6 利用视图更新数据表 125 7.1.7 with check option选项 126 7.1.8 关系视图小结 128 7.2 内嵌视图 128 7.2.1 内嵌视图简介 128 7.2.2 内嵌视图的使用 128 7.2.3 内嵌视图小结 130 7.3 对象视图 131 7.3.1 对象视图简介 131 7.3.2 对象视图简介 131 7.4 物化视图 133 7.4.1 物化视图简介 133 7.4.2 物化视图的使用 133 7.4.3 物化视图的数据加载 135 7.4.4 物化视图的数据更新 135 7.4.5 查询重写 136 7.5 本章小结 136 7.6 本章实例 137 7.7 习题 137 第8章 函数与存储过程(教学视频:48分钟) 138 8.1 函数 138 8.1.1 函数简介 138 8.1.2 创建函数 139 8.1.3 函数中的括号 140 8.1.4 函数的参数 141 8.1.5 函数的确定性 142 8.1.6 典型函数举例 143 8.2 存储过程 144 8.2.1 存储过程简介 144 8.2.2 创建存储过程 144 8.2.3 存储过程的参数——IN参数 146 8.2.4 存储过程的参数——OUT参数 147 8.2.5 存储过程的参数——IN OUT参数 149 8.2.6 存储过程的参数——参数顺序 149 8.2.7 存储过程的参数——参数的默认值 152 8.2.8 存储过程的参数——参数顺序总结 153 8.3 程序包 153 8.3.1 规范 153 8.3.2 主体 155 8.3.3 调用程序包中的函数/存储过程 157 8.3.4 程序包中的变量 158 8.4 本章实例 159 8.5 本章小结 161 8.6 习题 161 …… 第9章 游标(教学视频:36分钟) 162 第10章 触发器(教学视频:58分钟) 178 第11章 序列(教学视频:28分钟) 206 第12章 用户角色与权限控制(教学视频:45分钟) 215 第三篇 Oracle中的SQL 第13章 Oracle数据类型(教学视频:21分钟) 231 第14章 Oracle中的函数与表达式(教学视频:111分钟) 240 第15章 Oracle中的控制语句(教学视频:16分钟) 282 第16章 SQL查询(教学视频:55分钟) 290 第17章 SQL更新数据(教学视频:34分钟) 319 第四篇 Oracle编程高级应用 第18章 数据库速度优化与数据完整性(教学视频:32分钟) 332 第19章 数据一致性与事务管理(教学视频:46分钟) 341 第20章 并发控制(教学视频:35分钟) 356 第21章 Oracle中的正则表达式(教学视频:29分钟) 369 第五篇 Oracle与编程语言综合使用实例 第22章 Oracle在Java开发中的应用(教学视频:38分钟) 376 第23章 Oracle在C#开发中的应用(教学视频:12分钟) 391

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

javaxuss

你的打赏将是我最大的鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值