本文对cloud5/cloud6均适用,先看看CLOUD推荐的DB操作系统和数据库:

wKiom1aoaT6x_OuAAABe2tmsTNo161.png

  本文系统为RHEL/OEL 6.4 x86-64版(升级最新yum),数据库为 Oracle 11.2.0.3(升级为11.2.0.3.7)

一、安装RHEL 6.4操作系统

  系统及oracle下载地址:

x64

ed2k://|file|[红帽企业Linux.6.4.服务器版].rhel-server-6.4-x86_64-dvd[ED2000.COM].iso|3720347648|542c0277eff8b86b7f0c18358df84702|h=hzclqmdk4re2o4pi5hzr5hpvnu5o4iij|/

x86

ed2k://|file|[红帽企业Linux.6.4.服务器版].rhel-server-6.4-i386-dvd[ED2000.COM].iso|3155165184|6c8dbe0e5816705cb190821547951ea0|h=m4gtwan6h4blg6wdsim4iyzknxt5c53l|/

oracle

http://blog.itpub.net/26230166/viewspace-1331198/

只下载安装介质即可

  安装建议参考此文章:

http://jingyan.baidu.com/article/fc07f98978fc0012fee51951.html

二、安装最新yum update

 参考下文:

http://dayday.blog.51cto.com/3248/1736805

三、配置oracle安装环境

 本文主要参考oracle安装指南进行:

http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm#CEGHFFGG

请使用root用户登录到操作系统,建议使用SSH客户端来进行环境配置

3.1、硬件配置

  系统必须要满足以下硬件要求

至少1GB的物理内存

下面的表格描述了在物理内存和配置的交接空间要求的相关关系.

wKioL1aod3miZXxKAAA0asalT90914.png


使用此命令确认内存大小:

grep MemTotal /proc/meminfo

自动内存管理:

使用此命令来查看可用的共享内存总量:

df -h /dev/shm/

注意:

MEMORY_MAX_TARGET and MEMORY_TARGET cannot be used when LOCK_SGA is enabled or with HugePages on Linux.

ORACLE自动内存管理相关说明

http://blog.itpub.net/28709178/viewspace-1224922/

http://blog.itpub.net/27099995/viewspace-1261314/


/tmp目录要有1GB以上的磁盘空间

使用此命令查看可用TMP空间大小:

df -h /tmp

如果/tmp目录的可用磁盘空间小于1GB,那么可以执行以下操作

从tmp目录下删除不必要的文件直到达到1GB的空间要求

当设置oracle用户环境时设置tmep和tmpdir环境变量.

 

此系统的磁盘需求如下表:

wKioL1aoeH-R0RwLAABHxmcR7z4410.png

使用此面命令查看可用磁盘空间:

df -h

为了判断系统的体系结构能否运行数据库软件,可以输入以下命令:

grep "model name" /proc/cpuinfo


3.2、检查软件需求

 Oracle Database 11g Release 2 (11.2)支持下面操作系统:


Asianux Server 3 SP2

Asianux Server 4 SP3

Oracle Linux 4 Update 7

Oracle Linux 5 Update 2 (with Red Hat Compatible Kernel)

Oracle Linux 5 Update 5

Oracle Linux 6

Oracle Linux 6 (with Red Hat Compatible Kernel)

Oracle Linux 7

Oracle Linux 7 (with the Red Hat Compatible Kernel)

Red Hat Enterprise Linux 4 Update 7

Red Hat Enterprise Linux 5 Update 2

Red Hat Enterprise Linux 6

Red Hat Enterprise Linux 7

SUSE Linux Enterprise Server 10 SP2

SUSE Linux Enterprise Server 11

使用此命令确认linux版本:

cat /proc/version

Oracle Database 11g Release 2 (11.2)支持下列内核:

On Oracle Linux 4 and Red Hat Enterprise Linux 4

2.6.9 or later

On Oracle Linux 5 Update 2 with Red Hat Compatible Kernel

2.6.18 or later

On Oracle Linux 5 Update 5 with Red Hat Compatible Kernel

2.6.18 or later

On Oracle Linux 5 Update 5 with Unbreakable Enterprise Kernel

2.6.32-100.0.19 or later

On Oracle Linux 6

2.6.32-100.28.5.el6.x86_64 or later

On Oracle Linux 6 with Red Hat Compatible Kernel

2.6.32-71.el6.x86_64 or later

On Oracle Linux 7

3.8.13-33.el7uek.x86_64 or later

On Oracle Linux 7 with Red Hat Compatible Kernel

3.10.0-54.0.1.el7.x86_64 or later

On Red Hat Enterprise Linux 5 Update 2

2.6.18 or later

On Red Hat Enterprise Linux 5 Update 5

2.6.18 or later

On Red Hat Enterprise Linux 6

2.6.32-71.el6.x86_64 or later

On Red Hat Enterprise Linux 7

3.10.0-54.0.1.el7.x86_64 or later

On Asianux Server 3

2.6.18 or later

On Asianux Server 4

2.6.32-71.el6.x86_64 or later

On SUSE Linux Enterprise Server 10

2.6.16.21 or later

On SUSE Linux Enterprise Server 11

2.6.27.19 or later

使用此命令确认内核:

uname -r

安装包检查:

Red Hat Enterprise Linux 6必须安装下面安装包:

binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6.i686
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6.i686
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6.i686
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6.i686
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)

使用此命令检查安装包是否已安装:

rpm -q

上面安装包下载地址如下

binutils-2.20.51.0.2-5.11.el6 (x86_64) 

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/binutils-2.20.51.0.2-5.43.el6.x86_64.rpm 

compat-libcap1-1.10-1 (x86_64)

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/compat-libcap1-1.10-1.x86_64.rpm

compat-libstdc++-33-3.2.3-69.el6 (x86_64)

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm

compat-libstdc++-33-3.2.3-69.el6.i686

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/compat-libstdc++-33-3.2.3-69.el6.i686.rpm

gcc-4.4.4-13.el6 (x86_64)

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/gcc-4.4.7-16.el6.x86_64.rpm

gcc-c++-4.4.4-13.el6 (x86_64)

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/gcc-c++-4.4.7-16.el6.x86_64.rpm

glibc-2.12-1.7.el6 (i686)

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/glibc-2.12-1.166.el6.i686.rpm

glibc-2.12-1.7.el6 (x86_64)

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/glibc-2.12-1.166.el6.x86_64.rpm

glibc-devel-2.12-1.7.el6 (x86_64)

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/glibc-devel-2.12-1.166.el6.x86_64.rpm

glibc-devel-2.12-1.7.el6.i686

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/glibc-devel-2.12-1.166.el6.i686.rpm

ksh

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/ksh-20120801-28.el6.x86_64.rpm

libgcc-4.4.4-13.el6 (i686)

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/libgcc-4.4.7-16.el6.i686.rpm 

libgcc-4.4.4-13.el6 (x86_64)

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/libgcc-4.4.7-16.el6.x86_64.rpm

libstdc++-4.4.4-13.el6 (x86_64)

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/libstdc++-4.4.7-16.el6.x86_64.rpm 

libstdc++-4.4.4-13.el6.i686

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/libstdc++-4.4.7-16.el6.i686.rpm  

libstdc++-devel-4.4.4-13.el6 (x86_64)

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/libstdc++-devel-4.4.7-16.el6.x86_64.rpm 

libstdc++-devel-4.4.4-13.el6.i686

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/libstdc++-devel-4.4.7-16.el6.i686.rpm 

libaio-0.3.107-10.el6 (x86_64)

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm  

libaio-0.3.107-10.el6.i686

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.i686.rpm  

libaio-devel-0.3.107-10.el6 (x86_64)

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/libaio-devel-0.3.107-10.el6.x86_64.rpm 

libaio-devel-0.3.107-10.el6.i686

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/libaio-devel-0.3.107-10.el6.i686.rpm

make-3.81-19.el6

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/make-3.81-20.el6.x86_64.rpm

sysstat-9.0.4-11.el6 (x86_64)

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/sysstat-9.0.4-27.el6.x86_64.rpm

有时间还需要安装PDKSH:

http://rpm.pbone.net/index.php3/stat/4/idpl/1883952/com/pdksh-5.2.14-30.x86_64.rpm.html

X86:

ftp://ftp.pbone.net/mirror/www.whiteboxlinux.org/whitebox/4/en/os/i386/WhiteBox/RPMS/pdksh-5.2.14-30.i386.rpm

X64:

ftp://ftp.pbone.net/mirror/www.whiteboxlinux.org/whitebox/4/en/os/x86_64/WhiteBox/RPMS/pdksh-5.2.14-30.x86_64.rpm

下载后使用下面命令安装:

rpm -ivh binutils-2.20.51.0.2-5.43.el6.x86_64.rpm

无法安装时,加 

--nodeps --force

参数,安装时不再分析包之间的依赖关系而直接安装,也就不会再提示error: Failed dependencies:这样的错误。

使用此命令检查安装包是否正确安装:

rpm -q  binutils  gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++  libstdc++-devel libaio libaio-devel make sysstat

也可以直接安装所有运行库/开发库(非必须):

yum groupinstall "Compatibility libraries" "Development Tools"

3.3、 安装 Oracle ODBC 驱动

Red Hat Enterprise Linux 6上,安装下面版本:

unixODBC-2.2.14-11.el6 (x86_64) or later

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/unixODBC-2.2.14-14.el6.x86_64.rpm

unixODBC-2.2.14-11.el6.i686 or later

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/unixODBC-2.2.14-14.el6.i686.rpm

unixODBC-devel-2.2.14-11.el6 (x86_64) or later

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/unixODBC-devel-2.2.14-14.el6.x86_64.rpm  

unixODBC-devel-2.2.14-11.el6.i686 or later

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/unixODBC-devel-2.2.14-14.el6.i686.rpm           

下载后使用下面命令安装:

rpm -ivh unixODBC-2.2.14-14.el6.x86_64.rpm

四、创建操作系统用户和组

第一次在该系统上安装数据库软件,需要创建一些操作系统组和用户

下面的操作系统组和用户是必须要创建:

OSDBA组(dba)

在系统中第一次安装数据库时你必须创建该组.它将识别操作系统用户账号有数据库管理权限(sysdba权限).该组缺省的名字为dba

oracle目录组(oinstall)

在系统上第一次安装数据库软件时你必须创建这个用户组.通常这个组的名字为oinstall.这个组拥有oracle详细目录,它是所有要安装的oracle软件的所在目录

oracle软件所有者用户(此处为oracle)

在第一次安装时你必须创建这个用户,在安装期间这个用户拥有所有要安装的软件.

这个用户必须首先是oracle目录组的成员,同时也还要是OSDBA组的成员

/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -g oinstall -G dba oracle
passwd oracle

五、配置内核参数和资源限制

使用此命令打开/etc/sysctl.conf文件

vi /etc/sysctl.conf

加入下面行,已经存在的话,请注释原值

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912

 //if any of the current values are larger than the recommended value, then specify the larger value.
If the current value for any parameter is higher than the value listed in this table, then do not change the value of that parameter
//如果/etc/sysctl.conf中的kernel.shmmax比推荐的值大 那么使用较大的值 
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

注意:上面这些参数有的已经有默认值了,如果默认值比上面列出的大,就不要再把他调小了

保存后,需要重新启动系统使配置生效。

六、给oracle用户设置shell限制

为了提高数据库软件在linux系统中的性能你必须给oracle用户增加以下shell限制,配置值见此表:

wKioL1apslDDhlhFAABAvuwyDiE977.png

打开/etc/security/limits.conf文件

vi /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

注意:必须注明用户,对用户生效。

七、创建必需的目录

使用下面命令创建:

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

八、配置用户环境变量

建议先关闭防火墙

service iptables stop
chkconfig iptables off 
service ip6tables stop 
chkconfig ip6tables off

通过/etc/hosts文件添加本机和应用服务器的HOSTS解析(建议在应用服务器也添加linux主机的HOSTS解析)

vi /etc/hosts

如果是非oracle用户登录,先切换到oracle用户:

su - oracle

确定默认的shell

echo $SHELL

输入以下命令,运行shell启动脚本:(本文以base为例)

./.bash_profile

远程到计算机上操作时,需要设置显示变量:

export DISPLAY=local_host:0.0

创建一个/tmp目录

mkdir /u01/tmp
chmod a+wr /u01/tmp

编辑启动脚本变量

vi .bash_profile

添加下面行:

TEMP=/u01/tmp
TMPDIR=/u01/tmp
export TMP TMPDIR
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/bin/OPatch
export ORACLE_UNQNAME=orcl
export ORACLE_SID=orcl
#实例名,尽量不要超过八位,否则数据库名会被截断
export LANG=zh_CN.UTF-8
#设置好这个环境变量,否则安装时会出现乱码
#export NLS_LANG=american_america.AL32UTF8 
客户端字符集,最好和数据库字集集保持一致,否则可能导致exp/imp导出导入数据库时编码有问题

使用此命令使脚本生效:

source .bash_profile

九、复制解压缩数据库并安装

本文中下载的文件是p10404530_112030_Linux-x86-64_1of7.zip、p10404530_112030_Linux-x86-64_2of7.zip

先建立一个软件安装目录,并下载解压缩软件

mkdir /u01/app/oracle
cd /u01/app/oracle

通过FTP下载软件

ftp ftpserver
ftp>bin
//转换为二进制模式
ftp>get p10404530_112030_Linux-x86-64_1of7.zip
ftp>get p10404530_112030_Linux-x86-64_2of7.zip
ftp>exit

注:没有ftp客户端的话,到此地址下载安装即可

http://mirrors.163.com/centos/6/os/x86_64/Packages/

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/ftp-0.17-54.el6.x86_64.rpm
rpm -ivh  ftp-0.17-54.el6.x86_64.rpm

下载解压软件:

yum install unzip

解压缩软件:

unzip p10404530_112030_Linux-x86-64_1of7.zip
unzip p10404530_112030_Linux-x86-64_2of7.zip

安装ORACLE需要桌面系统支持,需要先安装桌面系统:

yum groupinstall "X 窗口系统"

有时候,还需要安装这个

yum groupinstall "桌面"

通过VNC远程安装ORACLE:

参考:

http://dayday.blog.51cto.com/3248/1742490

配置安装界面为中文:

export LANG=zh_CN.UTF-8

cd /u01/app/oracle/database
./runInstaller

也可以在X桌面中直接找到程序运行即可

wKioL1apyqWhG0XwAACurQ6XeRY256.png

如果在SSH终端,可以这样传递到桌面系统中:

先在桌面中打开一个终端窗口,再使用下面命令确认会话:

echo $DISPLAY

:0.0

如上,结果为 :0.0

现在SSH终端中,执行下面命令:

DISPLAY=:0.0
export DISPLAY

完成后,直接在SSH终端中运行./runInstaller,即可把安装界面传递到桌面系统中。


如果出现乱码,请将zysong.ttf文件复制到字体目录下。 

mkdir -p /usr/share/fonts/zh_CN/TrueType/
cp zysong.ttf /usr/share/fonts/zh_CN/TrueType/

zysong.ttf下载

http://down.51cto.com/data/2163423


ORACLE安装参考下面文档,P6开始即可:

http://wenku.baidu.com/link?url=ojPXzDNbhbJznq96y1tgGBbGs9Q91UVwGXhszVXV-8hEiKeih3YVWu2qbKCuH1qLiH7MueFyAOAShEdUmGtZFP4nrR4B_siGe3OHGG9oAe3

一定要注意排序规则,错了建立数据中心会报错:重要!重要!重要!

wKioL1apzeqgqICCAAGcrAaVTPM837.png

十、升级ORACLE PSU至11.2.0.3.7 

请参考此文:

http://dayday.blog.51cto.com/3248/1739732

十一、建立管理中心和数据中心

打开应用服务器创建/注册管理中心地址:

http://localhost:8000/silverlight/cmc.aspx

点击ORACLE数据库→创建,创建管理中心库:

注意数据库用户不要使用SYS用户,否则会引出ORA-02065错误

使用下面语句手工建立用户及表空间并授权

create temporary tablespace clouddc_temp
tempfile 'clouddc_temp.dbf'
size 32m
autoextend on
next 32m maxsize UNLIMITED
extent management local;

create tablespace clouddc_data
logging 
datafile 'clouddc_data.dbf'
size 32m
autoextend on
next 32m maxsize UNLIMITED
extent management local;

create user clouddcadmin identified by cloud6
default tablespace clouddc_data
temporary tablespace clouddc_temp;

grant connect,resource,dba to clouddcadmin;
grant create session to clouddcadmin;
grant create table to clouddcadmin;

wKioL1aqzKHCxAjVAACxLecHhBw934.png

点创建,创建管理中心:

:) 此时一般会引出ORA-39001报错,此问题是一般是/u01/app/oracle/admin/orcl/dpdump中缺失模板文件导致,可以这样解决

1、先安装7zip解压软件

执行以下命令下载安装:

wget http://nchc.dl.sourceforge.net/project/p7zip/p7zip/9.20.1/p7zip_9.20.1_src_all.tar.bz2
tar -jxvf p7zip_9.20.1_src_all.tar.bz2
cd p7zip_9.20.1
make
make install

更多方法请参考此文

http://www.cnblogs.com/yiwd/p/3649061.html

2、下载解压cab文件到dpdump目录并解压

把ORACLE三个模板文件(OracleMCPatternDB.cab/OracleBCPatternDB.cab/OracleBOSPatternDB.cab )由C:\Program Files (x86)\Kingdee\K3Cloud\ManageSite\App_Data\DataBase\PatternDbFile目录复制到FTP共享目录,再下载解压

注:BC是业务库、MC是管理中心库、BOS是BOS库,建议全部复制解压,否则后续建立数据中心时,还会报这个错。

su - oracle
cd /u01/app/oracle/admin/orcl/dpdump
ftp ftpserver
ftp> bin
//转换为二进制模式
ftp>get OracleBCPatternDB.cab
ftp>get OracleBOSPatternDB.cab
ftp>get OracleMCPatternDB.cab
exit
7za e OracleMCPatternDB.cab
7za e OracleBCPatternDB.cab
ls

 OracleBCPatternDB.dmp   OracleMCPatternDB.cab

OracleBCPatternDB.cab  OracleBOSPatternDB.cab   OracleMCPatternDB.dmp

3、再次创建管理中心。

创建完成后,重启IIS,登录管理中心,创建→创建oracle数据中心

建议再建立新用户及表空间,并使用此用户新建数据中心。

create temporary tablespace clouddata_temp
tempfile 'clouddata_temp.dbf'
size 32m
autoextend on
next 32m maxsize UNLIMITED
extent management local;

create tablespace clouddata_data
logging 
datafile 'clouddata_data.dbf'
size 32m
autoextend on
next 32m maxsize UNLIMITED
extent management local;

create user clouddataadmin identified by cloud6
default tablespace clouddata_data
temporary tablespace clouddata_temp;

grant connect,resource,dba to clouddataadmin;
grant create session to clouddataadmin;
grant create table to clouddataadmin;

wKiom1aq4Yfi2GE8AAA8kAtQEtI176.png

wKiom1aq4hKhTfF7AABQuK3BvYU411.png

wKioL1aq4rjCO4ysAABMjh9csBY390.png


主要参考Oracle Database Quick Installation Guide整理:

http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm#BHCJCGCB