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

oraclewindows 2018-09-18

本文记录从无到有部署一个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

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

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

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

基于CentOS 7静默安装Oracle 11gR2单实例数据库
#设置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 <<EOF
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export PATH=/u01/app/oracle/product/11.2.0/db_1/bin:$PATH
export ORACLE_SID=std
alias dbn='cd $ORACLE_HOME/network/admin'
alias dbs='cd $ORACLE_HOME/dbs'
alias sql='sqlplus / as sysdba'
EOF
winscp上传安装文件到oralce home
解压
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

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

基于CentOS 7静默安装Oracle 11gR2单实例数据库
##查看安装过程 另开一个shell 稍等
tail -f /home/oracle/ora11g/oraInventory/logs/installActions2018-07-23_07-37-45PM.log

基于CentOS 7静默安装Oracle 11gR2单实例数据库
#安装完成后执行
/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

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

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

10.修改主机名

hostnamectl --static set-hostname std

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

11.配置监听

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

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

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

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

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

12.配置EM

[oracle]

$ORACLE_HOME/bin/emca -config dbcontrol db -repos recreate
基于CentOS 7静默安装Oracle 11gR2单实例数据库
安装结束后,启动em
emctl start dbconsole

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

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

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

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

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连接即可
基于CentOS 7静默安装Oracle 11gR2单实例数据库

相关推荐