CentOs 6.3_64静默安装oracle11g_r2

转自: http://blog.chinaunix.net/uid-23886490-id-3565998.html

昨天在centos6.3系统下,使用图形化界面安装了oracle11g_r2,当然,使用这种安装方法已经不是第一次,由于考虑到以后作业环境下的服务器几乎都不会安装x windows软件,所以,今天开始学习如何通过命令行终端的方式静默安装oracle。


一。安装前的准备工作
#vi /etc/hosts  //添加IP地址对应的hostname。

1.先安装好centos 6.3版本的系统 (略)
要求:
内存:至少1G
swap:如果1-2G物理内存,最好设置swap为1.5-2倍的物理内存大小
Available RAMSwap Space Required
Between 1 GB and 2 GB1.5 times the size of the RAM
Between 2 GB and 16 GBEqual to the size of the RAM
More than 16 GB16 GB
如果swap大小太小,可以删除或者重新制作一个分区,当成swap用一样的。
#dd if=/dev/zero of=/swap bs=1M count=10000
#mkswap /swap
#swapon /swap  //挂载这个swap
#swapon -s //查看swap分区



硬盘空间:
软件目录需要4G多点,数据库存入目录要2G左右,而且还要有400M左右的临时空间供安装时候的临时之用,这些空间对当今大容量磁盘来说已经毫无压力。

The following tables describe the disk space requirements for software files, and data files for each installation type on Linux x86-64:

Installation TypeRequirement for Software Files (GB)
Enterprise Edition4.35
Standard Edition4.22

Installation TypeRequirement for Data Files (GB)
Enterprise Edition1.7
Standard Edition1.5


2.下载oracle11g_r2_x64的oracle版本(官网下载地址http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html)

3.安装前的软件准备
参考官网安装手册
如果是64位系统,按照如下安装要求把i686软件也装上,否则安装时会报很多错误,无法成功安装

The following or later version of packages for Oracle Linux 6, and Red Hat Enterprise Linux 6 must be installed:

binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64) 
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6.i686 
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64) 
glibc-devel-2.12-1.7.el6 (x86_64) 
glibc-devel-2.12-1.7.el6.i686
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6.i686
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6 (x86_64) 
libaio-devel-0.3.107-10.el6.i686
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)
Oracle ODBC Drivers

You should install ODBC Driver Manager for UNIX. You can download and install the Driver Manager from the following URL:

http://www.unixodbc.org

To use ODBC, you must also install the following additional ODBC RPMs, depending on your operating sytem:


On Oracle Linux 6 and Red Hat Enterprise Linux 6:

  • unixODBC-2.2.14-11.el6 (x86_64) or later

  • unixODBC-2.2.14-11.el6.i686 or later

  • unixODBC-devel-2.2.14-11.el6 (x86_64) or later

  • unixODBC-devel-2.2.14-11.el6.i686 or later

    以上这些软件包都是要事先安装好的,有人会问为什么要安装这些包,,,,这,,我也说不好,官方就是这么要求的,好比是只有先排队,才能买到票的道理一样,咱们不要深究这些。


    4.修改内核参数。

    #vi /etc/sysctl.conf  请根据自己实际情况修改,内核参数如下:

    fs.aio-max-nr = 1048576
  •  fs.file-max = 6815744
  •  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


# /sbin/sysctl -p

参数说明 //网上摘抄

1、kernel.shmall参数是控制共享内存页数

kernel.shmall的单位是页面数,当前的x86体系上这个单位是4K ,oracle的默认安装参数是kernel.shmall = 2097152  则一共是8G的共享内存总量

总的来说,这个参数和你具体硬件关系不太大,只是大于8G的时候调整到合适你的内存容量大小,小于8G就不用了

 

对于32位系统,一页=4k,也就是4096字节。RHEL6.2 X64通过查询也是4096

查询操作系统页面大小

$getconf PAGESIZE

4096

kernel.shmall= 内存大小/页面大小

48*1024*1024*1024/4096=12582912(安装机器48G内存)

kernel.shmall=12582912

12582912*4096/1024/1024/1024=48G

 

2、kernel.shmmax

shmmax 指的是单个共享内存段的最大尺寸, 设置shmmax=1G,sga分配了1.2G,当启动实例的时候就分配2块共享内存给Oracle .如果物理内存是2 G, 假设这台DB Server上还有Apache 在运行,那么shmmax 中设置的内存也会被Apache 来使用,那么分配的2 块共享内存段给Oracle 是否就是2 * 1G , 还是仅仅满足SGA需求的1.2 G就停止分配, 其他的内存的一部分分配给Oracle PGA 和软件Apache 来使用?

一般情况下可以设置最大共享内存为物理内存的一半,如果物理内存是2G,则可以设置最大共享内存为1073741824,如上;如物理内存是1G,则可以设置最大共享内存为512 * 1024 * 1024 = 536870912;以此类推。

在redhat上最大共享内存不建议超过

4*1024*1024*1024-1=4294967295

3、kernel.shmmni参数是控制共享内存段总数

shmmni内核参数是 共享内存段的最大数量(注意这个参数不是 shmmin,是 shmmni, shmmin 表示内存段最小大小 ) 。shmmni 缺省值 4096 ,一般肯定是够用了 。


#vi /etc/security/limits.conf

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

创建oracle帐号和组
#groupadd oinstall 
#groupadd dba
#useradd -g oinstall -G dba oracle

6。创建相关数据库目录
我们最好把安装数据库单独放到一个独立或多个分区的磁盘上(raid+lvm),这样即可以确保数据安全,和性能保障,又可以随时增减容量而不影响当前业务。
#mkdir /u01
#mount /dev/sda3 /u01
#mkdir /u01/app
#mkdir /u01/app/oracle/oradata //存放数据库的数据目录
#mkdir /u01/app/oracle/oradata_back //存放数据库备份文件
#chown -R oracle.oinstall /u01/app
#chmod 775 /u01/app

7。修改oracle环境变量

  1. TMP=/tmp; export TMP  
  2. TMPDIR=$TMP; export TMPDIR 
  3. ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE  
  4. ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export  ORACLE_HOME  
  5. ORACLE_SID=racl; export ORACLE_SID  
  6. ORACLE_TERM=xterm; export ORACLE_TERM  
  7. PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH; export PATH  
  8. LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;  
  9. export LD_LIBRARY_PATH  
  10. CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;  
  11. export CLASSPATH

二。静默安装文件
解压oracle文件,进入response目录下
#cp * /etc
#vi /etc/db_install.rsp
//相关修改可以参考我上一篇 ”oracle静默安装文件db_install.rsp详解

开始安装oracle软件:

$cd /opt/database
 $./runInstaller -silent -responseFile /etc/db_install.rsp
 安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。打开另一个终端,执行
 #tail -100 f /u01/app/oracle/oraInventory/logs/installActions......log
 可以实时跟踪查看安装日志,了解安装的进度。
 当出现
  以下配置脚本需要以 "root" 用户的身份执行。
   #!/bin/sh
   #要运行的 Root 脚本

  /u01/app/oracle/oraInventory/orainstRoot.sh
  /u01/app/oracle/product/11.2.0/db_1/root.sh
  要执行配置脚本, 请执行以下操作:
     1. 打开一个终端窗口
     2. 以 "root" 身份登录
     3. 运行脚本
     4. 返回此窗口并按 "Enter" 键继续

  Successfully Setup Software.
 表示安装成功了。按照其提示操作。
 $exit  //退回到root
#/u01/app/oracle/oraInventory/orainstRoot.sh
#/u01/app/oracle/product/11.2.0/db_1/root.sh

三。静默配置监听

 $netca /silent /responsefile /etc/netca.rsp
 正在对命令行参数进行语法分析:
 参数"silent" = true
 参数"responsefile" = /etc/netca.rsp
 完成对命令行参数进行语法分析。
 Oracle Net Services 配置:
 完成概要文件配置。
 Oracle Net 监听程序启动:
  正在运行监听程序控制:
    /u01/app/oracle/product/11.2.0/db_1/bin/lsnrctl start LISTENER
  监听程序控制完成。
  监听程序已成功启动。
 监听程序配置完成。
 成功完成 Oracle Net Services 配置。退出代码是0

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

 通过netstat -tlnp 命令,看到
 tcp  0   0 :::1521        :::*      LISTEN      5477/tnslsnr
 说明监听器已经在1521端口上开始工作了。
 

四。静默建立新库(同时也建立一个对应的实例)
  修改/etc/dbca.rsp,设置如下:
 RESPONSEFILE_VERSION = "11.2.0"  //不能更改
 OPERATION_TYPE = "createDatabase"
 GDBNAME = "wang.bobower"  //全局数据库的名字=SID+主机域名
 SID = "wang"    //对应的实例名字
 TEMPLATENAME = "General_Purpose.dbc" //建库用的模板文件
 SYSPASSWORD = "123456"   //SYS管理员密码
 SYSTEMPASSWORD = "123456"  //SYSTEM管理员密码
 DATAFILEDESTINATION = /u01/app/oracle/oradata //数据文件存放目录
 RECOVERYAREADESTINATION=/u01/app/oracle/oradata_back //恢复数据存放目录
 CHARACTERSET = "ZHS16GBK"   //字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
 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% 已完成
 有关详细信息, 请参阅日志文件 "/u01/app/oracle/cfgtoollogs/dbca/wang/wang.log"。

 查看日志文件
 $ cat /u01/app/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%
 数据库创建完成。有关详细信息, 请查看以下位置的日志文件:
 /u01/app/oracle/cfgtoollogs/dbca/wang
 数据库信息:
 全局数据库名:wang.bobower
 系统标识符 (SID):wang

 建库后实例检查:
 $ ps -ef | grep ora_ | grep -v grep

oracle    9743  0.0  1.7 743204 18664 ?        Ss   23:47   0:00 ora_pmon_wang
oracle    9745  0.4  1.4 740956 15356 ?        Ss   23:47   0:01 ora_vktm_wang
oracle    9749  0.0  1.4 740956 15504 ?        Ss   23:47   0:00 ora_gen0_wang
oracle    9751  0.0  1.4 740956 15320 ?        Ss   23:47   0:00 ora_diag_wang
oracle    9753  0.0  2.1 741492 23412 ?        Ss   23:47   0:00 ora_dbrm_wang
oracle    9755  0.0  1.4 740956 15524 ?        Ss   23:47   0:00 ora_psp0_wang
oracle    9757  0.0  1.7 741468 18820 ?        Ss   23:47   0:00 ora_dia0_wang
oracle    9759  0.0  2.6 740956 28544 ?        Ss   23:47   0:00 ora_mman_wang
oracle    9761  0.0  2.1 746712 23984 ?        Ss   23:47   0:00 ora_dbw0_wang
oracle    9763  0.0  1.8 756508 20752 ?        Ss   23:47   0:00 ora_lgwr_wang
oracle    9765  0.0  1.6 741468 18120 ?        Ss   23:47   0:00 ora_ckpt_wang
oracle    9767  0.0  7.1 747664 77796 ?        Ss   23:47   0:00 ora_smon_wang
oracle    9769  0.0  2.2 741476 25052 ?        Ss   23:47   0:00 ora_reco_wang
oracle    9771  0.1  5.9 746928 64728 ?        Ss   23:47   0:00 ora_mmon_wang
oracle    9773  0.0  2.0 740956 21864 ?        Ss   23:47   0:00 ora_mmnl_wang
oracle    9775  0.0  1.4 742876 15428 ?        Ss   23:47   0:00 ora_d000_wang
oracle    9777  0.0  1.3 742020 14616 ?        Ss   23:47   0:00 ora_s000_wang
oracle    9831  0.0  1.5 740956 17436 ?        Ss   23:47   0:00 ora_qmnc_wang
oracle    9846  0.0  4.1 745608 44952 ?        Ss   23:47   0:00 ora_cjq0_wang
oracle    9848  0.0  3.0 742540 33700 ?        Ss   23:48   0:00 ora_q000_wang
oracle    9850  0.0  1.6 740952 18496 ?        Ss   23:48   0:00 ora_q001_wang
oracle    9861  0.0  1.4 740956 15696 ?        Ss   23:52   0:00 ora_smco_wang
oracle    9863  0.0  1.8 740984 20516 ?        Ss   23:52   0:00 ora_w000_wang


 查看监听状态
 $ lsnrctl status
 LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 14-MAR-2012 07:09:03

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

 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
 STATUS of the LISTENER
 ------------------------
 Alias                     LISTENER
 Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
 Start Date                14-MAR-2012 06:16:50
 Uptime                    0 days 0 hr. 52 min. 15 sec
 Trace Level               off
 Security                  ON: Local OS Authentication
 SNMP                      OFF
 Listener Parameter File   /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
 Listener Log File         /u01/app/oracle/diag/tnslsnr/oracle11gcentos6/listener/alert/log.xml
 Listening Endpoints Summary...
   (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
 Services Summary...
 Service "hello.dlxg.gov.cn" has 1 instance(s).
   Instance "hello", status READY, has 1 handler(s) for this service...
 Service "helloXDB.dlxg.gov.cn" has 1 instance(s).
   Instance "hello", status READY, has 1 handler(s) for this service...
 The command completed successfully
 
13 修改数据库为归档模式(归档模式才能热备份,增量备份)
 $ export ORACLE_SID=wang
 $ sqlplus / as sysdba
 SQL*Plus: Release 11.2.0.1.0 Production on Wed Mar 14 07:18:16 2012

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


 Connected to:
 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
 With the Partitioning, OLAP, Data Mining and Real Application Testing options

 SQL> shutdown immediate;

 Database closed.
 Database dismounted.
 ORACLE instance shut down.

 SQL> startup mount

 ORACLE instance started.

 Total System Global Area 1603411968 bytes
 Fixed Size                  2213776 bytes
 Variable Size             402655344 bytes
 Database Buffers         1191182336 bytes
 Redo Buffers                7360512 bytes
 Database mounted.

 SQL> alter database archivelog;

 Database altered.

 SQL> alter database flashback on;

 Database altered.

 SQL> alter database open;

 Database altered.

 SQL> execute utl_recomp.recomp_serial();

 PL/SQL procedure successfully completed.

 SQL> alter system archive log current;

 System altered.

 SQL> exit
 Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
 With the Partitioning, OLAP, Data Mining and Real Application Testing options
 
14 修改oracle启动配置文件
 $vim /etc/oratab
racl:/u01/app/oracle/product/11.2.0/db_1:Y  //把“N”改成“Y”

 这样就可以通过dbstart 启动此实例,也可以通过dbshut关闭此实例了。
 $ dbshut /u01/app/oracle/product/11.2.0/db_1/
 Processing Database instance "hello": log file /u01/app/oracle/product/11.2.0/db_1/shutdown.log
 此时所有oracle的进程关闭,监听器也停止。

 $dbstart /u01/app/oracle/product/11.2.0/db_1/
 Processing Database instance "hello": log file /u01/app/oracle/product/11.2.0/db_1/startup.log

 此时监听器工作,hello实例运行,再次查看监听器状态。
 $ lsnrctl status

 LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 14-MAR-2012 07:35:52

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

 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
 STATUS of the LISTENER
 ------------------------
 Alias                     LISTENER
 Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
 Start Date                14-MAR-2012 07:35:38
 Uptime                    0 days 0 hr. 0 min. 13 sec
 Trace Level               off
 Security                  ON: Local OS Authentication
 SNMP                      OFF
 Listener Parameter File   /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
 Listener Log File        /u01/app/oracle/diag/tnslsnr/oracle11gcentos6/listener/alert/log.xml
 Listening Endpoints Summary...
   (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
 Services Summary...
 Service "hello.dlxg.gov.cn" has 1 instance(s).
   Instance "hello", status READY, has 1 handler(s) for this service...
 Service "helloXDB.dlxg.gov.cn" has 1 instance(s).
   Instance "hello", status READY, has 1 handler(s) for this service...
 The command completed successfully

以上就是安装的全部过程,如果想使用OEM管理和监控数据库,就要启动dbconsole了,如下:
$emctl start dbconsole
报这种错误:出现如下错误:
Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name.
网上说ORACLE_UNQNAME就是ORACL_SID,但我export ORACLE_SID=xxx设置后重新运行还是不行,不过报的是另外的错。

根据网上解决方法,可以重新创建 EM 资料档案库:
一。首先可以重建试下。

尝试解决步骤:

 1,修改DBSNMP密码:

重新配置DBCONSOLE,需要输入DBSNMP密码,但任何密码都会显示错误,需要预先修改。
sql>alter user dbsnmp identified by xxx;

2,删除早期DBCONSOLE创建的用户:

sql>drop role MGMT_USER;
sql>drop user MGMT_VIEW cascade;
sql>drop user sysman cascade;

3,删除早期DBCONSOLE创建的对象:
sql>drop PUBLIC SYNONYM MGMT_TARGET_BLACKOUTS;
sql>drop public synonym SETEMVIEWUSERCONTEXT;



$emca -config dbcontrol db -repos create
按照提示做下去,一般会成功创建新资料档案库的,如果还是报错。
查看日志发现如下错误:
oracle.sysman.assistants.util.sqlEngine.SQLFatalErrorException: ORA-00955:nameis already used by an existing object
二。接下来使用如下方法:


Drop the Repository using RepManager:

<ORACLE_HOME>/sysman/admin/emdrep/bin/RepManager<hostname><listener_port> <sid> -action drop

例 如:
$cd /u01/app/oracle/product/11.2.0/db_1/sysman/admin/emdrep/bin
$./RepManager bobower 1521 racl -action drop

三。最后再重新建库。

$emca -config dbcontrol db -repos create

这样基本就是搞定了。
最后启动em
$ emctl start dbconsole
$netstat -tunpl |grep 1158

用浏览器访问https://hostname(或IP):1158/em登陆。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值