本文對cloud5/cloud6均適用,先看看CLOUD推薦的DB操作系統和數據庫:
本文系統爲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的物理內存
下面的表格描述了在物理內存和配置的交接空間要求的相關關係.
使用此命令確認內存大小:
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環境變量.
此係統的磁盤需求如下表:
使用此面命令查看可用磁盤空間:
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:
X64:
下載後使用下面命令安裝:
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限制,配置值見此表:
打開/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桌面中直接找到程序運行即可
如果在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開始即可:
一定要注意排序規則,錯了建立數據中心會報錯:重要!重要!重要!
十、升級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;
點創建,創建管理中心:
:) 此時一般會引出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;
主要參考Oracle Database Quick Installation Guide整理:
http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm#BHCJCGCB