【Centos linux系统】命令行(静默)安装oracle 11gR2

一.安装前准备

  1.内存及swap要求

    至于swap如何添加,后文将提到

  

1
2
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo

  2.硬盘空间

  

  3.修改主机名,及ip对应关系

复制代码
--设置主机名,也可以直接修改配置文件/etc/sysconfig/network,不过这个是重启之后才起作用
#sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=DB_2/g" /etc/sysconfig/network

--如果不想重启,则使用下面命令,使当前生效 #hostname DB_2

--添加主机名与IP对应记录
#vi /etc/hosts 

127.0.0.1 cr-testsrv01
192.168.15.2 cr-testsrv01
192.168.15.2 db1



复制代码

  4.关闭Selinux(可以不操作)

--我自己没有关闭过selinux,这个是网上提供说需要关闭的
# sed -i "s/SELINUX=enforcing/SELINUX=disabled/"/etc/selinux/config # setenforce 0

  5.下载oracle11gR2

  官网下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html

 

二.修改内核参数

  1./etc/sysctl.conf

复制代码
--修改或添加,具体参数意思,请百度或参考oracle官网解释
#vi/etc/sysctl.conf  
net.ipv4.ip_local_port_range= 9000 65500 
fs.file-max = 6815744 kernel.shmall = 10523004 kernel.shmmax = 6465333657 kernel.shmmni = 4096 kernel.sem = 250 32000 100128 net.core.rmem_default=262144 net.core.wmem_default=262144 net.core.rmem_max=4194304 net.core.wmem_max=1048576 fs.aio-max-nr = 1048576 # sysctl -p #使配置生效
复制代码

  2.用户的限制文件/etc/security/limits.conf 

复制代码
#vim /etc/security/limits.conf 在文件后增加
 oracle           soft    nproc           2047
 oracle           hard    nproc           16384
 oracle           soft    nofile          1024
 oracle           hard    nofile          65536
 oracle           soft    stack           10240

--修改/etc/pam.d/login文件,增加如下:
 session  required   /lib64/security/pam_limits.so  //64为系统,千万别写成/lib/security/pam_limits.so,否则导致无法登录
 session  required   pam_limits.so
复制代码

 

三.创建用户及组

复制代码
//创建用户及组
#groupadd oinstall 
#groupadd dba
#useradd -g oinstall -G dba -d /home/u11 oracle
#passwd oracle

//创建安装目录 #mkdir -p /opt/app/oracle/product/11.2.0/db_1
//数据文件存放目录 #mkdir -p /opt/app/oracle/oradata //数据恢复目录
#mkdir -p /opt/app/oracle/recovery_area //数据库创建及使用过程中的日志目录
#mkdir -p /opt/app/oracle/oraInventory

//修改安装目录权限
#chown -R oracle:oinstall /opt/app/oracle
#chmod 775 /opt/app/oracle
//登录oracle用户,设置环境变量
#su - oracle
$vim .bash_profile

  

export ORACLE_BASE=/home/oracle/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin/
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export DISPLAY=192.168.1.128:0.0
#如果设置NLS_LANG,容易产生导入sql或dmp出错,因为其他环境下的不是utf8

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

$source .bash_profile   //使设置生效
复制代码

 

 四.安装oracle

  1.安装依赖包

复制代码
# yum -y install gcc gcc-c++ make binutilscompat-libstdc++-33 elfutils-libelf elfutils-libelf-develglibc glibc-commonglibc-devel libaio libaio-devel libgcclibstdc++libstdc++-devel unixODBC unixODBC-devel ksh
或
# yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 \
elfutils-libelfelfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common \
glibc-devel glibc-devel.i686glibc-headers ksh libaio libaio.i686 libaio-devel \
libaio-devel.i686 libgcclibgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make \
sysstat unixODBC unixODBC-devel
复制代码

  2.解压安装包

  3.数据库安装

    db_install.rsp 安装应答配置文件

    dbca.rsp 创建数据库应答

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

 

    3.1 修改配置文件db_install.rsp,并安装

      下面把主要修改的地方贴出来,具体详细文件,请查看另一篇文章:【Oracle 11gR2】db_install.rsp详解http://www.cnblogs.com/yingsong/p/6031452.html

复制代码
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=DB_m2
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/home/oracle/oracle/product/11.2.0/db_1
ORACLE_BASE=/home/oracle/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/home/oracle/oracle/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/home/oracle/oracle/recovery_data
DECLINE_SECURITY_UPDATES=true    //一定要设为true
复制代码

    登录oracle用户,执行安装

复制代码
$./runInstaller -silent -responseFile /home/u11/database/response/db_install.rsp 
//安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。
//打开另一个终端,执行命令
#tail -100 f /u01/app/oracle/oraInventory/logs/installActions......log

 

//可以实时跟踪查看安装日志,了解安装的进度。
//当出现


  以下配置脚本需要以 "root" 用户的身份执行。
   #!/bin/sh
   #要运行的 Root 脚本

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

  Successfully Setup Software.

 

//出现这个的话,说明已安装成功,则需要按提示操作,操作完返回Enter成功

复制代码

    

    3.2 配置监听配置文件response/netca.rsp

$netca /silent /responsefile /home/oracle/softwares/database/response/netca.rsp

正在对命令行参数进行语法分析:
 参数"silent" = true
 参数"responsefile" = /home/oracle/response/netca.rsp
 完成对命令行参数进行语法分析。
 Oracle Net Services 配置:
 完成概要文件配置。
 Oracle Net 监听程序启动:
  正在运行监听程序控制:
    /opt/oracle/11.2.0/bin/lsnrctl start LISTENER
  监听程序控制完成。
  监听程序已成功启动。
 监听程序配置完成。
 成功完成 Oracle Net Services 配置

//成功运行后,在/opt/oracle/11.2.0/network/admin目录下生成sqlnet.ora和listener.ora两个文件。
//完成后通过命令“netstat -tlnp”可以查看到1521端口已开
tcp  0   0 :::1521        :::*      LISTEN      5477/tnslsnr
复制代码

 

    3.3 修改配置文件response/dbca.rsp,静默建立新库

复制代码
 RESPONSEFILE_VERSION = "11.2.0"  //不能更改
 OPERATION_TYPE = "createDatabase"
 GDBNAME = "hello.dlxg.gov.cn"  //全局数据库的名字=SID+主机域名
 SID = "hello"    //对应的实例名

 SYSPASSWORD = "credit"

   SYSTEMPASSWORD = "credit"

 TEMPLATENAME = "General_Purpose.dbc" //建库用的模板文件
 DATAFILEDESTINATION = /opt/oracle/oradata //数据文件存放目录
 RECOVERYAREADESTINATION=/opt/oracle/recovery_data //恢复数据存放目录
 CHARACTERSET = "AL32UTF8"   //字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
 TOTALMEMORY = "5120"    //oracle内存5120MB
复制代码

     配置完之后,执行命令

复制代码
$dbca -silent -responseFile /home/oracle/softwares/database/response/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"。

 vim /home/oracle/oracle/product/11.2.0/db_1/network/admin/listener.ora

添加:

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = credit)
(ORACLE_HOME =/home/oracle/oracle/product/11.2.0/db_1)
)
)

 

查看日志文件
 $ cat /u01/app/oracle/cfgtoollogs/dbca/wang/wang.log

复制代码

$ su – oracle 
$ sqlplus / nolog 
sql> conn / as sysdba 
sql> startup (一般不需要加参数,只要设置好环境变量) 
sql> quit (退出sql模式) 
$ lsnrctl start (启动监听器)关闭oracle 
$ lsnrctl stop(关闭监听器,在这之前,应该先关闭应用程序) 
$ sqlplus  /nolog 
sql>shutdown 其参数 :shutdown有四个参数,四个参数的含义如下:
Normal 需要等待所有的用户断开连接
Immediate 等待用户完成当前的语句
Transactional 等待用户完成当前的事务
Abort 不做任何等待,直接关闭数据库
normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接
immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。
transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。
abort 执行强行断开连接并直接关闭数据库。
前三种方式不回丢失用户数据。第四种在不的已的情况下,不建议采用! 
经常遇到的问题:

1)权限问题,解决方法,切换到oracle用户;

2)没有关闭监听器 ,解决方法:关闭监听器

3)有oracle实例没有关闭,解决办法:关闭oracle实例

4)环境变量设置不全,解决办法:修改环境变量

Oracle数据库的启动和关闭方式小结

Oracle数据库的启动和关闭方式

一、几种启动方式:

1、startup nomount
非安装启动,这种方式启动下可执行:重建控制文件、重建数据库
启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。
2、startup mount dbname
安装启动,这种方式启动下可执行:数据库日志归档、数据库恢复、重新命名一些数据库文件
如:系统表空间或日志文件。
执行“nomount”,然后打开控制文件
3、startup open dbname
先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,
这种方式下可访问数据库中的数据。
4、startup,等于以下三个命令
startup nomount
alter database mount
alter database open
5、startup restrict
约束方式启动
这种方式能够启动数据库,但只允许具有一定特权的用户访问
非特权用户访问时,会出现以下提示:
ERROR:
ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用
6、startup force
强制启动方式
当不能关闭数据库时,可以用startup force来完成数据库的关闭
先关闭数据库,再执行正常启动数据库命令
7、startup pfile=参数文件名
带初始化参数文件的启动方式
先读取参数文件,再按参数文件中的设置启动数据库
例:startup pfile=E:/Oracle/admin/oradb/pfile/init.ora
8、startup EXCLUSIVE

二、几种关闭方式:

1、shutdown normal
正常方式关闭数据库。
2、shutdown immediate
立即方式关闭数据库。
在SVRMGRL中执行shutdown immediate,数据库并不立即关闭,
而是在Oracle执行某些清除工作后才关闭(终止会话、释放会话资源),
当使用shutdown不能关闭数据库时,shutdown immediate可以完成数据库关闭的操作。
3、shutdown abort
直接关闭数据库,正在访问数据库的会话会被突然终止,
如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间。

 

五. 开启归档模式,制定归档目录

posted @ 2017-11-10 09:13  零零柒  阅读(1626)  评论(0编辑  收藏  举报