Oracle 11.2.0.4静默安装软件和创建数据库

lcb0 2016-12-21

在没有图形界面的情况时,安装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/[email protected]/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

相关推荐