ITPub博客

首页 > 数据库 > Oracle > Oracle 11g 静默安装

Oracle 11g 静默安装

原创 Oracle 作者:ywxj_001 时间:2018-01-07 12:13:09 0 删除 编辑
1.操作系统及Oracle版本:
Linux版本:CentOS release 6.6 (Final)
Oracle版本:Oracle Database 11g Release 2 (11.2.0.3.0) for Linux x86-64(p10404530_112030_Linux-x86-64_1of7.zip、p10404530_112030_Linux-x86-64_2of7.zip)
如果是Oracle Database 11g Release 2 (11.2.0.1.0) for Linux x86-64版本,见下文链接:
http://m.blog.itpub.net/29510932/viewspace-1135313/

2.硬件检测:
物理内存不少于1G
硬盘可以空间
不少于5G
swap分区空间不少于2G
支持256色以上显卡

cpu主频不小于550mHZ

cat /etc/issue
uname -r (版本)
grep MemTotal /proc/meminfo (内存大小)
grep SwapTotal /proc/meminfo (交换区大小)
grep "model name" /proc/cpuinfo (CPU信息)
free (可用内存)

3.检查安装依赖系统包
操作系统依赖的具体包,请参考官方安装文档。
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
glibc-headers-2.5
ksh-20060214
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
sysstat-7.0.2
unixODBC-2.2.11 (32-bit) or later
unixODBC-devel-2.2.11 (64-bit) or later
unixODBC-2.2.11 (64-bit) or later
 
检查依赖包
 
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc-2.5 glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
如果包有显示is not installed(没安装),就用yum install 命令安装,如:
 
yum install compat-libstdc++-33

我是64位系统,也可以这样弄:

在线打rpm包

64位

yum install -y binutils* glibc* nss-softokn-freebl* compat-libstdc* gcc-c* glibc-common* glibc-devel* glibc-headers* elfutils-libelf* elfutils-libelf-devel* gcc-c* libaio* libaio-devel* libgcc* libstdc* libstdc++-devel* make* numactl-devel* sysstat* compat-libcap*

32位

yum install -y libgcc*i686* libstdc++-4*i686* libstdc++-devel-4*i686* compat-libstdc++-33*i686* glibc-2*i686*  nss-softokn-freebl-3*i686*  glibc-devel-2*i686*  libaio-0*i686*  libaio-devel-0*i686*  compat-libcap1-*i686*

4.创建所需的操作系统组和用户,设置些服务:

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
设置oracle用户密码
 
passwd oracle

root下执行:

chkconfig iptables off

chkconfig NetworkManager off

service iptables stop

service NetworkManager stop

vi /etc/sysconfig/network

HOSTNAME=test

setenforce 0

vi /etc/selinux/config

SELINUX=disabled

vi /etc/hosts      (hosts里必须要有127.0.0.1 localhost,否则安装会报错)

最下面添加

192.168.72.21         主机名
比如:
10.0.40.78              test

5.修改内核参数
在/etc/sysctl.conf 文件中,使用文本编辑器或vi命令增加或修改以下参数
[root@test ~]# vi /etc/sysctl.conf 
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
修改后,使设置生效

/etc/sysctl -p

6.修改用户限制
root用户下面:
在/etc/security/limits.conf 文件中,使用文本编辑器或vi命令增加或修改以下参数
 
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
在/etc/pam.d/login 文件中,使用文本编辑器或vi命令增加或修改以下内容
 
session required /lib/security/pam_limits.so
session required pam_limits.so
在/etc/profile 文件中,使用文本编辑器或vi命令增加或修改以下内容
 
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
使设置生效
 
source /etc/profile
[root@test ~]# source /etc/profile

7.创建安装目录(可根据情况,选择比较多空间的目录创建)
root下:
mkdir -p /usr/oracle
chown -R oracle:oinstall /usr/oracle
chmod -R 775 /usr/oracle
 
8.创建/etc/oraInst.loc文件,内容如下
root下:
vi /etc/oraInst.loc
inventory_loc=/usr/oracle/oraInventory
inst_group=oinstall
更改文件的权限
 
chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc
9.设置oracle环境变量
 
su - oracle
 
vi ~/.bash_profile
 
在最后加上以下内容
 
export ORACLE_BASE=/usr/oracle
export ORACLE_SID=orcl
注意,除了ORACLE_BASE和ORACLE_SID,( /etc/profile和.bash_profile中)不设置任何oracle相关环境变量(ORACLE_HOME, PATH, LD_LIBRARY_PATH等)。
 
使设置生效
 
source /home/oracle/.bash_profile
检查环境变量: 
env

同时,在使用静默安装的时候会检查DISPLAY的设置,如果经常说检查DISPLAY不行的话,到root用户下执行“xhost + 你的ip:0.0“
如果有以下报错,按如下办法处理:
[root@test etc]# xhost +
-bash: xhost: command not found
[root@test etc]# yum whatprovides "*/xhost"
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.cn99.com
 * updates: mirrors.163.com
base/filelists_db                                                                                              | 6.4 MB     00:00     
extras/filelists_db                                                                                            |  26 kB     00:00     
updates/filelists_db                                                                                           | 3.3 MB     00:00     
xorg-x11-server-utils-7.7-14.el6.x86_64 : X.Org X11 X server utilities
Repo        : base
Matched from:
Filename    : /usr/bin/xhost

[root@test etc]# yum install xorg-x11-server-utils-7.7-14.el6.x86_64
安装完成后:
[root@test etc]# xhost +10.0.40.78:0.0
xhost:  unable to open display ""
[root@test etc]# xhost + 10.0.40.78:0.0
xhost:  unable to open display ""
[root@test etc]# xhost +
xhost:  unable to open display ""

如果是图形化安装需要装jdk
yum install java-1.7.0-openjdk-devel.x86_64 -y

10.解压oracle安装文件
root@test ~]# ll
total 3398348
-rw-------. 1 root root       1283 Nov  2  2008 anaconda-ks.cfg
-rw-r--r--. 1 root root      27632 Nov  2  2008 install.log
-rw-r--r--. 1 root root       7572 Nov  2  2008 install.log.syslog
-rw-r--r--. 1 root root 1358454646 Dec  9  2016 p10404530_112030_Linux-x86-64_1of7.zip
-rw-r--r--. 1 root root 1142195302 Dec  9  2016 p10404530_112030_Linux-x86-64_2of7.zip
-rw-r--r--. 1 root root  979195792 Dec  9  2016 p10404530_112030_Linux-x86-64_3of7.zip
[root@test ~]# cp p10404530_112030_Linux-x86-64_1of7.zip /home/oracle/
[root@test ~]# cp p10404530_112030_Linux-x86-64_2of7.zip /home/oracle/
[root@test ~]# ll /home/oracle/
total 2442044
-rw-r--r--. 1 root root 1358454646 Jan  2 19:30 p10404530_112030_Linux-x86-64_1of7.zip
-rw-r--r--. 1 root root 1142195302 Jan  2 19:30 p10404530_112030_Linux-x86-64_2of7.zip
[root@test ~]# chown -R oracle:oinstall /home/oracle/
[root@test ~]# ll /home/oracle/
total 2442052
-rw-r--r--. 1 oracle oinstall 1358454646 Jan  2 19:30 p10404530_112030_Linux-x86-64_1of7.zip
-rw-r--r--. 1 oracle oinstall 1142195302 Jan  2 19:30 p10404530_112030_Linux-x86-64_2of7.zip
[root@test ~]# su - oracle
[oracle@test ~]$ ll
total 2442052
-rw-r--r--. 1 oracle oinstall 1358454646 Jan  2 19:30 p10404530_112030_Linux-x86-64_1of7.zip
-rw-r--r--. 1 oracle oinstall 1142195302 Jan  2 19:30 p10404530_112030_Linux-x86-64_2of7.zip
[oracle@test ~]$ unzip p10404530_112030_Linux-x86-64_1of7.zip
[oracle@test  ~]$ ll
total 2442056
drwxr-xr-x. 8 oracle oinstall       4096 Sep 22  2011 database
-rw-r--r--. 1 oracle oinstall 1358454646 Jan  2 19:30 p10404530_112030_Linux-x86-64_1of7.zip
-rw-r--r--. 1 oracle oinstall 1142195302 Jan  2 19:30 p10404530_112030_Linux-x86-64_2of7.zip
[oracle@test  ~]$ unzip p10404530_112030_Linux-x86-64_2of7.zip 

11.复制响应文件模板
oracle用户下: 
[oracle@test ~]$mkdir etc
mkdir etc
cp /home/oracle/database/response/* /home/oracle/etc/
设置响应文件权限
 
su - root
chmod 700 /home/oracle/etc/*.rsp(注意所有者,oinstall)
[oracle@test ~]$ cd etc
[oracle@test etc]$ ll
total 80
-rwx------. 1 oracle oinstall 44533 Jan  3 11:41 dbca.rsp
-rwx------. 1 oracle oinstall 25205 Jan  4 11:49 db_install.rsp
-rwx------. 1 oracle oinstall  5871 Jan  3 11:41 netca.rsp

12.静默安装Oracle软件
 
su - oracle
修改安装Oracle软件的响应文件/home/oracle/etc/db_install.rsp
 重点:
oracle.install.option=INSTALL_DB_SWONLY // 安装类型
ORACLE_HOSTNAME=db // 主机名称(hostname查询)
UNIX_GROUP_NAME=oinstall // 安装组
INVENTORY_LOCATION=/usr/oracle/oraInventory //INVENTORY目录(不填就是默认值)
SELECTED_LANGUAGES=en,zh_CN,zh_TW // 选择语言
ORACLE_HOME=/usr/oracle/product/11.2.0/db_1 // oracle_home
ORACLE_BASE=/usr/oracle // oracle_base
oracle.install.db.InstallEdition=EE // oracle版本
oracle.install.db.isCustomInstall=false //自定义安装,否,使用默认组件  
oracle.install.db.isCustomInstall=false这句脚本在11.2.0.3里面没有,11.2.0.3里面是这句脚本:
oracle.install.db.EEOptionsSelection=false
oracle.install.db.DBA_GROUP=dba // dba用户组
oracle.install.db.OPER_GROUP=oinstall // oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl //globalDBName
oracle.install.db.config.starterdb.SID=orcl //SID
oracle.install.db.config.starterdb.memoryLimit=81920 //自动管理内存的内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle //设定所有数据库用户使用同一个密码
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false(手动写了false)
DECLINE_SECURITY_UPDATES=true //设置安全更新(貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装。PS:不管地址对不对)


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的单实例的静默安装过程就是这样。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22996654/viewspace-2149816/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
在零售、金融、互联网行业从事数据库相关工作10余年,有丰富的数据库管理和架构的相关经验。 涉及SQLServer、Oracle、MySQL、PostgreSQL等多种数据库。 目前在一家互联网公司担任DBA经理。 负责整个集团数据库的架构设计和管理工作。

注册时间:2010-01-19

  • 博文量
    247
  • 访问量
    436205