安裝環境配置
1>配置IP:
vi/etc/sysconfig/network-scripts/ifcfg-eth0 將onboot改爲yes
setup(一般用於設置啓動服務或網絡)
Network configuration-- Devicesconfiguration--選擇所列網卡--Use DHCP空格取消(表示不用DHCP) 填寫Static IP(靜態IP),Netmask(掩碼),Default gateway IP(網關) Save退出(Tab爲選擇鍵)
2> service network restart(重啓網絡服務)
3>ping 配置的IP(檢查是否能連通)
4>到客戶電腦上連接剛纔配好的IP (暫時不需要)
5>vi /etc/sysconfig/network(修改主機名)
將HOSTNAME=localhost.localdomain(默認主機名)改爲客戶所需名 按Esc鍵輸入:wq(保存退出)
6>vi /etc/hosts(設置IP跟主機名對應關係)
增加一行:配置IP 主機名(按下i[除了Esc鍵均可]開始編輯) 保存退出
7>service iptables status(查看防火牆是否關掉,我們需要關掉)
若是防火牆開啓
service iptables stop
chkconfig iptables off(設置開機時不啓動防火牆)
service NetworkManager stop
chkconfig NetworkManager off
8>getenforce(關掉seLinux權限)
若是沒關掉
vi /etc/selinux/config
將SELINUX=後面的改成disabled 保存退出
9>chkconfig sendmail off(開機時關閉sendmail服務,加快開機速度) rhel 5需要
重啓完成修改!!!
10>掛載鏡像
mount -o loop /dev/cdrom /mnt 掛載鏡像
vi /etc/yum.repos.d/rhel.repo 新建配置文件,添加如下內容
[rhel]
name=rhel
baseurl=file:///mnt
enabled=1
gpgcheck=0
11>安裝oracle所需的環境包
yum clean all 清楚緩存軟件包
yum list 列出所有已安裝和可以安裝的軟件包
yum install compat-libcap1tiger* binutils compat-libstdc* elfutils-libelf elfutils-libelf-devel gccgcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio libaio-devel libaio-devellibgcc libstdc++ libstdc++-devel make sysstat unixODBCunixODBC unixODBC-devel unixODBC-devel iscsi lsscsi* -y
安裝這些軟件包
12>設置oracle用戶的shelllimit
rhel5
vi /etc/security/limits.conf 向文件中添加如下內容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 1024
【增加下面的內容到文件 /etc/pam.d/login 中,使shell limit生效:
session required/lib/security/pam_limits.so】 安裝10g時需要11g不需要
rhel6 或更高版本則要注意
nproc參數的生效並不是在/etc/security/limits.conf裏生效,是需要在
vi /etc/security/limits.d/90-nproc.conf 文件中設置
13>建立安裝Oracle需要的用戶,組,及目錄
/usr/sbin/groupadd -g 500 oinstall
/usr/sbin/groupadd -g 501 dba
/usr/sbin/useradd -u 500 -g oinstall -G dba oracle
passwd oracle 設置密碼
輸入自定義密碼
mkdir -p /u01/app/oracle
mkdir –p /u01/app/datafile
mkdir –p /u01/app/archive
chown oracle:oinstall /u01/ -R
chmod 775 /u01/app/oracle/ -R
mkdir /rmanbackup
chown oracle:oinstall /rmanbackup 創建Oracle的安裝目錄,並把權限付給oracle用戶
13>配置oracle用戶的環境變量
su - oracle
vi /home/oracle/.bash_profile 添加如下內容
export ORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
【修改完用:source .bash_profile生效。】
14>修改系統內核參數su - root
vi /etc/sysctl.conf 向其中添加如下內容
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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
運行sysctl -p 從指定文件加載內核參數立刻生效 11g
運行/sbin/sysctl –p 是以上參數生效 10g
rhel 7 文件位置/usr/lib/sysctl.d/00-system.conf
利用傳輸工具(SFX)從本機向虛擬機傳送所需oracle的壓縮包,並在虛擬機上解壓
zip壓縮文件 unzip
15>圖形化界面安裝開始
xhost + 圖形化鏈接啓動
su - oracle 切換到oracle用戶
cd /tmp/database
./runInstaller 運行runInstaller進入圖形化安裝界面
###########################################################
此處省略一堆安裝截圖
點擊FIX 根據提示運行腳本修復即可
執行腳本:
su - root
cd /u01/app/oraInventory/
sh orainstRoot.sh
cd /u01/app/oracle/product/11.2.0/dbhome_1/
sh root.sh
直接回車
###########################################################
16>創建數據庫(此處省略一堆安裝截圖)
su - oracle
dbca進入圖形化界面
mkdir datafile
chown oracle:oinstall datafile
mkdir archive
chown oracle:oinstall archive
將移動標拖到百分之60
然後SGA:PGA = 4:1
17>創建監聽(此處省略一堆安裝截圖)
netca進入圖像化界面
******************************************
oracle用戶下啓動監聽 lsnrctl start *
*
用sqlplus連接數據庫: sqlplus / as sysdba *
*
sql下開啓數據庫startup *
*
*
******************************************
讓上下鍵好使的軟件:
1. 執行configure
將安裝程序放到linux桌面
cd /root/Desktop/rlwrap-0.42
./configure
如果報錯,執行如下的安裝(在root下執行):
yum install readline-devel
安裝完成之後,再次configure
./configure
make
make install
2. 對其進行配置
su - oracle
vi .bash_profile寫入如下內容:
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
保存退出,執行source .bash_profile
18>安裝完成後的參數檢查與修改。
sqlplus / as sysdba
alter system setdeferred_segment_creation=FALSE;
alter system set audit_trail=none scope=spfile;
alter system set SGA_MAX_SIZE =450M scope=spfile;
alter system set SGA_TARGET =450M scope=spfile;
alter system set pga_aggregate_target =250M scope=spfile;
Alter PROFILE DEFAULT LIMITPASSWORD_LIFE_TIME UNLIMITED;
shutdown immediate;
startup
SGA_MAX_SIZE\SGA_TARGET\pga_aggregate_target
保守的設置原則是:
SGA_TARGET=物理內存memory_target*0.5
pga_aggregate_target=SGA_TARGET/4
SGA_TARGET+pga_aggregate_target<=memory_target*0.6
SGA_TARGET 等於 SGA_MAX_SIZE
根據實際物理內存進行調整。
結束
19>大頁內存
如果內存大於等於64G 考慮開啓大頁內存
大頁內存計算方法是:
SGA_MAX_SIZE 單位是G
(SGA_MAX_SIZE*1024/2)+2= 大頁內存值
uname -r 查看內核版本
2.4對應的參數是:vm.hugetlb_pool=大頁內存值
2.6對應的參數是:vm.nr_hugepages=大頁內存值
將以上參數值 如vm.hugetlb_pool=9218 追加到/etc/sysctl.conf最後一行。
在/etc/security/limits.conf文件中增加如下行
oracle soft memlock 18878464
oracle hard memlock 18878464
以上18878464的值替換成 大頁內存值*2*1024
20>配置開機自啓動
如果要求開機自啓動數據庫
su - oracle
mkdir /home/oracle/scripts/ -p
vi /home/oracle/scripts/startupdb.sh
startupdb.sh腳本內容如下:
#scripts startupdb.sh#####################################
#!/bin/bash
source ~/.bash_profile
lsnrctl start
echo "startup" |tee /home/oracle/scripts/startupdb.sql
echo "quit" |tee -a /home/oracle/scripts/startupdb.sql
sqlplus / as sysdba @/home/oracle/scripts/startupdb.sql
#scripts startupdb.sh#####################################
編輯開機啓動任務:
su - root
vi /etc/rc.local
尾行加入:
su - oracle -c '/bin/bash/home/oracle/scripts/startupdb.sh'
21>配置rman自動備份
關於crontab命令請自行百度。
記得修改ORACE_SID和備份文件名稱
[oracle@his01 ~]$crontab –l ----計劃任務
0 23 * * 6/home/oracle/scripts/rmanbackup0.sh ----每週六做0級全備
0 23 * * 0,1,2,3,4,5/home/oracle/scripts/rmanbackup1.sh ----其他時間做1級備份
[oracle@his01 ~]$cat/home/oracle/scripts/rmanbackup0.sh
#!/bin/sh
DATE=`date +%Y-%m-%d`
exportORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=orcl
/u01/app/oracle/product/11.2.0/dbhome_1/bin/rmancmdfile /home/oracle/scripts/backup0.sh log=/home/oracle/scripts/log_rman_$DATE
[oracle@his01 ~]$cat/home/oracle/scripts/rmanbackup1.sh
#!/bin/sh
DATE=`date +%Y-%m-%d`
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=dzyyhis1
/u01/app/oracle/product/11.2.0/dbhome_1/bin/rmancmdfile /home/oracle/scripts/backup1.sh log=/home/oracle/scripts/log_rman_$DATE
[oracle@his01 ~]$cat/home/oracle/scripts/backup1.sh
connect target
run
{
allocate channel d1 type disk;
backup incremental level 1 format'/rmanbackup/orcl_inc_%U' database;
sql 'alter system archive log current';
backup format '/rmanbackup/orcl_arch_inc_%U'archivelog all delete input;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;
release channel d1;
}
[oracle@his01 ~]$cat/home/oracle/scripts/backup0.sh
connect target
run
{
allocate channel d1 type disk;
backup incremental level 0 format'/rmanbackup/orcl_full_%U' database include current controlfile;
sql 'alter system archive log current';
backup format'/rmanbackup/orcl_arch_full_%U' archivelog all delete input;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;
release channel d1;
}
注意腳本權限的修改
chmod +x/home/oracle/scripts/rmanbackup1.sh
chmod +x/home/oracle/scripts/rmanbackup0.sh