在没有图形界面的情况时,安装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
本文出自 “DBA Fighting!” 博客,请务必保留此出处http://hbxztc.blog.51cto.com/1587495/1884833
原文地址:http://hbxztc.blog.51cto.com/1587495/1884833