oracle静默创建实例linux,Linux/CentOS下oracle的静默安装

一、环境检查

使用以下命令检查环境所用的依赖包是否安装

rpm -q binutils compat-libstdc++-33 \

elfutils-libelf elfutils-libelf-devel \

expat gcc gcc-c++ glibc glibc-common \

glibc-devel glibc-headers libaio \

libaio-devel libgcc libstdc++ \

libstdc++-devel make pdksh sysstat \

unixODBC unixODBC-devel | grep "not installed"

如果显示“package xxxx is not installed”,则需要手动安装。

一般缺少以下包

libaio

unixODBC

unixODBC-devel

同时以上包可能依赖到其他包,需要提前安装

unixODBC-libs

执行rpm -ivh *.rpm即可

二、安装准备

2.1) 下载安装包

从oracle官网下载oracle11gR2的安装包

linux.x64_11gR2_database_1of2.zip

linux.x64_11gR2_database_2of2.zip

2.2)

解压安装包

将两个安装包拷贝到/home下

cd /home

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip

解压完毕后会得到一个database的文件夹

注意:解压后大约需要2.4G的磁盘空间

2.3) 创建用户组和用户

id

oracle (确认oracle用户是否存在)

groupadd oinstall (建立产品清单管理组)

groupadd dba (建立数据库安装组)

useradd -g oinstall -G dba oracle -d /home  (oinstall 为主要组)

echo 123456 | passwd

oracle --stdin

2.4)

修改内核参数

修改/etc/sysctl.conf,在后面加上以下内容

fs.aio-max-nr=1048576

fs.file-max=6815744

kernel.shmall=2097152

kernel.shmmax=536870912

kernel.shmmin=4093

kernel.sem=25032000100128

net.ipv4.ip_local_port_range=900065500

net.core.rmem_default=262144

net.core.rmem_max=4194304

net.core.wmem_default=262144

net.core.wmem_max=1048586

为使上述配置生效而不重启系统,执行以下命令:

/sbin/sysctl -p

2.5) 修改oracle用户限制

修改/etc/security/limits.conf,在最后加上以下内容

oracle  soft  nofile  1024

oracle  hard  nofile  65536

oracle  soft  nproc  2047

oracle  hard  nproc  16384在/etc/pam.d/login中增加以下内容:

session  required

/lib/security/pam_limits.so

session  required

pam_limits.so

在/etc/profile中加入以下内容:

if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ];

then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

2.6) 关闭SELinux

检查/etc/sysconfig/selinux文件的内容是否为SELINUX=disabled,不是则修改

#SELINUX=enforcing

SELINUX=disabled

2.7) 修改oracle用户环境变量

执行以下命令切换到oracle用户下:

su - oracle

编辑~/.bash_profile,在最后增加以下内容:

umask 022

unset USERNAME

export ORACLE_BASE=/u01/app/oracle

export ORACLE_SID=cloud

完成后退出oracle,然后在登录查看环境变量是否设置好:

exit

su - oracle

env | grep ORA

执行后能够看到上面设置的ORACLE_BASE和ORACLE_SID两个变量。

最后记得退出oracle用户

exit

三、静默安装

3.1)

修改目录权限

给oracle用户增加访问安装包目录的权限:

chown -R oracle:oinstall database

给oracle用户增加访问oracle基础目录权限:

mkdir  -p /u01/app/oracle

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

3.2) 创建oraInst.loc

创建/etc/oraInst.loc文件,内容为:

inventory_loc=/u01/app/oracle/oraInventory

inst_group=oinstall

修改该文件的属性

chown oracle:oinstall /etc/oraInst.loc

chmod 664 /etc/oraInst.loc

3.3) 创建静默安装响应文件

执行以下命令切换到oracle用户下:

su - oracle

先拷贝出来一份

mkdir ~/ora_etc

cp /home/database/response/* ~/ora_etc

编辑~/ora_etc/db_install.rsp文件,修改以下内容:

#安装类型:1.只安装数据库软件 2.安装数据库软件并建库 3.升级数据库

oracle.install.option=INSTALL_DB_SWONLY

#指定操作系统主机名,通过hostname命令获得

ORACLE_HOSTNAME=nodehost

#指定oracle inventory目录的所有者,通常会是oinstall或者dba

UNIX_GROUP_NAME=oinstall

#指定产品清单oracle inventory目录的路径

INVENTORY_LOCATION=/u01/app/oracle/oraInventory

#指定数据库语言,可以选择多个,用逗号隔开。选择en,zh_CN(英文和简体中文)

SELECTED_LANGUAGES=en,zh_CN

#设置ORACLE_HOME的路径

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

#设置ORACLE_BASE的路径

ORACLE_BASE=/u01/app/oracle

#选择oracle安装数据库软件的版本(企业版)

oracle.install.db.InstallEdition=EE

#是否自定义oracle的组件,false为使用默认的组件

oracle.install.db.isCustomInstall=false

#指定拥有OSDBA、OSOPER权限的用户组,通常会是dba组

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=dba

#选择数据库的用途,一般用途/事物处理,数据仓库

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

#指定GlobalName

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

#指定SID

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

#设定所有数据库用户使用同一密码,其他数据库用户就不用单独设置了

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

#Response File中必须指定为true,否则会提示错误

DECLINE_SECURITY_UPDATES=true

最后记得退出oracle用户

exit

3.4) 安装

执行以下命令切换到oracle用户下:

su - oracle

执行以下命令开始静默安装:

cd /home/database

./runInstaller -silent -debug -force -responseFile

~/ora_etc/db_install.rsp

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

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

...

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

/u01/app/oracle/product/11.2.0/dbhome_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.

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

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

cd $ORACLE_BASE/oraInventory/logs

tail -100f installActions*.log

退出oracle用户并使用root用户执行$ORACLE_HOME下的root.sh来建立/etc/oratab,/etc/dbhome,/etc/oraenv,/etc/coraenv文件,

如果提示则一直回车:

exit

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

more /etc/oratab

执行以下命令切换到oracle用户下:

su - oracle

然后修改~/.bash_profile文件,设置环境变量:

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export TNS_ADMIN=$ORACLE_HOME/network/admin

export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin

export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib

export

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib

export

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib

export

LIBPATH=${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

最后记得退出oracle用户

exit

四、配置

4.1) 启动监听

执行以下命令切换到oracle用户下:

su - oracle

执行以下命令:

netca /silent /responseFile ~/ora_etc/netca.rsp

屏幕上将打印一些提示信息:

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

参数"silent" = true

参数"responsefile" = ~/ora_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端口上开始工作了。

最后记得退出oracle用户

exit

4.2)

创建实例和数据库

mkdir/u01/data/app/oradata

执行以下命令切换到oracle用户下:

su - oracle

修改~/orc_etc/dbca.rsp文件

RESPONSEFILE_VERSION = "11.2.0"  //不能更改

OPERATION_TYPE = "createDatabase"

GDBNAME = "ora11g.nodehost"

//全局数据库的名字=SID+主机域名

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

TEMPLATENAME = "General_Purpose.dbc"

//建库用的模板文件

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

SYSTEMPASSWORD = "123456"

//SYSTEM管理员密码

DATAFILEDESTINATION = /u01/data/app/oradata/cloud

// 数据文件存放目录

RECOVERYAREADESTINATION=/u01/data/app/oradata/cloud_bak

// 恢复数据存放目录

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

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

执行静默安装命令如下:

dbca -silent -responseFile ~/orc_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/cloud/cloud.log"。

数据库创建完成

最后记得退出oracle用户

exit

4.3) 检查运行状态

执行以下命令切换到oracle用户下:

su - oracle

建库后实例检查

ps -ef | grep ora_ | grep -v grep

oracle  9743

0.0  1.7 743204 18664 ?

Ss  23:47  0:00 ora_pmon_cloud

oracle  9745

0.4  1.4 740956 15356 ?

Ss  23:47  0:01 ora_vktm_cloud

oracle  9749

0.0  1.4 740956 15504 ?

Ss  23:47  0:00 ora_gen0_cloud

oracle  9751

0.0  1.4 740956 15320 ?

Ss  23:47  0:00 ora_diag_cloud

oracle  9753

0.0  2.1 741492 23412 ?

Ss  23:47  0:00 ora_dbrm_cloud

oracle  9755

0.0  1.4 740956 15524 ?

Ss  23:47  0:00 ora_psp0_cloud

oracle  9757

0.0  1.7 741468 18820 ?

Ss  23:47  0:00 ora_dia0_cloud

oracle  9759

0.0  2.6 740956 28544 ?

Ss  23:47  0:00 ora_mman_cloud

oracle  9761

0.0  2.1 746712 23984 ?

Ss  23:47  0:00 ora_dbw0_cloud

.....

查看监听状态:

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 "cloudXDB.nodehost" has 1

instance(s).

Instance "cloud", status

READY, has 1 handler(s) for this service...

Service "ora11g.nodehost" has 1

instance(s).

Instance "cloud", status

READY, has 1 handler(s) for this service...

The command completed successfully

最后记得退出oracle用户

exit

4.4)

修改数据库为归档模式

执行以下命令切换到oracle用户下:

su - oracle

连接数据库并操作

export ORACLE_SID=cloud

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> select

name,log_mode from v$database;

NAME  LOG_MODE

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

ORA11G  NOARCHIVELOG

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

最后记得退出oracle用户

exit

4.5)

修改oracle启动配置文件

执行以下命令切换到oracle用户下:

su - oracle

编辑/etc/oratab文件,修改内容为:

racl:/u01/app/oracle/product/11.2.0/db_1:Y

//把“N”改成“Y”

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

测试:

dbshut

$ORACEL_HOME

Processing Database instance "cloud": log file

/u01/app/oracle/product/11.2.0/db_1/shutdown.log

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

dbstart

$ORACEL_HOME

Processing Database instance "cloud": log file

/u01/app/oracle/product/11.2.0/db_1/startup.log

最后记得退出oracle用户

exit==================

至此,linux下oracle的静默安装完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值