> 数据库 > Oracle >

Oracel 12cR1 install for Oracle Linux 6.6

Oracel 12cR1install for Oracle Linux 6.5

一、安装前准备

1. 软件下载:

Database software:

db12102_V46095-01_1of2.zip

db12102_V46095-01_2of2.zip

 

下载地址:

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

或是:http://edelivery.oracle.com/

 

Grid Infrastructure

gi12012_V46096-01_1of2.zip

gi12012_V46096-01_1of2.zip

 

下载地址:

http://edelivery.oracle.com/

 

2. 系统空间需求:

硬盘空间最低要求:6.5G以上

内存空间最低要求:2G以上

SWAP空间分配 :

RAM

Swap Space

Between 1 GB and 2 GB

1.5 times the size of RAM

Between 2 GB and 16 GB

Equal to the size of RAM

More than 16 GB

16G

 

 

3. /etc/hosts文件

修改/etc/hosts文件,必需包含一个全限定名

<IP-address>  <fully-qualified-machine-name>  <machine-name>

 

例如:

127.0.0.1       localhost.localdomain  localhost
192.168.0.210   ol6-121.localdomain    ol6-121

 

4. 操作系统配置

在Oracle 12c可以自动或手动完成一些系统的基本配置

 

自动配置

可以使用 "oracle-rdbms-server-12cR1-preinstall"包执行所有预安装步骤,通过下面的命令:

# yum install oracle-rdbms-server-12cR1-preinstall -y

 

注意:如果没有安装yum库,要首先安装yum库,通过下面的方法

 

也可在安装之前最后做一次完全的包更新(非必需)

# yum update
# yum install oracle-rdbms-server-12cR1-preinstall -y

 

 

手动配置

如果不使用"oracle-rdbms-server-12cR1-preinstall"包执行预安装操作,你需要手动执行下面的安装步骤:

 

◆添加或修改/etc/sysctl.conf文件

fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500

 

执行生效

/sbin/sysctl -p

 

◆修改/etc/security/limits.conf文件

oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   nproc    16384
oracle   hard   nproc    16384
oracle   soft   stack    10240
oracle   hard   stack    32768

 

◆安装必需系统rpm包

# From Public Yum or ULN
yum install binutils -y
yum install compat-libcap1 -y
yum install compat-libstdc++-33 -y
yum install compat-libstdc++-33.i686 -y
yum install gcc -y
yum install gcc-c++ -y
yum install glibc -y
yum install glibc.i686 -y
yum install glibc-devel -y
yum install glibc-devel.i686 -y
yum install ksh -y
yum install libgcc -y
yum install libgcc.i686 -y
yum install libstdc++ -y
yum install libstdc++.i686 -y
yum install libstdc++-devel -y
yum install libstdc++-devel.i686 -y
yum install libaio -y
yum install libaio.i686 -y
yum install libaio-devel -y
yum install libaio-devel.i686 -y
yum install libXext -y
yum install libXext.i686 -y
yum install libXtst -y
yum install libXtst.i686 -y
yum install libX11 -y
yum install libX11.i686 -y
yum install libXau -y
yum install libXau.i686 -y
yum install libxcb -y
yum install libxcb.i686 -y
yum install libXi -y
yum install libXi.i686 -y
yum install make -y
yum install sysstat -y
yum install unixODBC -y
yum install unixODBC-devel -y

 

通过下面的命令检查包的完整性:

# rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' \binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel libXext libXtst libX11 libXau libxcb libXi make sysstat unixODBC unixODBC-devel

 

◆创建用户组和用户

groupadd oinstall默认已经有
groupadd dba默认已经有
groupadd oper
groupadd asmadmin

	
userdel oracle   
cd /home rm -rf oracle
useradd -g oinstall -G dba,oper,asmadmin oracle
passwd oracle

 

5. 其它必要系统配置

 

设置oracle用户密码

passwd oracle

 

 

修改90-nproc.conf文件

在文件“/etc/security/limits.d/90-nproc.conf”添加下面的内容

 

$ vi /etc/security/limits.d/90-nproc.conf
# Change this
*          soft    nproc    1024

	
# To this
* - nproc 16384

 

修改"/etc/selinux/config"文件

SELINUX=permissive #或是enforcing

 

执行下面的命令使生效或重启服务器

# setenforce Permissive

 

关闭防火墙

# service iptables stop
# chkconfig iptables off

 

创建软件安装目录

mkdir -p /u01/app/oracle/product/12.1.0.2/db_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01

 

设置环境变量

su - oracle

vi .bash_profile

# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_TERM=xterm
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0.2/db_1
export ORACLE_GRID=$ORACLE_BASE/product/12.1.0.2/grid
export ORACLE_SID=ocbi
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$ORACLE_GRID/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/usr/X11R6/lib64
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export ALERT=$ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace
stty erase ^H
umask 022
if [ $USER = "oracle" ]; then
 if [ $SHELL = "/bin/ksh" ]; then
       ulimit -p 16384
       ulimit -n 65536
    else
       ulimit -u 16384 -n 65536
            fi
           fi

 

 

创建ASM分区(grid use)

fdisk -l

[root@racdb ~]# fdisk -l

 

Disk /dev/sda: 107.4 GB, 107374182400 bytes

255 heads, 63 sectors/track, 13054cylinders

Units = cylinders of 16065 * 512 = 8225280bytes

Sector size (logical/physical): 512 bytes /512 bytes

I/O size (minimum/optimal): 512 bytes / 512bytes

Disk identifier: 0x0008977b

 

  Device Boot      Start         End      Blocks  Id  System

/dev/sda1  *           1          26      204800  83  Linux

Partition 1 does not end on cylinderboundary.

/dev/sda2              26       11971   95947776   83  Linux

/dev/sda3           11971       13055    8704000   82  Linux swap / Solaris

 

Disk /dev/sdb: 53.7 GB, 53687091200 bytes

64 heads, 32 sectors/track, 51200 cylinders

Units = cylinders of 2048 * 512 = 1048576bytes

Sector size (logical/physical): 512 bytes /512 bytes

I/O size (minimum/optimal): 512 bytes / 512bytes

Disk identifier: 0x00000000

 

Disk /dev/sdc: 21.5 GB, 21474836480 bytes

64 heads, 32 sectors/track, 20480 cylinders

Units = cylinders of 2048 * 512 = 1048576bytes

Sector size (logical/physical): 512 bytes /512 bytes

I/O size (minimum/optimal): 512 bytes / 512bytes

Disk identifier: 0x00000000

 

[root@racdb ~]#

fdisk /dev/sdb

n p 1 w

 

[root@racdb soft]# rpm -qa oracleasm*

oracleasm-support-2.1.8-1.el6.x86_64

 

rpm -vih asmlib

 

[root@racdb ~]# /etc/init.d/oracleasmconfigure

Configuring the Oracle ASM library driver.

 

This will configure the on-boot propertiesof the Oracle ASM library

driver. The following questions will determine whether the driver is

loaded on boot and what permissions it willhave.  The current values

will be shown in brackets ('[]').  Hitting <ENTER> without typing an

answer will keep that current value.  Ctrl-C will abort.

 

Default user to own the driver interface[]: oracle

Default group to own the driver interface[]: asmadmin

Start Oracle ASM library driver on boot(y/n) [n]: y

Scan for Oracle ASM disks on boot (y/n)[y]: y

Writing Oracle ASM library driverconfiguration: done

Initializing the Oracle ASMLib driver:[  OK ]

Scanning the system for Oracle ASMLibdisks: [  OK  ]

 

[root@racdb ~]# /etc/init.d/oracleasmcreatedisk v1 /dev/sdb1

Marking disk "v1" as an ASM disk:[  OK ]

[root@racdb ~]# /etc/init.d/oracleasmcreatedisk v2 /dev/sdc1

Marking disk "v2" as an ASM disk:[  OK ]

 

[root@racdb ~]# /etc/init.d/oracleasmlistdisks

V1

V2

 

二、Database软件安装

1. 解压缩安装包

unzip db12102_V46095-01_1of2.zip

unzip db12102_V46095-01_2of2.zip

 

2. 设置图形环境变量

启动Xmanage

[root@racdb ~]# su - oracle

[oracle@racdb ~]$ cd /soft

 [oracle@racdb soft]$ ll

总用量 4963016

drwxr-xr-x. 7 oracleoinstall       4096 7月   7 2014 database

-rw-r--r--. 1 oracle oinstall 16735447241月   5 14:28db12102_V46095-01_1of2.zip

-rw-r--r--. 1 oracle oinstall1014530602 1月   5 14:26db12102_V46095-01_2of2.zip

-rw-r--r--. 1 oracle oinstall1747043545 1月   5 15:31gi12012_V46096-01_1of2.zip

-rw-r--r--. 1 oracleoinstall  646972897 1月   5 15:23 gi12012_V46096-01_2of2.zip

drwxr-xr-x. 7 oracleoinstall       4096 7月   7 2014 grid

[oracle@racdb ~]$ exportDISPLAY=10.1.5.240:0.0

[oracle@racdb soft]$ cddatabase/

 

3. 安装DB产品

 

[oracle@racdb database]$ ./runInstaller

◆Step1:配置安全更新

◆Step2:安装选项

 

◆Step3:网格安装类型

 

◆Step4:选择语言

 

◆Step5:选择数据库版本

 

◆Step6:安装位置

 

 

◆Step7:创建产品清单

 

◆Step8:操作系统组

 

◆Step9:先决条件检查及概要

 

◆Step10:安装产品

 

◆Step11:执行root脚本

 

在ssh会话端,root登录,执行root脚本:

[root@racdb ~]#/u01/app/oraInventory/orainstRoot.sh

更改权限/u01/app/oraInventory.

添加组的读取和写入权限。

删除全局的读取, 写入和执行权限。

 

更改组名/u01/app/oraInventory 到 oinstall.

脚本的执行已完成。

[root@racdb ~]#/u01/app/oracle/product/12.1.0.2/db_1/root.sh

Performing root user operation.

 

The following environment variables are setas:

   ORACLE_OWNER= oracle

   ORACLE_HOME= /u01/app/oracle/product/12.1.0.2/db_1

 

Enter the full pathname of the local bindirectory: [/usr/local/bin]:

  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/oratabfile as needed by

Database Configuration Assistant when adatabase is created

Finished running generic part of rootscript.

Now product-specific root actions will beperformed.

 

◆Step12:安装完成

执行完两root脚本后,返回上面界面点”确定”

 

点”关闭”完成安装

 

总结:

通过安装步骤可以看到oracle12c和oracle11g没有太大的区别,除了在系统用户组步骤中多出几个可选的系统管理用户组,其它步骤基本一致.

三、Grid Infrastructure安装

1. 安装GI产品

./runInstaller

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

点”是”,自动运行root脚本,之后继续安装

 

 

完成安装

 

2. 创建ASM磁盘

./asmca

 

 

3. 测试安装

查看服务状态:

 

查看监听状态:

[oracle@racdb bin]$ lsnrctlstatus

 

LSNRCTL for Linux: Version12.1.0.2.0 - Production on 08-1月 -2015 15:03:55

 

Copyright (c) 1991, 2014,Oracle.  All rights reserved.

 

正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

LISTENER 的 STATUS

------------------------

别名                      LISTENER

版本                      TNSLSNRfor Linux: Version 12.1.0.2.0 - Production

启动日期                  08-1月 -201514:48:46

正常运行时间              0 天 0 小时 15 分 10 秒

跟踪级别                  off

安全性                    ON: LocalOS Authentication

SNMP                      OFF

监听程序参数文件         /u01/app/oracle/product/12.1.0/grid/network/admin/listener.ora

监听程序日志文件         /u01/app/oracle/diag/tnslsnr/racdb/listener/alert/log.xml

监听端点概要...

 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=racdb.localdomain)(PORT=1521)))

 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

服务摘要..

服务 "+ASM" 包含 1 个实例。

  实例 "+ASM", 状态 READY, 包含此服务的 1 个处理程序...

命令执行成功

 

 

总结:

通过GI安装步骤可以看到oracle12c和oracle11g也有没有太大的区别,但增加了在管理选项中注册Cloud Control 的功能;另外,增加了自动执行root脚本的功能。

在命令上,oracle12彻底去掉了oracle10g中的一些旧的命令,如crs_stat,crs_start等命令。

 

 

四、创建数据库 (Container & Pluggable)

dbca命令创建数据库

$ dbca

Step1:启动创建

 

Step2:简单默认模式安装

Oracle2015

上面选择了非高级模式,参数都为默认。

 

Setp2:高级模式安装

如果选“高级模式”,安装步骤如下:

Step3:数据库模板类型

 

Step4:数据库标识(Container & Pluggable)

指定全局数据库名(容器数据库)和可插拔的数据库名

 

 

Step5:管理选项(EM)

指定是用EM管理或是Cloud Control EM管理

 

 

 

Step6:数据库身份证明(密码)

 

Step7:网络配置(选择监听)

 

Step8:存储位置(ASM)

Step9:数据库选项(DB Vault)

Step10:初始化参数

 

Step11:创建数据库

 

Step12:先决条件检查及概要

 

Stetp13:进行安装

 

Step14:安装完成

 

查看监听

 

五、后续步骤

 

Express 12c监控界面

在Oracle 12c的版本中,引入了简化的EM版本,这一版本被称为:EM Database Express 12c。 Express版本的EM对之前的EM做出了大量的简化,使之更加轻量级(整个部署的空间需求在50M ~ 100M左右),更加适合用于轻量级的数据库监控和性能管理。

Express版本的EM对于企业环境的简单数据库管理和监控是非常实用和快捷的,这是12c对于用户反馈的一个功能简化和改进。

 

EM Express配置非常简单,底层需要XML DB的支持,在Oracle12c中,XDB是强制安装的,所以在数据库安装完成之后,只需要确认基本的XDB配置,设置端口即可启用EM Express,以下配置8080端口作为EM Express的监听端口:

SQL> show parameterdispatchers

 

NAME                                 TYPE        VALUE

----------------------------------------------- ------------------------------

dispatchers                          string      (PROTOCOL=TCP) (SERVICE=RC12CXDB)

max_dispatchers                      integer    

 

SQL> execDBMS_XDB_CONFIG.setHTTPPort(5500); --默认端口

 

PL/SQL procedure successfullycompleted.

 

[oracle@racdb bin]$ lsnrctlstatus

 

LSNRCTL for Linux: Version12.1.0.2.0 - Production on 09-1月 -2015 17:01:00

 

Copyright (c) 1991, 2014,Oracle.  All rights reserved.

 

正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

LISTENER 的 STATUS

------------------------

别名                      LISTENER

版本                      TNSLSNRfor Linux: Version 12.1.0.2.0 - Production

启动日期                  08-1月 -201514:48:46

正常运行时间              1 天 2 小时 12 分 14 秒

跟踪级别                  off

安全性                    ON: LocalOS Authentication

SNMP                      OFF

监听程序参数文件         /u01/app/oracle/product/12.1.0/grid/network/admin/listener.ora

监听程序日志文件         /u01/app/oracle/diag/tnslsnr/racdb/listener/alert/log.xml

监听端点概要...

 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=racdb.localdomain)(PORT=1521)))

 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=racdb.localdomain)(PORT=5500))(Security=(my_wallet_directory=/u01/app/oracle/admin/RC12C/xdb_wallet))(Presentation=HTTP)(Session=RAW))

服务摘要..

服务 "+ASM" 包含 1 个实例。

  实例 "+ASM", 状态 READY, 包含此服务的 1 个处理程序...

服务 "RC12C" 包含 1 个实例。

  实例 "RC12C",状态 READY, 包含此服务的 1 个处理程序...

服务 "RC12CXDB" 包含 1 个实例。

  实例 "RC12C",状态 READY, 包含此服务的 1 个处理程序...

服务 "ocbi1" 包含 1 个实例。

  实例 "RC12C",状态 READY, 包含此服务的 1 个处理程序...

服务 "ocbi2" 包含 1 个实例。

  实例 "RC12C",状态 READY, 包含此服务的 1 个处理程序...

命令执行成功

 

打开Oracle Enterprise Manager DatabaseExpress 12c监控界面

https://racdb.localdomain:5500/em/

 

 

 

登录之后的页面非常简洁,解决了之前EM对于简单应用的臃肿冗余问题:

 

 

 

在性能监控上,EM Express也提供了非常直观和简洁的纬度展现:

 

对于CDB来说,EM ExpressCDB$ROOT中执行,缺省显示的是ROOT中的信息,由于PDBAWR信息也存储在ROOT容器中,所以优化和性能信息在全局可见。

 

修改/etc/oratab文件

Edit the "/etc/oratab" file setting therestart flag for each instance to 'Y'.

+ASM:/u01/app/oracle/product/12.1.0/grid:Y              # line added by Agent

RC12C:/u01/app/oracle/product/12.1.0.2/db_1:Y           # line added by Agent

 

添加 CC Agent12c

在EM Cloud Control 12c上,推送安装目标服务器的agent12c(另见agent12c安装文档)

 

安装完成后,添加目标数据库

 

 

 

 

 

 

这样,就可以通过EM Cloud Control 12c对目标数据库和服务器进行监控和管理了。

 

Express 12c问题

If Database Express 12c is not working, check theXMLDB HTTP port. If it is 0, set it to the port you want to use.

SQL> SELECTdbms_xdb_config.gethttpsport FROM dual;

 

GETHTTPSPORT

------------

        5500

 

SQL> EXECdbms_xdb_config.sethttpsport(5500);

 

PL/SQL procedure successfullycompleted.

 

SQL>

 

 

六、Oracle 12c新特性

1. Pluggable Database

在Oracle Database 12c中,可组装式数据库 - Pluggable Database为云计算而生。在12c以前,Oracle数据库是通过Schema来进行用户模式隔离的,现在,可组装式数据库可以让此前意义上的多个数据库一起共存。 

Pluggable Database 其体系结构的核心是: 

由一个容器数据库(CDB)和多个可组装式数据库(PDB)构成,PDB包含独立的系统表空间和SYSAUX表空间等,但是所有PDB共享CDB的控制文件、日志文件和UNDO表空间。各个PDB之间互访需要通过DB Link进行,就仿佛是多个数据库一样。 

在2012 OOW上,Larry重点介绍了Oracle Database 12c 的这个新特性,并将其归结为:多租户数据库。也就是说,在云平台上,不同租户可以在一个大的CDB数据库中运行,而彼此数据(PDB)与应用又完全隔离。显然这个特性对Oracle推出的数据库云平台必不可少。 

当然,这个特性面临的最大问题仍然是安全问题,如果某个PDB的用户获得了意外的权限提升,则所有用户的数据都可能被暴露。 

 

下图是Pluggable Database的体系结构示意图1:

 

 

Pluggable Database的体系结构图:

 

 

 

 

参考资料:

http://www.otnblogs.com/installing-oracle-database-12c-linux-6/

http://oracle-base.com/articles/12c/oracle-db-12cr1-installation-on-oracle-linux-6.php

http://blog.csdn.net/linghe301/article/details/9221665

https://docs.oracle.com/database/121/LTDQI/toc.htm

http://www.eygle.com/archives/2013/07/oracle_database_12c_em_express.html




(责任编辑:IT)