基于CentOS 7静默安装Oracle 11gR2单实例数据库

2022-08-17 14:33:24 浏览数 (1)

本文记录从无到有部署一个CentOS 7 Oracle 11gR2单实例,做为主要学习试验环境,毕竟只有敲过并运行过的代码才是属于自己的,光看书是看不到多少知识的。

1.VMware最小化安装CentOS 7

分配20G硬盘 2G内存 nat网络 400mboot 3Gswap 去除kdump 最小化安装 并配置网络 cat /etc/sysconfig/network-scripts/ifcfg-ens32 BOOTPROTO="static" DEVICE="ens32" ONBOOT="yes" IPADDR=192.168.188.11 NETMASK=255.255.255.0 GATEWAY=192.168.188.2 DNS1=192.168.188.2

2.配置yum源

[root] 安装wget、unzip yum -y install wget yum -y install unzip 配置163yum cd /etc/yum.repos.d mv CentOS-Base.repo CentOS-Base.repo.bak wget http://mirrors.163.com/.help/CentOS7-Base-163.repo -O CentOS-Base.repo 配置oel7源 wget http://public-yum.oracle.com/public-yum-ol7.repo -O /etc/yum.repos.d/public-yum-ol7.repo wget http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol7 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle 重刷缓存 yum clean all yum makecache

3.安装oracle环境配置工具

[root] yum -y install oracle-rdbms-server-11gR2-preinstall #完成后备份一下这个目录的文件到其他目录 这个文件夹是修改系统后日志和原本的内核配置备份 mkdir /home/oracle/backup && cp /var/log/oracle-rdbms-server-11gR2-preinstall "$_" -R #加载内核参数 和sysctl -p一样 sysctl –f

#设置oracle用户密码 oracle是安装工具自己创建的 passwd oracle

4.创建一些目录和配置

##配置oracle系统配置文件&授权 cat >> /etc/oraInst.loc <<EOF inventory_loc=/home/oracle/ora11g/oraInventory inst_group=oinstall EOF chmod 664 /etc/oraInst.loc ##创建oracle安装的目录&授权 mkdir -p /u01/app/ mkdir /u01/tmp chown -R oracle:oinstall /u01/app/ chmod -R 775 /u01/app/ chmod a wr /u01/tmp

5.配置用户环境&上传文件

[oracle]cat >> /home/oracle/.bash_profile <<EOFexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1export PATH=/u01/app/oracle/product/11.2.0/db_1/bin:

6.配置安装响应文件

[oracle] 修改响应文件 cat /home/oracle/database/response/db_install.rsp

##我的/home/oracle/rsp/db_install.rsp oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 #INSTALL_DB_AND_CONFIG安装并自动配置数据库实例和监听 建议首次安装用这个 #不然配置另外两个文件,新建实例和监听 oracle.install.option=INSTALL_DB_AND_CONFIG ORACLE_HOSTNAME=localhost UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/home/oracle/ora11g/oraInventory SELECTED_LANGUAGES=zh_CN,en ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 ORACLE_BASE=/u01/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.isCustomInstall=true oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0 oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=oinstall oracle.install.db.config.starterdb.type=GENERAL_PURPOSE #这个是服务名 oracle.install.db.config.starterdb.globalDBName=std #实例sid oracle.install.db.config.starterdb.SID=std oracle.install.db.config.starterdb.characterSet=AL32UTF8 oracle.install.db.config.starterdb.memoryOption=true #最小256M 我是学习就选择最小了 oracle.install.db.config.starterdb.memoryLimit=256 #是否安装学习的scott和hr(我就知道这两个) oracle.install.db.config.starterdb.installExampleSchemas=true oracle.install.db.config.starterdb.enableSecuritySettings=true #密码全设置成oracle (安装时会提示,个人学习忽略) oracle.install.db.config.starterdb.password.ALL=oracle oracle.install.db.config.starterdb.control=DB_CONTROL oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false oracle.install.db.config.starterdb.automatedBackup.enable=false oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/app/oracle/oradata #true DECLINE_SECURITY_UPDATES=true

7.静默安装数据库

[oracle] #安装 ##会出现密码不规范的警告,忽略 /home/oracle/database/runInstaller -silent -ignorePrereq -responseFile /home/oracle/database/response/db_install.rsp

##查看安装过程 另开一个shell 稍等 tail -f /home/oracle/ora11g/oraInventory/logs/installActions2018-07-23_07-37-45PM.log

#安装完成后执行 /u01/app/oracle/product/11.2.0/dbhome_1/root.sh

#静默删除

dbca -silent -deleteDatabase -sourceDB ora11g

8.配置防火墙

[root] #查看1521端口 netstat -an|grep 1521 #防火墙 放行1521端口 firewall-cmd --zone=public --add-port=1521/tcp --permanent #重新加载防火墙规则 firewall-cmd --reload

9.数据库的启动&关闭

[root] #修改oracle服务启动配置 让数据库启动时候一起启动实例 vi /etc/oratab

[oracle]#启动oracle#因为修改了/etc/oratab N->y 所以启动服务也会同时启动实例##N的情况不会同时启动实例 sqlplus登录会提示 an idle instance##用sqlplus 然后---> startup启动实例#重启系统后用这个命令启动dbstart

10.修改主机名

hostnamectl --static set-hostname std

cat >>/etc/hosts <<EOF 192.168.188.11 std std.example.com EOF

11.配置监听

为了简单用netca配置,首先本机安装xmanager,运行Xmanager - Passive

安装xhost的工具,先查找yum包 yum whatprovides "*/xhost" 找到yum包后安装 yum install xorg-x11-server-utils-7.7-20.el7.x86_64 –y 设置图形显示在本机中

然后启动netca配置下 然后发现我是个智障,默认已经有了动态监听了,没发现服务的重新启动下监听lsnrctl reload或者进入数据库中alter system register注册下就好了

12.配置EM

[oracle]

$ORACLE_HOME/bin/emca -config dbcontrol db -repos recreate

安装结束后,启动em emctl start dbconsole

然后用sys用户as sysdba的方式登录http://std:5500/em

13.sqlplus 设置

cat >>$ORACLE_HOME/sqlplus/admin/glogin.sql <<EOF Define _editor='vi' Set sqlprompt "_user'@'_connect_identifier> " set time on set timing on set pagesize 40 set linesize 120 EOF

14.配置plsql dev作为ide

本机下载安装PLSQL Developer 12 (64 bit)

安装好在安装路径中C:instantclient_11_2建立tnsnames.ora内容 std =   (DESCRIPTION =     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.188.11)(PORT = 1521))     (CONNECT_DATA =       (SERVER = DEDICATED)       (SERVICE_NAME = std)     ) ) 然后解锁scott,hr用户 alter user scott account unlock identified by tiger; alter user hr account unlock identified by hr; plsqldev连接即可

0 人点赞