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
下载地址:
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库,通过下面的方法
# cd /etc/yum.repos.d
# wget https://public-yum.oracle.com/public-yum-ol6.repo
也可在安装之前最后做一次完全的包更新(非必需)
# 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
[[email protected] ~]# 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
[[email protected] ~]#
fdisk /dev/sdb
n p 1 w
[[email protected] soft]# rpm -qa oracleasm*
oracleasm-support-2.1.8-1.el6.x86_64
rpm -vih asmlib
[[email protected] ~]# /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 ]
[[email protected] ~]# /etc/init.d/oracleasmcreatedisk v1 /dev/sdb1
Marking disk "v1" as an ASM disk:[ OK ]
[[email protected] ~]# /etc/init.d/oracleasmcreatedisk v2 /dev/sdc1
Marking disk "v2" as an ASM disk:[ OK ]
[[email protected] ~]# /etc/init.d/oracleasmlistdisks
V1
V2
二、Database软件安装
1. 解压缩安装包
unzip db12102_V46095-01_1of2.zip
unzip db12102_V46095-01_2of2.zip
2. 设置图形环境变量
启动Xmanage
[[email protected] ~]# su - oracle
[[email protected] ~]$ cd /soft
[[email protected] 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
[[email protected] ~]$ exportDISPLAY=10.1.5.240:0.0
[[email protected] soft]$ cddatabase/
3. 安装DB产品
[[email protected] database]$ ./runInstaller
◆Step1:配置安全更新
◆Step2:安装选项
◆Step3:网格安装类型
◆Step4:选择语言
◆Step5:选择数据库版本
◆Step6:安装位置
◆Step7:创建产品清单
◆Step8:操作系统组
◆Step9:先决条件检查及概要
◆Step10:安装产品
◆Step11:执行root脚本
在ssh会话端,root登录,执行root脚本:
[[email protected] ~]#/u01/app/oraInventory/orainstRoot.sh
更改权限/u01/app/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。
更改组名/u01/app/oraInventory 到 oinstall.
脚本的执行已完成。
[[email protected] ~]#/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. 测试安装
查看服务状态:
查看监听状态:
[[email protected] 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.
[[email protected] 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 Express在CDB$ROOT中执行,缺省显示的是ROOT中的信息,由于PDB的AWR信息也存储在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