Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關係型數據庫管理系統。它是在數據庫領域一直處於領先地位的產品。能夠說Oracle數據庫系統是目前世界上流行的關係數據庫管理系統,系統可移植性好、使用方便、功能強,適用於各種大、中、小、微機環境。它是一種高效率、可靠性好的 適應高吞吐量的數據庫解決方案。html
環境配置linux
一、安裝centos6.5操做系統c++
物理內存很多於1Gsql
硬盤能夠空間很多於5G數據庫
swap分區空間很多於2Gvim
支持256色以上顯卡centos
cpu主頻不小於550mHZ安全
二、下載安裝包oracle11g_r2_x64的oracle版本服務器
三、配置hosts文件
格式:ip 主機名
四、配置yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum clean all && yum makecache
五、關閉selinux
sed -i 7s/enforcing/disabled/g /etc/selinux/config
reboot
安裝部署
一、安裝oracle依賴包關係
yum install binutils compat-libcap1 compat-libstdc++ compat-libstdc++ gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libaio libaio-devel make sysstat unixODBC unixODBC-devel -y
二、修改內核參數
內核參數調總體如今/etc/sysctl.conf文件中。主要包括對內存調度、端口範圍、打開文件數、I/O請求等相關的一些設置,相關數值不可低於安裝要求。修改完畢後經過執行sysctl–p命令使新配置當即生效。
vim /etc/sysctl.conf 請根據本身實際狀況修改,內核參數以下
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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
三、修改內核限制參數
vim /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
第1行是設置進程數軟限制;
第2行是設置進程數硬限制;
第3行是設置文件數軟限制;
第4行是設置文件數硬限制
四、建立oracle賬號和組
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
五、建立相關數據庫目錄
mkdir /u01
mkdir /u01/app
mkdir -p /u01/app/oracle/oradata //存放數據庫的數據目錄
mkdir -p /u01/app/oracle/oradata_back //存放數據庫備份文件
chmod -R 775 /u01/app
六、修改oracle環境變量
vim /etc/proile (文件最後加入)
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=ora11
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
七、oracle資源限制,不配置也不會影響oracle數據庫的成功安裝,可是考慮到如有糟糕的sql語句對服務器資源的無限佔用,致使長時間對用戶請求無響應,建議提早限制oracle用戶資源。
vim /etc/profile
if [ $USER = "oracle" ] ;then
if [ $SHELL = "/bin/ksh" ];then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
八、解壓oracle二進制包至/opt目錄下 (解壓的目錄默認名爲database)
cp -rv /root/linux.x86* /opt
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
9、修改配置文件並進行拷貝
解壓oracle文件,進入response目錄下
#cp * /etc
#vi /etc/db_install.rsp
配置文件設置--->http://blog.chinaunix.net/uid-23886490-id-3565908.html
修改安裝Oracle軟件的響應文件vim /etc/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY //安裝類型,只裝數據庫軟件
ORACLE_HOSTNAME=test //主機名稱(hostname查詢)
UNIX_GROUP_NAME=oinstall // 安裝組
INVENTORY_LOCATION=/opt/oracle/oraInventory //INVENTORY目錄(不填就是默認值)
SELECTED_LANGUAGES=en,zh_CN,zh_TW // 選擇語言
ORACLE_HOME=/opt/oracle/product/11.2.0/db_1 // oracle_home
ORACLE_BASE=/opt/oracle // oracle_base
oracle.install.db.InstallEdition=EE // oracle版本
oracle.install.db.isCustomInstall=false //自定義安裝,否,使用默認組件
oracle.install.db.DBA_GROUP=dba //dba用戶組
oracle.install.db.OPER_GROUP=oinstall //oper用戶組
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //數據庫類型
oracle.install.db.config.starterdb.globalDBName=orcl //globalDBName
oracle.install.db.config.starterdb.SID=orcl //SID
oracle.install.db.config.starterdb.memoryLimit=81920 //自動管理內存的內存(M)
oracle.install.db.config.starterdb.password.ALL=oracle //設定全部數據庫用戶使用同一個密碼
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false(手動寫了false)
DECLINE_SECURITY_UPDATES=true //設置安全更新(貌似是有bug,這個必定要選true,不然會無限提醒郵件地址有問題,終止安裝。PS:無論地址對不對)
10,執行腳本 提醒:切換至oracle用戶
#/u01/app/oracle/oraInventory/orainstRoot.sh
#/u01/app/oracle/product/11.2.0/db_1/root.sh
11,靜默配置監聽 提醒:切換至oracle用戶
netca /silent /responsefile /etc/netca.rsp
備註: netca命令是oracle提供的命令,若是顯示找不到命令請檢查環境變量
12,經過netstat -tlnp 命令查看監聽地址 提醒:切換至oracle用戶
tcp 0 0 :::1521 :::* LISTEN 5477/tnslsnr
13,靜默創建新庫 提醒:切換至oracle用戶 (若是一下各參數在/etc/dbca.rsp文件中 重複出現,能夠全改)
修改/etc/dbca.rsp,設置以下:
RESPONSEFILE_VERSION = "11.2.0" //不能更改
OPERATION_TYPE = "createDatabase"
GDBNAME = "orcl" //全局數據庫的名字=SID+主機域名
SID = "orcl" //對應的實例名字
TEMPLATENAME = "General_Purpose.dbc" //建庫用的模板文件
SYSPASSWORD = "123456" //SYS管理員密碼
SYSTEMPASSWORD = "123456" //SYSTEM管理員密碼
DATAFILEDESTINATION = /u01/app/oracle/oradata //數據文件存放目錄
RECOVERYAREADESTINATION=/u01/app/oracle/oradata_back //恢復數據存放目錄
CHARACTERSET = "UTF-8" //字符集,重要!!! 建庫後通常不能更改
TOTALMEMORY = "5120" //oracle內存5120MB
14,靜默建庫命令以下 (dbca是oracle命令,若是提示命令找不到,檢查環境變量)
dbca -silent -responseFile /etc/dbca.rsp
數據庫信息:
全局數據庫名:
系統標識符 (SID): 若有相關顯示 則代表成功
15,檢查oracle進程狀態
ps -ef | grep ora_ | grep -v grep
lsnrctl status (lsnrctl是oracle命令)
16,登陸數據庫 提醒:切換至oracle用戶
sqlplus / as sysdba
17,修改oracle啓動配置文件
完成oracle11g數據庫的安裝後,相關服務器會自動啓用,但並不表示下次開機後oracle服務器仍然可用。下面將介紹oracle的基本服務組件,以及如何編寫服務腳原本控制oracle數據庫系統的自動運行。
根據上面的安裝過程,oracle11g的數據庫軟件將安裝在變量ORACLE_HOME所北定的位置。例如/opt/oracle/product/11.2.0/dbhome_1/,而各類服務器組件程序(也包括sqlplus命令)正是位於其中的bin子目錄下。
Oracle11g數據庫的基本服務組件以下所述:(注:oracle服務組件最好以oracle用戶身份運行如:su - oracle)
lsnrctl:監聽器程序,用來提供數據庫訪問,默認監聽TCP 1521端口。
dbstart、dbshut:數據庫控制程序,用來啓動、中止數據庫實例。
emctl:管理器控制工具,用來控制OEM平臺的開啓與關閉,OEM平臺經過1158端口提供HTTPS訪問,5520端口提供TCP訪問。
爲了方便執行oracle11g的服務組件程序,建議對全部用戶的環境配置做進一步的優化調整、補充PATH路徑、oracle終端類型等變量設置。除此之外,還應該修改/etc/oratab配置文件,以便運行dbstart時自動啓用數據庫實例。
$vim /etc/oratab
racl:/u01/app/oracle/product/11.2.0/db_1:Y //把「N」改爲「Y」
這樣就能夠經過dbstart 啓動此實例,也能夠經過dbshut關閉此實例了。
$ dbshut /u01/app/oracle/product/11.2.0/db_1/
Processing Database instance "hello": log file /u01/app/oracle/product/11.2.0/db_1/shutdown.log
此時全部oracle的進程關閉,監聽器也中止。
$dbstart /u01/app/oracle/product/11.2.0/db_1/
Processing Database instance "hello": log file /u01/app/oracle/product/11.2.0/db_1/startup.log
此時監聽器工做,hello實例運行,再次查看監聽器狀態。