https://www.2cto.com/database/201704/622237_2.htmlhtml
一、關閉防火牆
systemctl stop firewalled service
systemctl disable firewalled servicelinux
二、關閉selinux
vim /etc/selinux/config
selinux=encourceing改成disabledc++
三、建立運行oracle數據庫的用戶組和系統用戶
#groupadd oinstall //建立用戶組oinstall
#groupadd dba //建立用戶組dba
#useradd -g oinstall -g dba -m oracle //建立用戶oracle,並加入到oinstall和dba用戶組
#passwd oracle //設置用戶oracle的登陸密碼
#id oracle //查看新建的用戶oracle數據庫
四、建立數據庫安裝目錄並受權
#mkdir -p /data/oracle //安裝目錄
#mkdir -p /data/oraInventory //配置文件目錄
#mkdir -p /data/database // 解壓目錄vim
#chown -R oracle:oinstall /data/oracle
#chown -R oracle:oinstall /data/oraInventory
#chown -R oracle:oinstall /data/databasebash
五、修改OS系統標識
注:CentOS系統默認不支持oracle數據庫安裝,須要修改系統標識爲redhat-7
#cat /proc/version //查看Linux系統版本
#cat /etc/redhat-realease //查看CentOS系統版本
CentOS Linux release 7.2.1511(Core)
#vi /etc/redhat-realease
redhat-7網絡
六、修改內核參數
#vi /etc/sysctl.conf
#System default……
#To override……
#
#For more……
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744 #設置最大打開文件數
fs.aio-max-nr = 1048576
kernel.shmall = 2097152 #共享內存的總量,8G內存設置:2097152*4k/1024/1024
kernel.shmmax = 2147483648 #最大共享內存的段大小
kernel.shmmni = 4096 #整個系統共享內存端的最大數
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 #可以使用的IPv4端口範圍
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576oracle
使配置參數生效:
#sysctl -pdom
七、對oracle用戶設置限制,提升軟件運行性能
[root@localhost /]# vi /etc/security/limits.conf異步
#@student - maxlogins 4
oracle soft nproc 2047 //最大進程數
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
# End of file
八、配置用戶的環境變量
切換到oracle用戶下:
$vim .bash_profile
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/user/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
AMERICAN_AMERICA.ZHS16GBK #設置Oracle客戶端字符集,必須 與Oracle安裝時設置的字符集保持一致,如:ZHS16GBK,不然出現數據導入導出 中文亂碼問題
註釋掉原來的#PATH和#export PATH
使上述配置當即生效:#source /home/oracle/.bash_profile
十、增長主機名
注:若不執行此步,則配置監聽時會出錯,系統沒法識別監聽。
Linux查看計算機名 $hostname
#vi /etc/sysconfig/network
# Created by anaconda
hostname=lgswork //增長hostname
# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 lgswork
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# hostname lgswork //執行
十一、安裝oracle數據庫所需的軟件包
#yum install gcc* gcc-* gcc-c++-* glibc-devle-* glibc-headers-* compat-libstdc* libstdc* elfutils-libelf-devel*
libaio-devel* sysstat* unixODBC-* pdksh-* make ksh binutils -y
字符集設置
vi /home/oracle/.bash_profile #追加配置文件
export LANG=C #防止安裝過程出現亂碼
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #設置Oracle客戶端字符集,必須與Oracle安裝時設置的字符集保持一致
export LANG=zh_CN.UTF-8
十二、解壓縮
將3個壓縮文件放到/data下
$cd /data
$unzip oracle_11.2.0.4_Linux-64_1of7.zip -d /data/database
$unzip oracle_11.2.0.4_Linux-64_2of7.zip -d /data/database
1三、安裝
$cd /data/database
$./runInstaller
(1)Prerequisite Checks
①swap空間不足解決 :(要求2.67G 實際2G)
# free -m //查看當前虛擬內存
# dd if=/dev/zero of=/home/swap bs=1024 count=1024000 //將當前swap 空間由2048M增長到3048M新增一個2014的swap文件
# swapon /home/swap //增長並啓用虛擬內容
# free -m //再次查看
②package檢測失敗
由於現有的包的版本比檢測要高,最後忽略便可。也可下載相應的package後:
#rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm(需cd到包所在目錄)
③安裝過程是一個漫長的過程,中間有幾回卡住,沒有出現任何畫面,屏幕中間有 條小線,嘗試屢次,發現光標在該線上,右鍵點擊Closed,也可esc或enter。
(2)Install Product
①execute root scripts(根腳本執行)-failed
切換到root用戶:
#/data/oraInventory/orainstRoot.sh
#/data/oracle/product/11.2.0/db_1/root.sh
執行完這連個腳本後再點擊try即可執行成功。
[Oracle@localhost ~]$ netca //配置監聽
[Oracle@localhost ~]$ lsnrctl status //查看監聽狀態
[Oracle@localhost ~]$ dbca //建立數據庫實例orcl
https://www.cnblogs.com/kerrycode/archive/2013/09/13/3319958.html
4.4 修改系統內核參數
在修改系統內核參數前,你能夠用命令先查看一下當前各種系統參數的值,亦或直接查看配置文件/etc/sysctl.conf
[root@getoraclelnx01 ~]# getconf PAGESIZE
4096
[root@getoraclelnx01 ~]# sysctl -a | grep sem
kernel.sem = 250 32000 32 128
[root@getoraclelnx01 ~]# sysctl -a | grep shm
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmmni = 4096
vm.hugetlb_shm_group = 0
[root@getoraclelnx01 ~]# sysctl -a | grep file-max
fs.file-max = 2414060
[root@getoraclelnx01 ~]# sysctl -a | grep ip_local_port_range
net.ipv4.ip_local_port_range = 32768 61000
[root@getoraclelnx01 ~]#
kernel.shmmax
關於內核參數kernel.shmmax,oracle 建議,kernel.shmmax的值不能少於物理內存的一半,並且要大於Oracle中sga-max-size的值,不然會形成oracle性能降低
通常32bit操做系統,直接設置爲系統支持的最大內存便可,64bit操做系統設置大於sga-max-size的值便可
如:當前內存爲2G 則kernel.shmmax = 2*1024*1024=2097152
當前內存爲8G則 kernel.shmmax = 7*1024*1024=7340032
Kernel.shmall
Shmall指系統一次可使用的共享內存段的最大數量,以頁爲單位。Oracle默認設置爲 kernel.shmall = 2097152
即最大8G(2097152*4/1024/1024),(在調整SGA時須要注意,SGA大小設置不可超過該值),根據系統內存大小和使用的不一樣能夠參考以下:設置的通常規律
kernel.shmall = 8G/4k=8388608k/4k=2097152 ---內存8G
kernel.shmall = 16G/4k=16777216k/4k=4194304 ---內存16G
kernel.shmall = 32G/4k=33554432k/4k=8388608 ---內存32G
(RedHat linux系統中頁大小爲4096即4K,實際環境以getconf PAGE_SIZE結果爲準)
kernel.shmmni
shmmni 指系統共享內存段的最大數量
oracle設置默認值爲4096,通常是足夠用了,不須要調整
文件句柄數的相關內核參數設置
fs.file-max
fs.file-max指系統可以打開最大的文件句柄數
oracle建議設置爲65536,通常不用修改
信號的相關內核參數設置
kernel.sem
kernel.sem是指 semmsl,semmns,semopm,semmni這4個參數
semmsl 指每一個線號集的最大信號數,Oracle建議是設置爲oracle的最大進程數+10
semmni 指整個系統的信號集的最大數量
semmns 指整個系統的信號總數,也就是semmni*semmsl的結果
semopm 指每一個semop系統調用能夠執行的信號操做的最大數量
oracle默認設置
semmsl=250
semmns=3200
semopm=100
semmni=128
即kernel.sem= 250 3200 100 128
例:在oracle ora.init文件參數中設置PROCESSES參數爲5000
則semmsl=5010,semmni=128,semmns=semmsl* semmni=641280
另外semopm建議設置等於semmsl值即5010
那麼kernel.sem=5010 641280 5010 128
網絡相關的內核參數設置
net.core.rmem_default
net.core.rmem_default 指網絡套接字的默認接收緩衝區的大小,oracle建議設置爲265K即262144
net.core.rmem_max
net.core.rmem_max 指網絡套接字的最大接收緩衝區的大小,oracle10g及之前版本建議設置爲256k即262144
oracle11g建議設置爲4M 即4194304
net.core.wmem_default
net.core.wmem_default指網絡套接字的默認發送緩衝區的大小,oracle建議設置爲265K即262144
net.core.wmem_max
net.core.wmem_max 指網絡套接字的最大發送緩衝區的大小,oracle10g及之前版本建議設置爲256k即262144
oracle11g建議設置爲1M即1048576
net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range ,指本地的容許打開隨機端口範圍
oracle10g前建議端口範圍爲1024 65000,oracle11g建議端口範圍爲:
65500 並忽略oracle安裝程序任何關於這個參數的警告
Asynchronous I/O相關的內核參數設置
fs.aio-max-nr
fs.aio-max-nr 指系統容許的最大的異步IO請求大小
oracle默認設置爲1M即1048576,通常不用更改