Oracle 12 C 静默安装

Oracle静默安装

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系型数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。

 author:石鲁坤

环境配置

1、安装centos6.5操作系统

物理内存不少于1.5G

硬盘可以空间不少于5G

swap分区空间不少于2G

支持256色以上显卡

cpu主频不小于550mHZ

2.下载安装包linuxx64_12201_database.zip的oracle12c第二版本

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle12c-linux-12201-3608234.html

5N17QWTC`WWWI1V[}GVM@V9.png                                                 

3.配置hosts文件

格式:ip    主机名

4.配置yum源

使用默认yum源即可

yum clean all  && yum makecache

5.关闭selinux&iptables

       Vim /etc/selinux/config

       SELINUX=disabled

      

       /etc/init.d/iptables stop

chkconfig iptables off

 

安装部署

 

 

1、安装oracle依赖包关系

yum install -y  binutils  compat-libcap1  compat-libstdc++-33  compat-libstdc++-33.i686  glibc  glibc.i686 glibc-devel glibc-devel.i686 ksh  libaio  libaio.i686  libaio-devel  libaio-devel.i686  libX11  libX11.i686  libXau  libXau.i686 libXi  libXi.i686  libXtst  libXtst.i686  libgcc  libgcc.i686  libstdc++  libstdc++.i686  libstdc++-devel  libstdc++-devel.i686  libxcb  libxcb.i686  make  nfs-utils  net-tools  smartmontools  sysstat  unixODBC  unixODBC-devel    gcc   gcc-c++   libXext   libXext.i686   zlib-devel   zlib-devel.i686

 

 

 

2、修改内核参数

  内核参数调整体现在/etc/sysctl.conf文件中。主要包括对内存调度、端口范围、打开文件数、I/O请求等相关的一些设置,相关数值不可低于安装要求。修改完毕后通过执行sysctl–p命令使新配置立即生效。

 

vim /etc/sysctl.conf  请根据自己实际情况修改,内核参数如下
fs.file-max = 6815744  
kernel.sem = 250 32000 100 128  
kernel.shmmni = 4096  
kernel.shmall = 1073741824  
kernel.shmmax = 4398046511104  
kernel.panic_on_oops = 1  
net.core.rmem_default = 262144  
net.core.rmem_max = 4194304  
net.core.wmem_default = 262144  
net.core.wmem_max = 1048576  
net.ipv4.conf.all.rp_filter = 2  
net.ipv4.conf.default.rp_filter = 2  
fs.aio-max-nr = 1048576  
net.ipv4.ip_local_port_range = 9000 65500

 

SJ_IU6ZLPS1[`1NQ$[LL%IC.png

 

各参数详解:

fs.aio-max-nr:

此参数限制并发未完成的请求,应该设置避免I/O子系统故障。

fs.file-max:

该参数决定了系统中所允许的文件句柄最大数目,文件句柄设置代表linux系统中可以打开的文件的数量。

kernel.shmall:

该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB /4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304才符合要求.

kernel.shmmax:

是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及ServerProcess创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响),但是其他时候都不会有影响。

官方建议值:

32位linux系统:可取最大值为4GB(4294967296bytes)-1byte,即4294967295。建议值为多于内存的一半,所以如果是32为系统,一般可取值为4294967295。

64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,例如,如果为12GB物理内存,可取12*1024*1024*1024-1=12884901887。

kernel.shmmni:

该参数是共享内存段的最大数量。shmmni缺省值4096,一般肯定是够用了。

kernel.sem:

以kernel.sem = 250 32000 100 128为例:

   250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。

   32000是参数semmns的值,表示系统内可允许的信号量最大数目。

    100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。

    128是参数semmni的值,表示系统信号量集合总数。

net.ipv4.ip_local_port_range:

表示应用程序可使用的IPv4端口范围。

net.core.rmem_default:

表示套接字接收缓冲区大小的缺省值。

net.core.rmem_max:

表示套接字接收缓冲区大小的最大值。

net.core.wmem_default:

表示套接字发送缓冲区大小的缺省值。

net.core.wmem_max:

表示套接字发送缓冲区大小的最大值。

 

 

终端执行:

/sbin/sysctl -p    刷新内核参数表

 

 

3、修改内核限制参数

 vim /etc/security/limits.d/20-nproc.conf 
# Default limit for number of user's processes to prevent  
# accidental fork bombs.  
# See rhbz #432903 for reasoning.  
  
*          soft    nproc     4096  
root       soft    nproc     unlimited  
oracle   soft   nofile    1024  
oracle   hard   nofile    65536  
oracle   soft   nproc    16384  
oracle   hard   nproc    16384  
oracle   soft   stack    10240  
oracle   hard   stack    32768  
oracle   hard   memlock    134217728  
oracle   soft   memlock    134217728

KXU)@IB[%ZE]~WNHZ($1331.png

第1行是设置进程数软限制;

第2行是设置进程数硬限制;

第3行是设置文件数软限制;

第4行是设置文件数硬限制

4、创建oracle帐号和组

[root@Oracle ~]# unzip linuxx64_12201_database.zip ^C  
[root@Oracle ~]# groupadd -g 54321 oinstall  
[root@Oracle ~]# groupadd -g 54322 dba  
[root@Oracle ~]# groupadd -g 54323 oper  
[root@Oracle ~]# useradd -u 54321 -g oinstall -G dba,oper oracle  
[root@Oracle ~]# passwd oracle

 

 

5、创建相关数据库目录

 

    mkdir /u01
    mkdir /u01/app
    mkdir -p /u01/app/oracle/oradata         //存放数据库的数据目录
    mkdir -p /u01/app/oracle/oradata_back    //存放数据库备份文件
         chmod -R 775 /u01/app                                        //权限
         chown -R oracle:oinstall /u01                    //属主属组

 

 

6、修改oracle环境变量

  vim /etc/proile         (文件最后加入)
# .bash_profile
 
# Get the aliases and functions 
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
 
# User specific environment and startup programs 
 
PATH=$PATH:$HOME/.local/bin:$HOME/bin
 
export PATH 
# Oracle Settings 
export TMP=/tmp                                   #日志存放位置
export TMPDIR=$TMP
 
export ORACLE_HOSTNAME=Oracle                #主机名
export ORACLE_UNQNAME=cdb1                  #库名称
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0.1/db_1
export ORACLE_SID=cdb1                     #库名称
 
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
 
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib  
export PATH=/usr/sbin:$PATH  
export PATH=$ORACLE_HOME/bin:$PATH  
  
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib  
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

7、解压oracle二进制包至/opt目录下  (解压的目录默认名为database)

unzip linuxx64_12201_database.zip /u01
chown -R oracle:oinstall /u01

 

8、修改配置文件并

进入response目录下,编辑应答文件:

配置文件设置--->http://blog.chinaunix.net/uid-23886490-id-3565908.html

 

vim /u01/database/response/db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0  
oracle.install.option=INSTALL_DB_SWONLY                     //30行安装类型,只装数据库软件
UNIX_GROUP_NAME=oinstall                                              //35行主机名称(hostname查询)
INVENTORY_LOCATION=/u01/app/oracle/oraInventory  //42行INVENTORY目录(不填就是默认值)
ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1   //46行oracle目录
ORACLE_BASE=/u01/app/oracle                                          //51行
oracle.install.db.InstallEdition=EE                                                 //63行oracle版本
oracle.install.db.OSDBA_GROUP=dba                                //80行
oracle.install.db.OSOPER_GROUP=oper                                      //86行 自定义安装,否,使用默认组件
oracle.install.db.OSBACKUPDBA_GROUP=dba                          //91行  
oracle.install.db.OSDGDBA_GROUP=dba                                   //96行
oracle.install.db.OSKMDBA_GROUP=dba                          //101行
oracle.install.db.OSRACDBA_GROUP=dba                        //106行
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE         //180行数据库类型
oracle.install.db.config.starterdb.globalDBName=cdb1     //185行
oracle.install.db.config.starterdb.SID=cdb1                       //190行
oracle.install.db.config.starterdb.characterSet=AL32UTF8   //216行
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false                     //384行
DECLINE_SECURITY_UPDATES=true                                //398行//设置安全更新(貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装。PS:不管地址对不对)

 

 

 

9、开始安装oracle    提醒:切换至oracle用户

cd /u01/database
 ./runInstaller -force -silent -noconfig -responseFile /u01/database/response/db_install.rsp  
 
Starting Oracle Universal Installer...  
  
Checking Temp space: must be greater than 500 MB.   Actual 11715 MB    Passed  
Checking swap space: must be greater than 150 MB.   Actual 2047 MB    Passed  
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2017-04-15_08-36-48PM. P[oracle@Oracle database]$ [WARNING] [INS-32055] The Central Inventory is located in the Oracle base.  
   ACTION: Oracle recommends placing this Central Inventory in a location outside the Oracle base directory.  
You can find the log of this install session at:  
 /u01/app/oracle/oraInventory/logs/installActions2017-04-15_08-36-48PM.log     #日志位置
The installation of Oracle Database 12c was successful.  
Please check '/u01/app/oracle/oraInventory/logs/silentInstall2017-04-15_08-36-48PM.log' for more details.

  

 

可以边装边查看日志

tail –f /u01/app/oracle/oraInventory/logs/installActions2017-04-15_08-36-48PM.log

 

 

报错:

找不到主机名

7R$ZTTKHW9{E$5KQ2PYQU7C.png

Hostname查看一下本机的主机名称是否和/etc/host&/home/oracle/.bash_profile环境变量里的主机名一致

 

 

退出oracle用户的时候会显示一下信息报告脚本位置

As a root user, execute the following script(s):  
        1. /u01/app/oracle/oraInventory/orainstRoot.sh  
        2. /u01/app/oracle/product/12.2.0.1/db_1/root.sh  
        
        
Successfully Setup Software.

_ZEDQ_A`X08428F(]OP7{}Y.png

报错:

此脚本必须为跟,必须是使用跟root用户来执行

N1NNVXB~~%]R{G~]B6H1SIA.png

 

 

10,执行脚本   提醒:切换至oracle用户

      执行两个脚本:注意是用root用户执行的

[root@Oracle ~]# /u01/app/oracle/oraInventory/orainstRoot.sh  
Changing permissions of /u01/app/oracle/oraInventory.  
Adding read,write permissions for group.  
Removing read,write,execute permissions for world.  
  
Changing groupname of /u01/app/oracle/oraInventory to oinstall.  
The execution of the script is complete.  
 
[root@Oracle ~]# /u01/app/oracle/product/12.2.0.1/db_1/root.sh  
Check /u01/app/oracle/product/12.2.0.1/db_1/install/root_Oracle_2017-04-15_20-56-27-813321685.log for the output of root script

 

 

11,静默配置监听     提醒:切换至oracle用户

 netca -silent -responsefile /u01/database/response/netca.rsp

    备注: netca命令是oracle提供的命令,如果显示找不到命令请检查环境变量

    WJ{R)5S_P_%%SU~EF`56K$Y.png

 

12,通过netstat -tlnp 命令查看监听地址      提醒:切换至oracle用户

  tcp  0   0 :::1521        :::*      LISTEN      5477/tnslsnr

 

 

13,静默建立新库提醒:切换至oracle用户 (如果一下各参数在/u01/database/response/dbca.rsp文件中    重复出现,可以全改)

    修改/u01/database/response/dbca.rsp,设置如下:

 

vim /u01/database/response/dbca.rsp
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0//21行不可更改
gdbName=cdb1                    //32
sid=cdb1                      //42
databaseConfigType=SI                  //52
policyManaged=false                //74
createServerPool=false                 //88
force=false                    //127
createAsContainerDatabase=true           //163
numberOfPDBs=1                   //172
pdbName=cdb1pdb                  //182
useLocalUndoForPDBs=true  //192
templateName=/u01/app/oracle/product/12.2.0.1/db_1/assistants/dbca/templates/General_Purpose.dbc                                //223
emExpressPort=5500                 //273
runCVUChecks=false                 //284
omsPort=0                     //313
dvConfiguration=false               //341
olsConfiguration=false               //391
datafileJarLocation={ORACLE_HOME}/assistants/dbca/templates/           //401
datafileDestination={ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/           //411
recoveryAreaDestination={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}    //421
storageType=FS                                         //431
characterSet=AL32UTF8                                        //468字符集创建库之后不可更改
nationalCharacterSet=AL16UTF16                                        //478
registerWithDirService=false                                          //488
listeners=LISTENER                                            //526
variables=DB_UNIQUE_NAME=cdb1,ORACLE_BASE=/u01/app/oracle,PDB_NAME=,DB_NAME=cdb1,ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1,SID=cdb1           //546
 
initParams=undo_tablespace=UNDOTBS1,memory_target=796MB,processes=300,db_recovery_file_dest_size=2780MB,nls_language=AMERICAN,dispatchers=(PROTOCOL=TCP) (SERVICE=cdb1XDB),db_recovery_file_dest={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME},db_block_size=8192BYTES,diagnostic_dest={ORACLE_BASE},audit_file_dest={ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/adump,nls_territory=AMERICA,local_listener=LISTENER_CDB1,compatible=12.2.0,control_files=("{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/control01.ctl", "{ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}/control02.ctl"),db_name=cdb1,audit_trail=db,remote_login_passwordfile=EXCLUSIVE,open_cursors=300                     //555
 
sampleSchema=false                //565
memoryPercentage=40                //574
databaseType=MULTIPURPOSE                  //584
automaticMemoryManagement=true          //594
totalMemory=0                   //604

 

 

 

14,静默建库命令如下 (dbca是oracle命令,如果提示命令找不到,检查环境变量)

cd /u01/database
[oracle@oracle response]$ dbca -silent -createDatabase  -responseFile  /u01/database/response/dbca.rsp  
  
[WARNING] [DBT-06801] Specified Fast Recovery Area size (2,780 MB) is less than the recommended value.  
   CAUSE: Fast Recovery Area size should at least be three times the database size (2,730 MB).  
   ACTION: Specify Fast Recovery Area Size to be at least three times the database size.  
[WARNING] [DBT-11209] Current available physical memory is less than the required physical memory (796MB) for creating the database.  
Enter SYS user password:          #超级管理员密码
  
Enter SYSTEM user password:         #管理员密码
  
Enter PDBADMIN User Password:        #库密码
  
[WARNING] [DBT-06208] The 'SYS' password entered does not conform to the Oracle recommended standards.  
   CAUSE:  
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].  
b.The password entered is a keyword that Oracle does not recommend to be used as password  
   ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.  
[WARNING] [DBT-06208] The 'SYSTEM' password entered does not conform to the Oracle recommended standards.  
   CAUSE:  
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].  
b.The password entered is a keyword that Oracle does not recommend to be used as password  
   ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.  
[WARNING] [DBT-06208] The 'PDBADMIN' password entered does not conform to the Oracle recommended standards.  
   CAUSE:  
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].  
b.The password entered is a keyword that Oracle does not recommend to be used as password  
   ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.  
[WARNING] [DBT-06801] Specified Fast Recovery Area size (2,780 MB) is less than the recommended value.  
   CAUSE: Fast Recovery Area size should at least be three times the database size (3,571 MB).  
   ACTION: Specify Fast Recovery Area Size to be at least three times the database size.  
Copying database files  
1% complete  
13% complete  
25% complete  
Creating and starting Oracle instance  
26% complete  
30% complete  
31% complete  
35% complete  
38% complete  
39% complete  
41% complete  
Completing Database Creation  
42% complete  
43% complete  
44% complete  
46% complete  
49% complete  
50% complete  
Creating Pluggable Databases  
55% complete  
75% complete  
Executing Post Configuration Actions  
100% complete  
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/cdb1/cdb1.log" for further details.

      数据库信息:

      全局数据库名:

      系统标识符 (SID):   如有相关显示  则表明成功

 

 

15,检查oracle进程状态

 ps -ef | grep ora_ | grep -v grep
 lsnrctl status  (lsnrctl是oracle命令)

 

 

16,登录数据库  提醒:切换至oracle用户

 

[oracle@Oracle response]$ sqlplus / as sysdba  
SQL*Plus: Release 12.2.0.1.0 Production on Sat Apr 15 23:07:08 2017  
  
Copyright (c) 1982, 2016, Oracle.  All rights reserved.  
  
  
Connected to:  
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production  
  
SQL> select open_mode from v$database;  
  
OPEN_MODE  
--------------------  
READ WRITE  
  
SQL> select status from v$instance;  
  
STATUS  
------------  
OPEN  
 
Oracle库操作
 
sqlplus / as sysdba                   // 登录数据库
alter user sys identified by oracle;   //改sys超级管理员密码
alter user system identified by oracle; //改system管理员密码
exit                           // 退出数据库
sqlplus sys/oracle as sysdba       //使用sys超级管理员登录数据库
startup                  // 启动数据库

 

ZA)~3JON(K@BM00VN]E0FJG.png

 

 

Select name from v$database;         //查看数据库
Shutdown abort                //关闭数据库

 

4ID)5E3L2{S~EAE%IP7`$4F.png

Conn system/oracle               //切换用户conn后面直接跟用户名和密码就可以

 

 

 

 

17,修改oracle启动配置文件

完成oracle11g数据库的安装后,相关服务器会自动启用,但并不表示下次开机后oracle服务器仍然可用。下面将介绍oracle的基本服务组件,以及如何编写服务脚本来控制oracle数据库系统的自动运行。

根据上面的安装过程,oracle11g的数据库软件将安装在变量ORACLE_HOME所北定的位置。例如/opt/oracle/product/11.2.0/dbhome_1/,而各种服务器组件程序(也包括sqlplus命令)正是位于其中的bin子目录下。

Oracle11g数据库的基本服务组件如下所述:(注:oracle服务组件最好以oracle用户身份运行如:su - oracle)

lsnrctl:监听器程序,用来提供数据库访问,默认监听TCP 1521端口。

dbstart、dbshut:数据库控制程序,用来启动、停止数据库实例。

emctl:管理器控制工具,用来控制OEM平台的开启与关闭,OEM平台通过1158端口提供HTTPS访问,5520端口提供TCP访问。

为了方便执行oracle11g的服务组件程序,建议对所有用户的环境配置作进一步的优化调整、补充PATH路径、oracle终端类型等变量设置。除此以外,还应该修改/etc/oratab配置文件,以便运行dbstart时自动启用数据库实例。

 

$vim /etc/oratab

    racl:/u01/app/oracle/product/11.2.0/db_1:Y  //把“N”改成“Y”

    这样就可以通过dbstart 启动此实例,也可以通过dbshut关闭此实例了。

    $ dbshut /u01/app/oracle/product/11.2.0/db_1/

    Processing Database instance "hello": log file     /u01/app/oracle/product/11.2.0/db_1/shutdown.log

    此时所有oracle的进程关闭,监听器也停止。

    $dbstart /u01/app/oracle/product/11.2.0/db_1/

    Processing Database instance "hello": log file     /u01/app/oracle/product/11.2.0/db_1/startup.log

    此时监听器工作,hello实例运行,再次查看监听器状态。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值