静默安装Oracle11G
前期准备
1虚拟机准备:
Centos 6.5 64位
内存2G
硬盘30G
Cpu 4核
Hostname silent
将安装包放到/tmp/oracle目录下
2.软件所需依赖包检查
|
3.创建Oracle用户和相应的属组
|
4.创建目录修改属组和权限
|
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
在文件中添加一下内容
|
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
在修改文件前,我们来备份一下相应的文件:
|
等这些参数都配置进去后就可以根据响应文件进行静默安装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
|
注意,如果密码没有指定,在执行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
|
#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环境准备
环境准备和静默安装环境准备一样,这里就不过多赘述,直接上步骤了:
|
|||
|
3.原库一致性关库,并拷贝$ORACLE_HOME到新的服务器
|
|||
|
下面如果要设置开机启动什么的,参考静默安装案例,这里不再赘述
手工建库
(注意手工建库的基础是以及安装了数据库软件,这里不再赘述,我使用的是静默安装的数据库软件,可以参考前面内容,静默安装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.创建密码文件(密码文件的重要性后面有机会再补充,这里不过多叙述)
[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
对这个文件做一些调整,调整后如下
$ 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开机自启等。