101庫:32g內存 grep SwapTotal /proc/meminfo SwapTotal: 5242876 kB 注意設置swap 100庫是設置的16g和內存同樣大linux
1.修改用戶的SHELL的限制 ,設置oracle軟硬件進程數
vim /etc/security/limits.conf
oracle soft nproc 4096
oracle hard nproc 65536
oracle soft nofile 4096
oracle hard nofile 65536c++
2.添加初始化參數 vim /etc/sysctl.conf
# Controls the maximum size of a message, in bytes
kernel.msgmax = 65536數據庫
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736vim
# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576centos
要使 /etc/sysctl.conf 更改當即生效,執行如下命令。 輸入:sysctl -p 安全
3.關閉強制訪問控制,避免路由訪問失敗---可設置 或者不設置。建議設置禁用需重啓服務器 reboot 101 庫設置了以下:
vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled ---就這個東西
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targetedbash
4.配置計算機名稱 101以下 app-01 是他的名稱
vi /etc/hosts
10.1.1.1 app-01服務器
5.全局進程,線程配置 末尾追加
vi /etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fisession
6.設置oracle用戶環境變量 101配置以下 只須要配置以下就行
su - oracle
vi .bash_profile併發
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/dbhome_1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export ORACLE_SID=oracle
讓其生效
. ./.bash_profile
檢驗是否設置成功
echo $ORACLE_HOME
7.vi /etc/pam.d/login 101該配置文件以下 網上也有沒配的 關鍵是session required /lib/security/pam_limits.so session required pam_limits.so須要增長 101 64位系統
直接配置
session required /lib/security/pam_limits.so
session required pam_limits.so
網上:
1.修改用戶的SHELL的限制
vim /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
2.--修改/etc/pam.d/login文件,增長以下:
session required /lib64/security/pam_limits.so //64爲系統,千萬別寫成/lib/security/pam_limits.so,不然致使沒法登陸
session required pam_limits.so
3.修改linux內核,修改/etc/sysctl.conf文件,輸入命令: vi /etc/sysctl.conf,按i鍵進入編輯模式,將下列內容加入該文件
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648 共享內存字節,通常爲最大內存的75%
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
要使 /etc/sysctl.conf 更改當即生效,執行如下命令。 輸入:sysctl -p
3.關閉強制訪問控制,避免路由訪問失敗---可設置 或者不設置。
vi /etc/selinux/config
-----------------------
SELINUX=disabled
4.修改主機名,及ip對應關係
--設置主機名,也能夠直接修改配置文件/etc/sysconfig/network,不過這個是重啓以後才起做用
#sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=DB_2/g" /etc/sysconfig/network
--若是不想重啓,則使用下面命令,使當前生效
#hostname DB_2
--添加主機名與IP對應記錄
#vi /etc/hosts
10.10.0.48 DB_2
5.全局進程,線程配置,也有同101同樣配置的。
vi /etc/profile
----------------------
if [$USER = 'oracle']; then
ulimit -u 16384
ulimit -n 65536
fi
6.設置oracle用戶環境變量
su - oracle
vi .bash_profile
----------------------
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2/db_1
export ORACLE_SID=oracle11g
export NLS_LANG=american_america.zhs16gbk
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
umask 022
----------------------
讓其生效
. ./.bash_profile
檢驗是否設置成功
echo $ORACLE_HOME
-------------------------------------公共
必備依賴包
檢查是否安裝
rpm -q binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
執行yum安裝
yum install binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
1.建立oracle用戶
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
各參數詳解:
kernel.shmmax:是核心參數中最重要的參數之一,用於定義單個共享內存段的最大值。設置應該足夠大,能在一個共享內存段下容納下整個的SGA ,設置的太低可能會致使須要建立多個共享內存段,這樣可能致使系統性能的降低。至於致使系統降低的主要緣由爲在實例啓動以及ServerProcess建立的時候,多個小的共享內存段可能會致使當時輕微的系統性能的下降(在啓動的時候須要去建立多個虛擬地址段,在進程建立的時候要讓進程對多個段進行「識別」,會有一些影響),可是其餘時候都不會有影響。
官方建議值:
32位linux系統:可取最大值爲4GB(4294967296bytes)-1byte,即4294967295。建議值爲多於內存的一半,因此若是是32爲系統,通常可取值爲4294967295。32位系統對SGA大小有限制,因此SGA確定能夠包含在單個共享內存段中。
64位linux系統:可取的最大值爲物理內存值-1byte,建議值爲多於物理內存的一半,通常取值大於SGA_MAX_SIZE便可,能夠取物理內存-1byte。例如,若是爲12GB物理內存,可取12*1024*1024*1024-1=12884901887,SGA確定會包含在單個共享內存段中。
kernel.shmall: 該參數控制可使用的共享內存的總頁數。Linux共享內存頁大小爲4KB,共享內存段的大小都是共享內存頁大小的整數倍。一個共享內存段的最大大小是16G,那麼須要共享內存頁數是16GB/4KB=16777216KB /4KB=4194304(頁),也就是64Bit系統下16GB物理內存,設置kernel.shmall = 4194304才符合要求(幾乎是原來設置2097152的兩倍)。這時能夠將shmmax參數調整到16G了,同時能夠修改SGA_MAX_SIZE和SGA_TARGET爲12G(您想設置的SGA最大大小,固然也能夠是2G~14G等,還要協調PGA參數及OS等其餘內存使用,不能設置太滿,好比16G)
kernel.shmmni:該參數是共享內存段的最大數量。shmmni缺省值4096,通常確定是夠用了。
fs.file-max:該參數決定了系統中所容許的文件句柄最大數目,文件句柄設置表明linux系統中能夠打開的文件的數量。
fs.aio-max-nr:此參數限制併發未完成的請求,應該設置避免I/O子系統故障。推薦值是:1048576 其實它等於 1024*1024 也就是 1024K 個。
kernel.sem:以kernel.sem = 250 32000 100 128爲例:
250是參數semmsl的值,表示一個信號量集合中可以包含的信號量最大數目。
32000是參數semmns的值,表示系統內可容許的信號量最大數目。
100是參數semopm的值,表示單個semopm()調用在一個信號量集合上能夠執行的操做數量。
128是參數semmni的值,表示系統信號量集合總數。
net.ipv4.ip_local_port_range:表示應用程序可以使用的IPv4端口範圍。
net.core.rmem_default:表示套接字接收緩衝區大小的缺省值。
net.core.rmem_max:表示套接字接收緩衝區大小的最大值。
net.core.wmem_default:表示套接字發送緩衝區大小的缺省值。
net.core.wmem_max:表示套接字發送緩衝區大小的最大值。
Oracle服務器上Swap的配置
在Oracle服務器上,設置合適的swap大小能夠提高Oracle的性能,對於Oracle 11g來講,Oracle服務器上物理內存和要設置的swap大小關係以下:
若是物理內存小於等於2GB,那麼swap應該是物理內存的1.5倍;
若是物理內存在2GB到16GB之間,那麼swap大小最好等於物理內存;
若是物理內存大於16GB,那麼swap設置爲16G就足夠了。
咱們能夠用操做系統命令free -m來查看物理內存、swap大小,單位是MB
以前都是配置系統變量
建立安裝oracle和放解壓包的文件夾
命令:sudo mkdir -p /oracledata/data/oracle //oracle數據庫安裝目錄
命令:sudo mkdir -p /oracledata/data/oraInventory //oracle數據庫配置文件目錄
命令:sudo mkdir -p /oracledata/data/database //oracle數據庫軟件包解壓目錄 , 將oracle安裝文件放到這裏
建完記得給oracle用戶賦權,名稱隨意跟後面配置文件匹配上就行。
下面開始安裝數據庫。
1.編輯響應文件db_install.rsp
vi /u01/database/response/db_install.rsp
須要修改的配置有如下內容(參考大神說明 http://blog.csdn.net/jameshadoop/article/details/48086933)
oracle.install.option=INSTALL_DB_SWONLY #選擇安裝類型:1.只裝數據庫軟件 2.安裝數據庫軟件並建庫 3.升級數據庫 ORACLE_HOSTNAME=ora11g #指定操做系統主機名,經過hostname命令得到 UNIX_GROUP_NAME=oinstall #指定oracle inventory目錄的全部者,一般會是oinstall或者dba INVENTORY_LOCATION=/oracleSoft/data/oraInventory #指定產品清單oracle inventory目錄的路徑 SELECTED_LANGUAGES=en,zh_CN,zh_TW #指定數據庫語言,能夠選擇多個,用逗號隔開 ORACLE_HOME=/oracleSoft/data/oracleInstall /product/11.2.0/db_1 #設置ORALCE_HOME的路徑 ORACLE_BASE=/oracleSoft/data/oracleInstall # 設置ORALCE_BASE的路徑,即oracle安裝目錄根路徑 oracle.install.db.InstallEdition=EE #選擇Oracle安裝數據庫軟件的版本 oracle.install.db.isCustomInstall=false oracle.install.db.DBA_GROUP=dba #指定擁有OSDBA、OSOPER權限的用戶組,一般會是dba組 oracle.install.db.OPER_GROUP=oinstall oracle.install.db.config.starterdb.type=GENERAL_PURPOSE #選擇數據庫的用途,通常用途/事物處理,數據倉庫 oracle.install.db.config.starterdb.globalDBName=ora11g #指定GlobalName oracle.install.db.config.starterdb.SID=ora11g #指定SID oracle.install.db.config.starterdb.characterSet=ZHS16GBK #選擇字符集。不正確的字符集會給數據顯示和存儲帶來麻煩無數。 #一般中文選擇的有ZHS16GBK簡體中文庫,根據公司規定自行選擇 oracle.install.db.config.starterdb.password.ALL=123456 #設定全部數據庫用戶使用同一個密碼,其它數據庫用戶就不用單獨設置了。 這裏能夠不配置 使用默認的就行 DECLINE_SECURITY_UPDATES=true # False表示不須要設置安全更新,注意,在11.2的靜默安裝中疑似有一個BUG # Response File中必須指定爲true,不然會提示錯誤,不論是否正確填寫了郵件地址
2.切換到oracle用戶進入到/u01/database目錄下執行安裝命令--
cd /oracle/data/database/ ./runInstaller -silent -ignorePrereq -responseFile /oracle/data/database/response/db_install.rsp
出現以下就證實成功,使用root用戶執行對應的腳本便可。
檢查臨時空間: 必須大於 120 MB。 實際爲 37565 MB 經過 檢查交換空間: 必須大於 150 MB。 實際爲 3956 MB 經過 準備從如下地址啓動 Oracle Universal Installer /tmp/OraInstall2019-03-19_04-37-59PM. 請稍候...[oracle@asdccentos7 database]$ 能夠在如下位置找到本次安裝會話的日誌: /home/oracleSoft/data/oraInventory/logs/installActions2019-03-19_04-37-59PM.log Oracle Database 11g 的 安裝 已成功。 請查看 '/home/oracleSoft/data/oraInventory/logs/silentInstall2019-03-19_04-37-59PM.log' 以獲取詳細資料。 以 root 用戶的身份執行如下腳本: 1. /home/oracleSoft/data/oraInventory/orainstRoot.sh 2. /home/oracleSoft/data/oracleInstall/product/11.2.0.4/dbhome_1/root.sh Successfully Setup Software.
ctrl+c oracle安裝完成。
3.靜默安裝監聽,( $ORACLE_HOME/bin/netca /silent /responsefile u01/database/response/netca.rsp)
[oracle@ddddd database]$ /home/oracleSoft/data/oracleInstall/product/11.2.0.4/dbhome_1/bin/netca /silent /responseFile /home/oracleSoft/data/database/database/response/netca.rsp
4.靜默建庫
編輯dbca.rsp
vim /home/oracleSoft/data/database/response/dbca.rsp
#如下內容必須設置 GDBNAME = "ora11g" 全局數據庫名 SID = "ora11g" 實例名稱 TEMPLATENAME = "General_Purpose.dbc" 默認若是是這個值 則不須要修改 #如下內容根據須要修改 CHARACTERSET = "ZHS16GBK" 若是註釋了放開註釋 ,填寫須要的數據庫字符集。通常中文推薦這個 End of CREATEDATABASE section出現這個說明就能夠保存退出了
執行 [oracle@cccccc response]$ /home/oracleSoft/data/oracleInstall/product/11.2.0.4/dbhome_1/bin/dbca -silent -responseFile /home/oracleSoft/data/database/database/response/dbca.rsp
而後會提示輸入system密碼。個人電腦執行後會清空屏幕,直接輸入想要的密碼 回車,確認密碼 一直回車就行。
注意環境變量的值必須和配置文件裏一致。
最後提示100%時就成功了。
centos 開放端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent
從新啓動防火牆
firewall-cmd --reload
便可遠程鏈接。