静默安装Oracle 11g

 

安装步骤:

1、下载oracle 11g 安装包

因为我centos7为64位操作系统,所以这里下载的也是64位版本的oracle。

下载地: Software Download | Oracle

下载后:

  2、安装前的准备

2.1、创建组与用户

[root@localhost zhuzi]# groupadd oinstall #创建oinstall组
[root@localhost zhuzi]#
groupadd dba  #创建dba组
[root@localhost zhuzi]#
useradd -g oinstall -g dba -m oracle #创建oracle用户并将用户加入到dba组与oinstall组

若用户已经存在:

[root@localhost zhuzi]# usermod -a -G oinstall oracle

[root@localhost zhuzi]# usermod -a -G dba oracle

 

[root@localhost zhuzi]# passwd oracle #设置oracle用户密码

 

2.2、创建oracle安装目录

[root@localhost zhuzi]# mkdir -p /data/oracle #oracle根目录
[root@localhost zhuzi]#
mkdir -p /data/database #用于存放Oracle解压后的安装包
[root@localhost zhuzi]#
mkdir -p /data/oraInventory #数据库配置文件目录
[root@localhost zhuzi]#
chown -R oracle:oinstall  /data #修改目录所有者为oracle

 

首先关闭selinux,修改/etc/selinux/config文件,将SELINUX=disabled。修改好后如下图所示,这个如果修改好后,需要重启才能生效:

[root@localhost zhuzi]# vi /etc/selinux/config

 

2.3、关闭防火墙,并设置开机不启动防火墙。设置好后不需要重启,会立即生效。(也可以不用关闭)

[root@localhost zhuzi]# systemctl stop firewalld.service   #关闭防火墙
[root@localhost zhuzi]#
systemctl disable firewalld.service #设置开机不启动防火墙

 

2.4、优化系统内核参数

[root@localhost zhuzi]# vi /etc/sysctl.conf

1)、编辑/etc/sysctl.conf文件,在文件尾添加如下内容:

net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744 #设置最大打开文件数
fs.aio-max-nr = 1048576
kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmmax = 2147483648 #最大共享内存的段大小
kernel.shmmni = 4096 #整个系统共享内存端的最大数
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576

2)、使配置修改内核的参数生效:

[root@localhost zhuzi]# sysctl -p

2.5、对oracle用户设置限制

[root@localhost zhuzi]# vi /etc/security/limits.conf

在文件后半部分,添加如下内容中斜体部分内容,保存退出。

@student - maxlogins 4
 

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

 
End of file

2.6、设置用户变量

[root@localhost ~]# vi /home/oracle/.bash_profile

在文件末尾添加如下内容:

export ORACLE_BASE=/data/oracle #oracle数据库安装目录

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle数据库路径

export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量

export ORACLE_SID=orcl #oracle启动数据库实例名

export ORACLE_PID=ora11g

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

export LANG=C #防止安装过程出现乱码

使配置的环境变量生效:

[root@localhost ~]# source /home/oracle/.bash_profile

2.7、安装依赖包

[root@localhost ~]# yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686

centos7需要的安装包,可以在Oracle上查看: Oracle Database Preinstallation Tasks

我的版本当然对应的是这个版本:Oracle Linux 7 and Red Hat Enterprise Linux 7

它没有要求说要安装elfutils和unixODBC包,但是等安装Oracle检查安装前准备时,会提示说缺少这两个包,所以一并安装

 

 3、开始安装Oracle

前面设置很多内容,保险起见,重启一次系统。

[root@localhost ~]# reboot

 将步骤1中下载的两个oracle安装文件,上传至/usr/local/src目录中。我使用的xshell工具,root用户直接在命令窗口cd /usr/local/src ,然后鼠标拖住那两个安装包至命令窗口就可以自动上传。

 用root用户解压这两个文件到/data/database 目录下,设置所属用户与组,再切换至oracle用户加载一下环境变量,开始安装。

[root@localhost src]# unzip p10404530_112030_Linux-x86-64_1of7.zip -d /data/database/ #解压第一个压缩包
[root@localhost src]#
unzip p10404530_112030_Linux-x86-64_2of7.zip -d /data/database/ #解压第二个压缩包

压后进入 database 目录,该目录下有三个 .rsp 文件,用来作为静默安装时的应答文件的模板。

三个文件作用分别是:

db_install.rsp:安装应答

dbca.rsp:创建数据库应答

netca.rsp:建立监听、本地服务名等网络设置的应答

 

[root@localhost src]# cd /data/database/database/response # 进入 response 目录

[root@localhost response ]# cp db_install.rsp db_install_copy.rsp # 将 db_install.rsp 备份一份,以免修改出错

然后修改静默安装的配置文件

[root@localhost response ]# vim db_install.rsp # 编辑

按照下方的参数进行修改,需要修改的地方标红了

---------------------------

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=oracledb

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/data/oracle/oraInventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/data/oracle/product/11.2.0/db_1

ORACLE_BASE=/data/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.isCustomInstall=false

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.CLUSTER_NODES=

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE

oracle.install.db.config.starterdb.globalDBName=ora11g

oracle.install.db.config.starterdb.SID=ora11g

oracle.install.db.config.starterdb.characterSet=AL32UTF8

oracle.install.db.config.starterdb.memoryOption=true

oracle.install.db.config.starterdb.memoryLimit=1500

oracle.install.db.config.starterdb.installExampleSchemas=false

oracle.install.db.config.starterdb.enableSecuritySettings=true

oracle.install.db.config.starterdb.password.ALL=oracle

oracle.install.db.config.starterdb.password.SYS=oracle

oracle.install.db.config.starterdb.password.SYSTEM=

oracle.install.db.config.starterdb.password.SYSMAN=

oracle.install.db.config.starterdb.password.DBSNMP=

oracle.install.db.config.starterdb.control=DB_CONTROL

oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=

oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false

oracle.install.db.config.starterdb.dbcontrol.emailAddress=

oracle.install.db.config.starterdb.dbcontrol.SMTPServer=

oracle.install.db.config.starterdb.automatedBackup.enable=false

oracle.install.db.config.starterdb.automatedBackup.osuid=

oracle.install.db.config.starterdb.automatedBackup.ospwd=

oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE

oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/data/oracle/oradata

oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/data/oracle/fast_recovery_area

oracle.install.db.config.asm.diskGroup=

oracle.install.db.config.asm.ASMSNMPPassword=

MYORACLESUPPORT_USERNAME=

MYORACLESUPPORT_PASSWORD=

SECURITY_UPDATES_VIA_MYORACLESUPPORT=

DECLINE_SECURITY_UPDATES=true    //一定要设为 true

PROXY_HOST=

PROXY_PORT=

PROXY_USER=

PROXY_PWD=

注意:

host中添加ip和hostname名,此处的添加ip hostname,两者可以通过ifconfig和hostname查看

[root@localhost src]# hostname

[root@localhost src]# vi /etc/hosts

192.168.56.10 localhost.localdomain

以root用户需创建/etc/oraInst.loc文件,否则安装会报错

[root@localhost src]#  vi /etc/oraInst.loc

inventory_log=/data/oracle/oraInventory

inst_group=oinstall

开始静默安装

[root@localhost src]# chown -R oracle:oinstall /data #指定文件夹及子目录的所属用户与组

[root@localhost src]# su - oracle #切换至oracle用户
[oracle@localhost src]$ cd #进入家目录
[oracle@localhost ~]$ source .bash_profile #加载环境变量
[oracle@localhost ~]$ cd /data/database/database/ #进入oracle安装程序存放的目录
[oracle@localhost database]$ ./runInstaller -silent -force -responseFile /data/database/database/response/db_install.rsp # 安装

如果出现下图错误,可参照  centos 安装oracle 报Checking swap space: 0 MB available, 150 MB required. Failed <<<< - 苍洱 - 博客园 解决,然后重新执行安装命令

[WARING]可暂时忽略,此时安装程序仍在后台进行,如果出现[FATAL],则安装程序已经停止了。

安装需要一会儿,如果想看安装进度,可以再打开一个窗口,输出会话日志

tail -f 日志文件(下图中红色框中为日志文件绝对路径)

当出现 Successfully Setup Software. 证明已经安装成功,然后根据提示以 root 用户执行脚本

[root@localhost database]$ su - root

[root@localhost database]$ sh /data/oracle/oraInventory/orainstRoot.sh

[root@localhost database]$ sh /data/oracle/product/11.2.0/db_1/root.sh

四、配置监听程序

监听命令

启动监听:lsnrctl start

停止监听:lsnrctl stop

重启监听:lsnrctl reload

查看监听:lsnrctl status

1、配置监听(使用oracle用户)

[oracle@localhost ~]$ su - oracle # 切换到 oracle 用户

[oracle@localhost ~]$ /data/oracle/product/11.2.0/db_1/bin/netca /silent /responseFile /data/database/database/response/netca.rsp # 配置监听

2、查看监听(使用oracle用户)

[oracle@localhost ~]$ lsnrctl status # 查看监听状态

3、静默dbca建库

[oracle@localhost ~]$ su - root # 切换到 root 用户

[oracle@localhost ~]$ vi /data/database/database/response/dbca.rsp

修改如下内容:

GDBNAME = "orcl" # 78 行

SID="orcl" # 170行

CHARACTERSET="AL32UTF8" # 418行

NATIONALCHARACTERSET="UTF8" # 428行

保存并退出:wq

可以在查看模式(非inster)输入 :set number  显示行号;

可以在查看模式(非inster)输入 /+内容 快速定位内容处;

默dbca建库

[oracle@localhost ~]$ su - oracle # 切换到 oracle 用户

[oracle@localhost ~]$  /data/oracle/product/11.2.0/db_1/bin/dbca -silent -responseFile /data/database/database/response/dbca.rsp # 建库

执行完后会先清屏,清屏之后没有提示,直接输入oracle用户的密码(oracle),回车,再输入一次(oracle),再回车。

稍等一会,会开始自动创建

4、启动数据库

[oracle@oracledb ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 16 14:26:57 2015

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> start

SP2-1506: START, @ or @@ command has no arguments

SQL> startup

ORACLE instance started.

Total System Global Area 3290345472 bytes

Fixed Size                  2217832 bytes

Variable Size            1795164312 bytes

Database Buffers         1476395008 bytes

Redo Buffers               16568320 bytes

Database mounted.

Database opened.

SQL> show parameter;

使用 show parameter;或者 select table_name from dba_tables 看看是否正常

6、开放1521端口(远程连接Oracle所需)

查看开放的端口:firewall-cmd --listy-port

永久开放1521端口号:firewall-cmd --permanent --zone=public --add-port=1521/tcp

刷新防火墙: firewall-cmd --reload

若系统是LinuxOracle R6的话,防火墙就需要重新设置

vi /etc/sysconfig/iptables

在commit之前加()

-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 1158 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 5560 -j ACCEPT

重启防火墙生效

service iptables restart

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值