oracle.install.db.EEOptionsSelection=false这脚本相关配置情况:
# This variable is used to enable or disable custom install and is considered
# only if InstallEdition is EE.
#
# true : Components mentioned as part of 'optionalComponents' property
# are considered for install.
# false : Value for 'optionalComponents' is not considered.
#------------------------------------------------------------------------------
#oracle.install.db.isCustomInstall=false
oracle.install.db.EEOptionsSelection=false 表示按默认安装企业安装组件
#------------------------------------------------------------------------------
# This variable is considered only if 'EEOptionsSelection' is set to true.
#
# Description: List of Enterprise Edition Options you would like to enable.
#
# The following choices are available. You may specify any
# combination of these choices. The components you choose should
# be specified in the form "internal-component-name:version"
# Below is a list of components you may specify to enable.
#
# oracle.oraolap:11.2.0.3.0 - Oracle OLAP
# oracle.rdbms.dm:11.2.0.3.0 - Oracle Data Mining
# oracle.rdbms.dv:11.2.0.3.0 - Oracle Database Vault
# oracle.rdbms.lbac:11.2.0.3.0 - Oracle Label Security
# oracle.rdbms.partitioning:11.2.0.3.0 - Oracle Partitioning
# oracle.rdbms.rat:11.2.0.3.0 - Oracle Real Application Testing
#------------------------------------------------------------------------------
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.3.0,oracle.oraolap:11.2.0.3.0,oracle.rdbms.dm:11.2.0.3.0,oracle.rdbms.dv:11.2.0.3.0,oracle.rdbms.lbac:11.2.0.3.0,oracle.rdbms.rat:11.2.0.3.0
oracle静默安装应答文件详解:
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0//
标注响应文件版本
oracle.install.option=INSTALL_DB_SWONLY//.只装数据库软件
ORACLE_HOSTNAME=主机名
UNIX_GROUP_NAME=oinstall//
指定oracle inventory目录的所有者
INVENTORY_LOCATION=/u01/app/oraInventory
指定产品清单oracle inventory目录的路径
SELECTED_LANGUAGES=en,zh_CN//指定语言
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_home1//
设置ORALCE_HOME的路径
ORACLE_BASE=/u01/app/oracle//指定ORALCE_BASE的路径
oracle.install.db.InstallEdition=EE//安装数据库软件的版本,企业版
oracle.install.db.EEOptionsSelection=false//手动指定企业安装组件
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0//如果上面选true,这些就是手动指定的组件
oracle.install.db.DBA_GROUP=dba//
指定拥有DBA用户组,通常会是dba组
oracle.install.db.OPER_GROUP=oper//指定oper用户组
oracle.install.db.CLUSTER_NODES=//指定所有的节点
oracle.install.db.isRACOneInstall=false//是否是RACO方式安装
oracle.install.db.racOneServiceName=
oracle.install.db.config.starterdb.type=//
选择数据库的用途,一般用途/事物处理,数据仓库
oracle.install.db.config.starterdb.globalDBName=
指定GlobalName
oracle.install.db.config.starterdb.SID=//你指定的SID
oracle.install.db.config.starterdb.characterSet=AL32UTF8//设置数据库编码
oracle.install.db.config.starterdb.memoryOption=true//
11g的新特性自动内存管理,也就是SGA_TARGET和PAG_AGGREGATE_TARGET都,不用设置了,Oracle会自动调配两部分大小
oracle.install.db.config.starterdb.memoryLimit=
指定Oracle自动管理内存的大小
oracle.install.db.config.starterdb.installExampleSchemas=false
是否载入模板示例
oracle.install.db.config.starterdb.enableSecuritySettings=true
是否启用安全设置
oracle.install.db.config.starterdb.password.ALL=123456所有用户名的密码
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
数据库本地管理工具DB_CONTROL,远程集中管理工具GRID_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
GRID_CONTROL需要设定grid control的远程路径URL
oracle.install.db.config.starterdb.automatedBackup.enable=false
设置自动备份
oracle.install.db.config.starterdb.automatedBackup.osuid=.
自动备份会启动一个job,指定启动JOB的系统用户ID
oracle.install.db.config.starterdb.automatedBackup.ospwd=
自动备份会开启一个job,需要指定OSUser的密码
oracle.install.db.config.starterdb.storageType=
要求指定使用的文件系统存放数据库文件还是ASM
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
使用文件系统存放数据库文件才需要指定数据文件、控制文件、Redo log的存放目录
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
使用文件系统存放数据库文件才需要指定备份恢复目录
oracle.install.db.config.asm.diskGroup=
使用ASM存放数据库文件才需要指定存放的磁盘组
oracle.install.db.config.asm.ASMSNMPPassword=
使用ASM存放数据库文件才需要指定ASM实例密码
MYORACLESUPPORT_USERNAME=
指定metalink账户用户名
MYORACLESUPPORT_PASSWORD=
指定metalink账户密码
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
用户是否可以设置metalink密码
DECLINE_SECURITY_UPDATES=true是否
设置安全更新,
PROXY_HOST=
代理服务器名
PROXY_PORT=
代理服务器端口
PROXY_USER=
代理服务器用户名
PROXY_PWD=
代理服务器密码
PROXY_REALM=
COLLECTOR_SUPPORTHUB_URL=
oracle.installer.autoupdates.option=自动更新
oracle.installer.autoupdates.downloadUpdatesLoc=自动更新下载目录
AUTOUPDATES_MYORACLESUPPORT_USERNAME=自动更新的用户名
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=自动更新的密码
开始静默安装:
11.2.0.1的办法:
cd database
./runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp
安装中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。
查看安装日志信息了解安装进度
cd $ORACLE_BASE/oraInventory/logs
tail -f installActions*.log
出现类似如下提示表示安装完成:
#-------------------------------------------------------------------
/usr/oracle/oraInventory/orainstRoot.sh
/usr/oracle/product/11.2.0/db_1/root.sh
To execute the configuration scripts:
1. Open a terminal window
2. Log in as "root"
3. Run the scripts
4. Return to this window and hit "Enter" key to continue
Successfully Setup Software.
#-------------------------------------------------------------------
使用root用户执行脚本
这里是有两个脚本要执行,跑一下就好
su root
/usr/oracle/product/11.2.0/db_1/root.sh
/usr/oracle/oraInventory/orainstRoot.sh
11.2.0.3的办法:
[oracle@test ~]$ cd database/
[oracle@test database]$ ll
total 64
drwxr-xr-x. 12 oracle oinstall 4096 Sep 19 2011 doc
drwxr-xr-x. 4 oracle oinstall 4096 Sep 22 2011 install
-rwxr-xr-x. 1 oracle oinstall 28122 Sep 22 2011 readme.html
drwxr-xr-x. 2 oracle oinstall 4096 Sep 22 2011 response
drwxr-xr-x. 2 oracle oinstall 4096 Sep 22 2011 rpm
-rwxr-xr-x. 1 oracle oinstall 3226 Sep 22 2011 runInstaller
drwxr-xr-x. 2 oracle oinstall 4096 Sep 22 2011 sshsetup
drwxr-xr-x. 14 oracle oinstall 4096 Sep 22 2011 stage
-rwxr-xr-x. 1 oracle oinstall 5466 Aug 23 2011 welcome.html
[oracle@test database]$ ./runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 112296 MB Passed
Checking swap space: must be greater than 150 MB. Actual 8191 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2018-01-03_05-57-21PM. Please wait ...[oracle@budget-db-t database]$ [FATAL] [INS-10105] The given response file /home/oracle/etc/db_install.rsp is not valid.
CAUSE: Syntactically incorrect response file. Either unexpected variables are specified or expected variables are not specified in the response file.
ACTION: Refer the latest product specific response file template
SUMMARY:
- cvc-complex-type.2.4.d: Invalid content was found starting with element 'oracle.install.db.isCustomInstall'. No child element is expected at this point.
A log of this session is currently saved as: /tmp/OraInstall2018-01-03_05-57-21PM/installActions2018-01-03_05-57-21PM.log. Oracle recommends that if you want to keep this log, you should move it from the temporary location to a more permanent location.
从报错看就是oracle.install.db.isCustomInstall的原因,修改为oracle.install.db.EEOptionsSelection=false就可以了。
[oracle@test database]$ ./runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 112295 MB Passed
Checking swap space: must be greater than 150 MB. Actual 8191 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2018-01-04_11-52-04AM. Please wait ...[oracle@budget-db-t database]$ [WARNING] [INS-32055] The Central Inventory is located in the Oracle base.
CAUSE: The Central Inventory is located in the Oracle base.
ACTION: Oracle recommends placing this Central Inventory in a location outside the Oracle base directory.
[WARNING] [INS-13014] Target environment do not meet some optional requirements.
CAUSE: Some of the optional prerequisites are not met. See logs for details. /tmp/OraInstall2018-01-04_11-52-04AM/installActions2018-01-04_11-52-04AM.log
ACTION: Identify the list of failed prerequisite checks from the log: /tmp/OraInstall2018-01-04_11-52-04AM/installActions2018-01-04_11-52-04AM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
You can find the log of this install session at:
/usr/oracle/oraInventory/logs/installActions2018-01-04_11-52-04AM.log
The installation of Oracle Database 11g was successful.
Please check '/usr/oracle/oraInventory/logs/silentInstall2018-01-04_11-52-04AM.log' for more details.
As a root user, execute the following script(s):
1. /usr/oracle/product/11.2.0/db_1/root.sh
Successfully Setup Software.
可以按了回车后再用root执行脚本。
[oracle@test database]$
[root@test ~]# /usr/oracle/product/11.2.0/db_1/root.sh
Check /usr/oracle/product/11.2.0/db_1/install/root_budget-db-t_2018-01-04_12-11-16.log for the output of root script
[root@test oraInventory]# more /usr/oracle/product/11.2.0/db_1/install/root_budget-db-t_2018-01-04_12-11-16.log
Performing root user operation for Oracle 11g
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /usr/oracle/product/11.2.0/db_1
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.
增加oracle环境变量
su - oracle
vi ~/.bash_profile
在最后加上以下内容
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
export ORACLE_OWNER=oracle
export SPFILE_PATH=$ORACLE_HOME/dbs
export ORA_NLS10=$ORACLE_HOME/nls/data
使设置生效
source /home/oracle/.bash_profile
到这里,oracle11g的数据库实例就算是装好了,接下来配置数据库实例的基本参数文件~
cd $ORACLE_HOME/dbs
找到默认的init.ora,然后创建一个新的init.ora:
cat init.ora|grep -v ^$|grep -v ^# >init$ORACLE_SID.ora
这里如果没建立密码文件,之后用sys用户远程连接数据库会报错。
那时候需要重建密码文件:orapwd file=orapw$ORACLE_SID password=oracle entries=30
ora-01031:insufficient privileges:
sqlplus "/ as sysdba" 连不上,报ora-01031:insufficient privileges解决方法
注意多个数据库实例时候,set ORACLE_SID='',
1、检查sqlnet.ora(WINDOWS下位于%ORACLE_HOME%NETWORKADMIN目录)是否包含这句:SQLNET.AUTHENTICATION_SERVICES=(NTS),没有的话加上
2、检查登陆windows的用户(administrator或安装oracle时候使用的用户)是不是在包含在ORA_DBA组中,域用户没有连上域服务器时就可能出现这种现象。
3. 要保证 remote_login_passwordfile 参数 = EXCLUSIVE .
4. 看看是否需要使用orapassw生成口令文件 .
一种解决方法案例:
1、检查系统参数:
SQL> show parameter password
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
remote_login_passwordfile string EXCLUSIVE
2、
select * from v$pwfile_users;
SQL>
为空
3、
SQL> grant sysdba to sys;
grant sysdba to sys
*
ERROR at line 1:
ORA-01994: GRANT failed: password file missing or disabled
4、建立password文件
D:/>orapwd file="D:/oracle/product/10g/db_1/database/PWDoratest.ora" password=gp
oswong entries=10
5、
SQL> select * from v$pwfile_users;
USERNAME SYSDB SYSOP
------------------------------ ----- -----
SYS TRUE TRUE
SYS正常显示出来。
6、重新在远程以SYSDBA登录,可正常使用。
如果口令文件创建的有问题,也是会报如下的错误:
ora-01031:insufficient privileges
口令文件的命名格式应为orapwsid,并且sid是区分大小写的。由于Target Database连接Auxiliary Database时需要验证口令,
如果违反了以上规则,将会提示ORA-01031: insufficient privileges。
我在用linux创建duplicate数据库的时候 就是因为口令文件创建的路径和名称不对才遇到这个错误。
修改新参数文件里面的<$ORACLE_HOME>为绝对路径,然后把db_name之类的东西改成自己的就好~
[oracle@test dbs]$ pwd
/usr/oracle/product/11.2.0/db_1/dbs
[oracle@test dbs]$ cat initORCL.ora
db_name='ORCL'
memory_target=1G
processes = 150
audit_file_dest='/usr/oracle/admin/ORCL/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/usr/oracle/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/usr/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
control_files = (/usr/oracle/oradata/ORCL/ora_control01.ctl,/usr/oracle/oradata/ORCL/ora_control02.ctl)
compatible ='11.2.0'
然后就可以启动oracle实例了,用sqlplus "/as sysdba"登录进去,然后startup nomount;
如果说MEMORY_TARGET太大了,那么可以在参数文件里面改小一点(这里设置的是81960M,80G),或者修改shm的大小、
用df -h能看到/dev/shm的大小
用mount -o size=102400M -o nrinodes=1000000 -o noatime,nodiratime -o remount /dev/shm来修改shm的大小
然后创建spfile
create spfile from pfile;(具体的这两个东西的资料可以参考我的另一篇文章,spfile和pfile那点事)
如果一切正常,那么会显示出数据库的一些池和缓存的信息,接下来就是创建数据库了,
先创建必要目录
mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/adump
mkdir -p $ORACLE_BASE/oradata/ORCL
PS:稍微注意一下的是,/usr/local/bin下面,几个目录的权限,记得要改成oracle和oinstall的(chown -R oracle:oinstall *),否则启动的时候会提示错误,权限啊,目录操作失败云云
建库脚本如下:
[oracle@test ~]$ cat create_db.sql
CREATE DATABASE ORCL
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE
GROUP 1 ('/usr/oracle/oradata/ORCL/redo01.log') SIZE 512m,
GROUP 2 ('/usr/oracle/oradata/ORCL/redo02.log') size 512m,
GROUP 3 ('/usr/oracle/oradata/ORCL/redo03.log') size 512m,
GROUP 4 ('/usr/oracle/oradata/ORCL/redo04.log') size 512m,
GROUP 5 ('/usr/oracle/oradata/ORCL/redo05.log') size 512m
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 200
MAXDATAFILES 10000
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
datafile '/usr/oracle/oradata/ORCL/system01.dbf' size 1024M REUSE
sysaux datafile '/usr/oracle/oradata/ORCL/sysaux01.dbf' size 1024M REUSE
default temporary tablespace temp
tempfile '/usr/oracle/oradata/ORCL/temp01.dbf' size 512M REUSE
undo tablespace UNDOTBS1
datafile '/usr/oracle/oradata/ORCL/undotbs01.dbf' size 1024M REUSE
AUTOEXTEND ON MAXSIZE UNLIMITED
default tablespace users
datafile '/usr/oracle/oradata/ORCL/users01.dbf' size 8192M REUSE
AUTOEXTEND ON MAXSIZE UNLIMITED;
如果没问题,接下来就创建数据字典和pl/sql包,
sqlplus "/as sysdba"
SQL>@?/rdbms/admin/catalog.sql;
SQL>@?/rdbms/admin/catproc.sql; //视图等
SQL>@?/rdbms/admin/utlrp.sql; //数据字典
SQL>conn system/*****;
SQL>@?/sqlplus/admin/pupbld.sql;
(这几个脚本放在$ORACLE_HOME/rdbms/admin下,也可以先进这个目录,然后直接@脚本就好)
最后shutdown immediate 然后startup吧~
数据库正确open之后,就是配置监听器了,
把\network\admin\listener.ora 和\network\admin\tnsname.ora里面的LOCALHOST改成IP,把SID SID_NAME改成实例名,重启数据库,重启监听
PS:参数文件的service和监听器的service要对上!
[oracle@test admin]$ pwd
/usr/oracle/product/11.2.0/db_1/network/admin
[oracle@test admin]$ ll
total 16
-rw-r--r--. 1 oracle oinstall 363 Jan 4 16:32 listener.ora
drwxr-xr-x. 2 oracle oinstall 4096 Jan 4 11:53 samples
-rw-r--r--. 1 oracle oinstall 205 May 11 2011 shrept.lst
-rw-r--r--. 1 oracle oinstall 175 Jan 4 16:36 tnsnames.ora
[oracle@test admin]$ cat listener.ora
# listener.ora Network Configuration File: /usr/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = test)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = /usr/oracle
[oracle@test admin]$ cat tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = test)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
然后用sqlplus,使用sys或者system登录进去,show parameter;或者select table_name from dba_tables看看是否正常~~
oracle用户下面再看看监听是否正常。
[oracle@test ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 07-JAN-2018 16:31:08
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date 04-JAN-2018 16:34:42
Uptime 2 days 23 hr. 56 min. 26 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /usr/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File /usr/oracle/diag/tnslsnr/test/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=test)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "ORCLXDB" has 1 instance(s).
Instance "ORCL", status READY, has 1 handler(s) for this service...
Service "ORCL" has 1 instance(s).
Instance "ORCL", status READY, has 1 handler(s) for this service...
The command completed successfully
整个oracle 11g 11.2.0.3的单实例的静默安装过程就是这样。