共计 8014 个字符,预计需要花费 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/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
更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-12/138678.htm