Oracle 12c在Oracle Linux 6.6 x64上安装图解

Oracle 12c 提供了类似 MySQL 的分页语法,而且更强大。Oracle 12c的Even better PL/SQL from SQL, 直接在SQL中嵌入PL/SQL对象并运行,猜测可能优化了SQL engine 和 PL/SQL engine 2种的代码引擎之间的交互,以获得比之前传统的SQL调用函数更少的上下文切换。Adaptive  Execution Plans  自适应执行计划, 该特性可以谈得上神奇,最终的执行计划将基于执行中获得的行,列倾斜造成的问题将被克服。

早在2013年6月26日,Oracle Database 12c版本正式发布,首先发布的版本号是12.1.0.1.0,率先提供下载的平台有Linux和Solaris,像之前10g, 11g里的g是代表grid,而12c里面的c是cloud,也就是代表云计算的意思。

Oracle 12c中最大的不同就是整个数据库的架构跟以前很不一样了.以前是一个instance对应一个database,然后database下面又有不同的schema,而schema和用户也是一一对应的关系。

而Oracle 12c中一个instance 下面有多个独立的database了,看起来貌似跟SQL Server蛮像了啊,sql server就是一instance对应蛮多个database。不过创建用户的时候还是不同的。SQL Server创建的登陆用户叫login,然后login会映射到不同database下面的user,其中不同database下面的user有对所属的database有不同的操作权限。

而Oracle中创建用户还跟以前类似.里面的database之间可以完全独立,不像SQL Server中那么有关联。Oracle中不同的database要互相访问还得通过db link访问。所以其实针对普通用户的一般操作来说跟以前是一样的,面对的还是只有一个database,只不过从DBA的角度来讲才很不一样,要维护多个database了。

参考文档:
http://docs.oracle.com/database/121/LTDQI/toc.htm#CEGHFFGG

Oracle Linux 6_64(bit)上安装Oracle 11gR2数据库环境快速准备神器oracle-rdbms-server-11gR2-preinstall
http://www.linuxidc.com/Linux/2017-01/139919.htm

红帽企业Linux5下Oracle 12C 安装手册 http://www.linuxidc.com/Linux/2017-01/139918.htm

本文PDF文件到Linux公社资源站下载:

------------------------------------------分割线------------------------------------------

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2017年资料/1月/24日/Oracle 12c在Oracle Linux 6.6 x64上安装图解/

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

------------------------------------------分割线------------------------------------------

下面才是正文,开始Oracle 12c在Oracle Linux 6.6 x64上安装图文图解。

1、安装硬件需求
硬盘空间>6.4G;/tmp空间>1G;
内存>1G,推荐2G以上;
交换分区,内存小于2G则1.5倍;内存2G到16G则相等;大于16G则16G即可;

2、系统检查
系统版本:Oracle Linux 6 and Red Hat Enterprise Linux 6 Distributions for x86-64
系统版本可以是:oracle5\6\7或SUSE11 sp2;


3、通过yum安装必须的包和调整参数;
orainux上安装oracle数据库,在环境准备方面,例如该安装的RPM包,该调整的内核参数等,不仅较为复杂,有些参数值还会因为人工设置的不合理而对日后的运行带来一定的影响,也是整个安装过程中最耗时的部分。
在oracle linux 6_64bit上,提供了oracle-rdbms-server-12cR1-preinstall-1.0-12.el6.x86_64.rpm包,可以自动化的将需要安装的rpm包,需要调整的内核参数自动化的处理,对DBA安装数据库确实节省了不少的时间。
在oracle linux 5和oracle linux 4上有一个相似功能的包叫oracle-validated。    
该yum包所能干的事情:具体可看日志;
 (1)自动安装oracle所需的RPM包
 (2)自动创建oracle用户和group组
 (3)自动配置/etc/sysctl.conf内核参数
 (4)自动配置/etc/security/limits.conf参数
 (5)关闭NUMA=OFF  (关闭非一致内存访问)

下载yum的地址
http://public-yum.oracle.com/repo/OracleLinux/OL6/6/base/x86_64/
下载该包:
oracle-rdbms-server-12cR1-preinstall-1.0-12.el6.x86_64.rpm

配置本地的yum;

将系统安装盘挂载到/mnt/cdrom上
mount /dev/cdrom /mnt/cdrom
在/etc/yum.repos.d上创建如下配置文件,其他repo结尾的文件可移动到其他位置上;
[[email protected] yum.repos.d]# cat linux.repo 
 [oel6]
 name=oel6
 baseurl=file:///mnt/cdrom
 gpgcheck=0
 enabled=1

清除原有的yum信息
yum clean all

通过yum进行安装
[[email protected] orasoft]# pwd
 /orasoft
 [[email protected] orasoft]# ll
总用量 20
 drwxr-xr-x. 7 root root  4096 7月  7 2014 database
-rw-r--r--. 1 root root 16276 2月  28 03:10 oracle-rdbms-server-12cR1-preinstall-1.0-12.el6.x86_64.rpm
 [[email protected] orasoft]# yum install oracle-rdbms-server-12cR1-preinstall-1.0-12.el6.x86_64.rpm

已加载插件:refresh-packagekit, security 
设置安装进程 
诊断 oracle-rdbms-server-12cR1-preinstall-1.0-12.el6.x86_64.rpm: oracle-rdbms-server-12cR1-preinstall-1.0-12.el6.x86_64 
oracle-rdbms-server-12cR1-preinstall-1.0-12.el6.x86_64.rpm 将被安装 
oel6 | 3.7 kB 00:00 ... 
oel6/primary_db | 3.1 MB 00:00 ... 
解决依赖关系 
--> 执行事务检查 
---> Package oracle-rdbms-server-12cR1-preinstall.x86_64 0:1.0-12.el6 will be 安装 
--> 处理依赖关系 compat-libcap1,它被软件包 oracle-rdbms-server-12cR1-preinstall-1.0-12.el6.x86_64 需要 
--> 处理依赖关系 compat-libstdc++-33,它被软件包 oracle-rdbms-server-12cR1-preinstall-1.0-12.el6.x86_64 需要 
--> 处理依赖关系 gcc-c++,它被软件包 oracle-rdbms-server-12cR1-preinstall-1.0-12.el6.x86_64 需要 
--> 处理依赖关系 ksh,它被软件包 oracle-rdbms-server-12cR1-preinstall-1.0-12.el6.x86_64 需要 
--> 处理依赖关系 libaio-devel,它被软件包 oracle-rdbms-server-12cR1-preinstall-1.0-12.el6.x86_64 需要 
--> 处理依赖关系 libstdc++-devel,它被软件包 oracle-rdbms-server-12cR1-preinstall-1.0-12.el6.x86_64 需要 
--> 执行事务检查 
---> Package compat-libcap1.x86_64 0:1.10-1 will be 安装 
---> Package compat-libstdc++-33.x86_64 0:3.2.3-69.el6 will be 安装 
---> Package gcc-c++.x86_64 0:4.4.7-11.el6 will be 安装 
---> Package ksh.x86_64 0:20120801-21.el6 will be 安装 
---> Package libaio-devel.x86_64 0:0.3.107-10.el6 will be 安装 
---> Package libstdc++-devel.x86_64 0:4.4.7-11.el6 will be 安装 
--> 完成依赖关系计算

依赖关系解决

=============================================================================================================== 
软件包 架构 版本 仓库 大小 
=============================================================================================================== 
正在安装: 
oracle-rdbms-server-12cR1-preinstall 
x86_64 1.0-12.el6 /oracle-rdbms-server-12cR1-preinstall-1.0-12.el6.x86_64 40 k 
为依赖而安装: 
compat-libcap1 x86_64 1.10-1 oel6 17 k 
compat-libstdc++-33 x86_64 3.2.3-69.el6 oel6 183 k 
gcc-c++ x86_64 4.4.7-11.el6 oel6 4.7 M 
ksh x86_64 20120801-21.el6 oel6 758 k 
libaio-devel x86_64 0.3.107-10.el6 oel6 13 k 
libstdc++-devel x86_64 4.4.7-11.el6 oel6 1.6 M

事务概要 
=============================================================================================================== 
Install 7 Package(s)

总文件大小:7.3 M 
总下载量:7.3 M 
Installed size: 23 M 
确定吗?[y/N]: 
下载软件包: 
--------------------------------------------------------------------------------------------------------------- 
总计 46 MB/s | 7.3 MB 00:00 
运行 rpm_check_debug 
执行事务测试 
事务测试成功 
执行事务 
正在安装 : libstdc++-devel-4.4.7-11.el6.x86_64 1/7 
正在安装 : gcc-c++-4.4.7-11.el6.x86_64 2/7 
正在安装 : ksh-20120801-21.el6.x86_64 3/7 
正在安装 : compat-libstdc++-33-3.2.3-69.el6.x86_64 4/7 
正在安装 : libaio-devel-0.3.107-10.el6.x86_64 5/7 
正在安装 : compat-libcap1-1.10-1.x86_64 6/7 
正在安装 : oracle-rdbms-server-12cR1-preinstall-1.0-12.el6.x86_64 7/7 
Verifying : compat-libcap1-1.10-1.x86_64 1/7 
Verifying : oracle-rdbms-server-12cR1-preinstall-1.0-12.el6.x86_64 2/7 
Verifying : gcc-c++-4.4.7-11.el6.x86_64 3/7 
Verifying : libaio-devel-0.3.107-10.el6.x86_64 4/7 
Verifying : compat-libstdc++-33-3.2.3-69.el6.x86_64 5/7 
Verifying : ksh-20120801-21.el6.x86_64 6/7 
Verifying : libstdc++-devel-4.4.7-11.el6.x86_64 7/7

已安装: 
oracle-rdbms-server-12cR1-preinstall.x86_64 0:1.0-12.el6

作为依赖被安装: 
compat-libcap1.x86_64 0:1.10-1 compat-libstdc++-33.x86_64 0:3.2.3-69.el6 
gcc-c++.x86_64 0:4.4.7-11.el6 ksh.x86_64 0:20120801-21.el6 
libaio-devel.x86_64 0:0.3.107-10.el6 libstdc++-devel.x86_64 0:4.4.7-11.el6

完毕! 
[[email protected] orasoft]#

查看yum安装日志
view /var/log/oracle-rdbms-server-12cR1-preinstall/results/orakernel.log


 4、创建oracle用户和组;
 查看是否安装过oracle及oracle用户是否已创建:
# more /etc/oraInst.loc
 # grep oinstall /etc/group
 # grep oper /etc/group
 # id oracle
  
 groupadd oinstall
 groupadd dba


 yum包需要创建的
groupadd oper
 usermod -g oinstall -G dba,oper oracle
 passwd oracle


 5、修改系统参数
yum包自动添加相关参数了

 在/etc/sysctl.conf文件下加入如下参数
[[email protected] Server]# vim /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 = 1048586

使参数生效;
# /sbin/sysctl -p

 suse此处操作不一样;
# /sbin/chkconfig boot.sysctl on
 # echo 501 > /proc/sys/vm/hugetlb_shm_group
 oinstall group GID is 501:
并将vm.hugetlb_shm_group=501 添加到/etc/sysctl.conf;
 重启suse操作系统;

 

 修改用户限制
 在/etc/security/limits.conf加入相关配置
# vim /etc/security/limits.conf
 oracle          soft    nproc  2047
 oracle          hard    nproc  16384
 oracle          soft    nofile  1024
 oracle          hard    nofile  65536
 oracle          soft    stack  10240
 oracle          hard    stack  10240

 yum包已自动创建该限制文件
/etc/security/limits.d/oracle-rdbms-server-12cR1-preinstall.conf


 6、创建用户目录
# mkdir -p /u01/app/oracle/12/db1
 # chown -R oracle:oinstall /u01
 # chmod -R 775 /u01
 # chown -R oracle:oinstall /orasoft

 7、配置环境变量

 在/etc/hosts文件中添加本机的解析;否则开始安装后会报:无法解析节点名。

 在 .bash_profile配置如下变量

 在/home/oracle目录下
$ vi .bash_profile

 umask 022
 export ORACLE_BASE=/u01/app/oracle/12
 export ORACLE_HOME=$ORACLE_BASE/db1
 export ORACLE_SID=orcl
 export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
 export EDITOR=/bin/vi
 export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
 unset USERNAME


使配置文件生效
[[email protected] ~]$ source .bash_profile
建议重启系统

 检查参数设置是否生效
$ umask
 $ env | more


 8、将安装文件解压,开始安装;
 降下载好的数据库安装文件上传到/orasoft目录下,解压;
 开始安装
./runInstaller

Oracle 12c在Oracle Linux 6.6 x64上安装图解

Oracle 12c在Oracle Linux 6.6 x64上安装图解

Oracle 12c在Oracle Linux 6.6 x64上安装图解

Oracle 12c在Oracle Linux 6.6 x64上安装图解

Oracle 12c在Oracle Linux 6.6 x64上安装图解

Oracle 12c在Oracle Linux 6.6 x64上安装图解

Oracle 12c在Oracle Linux 6.6 x64上安装图解

此处增加了多个组,和以前版本有区别;
oper组是手工创建的,yum包没有安装;

Oracle 12c在Oracle Linux 6.6 x64上安装图解

本机内存2G,按文档来说交换区2G足够;但由于kdump占用部分内存,因此交换区还是要设大一点,本处或略该错误。

Oracle 12c在Oracle Linux 6.6 x64上安装图解

Oracle 12c在Oracle Linux 6.6 x64上安装图解

Oracle 12c在Oracle Linux 6.6 x64上安装图解

两个脚本执行情况:

root用户执行的两个脚本: 
[[email protected] oraInventory]# ./orainstRoot.sh 
更改权限/u01/app/Oracle/oraInventory. 
添加组的读取和写入权限。 
删除全局的读取, 写入和执行权限。

更改组名/u01/app/oracle/oraInventory 到 oinstall. 
脚本的执行已完成。

[[email protected] db1]# ./root.sh 
Performing root user operation.

The following environment variables are set as: 
ORACLE_OWNER= oracle 
ORACLE_HOME= /u01/app/oracle/12/db1

Enter the full pathname of the local bin directory: [/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/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.

错误:
1、刚开始安装:PRVY-0003:无法检索本地节点名
解决:在/etc/hosts中添加本机解析。

Oracle 12c在Oracle Linux 6.6 x64上安装图解