安裝環境:
系統:CentOS7.4 4核4G 磁碟50G
Oracle軟體版本:linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
官方下載地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
官網下載需要登陸Oracle賬號,沒有的可以註冊一個。
這裏我分享一個百度雲盤的下載鏈接(只有64位元的):https://pan.baidu.com/s/1gsyVwVs0C0KjvHE5xgN5YA 密碼: v65p
1.關閉防火牆:systemctl stop firewalld(由於是測試環境,爲了方便,將防火牆關閉。但是,在正式的生產環境,千萬不要這樣做。)
當然我們也可以不關閉防火牆,只需要開放1521埠(oracle預設是1521埠,如果你修改爲其它的埠了,這裏就要開放對應的埠)
firewall-cmd --zone=public --add-port=1521/tcp --permanent //放開1521埠
firewall-cmd --reload //在不改變狀態的條件下重新載入防火牆組態檔
其他常用命令:
檢視防火牆的狀態:systemctl status firewalld
啓動防火牆服務:systemctl start firewalld
禁用防火牆:systemctl disable firewalld
過載組態檔:firewall-cmd --reload
檢視已經開放的埠:firewall-cmd --list-ports
2.關閉selinux(需重新啓動生效)
selinux提供了很多Linux的系統安全措施,演示系統中,將其關閉,方便操作。需要注意的是,在正式生產環境下,千萬不要這樣做。
執行命令getenforce(或者sestatus -v)檢視selinux的狀態,初始安裝的CentOS7是開啓狀態。
vim /etc/selinux/config,修改SELINUX的值爲disabled
重新啓動伺服器:
修改了之後需要重新啓動伺服器,selinux才能 纔能生效(這一步非常重要),重新啓動後可以通過getenforce(或者sestatus -v)命令來檢視,值一定要disabled才行。
關於建立的這些使用者組的說明,請參考:https://blog.csdn.net/qq_32786873/article/details/82187346
執行vim /etc/security/limits.conf命令,編輯/etc/security/limits.conf檔案,修改操作系統對oracle使用者資源的限制。在該檔案中新增如下行:
關於limits.conf的設定請參考:https://blog.csdn.net/qq_32786873/article/details/82190224
要使limits.conf檔案設定生效,必須要確保pam_limits.so檔案被加入到啓動檔案中。
編輯檔案:vim /etc/pam.d/login,加入以下語句:
編輯 /etc/profile ,輸入命令:vim /etc/profile,按i鍵進入編輯模式,將下列內容加入該檔案。
要求設定:
參數 | 最小值 | 檔案 | 命令 |
semmsl |
250 |
/proc/sys/kernel/sem |
# /sbin/sysctl -a | grep sem |
shmall |
2097152 |
/proc/sys/kernel/shmall |
# /sbin/sysctl -a | grep shm |
shmmax |
536870912 |
/proc/sys/kernel/shmmax |
# /sbin/sysctl -a | grep shm |
shmmni |
4096 |
/proc/sys/kernel/shmmni |
# /sbin/sysctl -a | grep shm |
file-max |
6815744 |
/proc/sys/fs/file-max |
# /sbin/sysctl -a | grep file-max |
ip_local_port_range |
9000 65500 |
/proc/sys/net/ipv4/ip_local_port_range |
# /sbin/sysctl -a | grep ip_local_port_range |
rmem_default |
262144 |
/proc/sys/net/core/rmem_default |
# /sbin/sysctl -a | grep rmem_default |
rmem_max |
4194304 |
/proc/sys/net/core/rmem_max |
# /sbin/sysctl -a | grep rmem_max |
wmem_default |
262144 |
/proc/sys/net/core/wmem_default |
# /sbin/sysctl -a | grep wmem_default |
wmem_max |
1048576 |
/proc/sys/net/core/wmem_max |
# /sbin/sysctl -a | grep wmem_max |
aio-max-nr | 1048576 | /proc/sys/fs/aio-max-nr | # /sbin/sysctl -a | grep aio-max-nr |
編輯/etc/sysctl.conf檔案,設定相關參數的系統預設值。如果該檔案中已有相關參數的設定,則確保參數值不小於如下對應值;如果還沒有相關參數的設定,則按照如下格式新增相應的參數設定行。
要使 /etc/sysctl.conf 更改立即生效,執行以下命令。 輸入:sysctl -p 顯示如下:
(-p:從指定的檔案載入系統參數,如不指定即從/etc/sysctl.conf中載入)
mkdir -p /opt/oracle/product #建立oracle安裝目錄
mkdir -p /opt/oracle/oradata #建立oracle數據檔案存放目錄
mkdir -p /opt/oracle/oraInventory #建立oracle數據庫清單目錄
chown -R oracle:oinstall /opt/oracle #設定oracle使用者爲目錄的所有者
chmod -R 775 /opt/oracle/ #修改許可權
執行範例:
1.切換到新建立的oracle使用者下:su oracle
2.輸入命令:vim /home/oracle/.bash_profile
3.按i進入編輯模式,增加以下內容
4.執行命令source /home/oracle/.bash_profile,讓設定立即生效。
1.使用Xftp將下載好的Oracle安裝檔案上傳到CentOs上去,我這裏放到了/home/oracle目錄下
2.使用unzip命令解壓oracle安裝檔案,如:
[oracle@localhost ~]$ unzip linux.x64_11gR2_database_1of2.zip
[oracle@localhost ~]$ unzip linux.x64_11gR2_database_2of2.zip
3.解壓完成後進入其解壓後的目錄database,使用ls命令可以檢視解壓後database所包含的檔案,如下圖:
4.執行安裝,輸入命令:./runInstaller -jreLoc /usr/lib/jvm/jre-1.8.0(我直接使用命令./runInstaller安裝時會出現提示框顯示不完全的問題)
(安裝過程中如果出現問題,可以參考:https://blog.csdn.net/qq_32786873/article/details/82257870)
5.取消選中這個介面上的I wish to receive security updates via My Oracle Support複選框,點選Next
6.在Select Installation Option(選擇安裝選項)介面上,選擇Install database software only選項,點選Next
Create and configure a database(建立和設定數據庫) 這個選項是預設的安裝選項,它安裝Oracle RAC二進制檔案,並根據預先設定的模板建立一個數據庫。這個選項對於初學者非常有用,因爲Oracle爲不同類型的工作量提供了不同模板,如用於OLTP和決策支援系統的不同模板。
Install database software only(僅安裝數據庫軟體) 這個選項在叢集中的所有伺服器上安裝Oracle RAC軟體。數據庫管理員大多使用這一選項,這樣,在安裝了Oracle RAC二進制檔案之後,他們可以使用數據庫設定助手來建立數據庫,從而擁有更大的靈活性。
Upgrade an existing database(升級已有數據庫) 這一選項對叢集中的已有Oracle RAC數據庫進行升級。
7.在Grid Installation Options(網格安裝選項)介面上,可以選擇以下2種選項之一:
Single instance database installation(單範例數據庫安裝) 這一選項允許僅在本地節點上安裝單範例數據庫軟體。
Real Application Clusters database installation(Oracle RAC數據庫安裝) 這一選項允許在叢集中的選定節點上選擇和安裝Oracle RAC二進制檔案。
在這個介面上,選擇Single instance database installation選項,點選Next
8.在Select Product Languages介面,選擇安裝語言(預設情況下選擇英文),點選Next
9.在Select Database Edition(選擇數據庫版本)介面,選擇企業版,點選Next
10.在Specify Installation Location介面,爲Oracle Base和Software Location指定儲存位置,點選Next
11.選擇清單目錄、指定清單組名稱,點選Next
12.在Privileged Operating System Groups介面,從提供的值列表中選擇數據庫管理員和數據庫操作員操作系統組,點選Next
13.安裝到這一步,可以看到,檢查到有很多的包報錯
切換到root使用者,然後使用命令一個一個的安裝,例如:yum install -y libaio*
(針對pdksh找不到的問題,安裝ksh即可。據說oracle使用新的ksh了,但是檢查指令碼中還使用的是pdksh)
當所有包都安裝完成後,點選"Check Again"
可以看到還是有錯,有些系統報錯是因爲現有的包的版本比檢測的要高,Oracle 11g check的時候不識別高版本lib包,我們把右上角的"Ignore All"勾選上,然後點選Next
14在Summary介面,點選Finish
15.安裝過程需要點時間,我們耐心等候,安裝完成後點選close,結束
其實安裝oracle11g後,就已經有預設設定了,如下圖:
接下來我們演示下如何新增一個監聽
1.執行netca命令,選擇"Listener configuration",點選Next
2.選擇"Add",點選Next
3.輸入監聽程式名,點選Next
4.選擇TCP協定,點選Next
5.選擇埠號,點選Next
6.選擇"Yes",點選Next
7.點選Finish完成設定
可以在listener.ora中看到我們新增的設定
注意:必須先建立監聽,並且監聽是啓動中,否則報錯。
1.執行dbca命令,啓動oracle範例安裝介面,點選Next
2.選擇"Create a Database",點選Next
3.選擇"Custom Database",點選Next
4.這裏需要填上之前在環境變數檔案中寫的sid,點選Next
5.取消選中Configure Enterprise Manager複選框,點選Next。(如果希望使用企業管理器來管理這個數據庫,那麼可以選中Configure Enterprise Manager複選框)
6.可以選擇Use Different Administrative Passwords(使用不同管理密碼)選項,爲這些管理賬戶使用不同密碼,爲了方便,我選擇Use the Same Administrative Password for All Accounts(爲所有賬戶使用相同密碼)選項,輸入並確認密碼,然後點選Next
7.因爲安裝oracle11g後,就已經有一個預設監聽設定了,而我自己又加了一個監聽設定,所以需要選擇監聽。(如果沒有自己增加過監聽設定,則不會出現下面 下麪的頁面)
8.這裏我們使用預設值,點選Next
9.由於是自己測試用的,我就不使用快速恢復區域和存檔,所以取消選中這個介面上的Specify Flash Recovery Area和Enable Archiving複選框,然後點選Next
10.勾選"Enterprise Manager Repository"選項,點選Next
11.在Initialization Parameters介面中,可以指定一些初始化參數。在Memory索引標签中,可以指定Oracle數據庫使用的記憶體。在Sizing索引標签中,可以設定數據塊大小、進程數量。在Character Sets(字元集)索引標签中,可以選擇這個數據庫的字元集、預設語言和日期格式。在Connection Mode(連線模式)索引標签中,可以指定數據庫的連線模式。預設情況下,Oracle使用Dedicated Server(專用伺服器)模式。在這一階段,唯一必須知道的重要事情就是這個數據庫的字元集和數據塊大小。選擇適當的字元集和數據塊大小,其他初始化參數集保留預設即可,可以在以後對它們進行優化調整。
12.在Database Storage(數據庫儲存)介面,可以指定數據檔案、控制檔案和重做日誌組的位置。還可以爲數據檔案和重做日誌指定檔案位置變數。設定完成後,點選Next
13.勾選"Create Database",點選Finish開始建立數據庫(可以根據自己的需要選擇生成用於建立數據庫的指令碼)
14.這個過程需要點時間,我們耐心等候。。。
可以直接點選"Exit"完成數據庫的建立,也可以點選"Password Management...",在彈出的視窗中解鎖需要使用的使用者,然後點選"OK"
如果沒有自動建數據庫,可以自動建數據庫
注:如果建 數據 需使用root使用者執行root.sh
[oracel@localhost ~]$ dba
建立監聽
[oracel@localhost ~]$ netca
通過 sqlplus / as sysdba(或sqlplus /nolog) 與 select * from dual; 指令進行測試