Oracle11g静默安装

静默安装Oracle11G

前期准备

1虚拟机准备:

Centos 6.5 64位

内存2G

硬盘30G

Cpu 4核

Hostname silent

将安装包放到/tmp/oracle目录下

2.软件所需依赖包检查

依赖包检查(root下执行)

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio  libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel

 

由于我已经成功安装了一次,然后卸载重装出教程,此处以来表检查时候都已经存在了,如果不存在,可以yum安装

yum -y install  xxxx即可

gcc安装顺序
ppl-0.10.2-11.el6.x86_64-->cloog-ppl-0.15.7-1.2.el6.x86_64-->mpfr-2.4.1-6.el6.x86_64-->cpp-4.4.7-18.el6.x86_64 

3.创建Oracle用户和相应的属组

groupadd oinstall

groupadd dba

useradd -g oinstall -G dba oracle

passwd oracle    #密码暂定为oracle

     

4.创建目录修改属组和权限

创建目录:

mkdir -p /u01/app/oracle/product/11.2.0/db_1

mkdir -p /u01/app/oracle/oradata

mkdir -p /u01/app/oracle/inventory

mkdir -p /u01/app/oracle/fast_recovery_area

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

chmod -R 755 /u01/app/oracle

语句的作用依次为:前面创建的目录主要作用为

Oracle家目录、数据文件存放位置,安装日志存放位置,快速恢复区

修改属组,修改权限

      

5.解压Oracle软件压缩包

unzip p13390677_112040_Linux-x86-64_1of7.zip && unzip p13390677_112040_Linux-x86-64_2of7.zip

到这里基本上没有什么压力,下面是服务器的一些配置,如果看不懂没关系的,照着抄,轻微改动几个地方就行:

6.服务器配置文件修改

6.1 在/etc/hosts文件中添加主机名:

我的做法是注释掉原来的那行127.0.0.1添加下面这行

127.0.0.1 silentcoln.dataguru silentcoln

 

6.2关闭防火墙(如果是正式生产库,请评估后在操作,可以修改配置文件开放1521端口)

   chkconfig ipatbles off

   service iptables stop

  service iptables status

6.3 关闭selinux

  原来那行注释掉,将值改为disable

 

[root@silentcoln ~]# setenforce 0

 

6.4 修改内核参数文件

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

其中kernel.shmmax = 1073741824为本机物理内存(2G)的一半,单位为byte。

然后执行sysctl –p             [root@silentcoln ~]# sysctl -p

6.5 修改用户的限制文件

 

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

 

6.6修改/etc/pam.d/login文件:

vim /etc/pam.d/login

添加以下内容:

session required  /lib64/security/pam_limits.so

session required   pam_limits.so

 

经过这几部配置服务器信息已经配置完。下面开始切换到Oracle用户进行配置和安装

 

7.切换Oracle用户进行环境变量配置

[root@silentcoln ~]# su - oracle

[oracle@silentcoln ~]$ vim .bash_profile

在文件中添加一下内容

[root@silentcoln ~]# su - oracle

[oracle@silentcoln ~]$ vim .bash_profile

在文件中添加一下内容

 

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

ORACLE_SID=orclhq

PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

保存退出后使配置文件生效

[oracle@silentcoln ~]$ source .bash_profile

      

8.编辑静默安装响应文件

[root@silentcoln Oracle]# ll

total 2487212

drwxr-xr-x. 7 root   root           4096 Aug 27  2013 database

-rw-r--r--. 1 oracle oinstall 1395582860 Oct 28 11:23 p13390677_112040_Linux-x86-64_1of7.zip

-rw-r--r--. 1 oracle oinstall 1151304589 Oct 28 11:22 p13390677_112040_Linux-x86-64_2of7.zip

[root@silentcoln Oracle]# chown -R oracle.oinstall /tmp/Oracle

 

在修改文件前,我们来备份一下相应的文件:

[root@silentcoln response]# pwd

/tmp/Oracle/database/response

[root@silentcoln response]# ll

total 80

-rwxr-xr-x. 1 oracle oinstall 44533 Aug 27  2013 dbca.rsp

-rw-r--r--. 1 oracle oinstall 25116 Aug 27  2013 db_install.rsp

-rwxr-xr-x. 1 oracle oinstall  5871 Aug 27  2013 netca.rsp

[root@silentcoln response]# cp db_install.rsp db_install.rsp.bak

然后在解压目录编辑改响应文件

[root@silentcoln response]# vim db_install.rsp

 

需要设置的选项如下:

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=silentcoln.dataguru         #用hostname命令查看

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/u01/app/oracle/inventory

SELECTED_LANGUAGES=en,zh_CN

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

ORACLE_BASE=/u01/app/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=dba

DECLINE_SECURITY_UPDATES=true

 

 

等这些参数都配置进去后就可以根据响应文件进行静默安装Oracle软件了

 

 

 

开始安装软件

9.根据响应文件进行静默安装Oracle软件

./runInstaller -silent -responseFile /tmp/oracle/database/response/db_install.rsp

 

 

可以在另一个窗口中打开这个日志,看安装详细信息

有些警告可以直接忽略,如果有报错,要定位并解决问题,直到看到这个界面说明安装以及成功。

 

 

如果你是第一次安装,这里会提示执行两个脚本,因为我之前安装过一次了,估计是哪里有遗漏,这里只提示出一个需要执行的脚本。

执行这个脚本很简单,重新开一个窗口,以root身份执行了就行,然后回来按下回车结束这个过程。

[root@silentcoln ~]# who am i

root     pts/2        2017-10-28 14:45 (192.168.116.2)

[root@silentcoln ~]# /u01/app/oracle/product/11.2.0/db_1/root.sh

Check /u01/app/oracle/product/11.2.0/db_1/install/root_silentcoln.dataguru_2017-10-28_14-54-20.log for the output of root script

静默方式配置监听

10.静默方式配置监听

[oracle@silentcoln database]$ netca /silent /responseFile /tmp/oracle/database/response/netca.rsp

看到下面的信息就说明已经配置好了

 

同时可以在一下目录中看到相应的文件生成:listener.ora  sqlnet.ora

[oracle@silentcoln admin]$ cd $ORACLE_HOME

[oracle@silentcoln db_1]$ cd network/admin/

[oracle@silentcoln admin]$ ls

listener.ora  samples  shrept.lst  sqlnet.ora

同时默认监听端口1521也可以监控得到了

netstat -tnulp | grep 1521

 

 

静默方式建库

11.静默方式建库

[root@silentcoln response]# pwd

/tmp/Oracle/database/response

[root@silentcoln response]# ls

dbca.rsp  db_install.rsp  db_install.rsp.bak  netca.rsp

[root@silentcoln response]# cp dbca.rsp db

dbca.rsp            db_install.rsp      db_install.rsp.bak 

[root@silentcoln response]# cp dbca.rsp dbca.rsp.bak

[root@silentcoln response]# vim dbca.rsp

设置以下参数:

GDBNAME= "silent"

SID =" silent"

SYSPASSWORD= "oracle"

SYSTEMPASSWORD= "oracle"

SYSMANPASSWORD= "oracle"

DBSNMPPASSWORD= "oracle"

DATAFILEDESTINATION=/u01/app/oracle/oradata

RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area

CHARACTERSET= "ZHS16GBK"

TOTALMEMORY= "1638"

 其中TOTALMEMORY ="1638" 为1638MB,物理内存2G*80%。

      

注意,如果密码没有指定,在执行dbca建库语句后,会出现清屏现象,如果出现清屏现象,请检查上面提到的几个password的设定是否正确

编辑完成就可以开始静默安装了:

dbca -silent -responseFile /tmp/oracle/database/response/dbca.rsp

在这里我又报一个错:

 

问题出现在/etc/oratab文件中,看看里面的内容还包含之前数据库实例的启动信息。手动将其清除,再次尝试安装。

 

将这一行注释掉,再次执行

 

等进度到100%即可,然后可以进行实例进程检查

ps -ef | grep ora_ | grep -v grep

 

[oracle@silentcoln ~]$ echo $ORACLE_SID

silent

[oracle@silentcoln ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.4.0 Production on Sat Oct 28 16:02:17 2017

 

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

 

 

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

 

SQL> select status from v$instance;

 

STATUS

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

OPEN

 

到此,静默安装数据库已经完成。

 

Oracle开机自启动设置    这个并不特别推荐,最好是手动启动和关闭数据库

1.修改$ORACLE_HOME/bin/dbstart

将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME

2.修改$ORACLE_HOME/bin/dbshut

将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME

3.修改/etc/oratab文件

将silent:/u01/app/oracle/product/11.2.0/db_1:N中最后的N改为Y,
成为silent:/u01/app/oracle/product/11.2.0/db_1:Y

4.敲入命令dbshut和dbstart测试

如果上面四步正确 这里应该会看到如下信息

 

实例关闭,监听也停了,查Oracle后台进程发现也没有了

执行完dbstart

实例启动了,监听也启动了

5.切换到root账户建立自启动脚本

cd /etc/rc.d/init.d/

vi oracle

 
 

#!/bin/bash

# chkconfig: 345 99 10

# description: Startup Script for Oracle Databases

# /etc/init.d/oracle

export ORACLE_SID=silent

# export ORACLE_HOME_LISTNER=/oracle/product/11.2.0/bin/

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

export PATH=$PATH:$ORACLE_HOME/bin

case "$1" in

start)

su oracle -c $ORACLE_HOME/bin/dbstart

touch /var/lock/oracle

echo "OK"

;;

stop)

echo -n "Shutdown Oracle: "

su oracle -c $ORACLE_HOME/bin/dbshut

rm -f /var/lock/oracle

echo "OK"

;;

*)

echo "Usage: 'basename $0' start|stop"

exit 1

esac

exit 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#chmod 755 /etc/rc.d/init.d/oracle

 

# chkconfig --add oracle

# chkconfig oracle on

 

 

 

 

 

 

 

 

 

 

克隆安装Oracle 11G

 

1.搭建新的虚拟机

在VMware上搭建了一个新的虚拟机,基本信息如下

Centos 6.5 64位

Ip 192.168.116.123

内存2G

硬盘25G

Hostname coln

2.Oracle环境准备

环境准备和静默安装环境准备一样,这里就不过多赘述,直接上步骤了:

       
 
  1. 依赖包检查(root下执行)

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio  libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel

 

由于我已经成功安装了一次,然后卸载重装出教程,此处以来表检查时候都已经存在了,如果不存在,可以yum安装

yum -y install  xxxx即可

  1. 创建用户

groupadd oinstall

groupadd dba

useradd -g oinstall -G dba oracle

passwd oracle

  1. 参数修改

3.1   /etc/hosts 文件修改,在hosts文件最下面增加一条

 

 

 

 

 
   

3.2 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

其中kernel.shmmax = 1073741824为本机物理内存(2G)的一半,单位为byte。

然后执行sysctl –p

3.3 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

3.4 vim /etc/pam.d/login

添加以下内容:

session required  /lib64/security/pam_limits.so

session required   pam_limits.so

4. 设置oracle用户的环境变量

[root@coln ~]# su - oracle

[oracle@coln ~]$ vim .bash_profile

添加下面的内容:

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

ORACLE_SID=silent                             ##注意,我们是克隆操作,这里跟原库保持一致,否则后面会有很多不必要的麻烦,比参数文件修改,监听、控制文件的修改等

PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   

3.原库一致性关库,并拷贝$ORACLE_HOME到新的服务器

 

  

       
 
  1. 原库一致性关库

[oracle@silentcoln ~]$ dbshut

Processing Database instance "silent": log file /u01/app/oracle/product/11.2.0/db_1/shutdown.log

[oracle@silentcoln ~]$ lsnrctl status

 

使用scp命令将所需要的文件复制到新的服务器上去

在原来那台silent服务器上执行:
scp /u01/app  [email protected]:/u01/

由于我只创建了/u01文件夹,这里懒得创建别的文件夹,就把原库的直接复制过来用了

 

复制过来后修改目录权限

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

chmod -R 755 /u01/app/oracle

 

[oracle@coln bin]$ pwd

/u01/app/oracle/product/11.2.0/db_1/clone/bin

 

perl clone.pl ORACLE_BASE=$ORACLE_BASE ORACLE_HOME=$ORACLE_HOME ORACLE_HOME_NAME=db_2

执行过程界面截图如下:

 

很快就到这一步了,比静默安装速度快了好多

 Oracle11g静默安装_第1张图片

 

 

 

 

 

 

 

 

 

 

 

 
   

处理方法一样,打开一个新的界面,按照提示执行两个脚本即可

 

 Oracle11g静默安装_第2张图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Oracle11g静默安装_第3张图片

 

下面如果要设置开机启动什么的,参考静默安装案例,这里不再赘述

 

 

 

 

手工建库

(注意手工建库的基础是以及安装了数据库软件,这里不再赘述,我使用的是静默安装的数据库软件,可以参考前面内容,静默安装Oracle软件)

 

官方文档

https://docs.oracle.com/cd/E11882_01/server.112/e25494/toc.htm

步骤比较多,我把官方文档摘抄了一部分下来。手工建库部分难度比价大,感兴趣可以动手实践下。

Complete the following steps to create a database with the CREATE DATABASE statement. The examples create a database named mynewdb.

Step 1: Specify an Instance Identifier (SID)

Step 2: Ensure That the Required Environment Variables Are Set

Step 3: Choose a Database Administrator Authentication Method

Step 4: Create the Initialization Parameter File

Step 5: (Windows Only) Create an Instance

Step 6: Connect to the Instance

Step 7: Create a Server Parameter File

Step 8: Start the Instance

Step 9: Issue the CREATE DATABASE Statement

Step 10: Create Additional Tablespaces

Step 11: Run Scripts to Build Data Dictionary Views

Step 12: (Optional) Run Scripts to Install Additional Options

Step 13: Back Up the Database.

Step 14: (Optional) Enable Automatic Instance Startup

 

 

 

 

1.   搭建新的虚拟机

我这里只是把克隆装数据库的那个虚拟机回到了之前的快照,所以这里服务器信息跟上一个一样的。

在VMware上搭建了一个新的虚拟机,基本信息如下

Centos 6.5 64位

Ip 192.168.116.123

内存2G

硬盘25G

Hostname coln

2.Oracle环境准备

环境准备和静默安装环境准备一样,这里就不过多赘述,直接上步骤了:

       
 
  1. 依赖包检查(root下执行)

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio  libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel

 

由于我已经成功安装了一次,然后卸载重装出教程,此处以来表检查时候都已经存在了,如果不存在,可以yum安装

yum -y install  xxxx即可

  1. 创建用户

groupadd oinstall

groupadd dba

useradd -g oinstall -G dba oracle

passwd oracle

  1. 参数修改

6.1   /etc/hosts 文件修改,在hosts文件最下面增加一条

 

 

 
   

3.2 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

其中kernel.shmmax = 1073741824为本机物理内存(2G)的一半,单位为byte。

然后执行sysctl -p

3.3 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

3.4 vim /etc/pam.d/login

添加以下内容:

session required  /lib64/security/pam_limits.so

session required   pam_limits.so

4. 设置oracle用户的环境变量

[root@coln ~]# su - oracle

[oracle@coln ~]$ vim .bash_profile

添加下面的内容:

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

ORACLE_SID=mandb

PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

这里开始是真正的手工建库内容

1.创建密码文件(密码文件的重要性后面有机会再补充,这里不过多叙述)

[oracle@coln ~]$ echo $ORACLE_SID

mandb

[oracle@coln ~]$ cd $ORACLE_HOME/dbs

[oracle@coln dbs]$ ll

total 4

-rw-r--r--. 1 oracle oinstall 2851 May 15  2009 init.ora

[oracle@coln dbs]$ orapwd file=orapwdmandb password=sys entries=10

[oracle@coln dbs]$ ls

init.ora  orapwdmandb

 

--参数文件

[oracle@coln dbs]$ cat init.ora|grep -v ^$|grep -v ^# >initmandb.ora

[oracle@coln dbs]$ more initmandb.ora

对这个文件做一些调整,调整后如下

 Oracle11g静默安装_第4张图片

 

 

$ cd /u01/app/oracle/

$ mkdir -p admin/ENMOEDU/audmp

$ mkdir -p flash_recovery_area

 

SQL> startup nomount

ORACLE instance started.

 

Total System Global Area  229683200 bytes

Fixed Size              2251936 bytes

Variable Size                171967328 bytes

Database Buffers        50331648 bytes

Redo Buffers                 5132288 bytes

 

 

 

vi create_db.sql

 

CREATE DATABASE mandb

   USER SYS IDENTIFIED BY oracle

   USER SYSTEM IDENTIFIED BY oracle

   LOGFILE GROUP 1 ('/u01/app/oracle/oradata/mandb/redo01a.log','/u01/app/oracle/oradata/mandb/redo01b.log') SIZE 100M BLOCKSIZE 512,

           GROUP 2 ('/u01/app/oracle/oradata/mandb/redo02a.log','/u01/app/oracle/oradata/mandb/redo02b.log') SIZE 100M BLOCKSIZE 512,

           GROUP 3 ('/u01/app/oracle/oradata/mandb/redo03a.log','/u01/app/oracle/oradata/mandb/redo03b.log') SIZE 100M BLOCKSIZE 512

   MAXLOGFILES 5

   MAXLOGMEMBERS 5

   MAXLOGHISTORY 1

   MAXDATAFILES 100

   CHARACTER SET AL32UTF8

   NATIONAL CHARACTER SET AL16UTF16

   EXTENT MANAGEMENT LOCAL

   DATAFILE '/u01/app/oracle/oradata/mandb/system01.dbf' SIZE 325M REUSE

   SYSAUX DATAFILE '/u01/app/oracle/oradata/mandb/sysaux01.dbf' SIZE 325M REUSE

   DEFAULT TABLESPACE users

      DATAFILE '/u01/app/oracle/oradata/mandb/users01.dbf'

      SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED

   DEFAULT TEMPORARY TABLESPACE tempts1

      TEMPFILE '/u01/app/oracle/oradata/mandb/temp01.dbf'

      SIZE 20M REUSE

   UNDO TABLESPACE undotbs1

      DATAFILE '/u01/app/oracle/oradata/mandb/undotbs01.dbf'

      SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

                        

 

[oracle@mandb ~]$ cd /u01/app/oracle

[oracle@mandb oracle]$ mkdir -p oradata/mandb

[oracle@mandb oracle]$ cd /u01/app/oracle/diag/rdbms/mandb/mandb/trace/

[oracle@mandb trace]$ tail -100f alert_mandb.log

 

 

到此手工建库基本完毕,后面可以进行其他补充,比如执行从创建catalog的脚本(SQL> @?/rdbms/admin/catproc.sql)创建catlog,设置Oracle开机自启等。

 

转载于:https://my.oschina.net/rootliu/blog/3101330

你可能感兴趣的:(开发工具,数据库,运维)