Oracle11g静默安装

记录silently安装oracle的流程,适用于在没有界面的服务器上安装oracle。

安装规划

参数
Oracle base/d01/app/oracle
Software location/d01/app/oracle/product/11.2.0.1.0/dbhome_1
DATAFILEDESTINATION/d02/oradata
RECOVERYAREADESTINATION/d02/fast_recovery_area
Global database nameorcl11g
SIDorcl11g

环境配置

# 指定安装目录
export INSPREFIX=/disk1

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle

cd $INSPREFIX
mkdir d01
mkdir d02
mkdir stage
ln -s $INSPREFIX/d01 /d01
ln -s $INSPREFIX/d02 /d02
ln -s $INSPREFIX/stage /stage

chown -R oracle:oinstall /d01 $INSPREFIX/d01
chown -R oracle:oinstall /d02 $INSPREFIX/d02
chmod -R 775 /d01 $INSPREFIX/d01
chmod -R 775 /d02 $INSPREFIX/d02
chmod g+s /d01 $INSPREFIX/d01
chmod g+s /d02 $INSPREFIX/d02


yum install -y binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 \
glibc-devel.i686 glibc-devel.x86_64 ksh compat-libstdc++-33 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 \
libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 \
libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64 smartmontools.x86_64 nfs-utils

# 在 /etc/security/limits.conf 为 oracle 用户设置上限
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle soft stack 32768

# 看情况
vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
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

将 Oracle 数据库软件的 zip 文件 DOWNLOAD

(linux.x64_11gR2_database_1of2.zip,linux.x64_11gR2_database_2of2.zip)

解压至 /stage 目录。

chown -R oracle:oinstall /stage $INSPREFIX/stage

# your mac
scp linux.x64_11gR2_database_1of2.zip mingjie.gmj@10.218.77.200:/tmp
scp linux.x64_11gR2_database_2of2.zip mingjie.gmj@10.218.77.200:/tmp

mv /tmp/linux.x64_11gR2_database_1of2.zip /stage
mv /tmp/linux.x64_11gR2_database_2of2.zip /stage

chown -R oracle:oinstall /stage/*

unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

设置oracle用户环境变量

su - oracle
vim ~/.bash_profile

ORACLE_BASE=/d01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0.1.0/dbhome_1
ORACLE_SID=orcl11g
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SIDPATH ORACLE_SID

alias sp='rlwrap sqlplus / as sysdba'
alias visplogin='vim $ORACLE_HOME/sqlplus/admin/glogin.sql'
# glogin.sql
# set linesize 120
# set pagesize 40
# set sqlprompt "_user'@'_connect_identifier>" 

创建swap(如果需要)

# 确认存在swap
swapon -s
# 确认硬盘空间
df -hal
# 创建swap文件1G
dd if=/dev/zero of=/swapfile bs=1024 count=1024k
# 格式化
mkswap /swapfile
# 激活swap
swapon /swapfile
# 确认存在swap
swapon -s
Filename				Type		Size	Used	Priority
/swapfile                               file		1048568	0	-1

安装

cp -R $INSPREFIX/stage/database/response/ .
cd response/
vim db_install.rsp

oracle.install.option=INSTALL_DB_SWONLY
# 主机名
ORACLE_HOSTNAME=r10f17477.sqa.zmf
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/d01/app/oraInventory
SELECTED_LANGUAGES=en
ORACLE_HOME=/d01/app/oracle/product/11.2.0.1.0/dbhome_1
ORACLE_BASE=/d01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true

./database/runInstaller -silent -responseFile /stage/response/db_install.rsp
./database/runInstaller -ignoreSysPrereqs -silent -responseFile /stage/response/db_install.rsp

以静默方式配置监听

netca /silent -responseFile /stage/response/netca.rsp

Parsing command line arguments:
    Parameter "silent" = true
    Parameter "responsefile" = /stage/response/netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Oracle Net Listener Startup:
    Running Listener Control:
      /d01/app/oracle/product/11.2.0.1.0/dbhome_1/bin/lsnrctl start LISTENER
    Listener Control complete.
    Listener started successfully.
Listener configuration complete.
Oracle Net Services configuration successful. The exit code is 0

成功运行后,在$ORACLE_HOME/network/admin/中生成listener.ora和sqlnet.ora

netstat发现1521正在监听

netstat -nap | grep 1521
tcp        0      0 0.0.0.0:1521                0.0.0.0:*                   LISTEN      53669/tnslsnr
unix  2      [ ACC ]     STREAM     LISTENING     1100391704 53669/tnslsnr       /var/tmp/.oracle/sEXTPROC1521

静默方式建库

dbca -silent -responseFile /stage/response/

dbca -silent -responseFile /stage/response/

vi response/dbca.rsp

GDBNAME="orcl11g"
SID="orcl11g"
SYSPASSWORD="Server_234"
SYSTEMPASSWORD="Server_234"
SYSMANPASSWORD="Server_234"
DBSNMPPASSWORD="Server_234"
DATAFILEDESTINATION=/d02/oradata
RECOVERYAREADESTINATION=/d02/fast_recovery_area
CHARACTERSET = "US7ASCII"
TOTALMEMORY= "2048"

检查

ps -ef | grep ora_ | grep -v grep
lsnrctl status
sqlplus / as sysdba
-- or
sqlplus system/Server_234@orcl11g

select status from v$instance;

启停

启用utilities:脚本修改/etc/oratab文件

orcl11g:/d01/app/oracle/product/11.2.0.1.0/dbhome_1:N

中最后的N改为Y

orcl11g:/d01/app/oracle/product/11.2.0.1.0/dbhome_1:Y

脚本起停

[oracle@r10f17477.sqa.zmf /d01/app/oracle/product/11.2.0.1.0/dbhome_1/bin]
$dbshut $ORACLE_HOME
Processing Database instance "orcl11g": log file /d01/app/oracle/product/11.2.0.1.0/dbhome_1/shutdown.log

[oracle@r10f17477.sqa.zmf /d01/app/oracle/product/11.2.0.1.0/dbhome_1/bin]
$dbstart $ORACLE_HOME
Processing Database instance "orcl11g": log file /d01/app/oracle/product/11.2.0.1.0/dbhome_1/startup.log

配置chkconfig启动

vim /etc/init.d/oracle

#!/bin/bash
#oracle: Start/Stop Oracle Database 11g R2
#chkconfig: 345 90 10
#description: The Oracle Database is an Object-Relational Database ManagementSystem.
#./etc/rc.d/init.d/functions 
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/d01/app/oracle/product/11.2.0.1.0/dbhome_1
ORACLE_USER=oracle
case "$1" in
'start')
         if [ -f $LOCKFILE ];then
                   echo $0 already running.
         else
                   echo -n $"StartingOracle Database:"
                   su - $ORACLE_USER -c"$ORACLE_HOME/bin/lsnrctl start"
                   su - $ORACLE_USER -c"$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
                   su - $ORACLE_USER -c"$ORACLE_HOME/bin/emctl start dbconsole"
                   touch $LOCKFILE
         fi
   ;;
'stop')
         if [ ! -f $LOCKFILE ]; then
                   echo $0 already stopping.
         else
                   echo -n $"StoppingOracle Database:"
                   su - $ORACLE_USER -c"$ORACLE_HOME/bin/lsnrctl stop"
                   su - $ORACLE_USER -c"$ORACLE_HOME/bin/dbshut"
                   su - $ORACLE_USER -c"$ORACLE_HOME/bin/emctl stop dbconsole"
                   rm -f $LOCKFILE
         fi
   ;;
'restart')
         $0 stop
         sleep 5
         $0 start
   ;;
'status')
         if [ -f $LOCKFILE ]; then
                   echo $0 started.
         else
                   echo $0 stopped.
         fi
   ;;
*)
         echo "Usage: $0[start|stop|status]"
         exit 1
esac
exit 0
chmod 755 /etc/init.d/oracle
chkconfig oracle on

进行service oracle start/stop/restart测试

#service oracle start
StartingOracle Database:
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 04-NOV-2018 22:34:37

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

Starting /d01/app/oracle/product/11.2.0.1.0/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.1.0 - Production
System parameter file is /d01/app/oracle/product/11.2.0.1.0/dbhome_1/network/admin/listener.ora
Log messages written to /d01/app/oracle/diag/tnslsnr/r10f17477/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=r10f17477.sqa.zmf)(PORT=1521)))

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                04-NOV-2018 22:34:37
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /d01/app/oracle/product/11.2.0.1.0/dbhome_1/network/admin/listener.ora
Listener Log File         /d01/app/oracle/diag/tnslsnr/r10f17477/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=r10f17477.sqa.zmf)(PORT=1521)))
The listener supports no services
The command completed successfully
Processing Database instance "orcl11g": log file /d01/app/oracle/product/11.2.0.1.0/dbhome_1/startup.log
Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name.
#service oracle stop
StoppingOracle Database:
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 04-NOV-2018 22:32:50

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

The command completed successfully
ORACLE_HOME_LISTNER is not SET, unable to auto-stop Oracle Net Listener
Usage: /d01/app/oracle/product/11.2.0.1.0/dbhome_1/bin/dbshut ORACLE_HOME
Processing Database instance "orcl11g": log file /d01/app/oracle/product/11.2.0.1.0/dbhome_1/shutdown.log
Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name.
# service oracle restart

ok
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高铭杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值