VirtualBox中CentOS-6.3-x86_64-minimal静默Silent安装oracle11g2

VirtualBox中CentOS-6.3-x86_64-minimal静默Silent安装oracle11g2

原文地址 http://sy1214.iteye.com/blog/1808028

一、安装环境

虚拟机VirtualBox,内存分配了2G,空间分配了20G

系统CentOS-6.3-x86_64-minimal

Oracle版本linux.x64_11gR2_database

 

关于VirtualBox的网络配置这里提前说一下,比较好的方式是hostonly+nat的方式。

局域网访问通过hostonly方式,上互联网通过nat方式

具体设置就是在创建一个虚拟硬盘后,选择设置-->网络-->网卡1连接方式选择hostonly-->网卡2启用网络连接,选择NAT。

 

具体oracle的要求详见官方http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm

 

二、安装后网络配置

编辑文件# vi /etc/sysconfig/network-scripts/ifcfg-eth0,这个是hostonly网络的配置

修改

BOOTPROTO="static"

NM_CONTROLLED="yes"

ONBOOT="yes"

并添加

IPADDR="192.168.56.101"

NETMASK="255.255.255.0"

 

编辑文件# vi /etc/sysconfig/network-scripts/ifcfg-eth1,这个是NAT网络的配置

修改

ONBOOT="yes"

 

启动或重启网络

CentOS-minimal安装后默认没有启动网络服务。需要手工启动。

 # service network restart

重启服务没有问题后,可以ping www.baidu.com进行测试看看是否能够访问外网,ping通则没问题了

 

在/etc/hosts文件中增加局域网IP地址和主机名映射(对于单网卡用户直接添加到回环IP下):

 # hostname //获得主机名

 oracleserver

 # vi /etc/hosts

 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.56.101  oracleserver

 

关于防火墙的问题,默认安装完了是开启防火墙的,会屏蔽掉1521端口,影响其他机器访问本机oracle实例。三种简单办法

1.临时开启或关闭防火墙,重启后失效

 # service iptables stop

 # service iptables star

2.永久开启或关闭防火墙

 # chkconfig iptables on

 # chkconfig iptables off

3.推荐,打开1521 端口用于oracle

# iptables -I INPUT -p tcp --dport 1521 -j ACCEPT

# iptables -I INPUT -p tcp --dport 1521 -j ACCEPT

# iptables -A INPUT -p tcp --dport 1521 -j ACCEPT

# iptables -A INPUT -p tcp --dport 1521 -j ACCEPT

# service iptables save //永久保存

 

三、安装Oracle的依赖包

这个时候虚拟机就可以放到一边去了,打开SSH工具,看习惯了,putty等等都行,我个人习惯用SecureCRT。

 连接到刚才创建的虚拟机192.168.56.101上

 

检查依赖

# rpm -q binutils  compat-libstdc++-33 compat-libstdc++-33.i686  elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-headers libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make numactl pdksh sysstat unixODBC unixODBC.i686 unixODBC-devel | grep 'not installed'

 

安装或更新依赖,也可以只安装缺少的

# yum install binutils  compat-libstdc++-33 compat-libstdc++-33.i686  elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-headers libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make numactl pdksh sysstat unixODBC unixODBC.i686 unixODBC-devel

 

默认的源中不包含pdksh包,可在附件中下载

 

安装pdksh

# rpm -ivh pdksh-5.2.14-37.el5.x86_64.rpm

再检查一下依赖,是不是否安装正确了。

 

安装unzip,后面解压oracle文件的时候用到

 # yum install unzip

 

我这里用的是SecureCRT,可以使用rz命令进行上传文件,安装lrzsz支持

 # yum install lrzsz

 

四、准备安装用户及用户组,按官方的创建

 # groupadd oinstall

 # groupadd dba

 # useradd -g oinstall -G dba oracle

 # passwd oracle //设置oracle密码

 

五、修改内核参数配置文件

 # vi /etc/sysctl.conf 在文件最后增加下面的内容(快捷键是Shift+G到文件最后,按o在当前行下面添加内容)

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

保存文件。

 # sysctl -p//让参数生效

 # sysctl -a//检查参数正确

 

六、修改用户资源限制权限(原文Check Resource Limits for the Oracle Software Installation Users)

Linux对于每个用户,系统限制其最大进程数,堆栈等。为提高性能,可以根据设备资源情况进行设置。按照官方配置:

 # vi /etc/security/limits.conf

最后面添加

oracle              soft    nproc   2047

oracle              hard    nproc   16384

oracle              soft    nofile  1024

oracle              hard    nofile  65536

oracle              soft    stack   10240

 

七、创建需要的文件夹,也按官方的创建就好,这个目录基本上算是统一标准了

 # mkdir -p /u01/app/

 # chown -R oracle:oinstall /u01/app/

 # chmod -R 775 /u01/app/

 

 八、修改环境变量

 # su - oralce

 $ cd /home/oracle/

 $ vi .bash_profile

在最下面添加

export ORACLE_HOSTNAME=sycentosmini

export ORACLE_BASE=/u01/app/oracle//跟后面设置的保持一致

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1//跟后面设置的保持一致

export ORACLE_SID=orcl

export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH

export LC_ALL="en_US"

export LANG="en_US"

export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"

export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

 

九、登录oracle用户,上传安装文件并解压

 # su - oralce

 $ cd /u01/app

 上传linux.x64_11gR2_database_1of2.zip和linux.x64_11gR2_database_2of2.zip文件到/u01/app目录下

 解压文件

 $ unzip linux.x64_11gR2_database_1of2.zip

 $ unzip linux.x64_11gR2_database_2of2.zip

 

十、拷贝并编辑静默安装文件

 $ cp /u01/app/database/response/*.* /u01/app/

 $ vi db_install.rsp

修改下面的配置参数

oracle.install.option=INSTALL_DB_SWONLY//只安装oracle软件,不安装实例

ORACLE_HOSTNAME=oracleserver//honstname命令获得的主机名

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/u01/app/oracle/oraInventory

SELECTED_LANGUAGES=en,zh_CN//安装时的语言,其实en就够了,看中文反而麻烦

ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

ORACLE_BASE=/u01/app/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.isCustomInstall=false

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=oinstall

DECLINE_SECURITY_UPDATES=true //一定设置为true,网上都这么说,我也没试,就设置成true吧

 

十一、开始安装数据库软件

 $ cd /u01/app/database

 $ ./runInstaller -silent -force -responseFile /u01/app/db_install.rsp

 // -silent静默安装 -force文件夹不存在强制创建 -responseFile静默安装响应文件

另开一个窗口,查看安装日志

 # tail -f /u01/app/oracle/oraInventory/logs/installActions*.log

安装比较慢,耐心等待下

安装完成,这次出来的是中文,提示如下:

 

要执行配置脚本, 请执行以下操作:

         1. 打开一个终端窗口

         2. 以 "root" 身份登录

         3. 运行脚本

         4. 返回此窗口并按 "Enter" 键继续

 

按回车继续。

在另外一个窗口使用root用户执行

# /u01/app/oracle/oraInventory/orainstRoot.sh

# /u01/app/oracle/product/11.2.0/dbhome_1/root.sh

 

Oracle软件安装完成。

 

十二、安装监听

使用响应文件netca.rsp配置监听,一般不用修改netca.rsp,直接使用此文件生成默认监听

 $ cd /u01/app/database/

 $ /u01/app/oracle/product/11.2.0/dbhome_1/bin/netca  /silent  /responsefile /u01/app/netca.rsp

 

十三、创建数据库和实例

 $ cd /u01/app/database/

 $ vi dbca.rsp

 修改下面的参数

GDBNAME = "orcl.oracleserver"//数据库名字,多个的话可以都改了

SID = "orcl"

TEMPLATENAME = "General_Purpose.dbc"//存在多个的话,可以都改了

CHARACTERSET = "ZHS16GBK"    //字符集,建库后一般不能更改。也可以使用AL32UTF8

TOTALMEMORY = "1024"//数据库内存,看个人情况吧,默认800

保存退出

执行静默安装

 $ /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbca -silent -responseFile /u01/app/dbca.rsp 

输入 SYS 用户口令: 

输入 SYSTEM 用户口令: 

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/orcl/orcl.log"。

 

安装完成

 $lsnrct status//检查监听

 

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 19-FEB-2013 18:01:22

 

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                19-FEB-2013 17:00:39

Uptime                    0 days 1 hr. 0 min. 43 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

Listener Log File         /u01/app/oracle/diag/tnslsnr/oracleserver/listener/alert/log.xml

Listening Endpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracleserver)(PORT=1521)))

Services Summary...

Service "orcl.oracleserver" has 1 instance(s).

  Instance "orcl", status READY, has 1 handler(s) for this service...

Service "orclXDB.oracleserver" has 1 instance(s).

  Instance "orcl", status READY, has 1 handler(s) for this service...

The command completed successfully

 

另外,附上静默删除数据库的命令

#dbca -silent -deleteDatabase -sourceDB orcl -sysDBAUserName sys -sysDBAPassword 123456

 

十四、修改数据库为归档模式,支持热备份,增量备份,打开闪回

 $ 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  835104768 bytes

Fixed Size                  2217952 bytes

Variable Size             490735648 bytes

Database Buffers          339738624 bytes

Redo Buffers                2412544 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> archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     3

Next log sequence to archive   5

Current log sequence           5

 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

 

 

十五、修改oracle启动配置文件

 $vi /etc/oratab

 把N改成Y

 orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y

 

 这样就可以通过dbstart 启动此实例,也可以通过dbshut关闭此实例了。

 $ dbshut /u01/app/oracle/product/11.2.0/dbhome_1/

 Processing Database instance "orcl": log file /u01/app/oracle/product/11.2.0/dbhome_1/shutdown.log

 此时所有oracle的进程关闭,监听器也停止。

 $ dbstart /u01/app/oracle/product/11.2.0/dbhome_1/

 Processing Database instance "orcl": log file /u01/app/oracle/product/11.2.0/dbhome_1/startup.log

 此时监听器工作,orcl实例运行,再次查看监听器状态。

 $ lsnrctl status

一切正常

 

十六、创建表空间和用户

 

 创建临时表空间

create temporary tablespace user_temp tempfile '/u01/app/oracle/oradata/ORCL/jrtsch_user_temp.dbf' size 100m

 autoextend on

 next 50m maxsize 10240m

 extent management local;

 

创建数据表空间

 create tablespace user_data  

 logging  

 datafile '/u01/app/oracle/oradata/ORCL/user_data.dbf' 

 size 100m

 autoextend on  

 next 50m maxsize 10240m  

 extent management local; 

 

创建用户并指定表空间

 create user jrtsch identified by jrtsch

 default tablespace user_data  

 temporary tablespace user_temp; 

 给用户授予权限

 grant connect,resource to jrtsch;

 

使用新建的用户登录

 $ sqlplus jrtsch/jrtsch@orcl

成功!!

 

 

 

 

你可能感兴趣的:(oracle,centos,VirtualBox)