静默安装Oracle 11g r2

来源:互联网 发布:一拍两散 罪人 知乎 编辑:程序博客网 时间:2024/05/18 01:40

感谢分享:https://wanglu.info/182.html

1 安装环境:

操作系统:CetnOS6.4 x86_64

数据库版本:oracle 11g r2

2 准备工作

root用户登录后

1
2
unzip linux.x64_11gR2_database_1of2.zip #解压
unzip linux.x64_11gR2_database_2of2.zip

在/etc/hosts文件中增加主机名(通过hostname获得)到回环IP的映射如下:

1
2
3
 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4  
 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 
 192.168.1.150    rhel

3 安装必须的包

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
 yum install gcc
 yum install make
 yum install binutils
 yum install gcc-c++
 yum install compat-libstdc++-33
 yum install elfutils-libelf-devel
 yum install elfutils-libelf-devel-static
 yum install ksh
 yum install libaio
 yum install libaio-devel
 yum install numactl-devel
 yum install sysstat
 yum install unixODBC
 yum install unixODBC-devel
 yum install pcre-devel

4 准备安装用户及用户组

1
2
3
4
 groupadd oinstall
 groupadd dba
 useradd -g oinstall -G dba -d /home/oracle oracle
 passwd oracle    #设置oracle密码

5 修改内核参数配置文件

#vim /etc/sysctl.conf 在文件最后增加

01
02
03
04
05
06
07
08
09
10
11
 fs.aio-max-nr = 1048576
 fs.file-max = 6553600
 kernel.shmall = 2097152
 kernel.shmmax = 2147483648
 kernel.shmmni = 4096
 kernel.sem = 250 32000 100 128
 net.ipv4.ip_local_port_range = 1024 65000
 net.core.rmem_default = 262144
 net.core.rmem_max = 4194304
 net.core.wmem_default = 262144
 net.core.wmem_max = 1048586

保存文件。输入命令:

1
2
3
modprobe bridge
lsmod | grep bridge
/sbin/sysctl -p #让参数生效

6 修改用户的限制文件

#vim /etc/security/limits.conf 在文件后增加

1
2
3
4
5
 oracle           soft    nproc           2047
 oracle           hard    nproc           16384
 oracle           soft    nofile          1024
 oracle           hard    nofile          65536
 oracle           soft    stack           10240

保存文件。

修改/etc/pam.d/login文件,增加如下:

1
2
 session     required      /lib64/security/pam_limits.so
 session     required      pam_limits.so

修改/etc/profile,增加:

1
2
3
4
5
6
7
8
 if [ \$USER = "oracle" ]; then
  if [ \$SHELL = "/bin/ksh" ]; then
   ulimit -p 16384
   ulimit -n 65536
  else
   ulimit -u 16384 -n 65536
  fi
 fi

7 创建安装目录和设置文件权限

1
2
3
4
5
6
7
8
 mkdir /home/oracle/oracle_base
 mkdir /home/oracle/oracle_base/product/11.2.0/dbhome_1   #数据库系统安装目录
 mkdir /home/oracle/oracle_base/oradata    #数据库数据安装目录
 mkdir /home/oracle/oracle_base/flash_recovery_area   #数据备份目录
 mkdir /home/oracle/oraInventory #清单目录
 chown -R oracle:oinstall /home/oracle/oracle_base
 chown -R oracle:oinstall /home/oracle/oraInventory
 chmod -R 775 /home/oracle/oracle_base

8 编辑静默安装响应文件

1
2
3
4
5
6
7
 su - oracle
 #复制一份模板 
 cp -R /opt/database/response /home/oracle   cd /home/oracle
 #因为下面的安装是只安装软件不安装启动数据库实例,所以改个名字以提示自己 
 mv db_install.rsp db_install_swonly.rsp 
 #开始修改这个安装响应文件 
 vim db_install_swonly.rsp

需要设置的选项如下:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
 oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0//系统生成的
 oracle.install.option=INSTALL_DB_SWONLY //只安装软件,不安装启动数据库
 ORACLE_HOSTNAME=rhel     //通过hostname命令获得
 UNIX_GROUP_NAME=oinstall
 INVENTORY_LOCATION=/home/oracle/oraInventory
 SELECTED_LANGUAGES=en,zh_CN
 ORACLE_HOME=/home/oracle/oracle_base/product/11.2.0/dbhome_1
 ORACLE_BASE=/home/oracle/oracle_base
 oracle.install.db.InstallEdition=EE
 oracle.install.db.isCustomInstall=false
 oracle.install.db.customComponents=oracle.server:11.2.0.1.0,         //保持系统默认值
 oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,
 oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,
 oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,
 oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,
 oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,
 oracle.rdbms.rat:11.2.0.1.0
  
 oracle.install.db.DBA_GROUP=dba
 oracle.install.db.OPER_GROUP=dba
 DECLINE_SECURITY_UPDATES=true                 //一定要设置为true

配置环境变量

01
02
03
04
05
06
07
08
09
10
11
# Oracle 11g r2 config
export ORACLE_SID=wilson
export ORACLE_UNQNAME=wilson
export ORACLE_BASE=/home/oracle/oracle_base
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:ORACLE_HOME/lib
export ORACLE_HOME=/home/oracle/oracle_base/product/11.2.0/dbhome_1
export ORACLE_HOME_LISTNER=$ORACLE_HOME
export NLS_LANG="AMERICAN.AL32UTF8"
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
umask 022
export PATH

9 根据响应文件安装oracle

1
2
 cd /home/oracle/database
 ./runInstaller -silent -responseFile /home/oracle/response/db_install_swonly.rsp

安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。打开另一个终端,执行

1
tail -100f /home/oracle/inventory/logs/installActions......log

可以实时跟踪查看安装日志,了解安装的进度。
当出现
以下配置脚本需要以 “root” 用户的身份执行。

1
2
3
4
#!/bin/sh
#要运行的 Root 脚本
/home/oracle/oraInventory/orainstRoot.sh
/home/oracle/oracle_base/product/11.2.0/dbhome_1/root.sh

要执行配置脚本, 请执行以下操作:
1. 打开一个终端窗口
2. 以 “root” 身份登录
3. 运行脚本
4. 返回此窗口并按 “Enter” 键继续
Successfully Setup Software.
表示安装成功了。按照其提示操作。

10 编辑静默建库响应文件

1
2
 cd /home/oracle
 mv dbca.rsp dbca_hello.rsp   #改名为dbca_数据库名.rsp

11 静默配置监听

1
netca /silent /responsefile /home/oracle/response/netca.rsp

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

1
/opt/oracle/11.2.0/bin/lsnrctl start LISTENER

监听程序控制完成。
监听程序已成功启动。
监听程序配置完成。
成功完成 Oracle Net Services 配置。退出代码是0

成功运行后,在/opt/oracle/11.2.0/network/admin目录下生成sqlnet.ora和listener.ora两个文件。

通过netstat -tlnp 命令,看到
tcp  0   0 :::1521        :::*      LISTEN      5477/tnslsnr
说明监听器已经在1521端口上开始工作了。

12 静默建立新库(同时也建立一个对应的实例)

修改/home/oracle/database/response/dbca.rsp,设置如下:

01
02
03
04
05
06
07
08
09
10
11
RESPONSEFILE_VERSION = "11.2.0"  //不能更改
 OPERATION_TYPE = "createDatabase"
 GDBNAME = "wilson"  //数据库的名字
 SID = "wilson"    //对应的实例名字
 TEMPLATENAME = "General_Purpose.dbc" //建库用的模板文件
 SYSPASSWORD = "l1997628"   //SYS管理员密码
 SYSTEMPASSWORD = " l1997628 "  //SYSTEM管理员密码
 DATAFILEDESTINATION = /home/oracle/oracle_base/oradata //数据文件存放目录
 RECOVERYAREADESTINATION= /home/oracle/oracle_base/flash_recovery_area  //恢复数据存放目录
 CHARACTERSET = "AL32UTF8"   //字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
 TOTALMEMORY = "5120"    //oracle内存5120MB

静默建库命令如下

1
dbca -silent -responseFile /home/oracle/database/response/dbca.rsp

复制数据库文件

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
 1% 已完成
 3% 已完成
 11% 已完成
 18% 已完成
 26% 已完成
 37% 已完成
 正在创建并启动 Oracle 实例
 40% 已完成
 45% 已完成
 50% 已完成
 55% 已完成
 56% 已完成
 60% 已完成
 62% 已完成
 正在进行数据库创建
 66% 已完成
 70% 已完成
 73% 已完成
 85% 已完成
 96% 已完成
 100% 已完成

有关详细信息, 请参阅日志文件 “/opt/oracle/oracle_base/cfgtoollogs/dbca/wilson/wilson.log”。

查看日志文件

1
cat /opt/oracle/oracle_base/cfgtoollogs/dbca/wilson/wilson.log

复制数据库文件

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 DBCA_PROGRESS : 1%
 DBCA_PROGRESS : 3%
 DBCA_PROGRESS : 11%
 DBCA_PROGRESS : 18%
 DBCA_PROGRESS : 26%
 DBCA_PROGRESS : 37%
 正在创建并启动 Oracle 实例
 DBCA_PROGRESS : 40%
 DBCA_PROGRESS : 45%
 DBCA_PROGRESS : 50%
 DBCA_PROGRESS : 55%
 DBCA_PROGRESS : 56%
 DBCA_PROGRESS : 60%
 DBCA_PROGRESS : 62%
 正在进行数据库创建
 DBCA_PROGRESS : 66%
 DBCA_PROGRESS : 70%
 DBCA_PROGRESS : 73%
 DBCA_PROGRESS : 85%
 DBCA_PROGRESS : 96%
 DBCA_PROGRESS : 100%
 
数据库创建完成。有关详细信息, 请查看以下位置的日志文件:
/opt/oracle/oracle_base/cfgtoollogs/dbca/wilson/wilson.log
数据库信息:
全局数据库名:wilson
系统标识符 (SID):wilson
 
建库后实例检查:
 
 ps -ef | grep ora_ | grep -v grep wc -l 21
 ps -ef | grep ora_ | grep -v grep

查看监听状态

1
lsnrctl status

13 修改数据库为归档模式(归档模式才能热备份,增量备份)

1
2
3
4
5
6
7
8
9
 $ sqlplus / as sysdba
 SQL> shutdown immediate;
 SQL> startup mount
 SQL> alter database archivelog;
 SQL> alter database flashback on;
 SQL> alter database open;
 SQL> execute utl_recomp.recomp_serial();
 SQL> alter system archive log current;
 SQL> exit

14 修改oracle启动配置文件

1
2
 vi /etc/oratab
 wilson:/home/oracle/oracle_base/product/11.2.0/dbhome_1:Y

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

1
dbshut /home/oracle/oracle_base/product/11.2.0/dbhome_1

Processing Database instance "wilson": log file  /home/oracle/oracle_base/product/11.2.0/dbhome_1/shutdown.log
此时所有oracle的进程关闭,监听器也停止。

1
dbstart /home/oracle/oracle_base/product/11.2.0/dbhome_1

Processing Database instance "wilson": log file  /home/oracle/oracle_base/product/11.2.0/dbhome_1 /startup.log

此时监听器工作,wilson实例运行,再次查看监听器状态。

1
lsnrctl status

15 建立表空间及用户

创建临时表空间

1
2
3
4
5
6
 create temporary tablespace user_temp 
 tempfile '/opt/oracle/oradata/hello/user_temp.dbf' 
 size 50m 
 autoextend on 
 next 50m maxsize 20480m 
 extent management local;

创建数据表空间

1
2
3
4
5
6
7
 create tablespace user_data 
 logging 
 datafile '/opt/oracle/oradata/hello/user_data.dbf'
 size 50m 
 autoextend on 
 next 50m maxsize 20480m 
 extent management local;

创建用户并指定表空间

1
2
3
4
 create user test identified by test
 default tablespace user_data 
 temporary tablespace user_temp
 account unlock;

给用户授予权限

1
grant connect,resource to test;

此时在其他机器上可以远程登录这个用户,命令为:

1
sqlplus test/test@192.168.1.150/wilson

16 用新建的用户连接数据库

1
sqlplus test/test@192.168.1.150/wilson

0 0
原创粉丝点击