Oracle11.2.0.4静默安装软件和创建数据库

在没有图形界面的情况时,安装Oracle数据库软件和创建数据库就只能使用命令行的方式进行。

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的东洲网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

本文假设安装的前提条件都已经配置好。

一、静默安装数据库软件

1、准备参数文件

这个参数文件是用于安装软件使用的,里边配置了需要安装的版本、语言、ORACLE_HOME等信息。

这个文件的模版在database/response目录下的db_install.rsp,文件中的各个参数作用参考http://docs.oracle.com/cd/E11882_01/em.112/e12255/oui3_response_files.htm#OUICG183

#修改记录如下:
oracle.install.option=INSTALL_DB_SWONLY #只安装软件
UNIX_GROUP_NAME=oinstall      #安装的操作系统用户组
INVENTORY_LOCATION=/u01/app/oraInventory/ #Inventory目录路径
SELECTED_LANGUAGES=en  #安装语言
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db #Oracle Home路径
ORACLE_BASE=/u01/app/oracle/  #Oracle Base路径
oracle.install.db.InstallEdition=EE #数据库版本 EE企业版
oracle.install.db.DBA_GROUP=dba  #DBA组所属的操作系统用户组
oracle.install.db.OPER_GROUP=oinstall #OPER组所属的操作系统用户组
DECLINE_SECURITY_UPDATES=true #必须设置为true,否则需要修改其他信息
#创建Inventory目录
[oracle@rhel6 11.2.0.4_database]$ cd /u01/app/
[oracle@rhel6 app]$ ls
oracle
[oracle@rhel6 app]$ mkdir oraInventory

2、静默安装

[oracle@rhel6 11.2.0.4_database]$ ./runInstaller -silent -force -responseFile /opt/soft/11g/11.2.0.4_database/response/install.rsp 
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 120 MB.   Actual 34496 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 2047 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2016-12-21_05-02-49PM. Please wait ...[oracle@rhel6 11.2.0.4_database]$ [WARNING] [INS-13014] Target environment do not meet some optional requ
irements.   CAUSE: Some of the optional prerequisites are not met. See logs for details. /tmp/OraInstall2016-12-21_05-02-49PM/installActions2016-12-21_05-02-49PM.log
   ACTION: Identify the list of failed prerequisite checks from the log: /tmp/OraInstall2016-12-21_05-02-49PM/installActions2016-12-21_05-02-49PM.log. Then either from the log file or from installation manual f
ind the appropriate configuration to meet the prerequisites and fix it manually.You can find the log of this install session at:
 /u01/app/oraInventory/logs/installActions2016-12-21_05-02-49PM.log
#日志文件:/u01/app/oraInventory/logs/installActions2016-12-21_05-02-49PM.log 
[oracle@rhel6 11.2.0.4_database]$ The installation of Oracle Database 11g was successful.
Please check '/u01/app/oraInventory/logs/silentInstall2016-12-21_05-02-49PM.log' for more details.

As a root user, execute the following script(s):
	1. /u01/app/oraInventory/orainstRoot.sh
	2. /u01/app/oracle/product/11.2.0/db/root.sh


Successfully Setup Software.

3、使用root执行脚本

[root@rhel6 response]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@rhel6 response]# /u01/app/oracle/product/11.2.0/db/root.sh
Check /u01/app/oracle/product/11.2.0/db/install/root_rhel6_2016-12-21_17-12-23.log for the output of root script
[root@rhel6 response]# cat /u01/app/oracle/product/11.2.0/db/install/root_rhel6_2016-12-21_17-12-23.log
Performing root user operation for Oracle 11g 

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/11.2.0/db
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
Finished product-specific root actions.
#测试sqlplus
[oracle@rhel6 11.2.0.4_database]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed Dec 21 17:16:19 2016

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

Connected to an idle instance.

SQL>

4、手工建库

官方文档:http://docs.oracle.com/cd/E11882_01/server.112/e25494/create.htm#CIAEJDBE

4.1 配置环境变量

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db
export ORACLE_SID=mydb
export PATH=$PATH:$ORACLE_HOME/bin
#创建数据文件存储目录
[oracle@rhel6 oracle]$ cd $ORACLE_BASE
[oracle@rhel6 oracle]$ mkdir -p oradata/mydb

4.2 手工创建pfile

#此处只写必要的几个参数,生产上要按照实际情况写参数
[oracle@rhel6 ~]$ cat mydb.ora
db_name=mydb
control_files=/u01/app/oracle/oradata/mydb/control01.ctl,/u01/app/oracle/oradata/mydb/control02.ctl

4.3 启动实例到NOMOUNT状态

[oracle@rhel6 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed Dec 21 17:26:31 2016

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

Connected to an idle instance.

SQL> startup nomount pfile=/home/oracle/mydb.ora;
ORACLE instance started.

Total System Global Area  217157632 bytes
Fixed Size		    2251816 bytes
Variable Size		  159384536 bytes
Database Buffers	   50331648 bytes
Redo Buffers		    5189632 bytes

4.4 创建spfile并重启到NOMOUNT状态

SQL> create spfile from pfile='/home/oracle/mydb.ora';

File created.

SQL> shutdown immediate;
ORA-01507: database not mounted


ORACLE instance shut down.
SQL> startup nomount;
ORACLE instance started.

Total System Global Area  217157632 bytes
Fixed Size		    2251816 bytes
Variable Size		  159384536 bytes
Database Buffers	   50331648 bytes
Redo Buffers		    5189632 bytes

4.4 执行CREATE DATABASE语句创建数据库

SQL> CREATE DATABASE mydb
  2     USER SYS IDENTIFIED BY oracle
  3     USER SYSTEM IDENTIFIED BY oracle
  4     LOGFILE GROUP 1 ('/u01/app/oracle/oradata/redo01.log') SIZE 100M BLOCKSIZE 512,
  5             GROUP 2 ('/u01/app/oracle/oradata/redo02.log') SIZE 100M BLOCKSIZE 512,
  6             GROUP 3 ('/u01/app/oracle/oradata/redo03.log') SIZE 100M BLOCKSIZE 512
  7     MAXLOGFILES 5
  8     MAXLOGMEMBERS 5
  9     MAXLOGHISTORY 1
 10     MAXDATAFILES 100
 11     CHARACTER SET ZHS16GBK
 12     NATIONAL CHARACTER SET AL16UTF16
 13     EXTENT MANAGEMENT LOCAL
 14     DATAFILE '/u01/app/oracle/oradata/mydb/system01.dbf' SIZE 325M REUSE
 15     SYSAUX DATAFILE '/u01/app/oracle/oradata/mydb/sysaux01.dbf' SIZE 325M REUSE
 16     DEFAULT TABLESPACE users
 17        DATAFILE '/u01/app/oracle/oradata/mydb/users01.dbf'
 18        SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
 19     DEFAULT TEMPORARY TABLESPACE tempts1
 20        TEMPFILE '/u01/app/oracle/oradata/mydb/temp01.dbf'
 21        SIZE 20M REUSE
 22     UNDO TABLESPACE undotbs
 23        DATAFILE '/u01/app/oracle/oradata/mydb/undotbs01.dbf'
 24        SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

Database created.

4.5 执行创建数据字典脚本

conn / as sysdba
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
@?/rdbms/admin/utlrp.sql
conn system/oracle
@?/sqlplus/admin/pupbld.sql

5、创建监听并启动

[oracle@rhel6 mydb]$ cd $ORACLE_HOME/network/admin
[oracle@rhel6 admin]$ ls
samples  shrept.lst
[oracle@rhel6 admin]$ vi listener.ora
[oracle@rhel6 admin]$ cat listener.ora 
LISTENER=
  (DESCRIPTION=
    (ADDRESS_LIST=
      (ADDRESS=(PROTOCOL=tcp)(HOST=rhel6)(PORT=1521))
      (ADDRESS=(PROTOCOL=ipc)(KEY=extproc))))
[oracle@rhel6 admin]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 21-DEC-2016 17:41:13

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

Starting /u01/app/oracle/product/11.2.0/db/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.4.0 - Production
System parameter file is /u01/app/oracle/product/11.2.0/db/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/rhel6/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rhel6)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=extproc)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rhel6)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                21-DEC-2016 17:41:15
Uptime                    0 days 0 hr. 0 min. 2 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.2.0/db/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/rhel6/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rhel6)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=extproc)))
The listener supports no services
The command completed successfully

6、测试

C:\Users\victor>sqlplus system/oracle@192.168.56.3/mydb

SQL*Plus: Release 12.1.0.1.0 Production on 星期三 12月 21 17:51:05 2016

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


连接到:
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 open_mode from v$database;

OPEN_MODE
--------------------
READ WRITE

文章题目:Oracle11.2.0.4静默安装软件和创建数据库
文章位置:http://scyanting.com/article/ppojgo.html