Linux下静默安装oracle11G

简介:

1.操作系统及Oracle版本

Linux版本:red_hat release6.2 (Final)

Oracle版本:Oracle Database11g Release 2 (11.2.0.1.0) for Linux x86-64 (linux.x64_11gR2_database_1of2.ziplinux.x64_11gR2_database_2of2.zip)

 

2.硬件检测:

物理内存不少于1G

硬盘可以空间不少于5G

swap分区空间不少于2G

支持256色以上显卡

cpu主频不小于550mHZ

 

cat /etc/issue

uname -r (版本)

grep MemTotal /proc/meminfo (内存大小)

grep SwapTotal /proc/meminfo (交换区大小)

grep "model name" /proc/cpuinfo CPU信息)

free (可用内存)

 

3.主机名确认无误

vi /etc/hosts

IP hostname(主机名)

 

service iptables stop

setenforce=0

 

如果交换空间不够:

dd if=/dev/zero of=/test bs=1G count=4

mkswap -f /test

swapon /test

free -m


一、下载安装相关依赖安装包:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
yum  install  -y binutils \
compat-libcap1 \
compat-libstdc++-33 \
compat-libstdc++-33.i686 \
gcc \
gcc-c++ \
glibc.i686 \
glibc \
glibc-devel \
glibc-devel.i686 \
pdksh \
libgcc.i686 \
libgcc \
libstdc++.i686 \
libstdc++ \
libstdc++-devel.i686 \
libstdc++-devel \
libaio.i686 \
libaio \
libaio-devel.i686 \
libaio-devel \
make  \
sysstat \
unixODBC \
unixODBC.i686 \
unixODBC-devel \
unixODBC-devel.i686 \
libXext.i686 \
libXext \
elfutils-libelf-devel \
unzip


二、内核参数修改

vi /etc/sysctl.conf

在文件末尾加上以下内容:

1
2
3
4
5
6
7
8
9
10
11
fs. file -max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 536870912
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

 

立即执行修改:

 sysctl -p

 

三、编辑vi /etc/pam.d/login文件:

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

session  required      pam_limits.so     

 

四、修改用户的SHELL的限制,修改/etc/security/limits.conf文件

vi /etc/security/limits.conf

在文件末尾加上以下内容:

1
2
3
4
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

 

五、修改 /etc/profile 限制其他用户使用:

vi /etc/profile

在文件末尾加上以下内容:

1
2
3
4
5
6
7
8
if  [ $USER =  "oracle"  ];  then
if  [ $SHELL =  "/bin/ksh"  ];  then
ulimit  -p 16384
ulimit  -n 65536
else
ulimit  -u 16384 -n 65536
fi
fi

 

使设置生效

source /etc/profile

 

六、创建相应用户及用户组:

groupadd oinstall     //创建安装组

groupadd dba           //创建管理组

useradd -g oinstall -G dba -d /opt/oracle oracle      //创建运行用户

passwd oracle          //设置oracle用户的密码

 

修改目录权限:

chown -R oracle:oinstall /opt/

chmod 755 -R /opt/          目录

 

切换到oracle用户下,解压:

[oracle@just ~]$ unzip linux.x64_11gR2_database_1of2.zip

[oracle@just ~]$ unzip linux.x64_11gR2_database_2of2.zip

 

七、设置oracle环境变量:

su - oracle

vi ~/.bash_profile

在最后加上以下内容:

export ORACLE_BASE=/opt/oracle

export ORACLE_SID=orcl

注意,除了ORACLE_BASEORACLE_SID,(/etc/profile.bash_profile)不设置任何oracle相关环境变量(ORACLE_HOME, PATH,LD_LIBRARY_PATH)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
在安装完之后添加以下内容
exportORACLE_HOME=$ORACLE_BASE /product/11 .2.0 /db_1
export  TNS_ADMIN=$ORACLE_HOME /network/admin
exportPATH=.:${PATH}:$HOME /bin :$ORACLE_HOME /bin
exportPATH=${PATH}: /usr/bin : /bin : /usr/bin/X11 : /usr/local/bin
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME /lib
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME /oracm/lib
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}: /lib : /usr/lib : /usr/local/lib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME /JRE
export  CLASSPATH=${CLASSPATH}:$ORACLE_HOME /JRE/lib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME /jlib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME /rdbms/jlib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME /network/jlib
exportLIBPATH=${CLASSPATH}:$ORACLE_HOME /lib :$ORACLE_HOME /ctx/lib
export  ORACLE_OWNER=oracle
export  SPFILE_PATH=$ORACLE_HOME /dbs
export  ORA_NLS10=$ORACLE_HOME /nls/data

 

使设置生效

source /opt/oracle/.bash_profile

检查环境变量:

env

同时,在使用静默安装的时候会检查DISPLAY的设置,如果经常说检查DISPLAY不行的话,到root用户下执行“xhost + 你的ip0.0


八、静默安装软件

8.1 复制响应文件模板

# su – oracle

mkdir etc //创建个目录

cp /opt/oracle/database/response/* /opt/oracle/etc/

设置响应文件权限

chmod 700 /opt/oracle/etc/*.rsp(注意所有者,oinstall

 

8.2 静默安装Oracle软件

su - oracle

修改安装Oracle软件的响应文件/opt/oracle/etc/db_install.rsp

 

oracle.install.option=INSTALL_DB_SWONLY     //安装类型,只装数据库软件

ORACLE_HOSTNAME=test                          //主机名称(hostname查询)

UNIX_GROUP_NAME=oinstall                    // 安装组

INVENTORY_LOCATION=/opt/oracle/oraInventory  //INVENTORY目录(不填就是默认值)

SELECTED_LANGUAGES=en,zh_CN,zh_TW             // 选择语言

ORACLE_HOME=/opt/oracle/product/11.2.0/db_1   // oracle_home

ORACLE_BASE=/opt/oracle                       // oracle_base

oracle.install.db.InstallEdition=EE          // oracle版本

oracle.install.db.isCustomInstall=false      //自定义安装,否,使用默认组件

oracle.install.db.DBA_GROUP=dba              //dba用户组

oracle.install.db.OPER_GROUP=oinstall        //oper用户组

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE       //数据库类型

oracle.install.db.config.starterdb.globalDBName=orcl         //globalDBName

oracle.install.db.config.starterdb.SID=orcl  //SID

oracle.install.db.config.starterdb.memoryLimit=81920         //自动管理内存的内存(M)

oracle.install.db.config.starterdb.password.ALL=oracle      //设定所有数据库用户使用同一个密码

SECURITY_UPDATES_VIA_MYORACLESUPPORT=false(手动写了false

DECLINE_SECURITY_UPDATES=true      //设置安全更新貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装。PS:不管地址对不对

 

开始静默安装

cd database

./runInstaller -silent -responseFile /opt/oracle/etc/db_install.rsp

安装中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。

查看安装日志信息了解安装进度

cd $ORACLE_BASE/oraInventory/logs

tail -f installActions*.log

出现类似如下提示表示安装完成:

#-------------------------------------------------------------------

/usr/oracle/oraInventory/orainstRoot.sh

/usr/oracle/product/11.2.0/db_1/root.sh

To execute the configuration scripts:

1. Open a terminal window

2. Log in as "root"

3. Run the scripts

4. Return to this window and hit"Enter" key to continue

 

Successfully Setup Software.

#-------------------------------------------------------------------

 

使用root用户执行脚本

这里是有两个脚本要执行,跑一下就好

su - root

/opt/oracle/product/11.2.0/db_1/root.sh

/opt/oracle/oraInventory/orainstRoot.sh


vi  /opt/oracle/.bash_profile

最后添加上面下面内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
在安装完之后添加以下内容
exportORACLE_HOME=$ORACLE_BASE /product/11 .2.0 /db_1
export  TNS_ADMIN=$ORACLE_HOME /network/admin
exportPATH=.:${PATH}:$HOME /bin :$ORACLE_HOME /bin
exportPATH=${PATH}: /usr/bin : /bin : /usr/bin/X11 : /usr/local/bin
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME /lib
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME /oracm/lib
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}: /lib : /usr/lib : /usr/local/lib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME /JRE
export  CLASSPATH=${CLASSPATH}:$ORACLE_HOME /JRE/lib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME /jlib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME /rdbms/jlib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME /network/jlib
exportLIBPATH=${CLASSPATH}:$ORACLE_HOME /lib :$ORACLE_HOME /ctx/lib
export  ORACLE_OWNER=oracle
export  SPFILE_PATH=$ORACLE_HOME /dbs
export  ORA_NLS10=$ORACLE_HOME /nls/data

执行source .bash_profile之后,netca和dbca命令就会出现

到这里,oracle11g的数据库实例软件就算是装好了,接下来配置数据库实例的基本参数文件~


注:相关修改可以参考一篇“oracle静默安装文件db_install.rsp详解 


8.3 静默配置监听

vi etc/netca.rsp

[GENERAL]

RESPONSEFILE_VERSION="11.2"

CREATE_TYPE="CUSTOM"

INSTALL_TYPE=""custom"    "安装的类型("typical—典型","minimal—最小" or "custom—自定义")

LISTENER_NUMBER=1         监听器数量

LISTENER_NAMES={"orcl"}   监听器的名称列表

LISTENER_PROTOCOLS={"TCP;1521"} 监听器使用的通讯协议列表

LISTENER_START=""orcl""         监听器启动的名称

 

然后运行:

netca /silent /responsefile /opt/oracle/etc/netca.rsp(注:参数如果用-silent–responseFile是不可执行的,会出错,后面的监听路径必须指定所在绝对路径)

正在对命令行参数进行语法分析:

 参数"silent"= true

 参数"responsefile"= /etc/netca.rsp

 完成对命令行参数进行语法分析。

 Oracle Net Services 配置:

 完成概要文件配置。

 Oracle Net 监听程序启动:

  正在运行监听程序控制:

    /opt/oracle/product/11.2.0/db_1/bin/lsnrctlstart LISTENER

  监听程序控制完成。

  监听程序已成功启动。

  监听程序配置完成。

  成功完成 Oracle Net Services 配置。退出代码是0

wKiom1dGpDjwrRO8AAH1R2TYU14045.jpg

成功运行后,在/opt/oracle/product/11.2.0/db_1/network/admin目录下生成sqlnet.oralistener.ora两个文件。

 通过netstat-tlnp 命令,看到

 tcp 0   0 :::1521        :::*      LISTEN      5477/tnslsnr

 说明监听器已经在1521端口上开始工作了。

 

8.4 静默建立新库(同时也建立一个对应的实例)

修改/etc/dbca.rsp,设置如下:

[GENERAL]

 RESPONSEFILE_VERSION = "11.2.0"      //不能更改

 OPERATION_TYPE = "createDatabase"

 GDBNAME = "orcl.test"               //全局数据库的名字=SID+主机域名

 SID= "orcl"                        //对应的实例名字

 TEMPLATENAME = "General_Purpose.dbc"    //建库用的模板文件

 SYSPASSWORD = "123456"                 //SYS管理员密码

 SYSTEMPASSWORD = "123456"              //SYSTEM管理员密码

 DATAFILEDESTINATION = /opt/oracle/oradata //数据文件存放目录

 RECOVERYAREADESTINATION=/opt/oracle/ flash_recovery_area    //恢复数据存放目录

 CHARACTERSET = "ZHS16GBK"   //字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。(CHARACTERSET = "AL32UTF8"

NATIONALCHARACTERSET= "UTF8")

 TOTALMEMORY = "5120"    //oracle内存5120MB

 

 然后静默运行:

 $dbca -silent -responseFile etc/dbca.rsp

 复制数据库文件

 1% 已完成

 3% 已完成

 11% 已完成

 18% 已完成

 26% 已完成

 37% 已完成

 正在创建并启动Oracle 实例

 40% 已完成

 45% 已完成

 50% 已完成

 55% 已完成

 56% 已完成

 60% 已完成

 62% 已完成

 正在进行数据库创建

66% 已完成

 70% 已完成

 73% 已完成

 85% 已完成

 96% 已完成

 100%已完成

 有关详细信息请参阅日志文件"/opt/oracle/cfgtoollogs/dbca/orcl/orcl.log"

 查看日志文件

 $cat /opt/oracle/cfgtoollogs/dbca/wang/wang.log

 复制数据库文件

 DBCA_PROGRESS : 1%

 DBCA_PROGRESS : 3%

 DBCA_PROGRESS : 11%

 DBCA_PROGRESS : 18%

 DBCA_PROGRESS : 26%

 DBCA_PROGRESS : 37%

 正在创建并启动Oracle 实例

 DBCA_PROGRESS : 40%

 DBCA_PROGRESS : 45%

 DBCA_PROGRESS : 50%

 DBCA_PROGRESS : 55%

 DBCA_PROGRESS : 56%

 DBCA_PROGRESS : 60%

 DBCA_PROGRESS : 62%

 正在进行数据库创建

 DBCA_PROGRESS: 66%

 DBCA_PROGRESS : 70%

 DBCA_PROGRESS : 73%

 DBCA_PROGRESS : 85%

 DBCA_PROGRESS : 96%

 DBCA_PROGRESS : 100%

 数据库创建完成。有关详细信息请查看以下位置的日志文件:

 /opt/oracle/cfgtoollogs/dbca/orcl

数据库信息:

全局数据库名:orcl.test

系统标识符 (SID):orcl

九、命令行模式静默删除

1、首先查看dbca的帮助信息

$ dbca -help

dbca [-silent | -progressOnly | -customCreate] {<command><options> }  | { [<command>[options] ] -responseFile  <responsefile > } [-continueOnNonFatalErrors <true | false>]

 

修改dbca.rsp文件里以下几个参数,下面三个参数根据建库实际情况进行修改:

OPERATION_TYPE = "deleteDatabase"

SOURCEDB = "orcl"

SYSDBAUSERNAME = "sys"

SYSDBAPASSWORD = "123456"

然后运行:

$ dbca -silent -responseFile /u01/app/database/response/dbca.rsp

Connecting to database

4% complete

9% complete

14% complete

19% complete

23% complete

28% complete

47% complete

Updating network configuration files

48% complete

52% complete

Deleting instance and datafiles

76% complete

100% complete

Look at the log file"/u01/app/oracle/cfgtoollogs/dbca/orcl.log" for further details.

很简单数据库卸载完成了,请注意,只是数据库卸载完了,数据库软件还是在的。

 

各参数含义如下:

 

-silent 表示以静默方式删除

 

-responseFile 表示使用哪个响应文件,必需使用绝对路径

 

RESPONSEFILE_VERSION 响应文件模板的版本,该参数不要更改

 

OPERATION_TYPE 安装类型,该参数不要更改

 

SOURCEDB 数据库名,不是全局数据库名,即不包含db_domain

 

 

2、使用DBCA卸载数据库

dbca -silent -delete Database -responseFile dbca.rsp

 

a.选项-silent表示静默安装,免安装交互,大部分安装信息也不输出

 

b.选项-responseFile指定应答文件,要求用绝对路径







      本文转自ling118 51CTO博客,原文链接:http://blog.51cto.com/meiling/1783490 ,如需转载请自行联系原作者

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
|
负载均衡 Oracle 关系型数据库
Linux启动多个Oracle实例
Linux启动多个Oracle实例
39 0
|
4月前
|
Oracle 关系型数据库 Linux
windows 11 hyper-v中oracle linux虚拟机中添加硬盘
在windows 11自带的hyper-v虚拟机中添加硬盘,并分区
65 6
|
6月前
|
Oracle 关系型数据库 Linux
Oracle 19c Centos7 静默安装记录整理 2
Oracle 19c Centos7 静默安装记录整理
|
1月前
|
Oracle 关系型数据库 Linux
服务器Centos7 静默安装Oracle Database 12.2
服务器Centos7 静默安装Oracle Database 12.2
86 0
|
6月前
|
Oracle 关系型数据库 大数据
Oracle 19c Centos7 静默安装记录整理 1
Oracle 19c Centos7 静默安装记录整理
|
3月前
|
SQL Oracle 关系型数据库
Linux环境下oracle切换用户并查询数据库命令
Linux环境下oracle切换用户并查询数据库命令
|
7月前
|
Oracle 关系型数据库 MySQL
Oracle 19C 静默安装 GoldenGate
十年以上 MySQL Oracle DBA从业者,MySQL 5.7 OCP, 个人公众号:jinjusk
105 0
|
10月前
|
Oracle 关系型数据库 Linux
服务器Centos7 静默安装Oracle Database 12.2(下)
服务器Centos7 静默安装Oracle Database 12.2(下)
238 0
|
10月前
|
Oracle 安全 关系型数据库
服务器Centos7 静默安装Oracle Database 12.2(上)
服务器Centos7 静默安装Oracle Database 12.2(上)
92 0
|
10月前
|
Oracle 关系型数据库 MySQL