1郎仆、實驗環(huán)境
一臺 CentOS-7.5 桌面版虛擬機(安裝oracle需要桌面绢要,靜默安裝除外)
主機地址:10.0.11.57
Oracle版本:oracle-11g
防火墻+selinux均關(guān)閉
Oracle默認端口:1521
2、安裝Oracle的依賴軟件包
[root@oracle ~]#
[root@oracle ~]# yum install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh numactl-devel glibc-headers
[root@oracle ~]# rz? ? ? ? ? ? ? ? ? ? ?#通過該命令上傳一個rpm包到linux(這個依賴包通過yum無法安裝)
[root@oracle ~]# ll *.rpm
[root@oracle ~]#
[root@oracle ~]# rpm? -ivh? pdksh-5.2.14-37.el5_8.1.x86_64.rpm
3、修改系統(tǒng)標(biāo)識
[root@oracle ~]#
[root@oracle ~]# vi? /etc/redhat-release
# 加入以下內(nèi)容
redhat-7?
[root@oracle ~]# cat /etc/redhat-release
redhat-7
[root@oracle ~]#
4尉咕、修改內(nèi)核參數(shù)
[root@oracle ~]#
[root@oracle ~]# vi? /etc/sysctl.conf
# 加入以下內(nèi)容
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744? ? ? ? ? #設(shè)置最大打開文件數(shù)
fs.aio-max-nr = 1048576
kernel.shmall = 2097152? ? ? ? #共享內(nèi)存的總量,8G內(nèi)存設(shè)置:2097152*4k/1024/1024
kernel.shmmax = 2147483648? ? ? #最大共享內(nèi)存的段大小
kernel.shmmni = 4096? ? ? ? ? ? #整個系統(tǒng)共享內(nèi)存端的最大數(shù)
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= 1048576
[root@oracle ~]#
[root@oracle ~]# sysctl? -p? ? ? ? ? ? ? ? #使上面的配置生效
5璃岳、創(chuàng)建運行Oracle的系統(tǒng)用戶和用戶組
[root@oracle ~]#
[root@oracle ~]# groupadd? oinstall
[root@oracle ~]# groupadd? dba
[root@oracle ~]# useradd? -g? oinstall? -g? dba? -m? oracle
[root@oracle ~]# passwd? oracle
更改用戶 oracle 的密碼 年缎。
新的 密碼:Ctsi.2020
重新輸入新的 密碼:Ctsi.2020
passwd:所有的身份驗證令牌已經(jīng)成功更新。
[root@oracle ~]#
6铃慷、創(chuàng)建Oracle數(shù)據(jù)庫的安裝目錄
[root@oracle ~]#
[root@oracle ~]# mkdir? -p? /oracleData/oracle? ? ? ? ? ? ? ? ? #oracle數(shù)據(jù)庫安裝目錄
[root@oracle ~]# mkdir? -p? /oracleData/oraInventory? ? ? ? #oracle數(shù)據(jù)庫配置文件目錄
[root@oracle ~]# mkdir? -p? /oracleData/software? ? ? ? ? ? ? #oracle數(shù)據(jù)庫軟件包解壓目錄
[root@oracle ~]#
[root@oracle ~]# chown? -R? oracle:oinstall /oracleData/oracle
[root@oracle ~]# chown? -R? oracle:oinstall /oracleData/oraInventory
[root@oracle ~]# chown? -R? oracle:oinstall /oracleData/software
[root@oracle ~]#
7单芜、對oracle用戶設(shè)置限制,提高軟件運行性能
[root@oracle ~]#
[root@oracle ~]# vi? /etc/security/limits.conf
# 加入以下幾行內(nèi)容
oracle ???????? soft ???? nproc ???????? 2047
oracle? ? ? ? ? hard? ? ?nproc? ? ? ? ?16384
oracle? ? ? ? ? soft? ? ? ?nofile? ? ? ? ?1024? ?
oracle? ? ? ? ? hard? ? ? nofile? ? ? ? ? 65536?
8犁柜、配置用戶的環(huán)境變量
[root@oracle ~]#
[root@oracle ~]# vi? /home/oracle/.bash_profile
export ORACLE_BASE=/oracleData/oracle #oracle數(shù)據(jù)庫安裝目錄
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1? #oracle數(shù)據(jù)庫路徑
export ORACLE_SID=orcl? #oracle啟動數(shù)據(jù)庫實例名
export ORACLE_TERM=xterm? #xterm窗口模式安裝
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH? #添加系統(tǒng)環(huán)境變量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib? #添加系統(tǒng)環(huán)境變量
export LANG=C? #防止安裝過程出現(xiàn)亂碼
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK? #設(shè)置Oracle客戶端字符集洲鸠,必須與Oracle安裝時設(shè)置的字符集保持一致
[root@oracle ~]#
[root@oracle ~]# source? /home/oracle/.bash_profile? ? ? ? ? ? ? ? ?#使上面的配置立刻生效
[root@oracle ~]#
9、上傳 Oracle 安裝包到 linux
[root@oracle ~]#
[root@oracle ~]# cd? /oracleData/software/? ? ? ? ? ??
[root@oracle software]# ls
[root@oracle software]# rz? ? ? ? ? ? #上傳Oracle安裝包
[root@oracle software]# ll
10赁温、解壓Oracle安裝包
[root@oracle software]#
[root@oracle software]# unzip? linux.x64_11gR2_database_1of2.zip? ? ? ? ? #解壓第一個包
[root@oracle software]# unzip? linux.x64_11gR2_database_2of2.zip? ? ? ? #解壓第二個包
[root@oracle software]# ll
[root@oracle software]#
[root@oracle software]# chown? -R? oracle:oinstall /oracleData/software/database/
[root@oracle software]#
[root@oracle software]# ll
11坛怪、圖形化界面安裝 Oracle
1)通過oracle用戶登錄linux系統(tǒng)桌面環(huán)境,執(zhí)行安裝腳本
$? cd? /oracleData/software/database/? ? ? ? ? ? ?#進入解壓目錄
$? ./runInstaller? ? ? ? ? ? ? ? ? ?#執(zhí)行安裝腳本
2)取消勾選 “i wish …… support” 股囊,下一步
3)yes
4)我們這里選擇只安裝數(shù)據(jù)庫軟件袜匿,不建立默認的庫
5)我們選擇單實例安裝,因為我建立這個庫是為了測試用稚疹,單點就夠了居灯,不需要RAC
6)這里是設(shè)置產(chǎn)品語言,不是字符集内狗,切記怪嫌!
我們選英語和中文最直觀的區(qū)別就是后續(xù)輸入sqlplus的時候返回的語言是什么,和字符集無關(guān)柳沙,我們就選英語岩灭。
7)默認安裝企業(yè)版 Oracle
8)確定數(shù)據(jù)軟件的安裝路徑,這里是自動讀取環(huán)境變量里配的值
9)確定 oraInventory 的路徑
10)理論上是要創(chuàng)建Database Operation(OSOPER)Group:oper?,因為我是測試用的赂鲤,直接用了DBA噪径,在生產(chǎn)環(huán)境里還是要建立上oper
11)安裝檢查,這里我們前面都裝了依賴包数初,裝系統(tǒng)的時候內(nèi)存也給了2.8G找爱,點擊上面的ignore all直接跳過。
12)確認信息無誤后點擊 finish
13)安裝進行中……
安裝過程中泡孩,會出現(xiàn)3次豎線的問題车摄,前兩次直接敲回車,意思就是讓他繼續(xù),對應(yīng)的就是continue按鈕吮播。到95%的時候還會有條豎線变屁,這個需要注意一下,這是讓你用root用戶去執(zhí)行2個腳本
14)我們直接點回車薄料,提示安裝完成
15)點? close
15)我們分別用root進入到/opt/oraInventory和/opt/oracle/product/11.2.0/db_1目錄下執(zhí)行這兩個腳本
[root@oracle ~]#
[root@oracle ~]# cd? /oracleData/oraInventory/
[root@oracle oraInventory]# ./orainstRoot.sh? ? ? ? ? ? #執(zhí)行腳本
[root@oracle oraInventory]#
[root@oracle oraInventory]# cd? /oracleData/oracle/product/11.2.0/db_1/
[root@oracle db_1]# ./root.sh? ? ? ? ? ? ? ?#執(zhí)行腳本
12敞贡、數(shù)據(jù)庫的監(jiān)聽安裝
在 oracle用戶下泵琳,命令行輸入netca摄职,如圖
1)點擊? next
2)選擇 “add” 添加一個監(jiān)聽
3)給監(jiān)聽起一個名字,我們用默認的即可
4)選擇監(jiān)聽用的協(xié)議获列,我們用默認的TCP協(xié)議
5)選擇監(jiān)聽開放的端口谷市,我們用默認的1521端口即可
6)暫時不添加其他監(jiān)聽了
7)點擊 “next”
8)點擊 “Finish” 退出即可
9)執(zhí)行 lsnrctl start 命令來啟動監(jiān)聽
13、安裝數(shù)據(jù)庫實例
1)使用 oracle 用戶執(zhí)行 dbca 击孩,進入圖形化界面
2)點擊? ?next
3)選擇 創(chuàng)建一個數(shù)據(jù)庫迫悠,下一步
4)選擇創(chuàng)建模板,默認選第一個
5)創(chuàng)建全局名稱和SID巩梢,我們起名orcl
6)開啟EM创泄,默認即可
7)我們選擇 “ use the same …… Accounts ”,然后設(shè)置一個密碼括蝠,讓上面的所有用戶統(tǒng)一用這個密碼登錄數(shù)據(jù)庫
8)選擇數(shù)據(jù)文件保存路徑
使用root用戶先創(chuàng)建目錄鞠抑,再進行授權(quán)
[root@oracle ~]# mkdir? /oracleData/ora_data
[root@oracle ~]# chown? -R? oracle:oinstall? /oracleData/ora_data
[root@oracle ~]#
如果你想用ASM管理數(shù)據(jù)文件,在上面的下拉框里選ASM就可以了忌警。
9)設(shè)置閃回恢復(fù)區(qū)及是否開啟歸檔搁拙,我們這里選擇之前設(shè)好的磁盤目錄
使用root用戶先創(chuàng)建目錄,再進行授權(quán)
[root@oracle ~]#
[root@oracle ~]# mkdir? /oracleData/ora_archive
[root@oracle ~]# chown? -R? oracle:oinstall? /oracleData/ora_archive
[root@oracle ~]#
10)默認 下一步 即可
11)這里可以設(shè)置oracle的內(nèi)存大小法绵,連接數(shù)箕速,字符集等等,重點說下字符集朋譬,按照圖里設(shè)置中文不會亂碼
這里注意一下盐茎,實際上走完本文流程,你會發(fā)現(xiàn)這樣的情況:plsql中文不亂徙赢,但是通過虛擬機sqlplus登進去發(fā)現(xiàn)是亂碼字柠,然后通過crt登陸虛擬機查詢,又不亂了犀忱。這是因為安裝Centos的時候就算選擇了中文安裝募谎,新用戶(比如oracle用戶)還是用的別的語言,要想服務(wù)端+plsql+crt都不亂碼阴汇,需要設(shè)置成AMERICAN_AMERICA.AL32UTF8数冬;所以涉及到實際生產(chǎn)場景:比如要搭建測試庫,備份庫等等,在選擇字符集的時候需要跟源庫進行查詢確認拐纱,確保新庫字符集跟源庫字符集铜异、源庫linux字符集、新庫Linux字符集保持一致秸架,這樣程序運行揍庄,導(dǎo)入備份、用工具進行查詢數(shù)據(jù)顯示的時候會避免很多問題
12)這里設(shè)置一下 redo log 的大小东抹,我改成3組蚂子,1組1g了
這里要注意每組的后面單位一定要是M Bytes
13)點擊 finish 就可以創(chuàng)建數(shù)據(jù)庫實例了
14)彈出來創(chuàng)建數(shù)據(jù)庫的一些參數(shù)信息,可以查看一下
15)數(shù)據(jù)庫創(chuàng)建進行中……
16)安裝完畢的提示缭黔,告訴了我們em登陸的地址
14食茎、安裝數(shù)據(jù)庫后的驗證
在 oracle 用戶下,通過 sqlplus / as sysdba 登陸
1)執(zhí)行一個SQL查詢語句馏谨,正常返回結(jié)果即可
2)登陸EM管理界面
瀏覽器中輸入??http://10.0.11.57:1158/em/
3)登錄 rman
[oracle@oracle ~]$
[oracle@oracle ~]$ set oracle_sid=orcl
[oracle@oracle ~]$ rman