您好,登錄后才能下訂單哦!
本次實驗使用的centos6.6系統,數據庫為oracle 10g。
Centos版本:CentOS-6.6_X64-bin-DVD1.iso
OracleDatabase版本:10201_database_linux_x86_64.cpio.gz
安裝oracle數據庫,linux必須安裝destoop。否則無法安裝oracle數據庫。
yum -y install binutilscompat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelfelfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-develglibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devellibaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-develmake sysstat
最后還需要安裝libXp這個Library,這個一定要安裝,否則安裝Oracle時會出現java Exception。
yum install libXp libXt.i686 libXtst.i686
有的包是64的有的包是32的,都需要裝
Oracle數據庫的安裝不建議在超級用戶root上安裝,建議另外增加一個用戶oracle在linux系統上。但是在增加該用戶之前,我們還需要為該用戶設置一些系統內核參數。
使用Vi編輯器在/etc/sysctl.conf文件的末尾增加下面的參數:
-----------------------------------------------------------
kernel.shmall= 2097152 #表示系統一次可以使用的共享內存總量(以頁為單位)。
kernel.shmmax= 2147483648 #定義了共享內存段的最大尺寸(以字節為單位)。缺省為32M,對于oracle來說,該缺省值太低了,通常將其設置為2G。
kernel.shmmni= 4096 #用于設置系統范圍內共享內存段的最大數量。該參數的默認值是 4096
kernel.sem= 250 32000 100 128 #表示設置的信號量
net.ipv4.ip_local_port_range= 1024 65000 #本地端口數量上限
net.core.rmem_default=4194304 #默認的接收窗口大小
net.core.rmem_max=4194304 #接收窗口的最大大小
net.core.wmem_default=262144 #默認的發送窗口大小
net.core.wmem_max=262144 #發送窗口的最大大小
----------------------------------------------------------
[root@CentOS6~]# /sbin/sysctl -p #執行生效
編輯/etc/security/limits.conf文件,用于設置系統資源限制。假如未來由oracle這個用戶來安裝oracle數據庫,則需要系統管理員將以下參數添加到limits.conf。
# vi/etc/security/limits.conf
加入以下四行:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
然后在編輯/etc/pam.d/login文件,增加以下參數:
# vi/etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
注:
etc目錄下包括pam.d目錄,在pam.d目錄下還有個login子目錄。etc指的系統配置文件目錄,pam.d指的是驗證登陸配置,login是登陸配置文件。簡單說就是linux操作系統的登陸配置文件。
在這里只討論單主機環境,不考慮RAC環境的配置。執行以下指令以新增oracle安裝時所需要的使用者與群組。
3.1建立群組oinstall
# groupadd oinstall
3.2建立群組dba
# groupadd dba
3.3建立用戶oracle將加入oinstall和dba群組,并測試
# useradd -g oinstall -G dba oracle
3.4 建立oracle的新密碼
# passwd 123456
將以下代碼新增到profile文件中:
if [ $USER = "oracle" ]; then
if [ $SHELL= "/bin/ksh" ]; then
ulimit -p16384
ulimit -n65536
else
ulimit -u16384 -n 65536
fi
fi
由于Oracle10g發行的時候,CentOS6.6沒有發行,所以Oracle10g并沒有對CentOS6.6確認支持,需要修改相關文件讓Oracle10g支持CentOS 6。
我們需要手工修改Linux的發行注記,讓Oracle 10g支持CentOS6.5。
編輯/etc/redhat-release文件
# vim /etc/redhat-release
將其中的內容CentOS release 6.5 (Final)修改為redhat 4
mkdir –p /u01/app/oracle
6.1修改/u01/app/oracle目錄所屬用戶及組,修改為oracle和oinstall組。
查看目前oracle目錄的用戶及組:ls –la |grep oracle
修改oracle目錄用戶及組:
chown -R oracle:oinstall /u01/app/oracle
6.2 修改/u01/app/oracle的目錄權限,使oinstall組對/u01/app/oracle目錄也有可讀寫執行權限。
使用如下命令:
chmod -R 775 /u01/app/oracle
打開cd /home/oracle,使用Vi編輯.bash_profile。如下圖:
修改并加入以下內容:
export TMP=/tmp;
export TMPDIR=$TMP;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;
export ORACLE_SID=orcl;
export ORACLE_TERM=xterm;
export PATH=/usr/sbin:$PATH;
export PATH=$ORACLE_HOME/bin:$PATH;
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
保存后使用如下命令,使設置生效:
source /home/oracle/.bash_profile
8.1解壓縮安裝文件
將下載的壓縮包放至即將安裝oracle的文件夾/uo1/app/oracle下:
解壓該文件,使用如下命令:
#gunzip 10201_database_linux_x86_64.cpio.gz
#cpio -idmv < 10201_database_linux_x86_64.cpio
解壓縮完成會在同一個文件夾中看到database的文件夾
目前database文件夾的所有者和用戶組均是root。現在我們要該更它:
#chown -R oracle:oinstall/u01/app/oracle/database
8.2安裝oracle數據庫
上述解壓oracle安裝包后,我們要注銷掉root用戶,使用Oracle用戶登錄,然后使用該用戶進行oracle的安裝。
在終端下,進入/u01/app/oracle/database目錄:
準備執行數據庫安裝,如果你的centos是中文環境,安裝時會出現中文亂碼,請下以下指令。使系統臨時為英文狀態:
export LC_ALL=en_US.UTF-8
然后接著執行如下命令,進行安裝:
./runInstaller
彈出這個界面,下面我們的安裝就順利了。
如果我們沒其他的要求的話,我們完全可以按照軟件的提示一步一步的進行安裝。
但是,如果你使用突然間有一天你會發現。在你把原來其他服務器上的數據庫(含中文字符)導入到這個oracle數據庫中顯示亂碼時,你就會哭了。
因為按照這個提示進行安裝的oracle數據庫字符集是英文字符集而不是中文字符集。
也行有些人會說,那我可以在安裝好oracle數據庫再修改中文字符集的啊。呵呵,我會笑的。因為到最后你會發現即使你通過SQL語句修改了數據庫的字符集,然后數據庫中的中文字符還是亂碼!
但是你還會發現如果是在windows系統下,使用SQL語句修改字符集是可以的哦!
那么在Linux系統里面,我們只需要選擇高級安裝即可,如下圖:
注意:修改存放目錄。
上圖是指定證書存放的目錄。
上圖選擇安裝的數據庫類型及oracle所支持的語言,這里選擇企業版,語言選擇英文和簡體中文。
上圖指定oracle環境變量,及安裝路徑。因為我們在.bash_profile中已經聲明,所以這里會自動填充。
Oracle開始進行安裝前的檢查工作。
檢查發現1個warning和一個requirement,查看日志發現
----warning
Expectedresult: 2214MB
ActualResult: 0MB
Checkcomplete. The overall result of this check is: Failed <<<<
Problem:The system does not have the required swap space.
Recommendation:Make more swap space available to perform the install.
根據當前磁盤大小,發現根目錄(24G)下磁盤空間比較充足,
#在根目錄下創建交換分區文件夾,用來開辟交換區
[root@CentOS6oracle]# cd /
[root@CentOS6/]# mkdir swapp_w_picpath
[root@CentOS6/]# cd /swapp_w_picpath
#使用dd命令,在/swapp_w_picpath文件下新增一個2G的文件
[root@CentOS6swapp_w_picpath]# dd if=/dev/zero of=/swapp_w_picpath/swap bs=1024 count=2500000
2500000+0records in
2500000+0records out
2560000000bytes (2.6 GB) copied, 77.0965 s, 33.2 MB/s
#查看磁盤空間,可以發現根目錄下少了2.6G
[root@CentOS6swapp_w_picpath]# df -hl
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 30G 7.0G 22G 25% /
tmpfs 740M 80K 740M 1% /dev/shm
/dev/sda1 194M 25M 160M 14% /boot
/dev/sda2 20G 1.5G 17G 8% /u01
#使用mkswap將/swapp_w_picpath/swap文件格式化為虛擬內存文件格式
[root@CentOS6swapp_w_picpath]# mkswap /swapp_w_picpath/swap
mkswap:/swapp_w_picpath/swap: warning: don't erase bootbits sectors
on whole disk. Use -f to force.
Setting upswapspace version 1, size = 2499996 KiB
no label, UUID=ec52720f-bc50-4e56-9dbf-05cbcd56c583
#vi /etc/fstab --添加下面一行,系統啟動后自動加載
添加:
/swapp_w_picpath/swap swap swap defaults 0 0
[root@CentOS6swapp_w_picpath]# free -m
total used free shared buffers cached
Mem: 1478 1443 34 0 13 820
-/+buffers/cache: 609 868
Swap: 0 0 0
#開啟swap添加
[root@CentOS6swapp_w_picpath]# swapon /swapp_w_picpath/swap
[root@CentOS6swapp_w_picpath]# free -m
total used free shared buffers cached
Mem: 1478 1445 32 0 13 820
-/+buffers/cache: 611 866
Swap: 2441 0 2441
----requirement
CheckingNetwork Configuration requirements ...
Checkcomplete. The overall result of this check is: Not executed <<<<
Recommendation:Oracle supports installations on systems with DHCP-assigned public IP addresses. However, the primary network interface on thesystem should be configured with a static IP address in order for the OracleSoftware to function properly. See theInstallation Guide
解決方法:
[root@CentOS6swapp_w_picpath]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
#IPADDR=192.168.18.8
#NETMASK=255.255.255.0
#GATEWAY=192.168.18.1
修改 /etc/sysconfig/network-scripts/ifcfg-eth0
[root@CentOS6swapp_w_picpath]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.150.128
NETMASK=255.255.255.0
GATEWAY=192.168.150.1
~
"/etc/sysconfig/network-scripts/ifcfg-eth0"7L, 108C written
使網卡設置馬上生效:
[root@CentOS6swapp_w_picpath]# /etc/init.d/network restart
Shuttingdown interface eth0: Device state: 3(disconnected)
[ OK ]
Shuttingdown loopback interface: [ OK ]
Bringing uploopback interface: [ OK ]
Bringing upinterface eth0: Active connection state:activated
Activeconnection path: /org/freedesktop/NetworkManager/ActiveConnection/2
[ OK ]
[root@CentOS6~]# vi /etc/hosts
#127.0.0.1 localhost CentOS6.5-32 localhost4localhost4.localdomain4 注意:這個要注釋掉
192.168.150.128CentOS6.5-32
OK配置完成后點“Retry”!
選擇配置選項,在這有三個選擇項:創建數據庫、配置自動存儲管理、只安裝數據軟件。
我們在此選擇第一項,創建數據庫。創建數據庫后,我們就不必再執行"dbca"進行數據庫的創建。
選擇創建的數據庫模式,我們在此選擇第一項一般用途。因為 "Advanced" 后面有很多SGA,文件系統都可以自行設置。
指定oracle數據庫默認的SID。指定字符集為庫所用的字符集,中文為simplified Chinesezhs16gbk。如果字符集不對,可能造成以后數據亂碼。最下面不用打鉤Create databasewithsample schemas(已有的模式建庫)。
配置選擇數據庫管理選項
配置數據庫的數據文件存儲的位置
配置數據庫備份恢復的相關選項
配置數據庫相關用戶密碼
顯示安裝概要,再次確認相關配置是否正確。
開始安裝數據庫
開啟一個新的終端,su到root。將要求執行的兩段script依序執行。
/u01/app/oracle/oraInventory/orainstRoot.sh
/u01/app/oracle/product/10.2.0/db_1/root.sh
到此oracle數據庫安裝完畢。
查看數據庫的狀態:
SQL> select instance_name,status fromv$instance;
INSTANCE_NAME STATUS
---------------- ------------
orcl OPEN
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。