(一)、資源
1.下面是安裝包下載地址
https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
2.下面這篇博文比較完美的介紹了安裝過程,此處就不再贅述。
https://blog.csdn.net/muluo7fen/article/details/72654265
(二)問題與總結
1.修改環境變量(.bash_profile)時行與行之間一定不能有空行。否則在source .bash_profile時會報錯
2.ORACLE監聽器 The listener supports no services 問題
解決方法:在LISTENER(/home/oracle_data/oracle/product/11.2.0/db_1/network/admin/listener.ora)里添加內容:
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
#BEQUEATH CONFIG
(GLOBAL_DBNAME=orcl)
(SID_NAME=orcl)
(ORACLE_HOME=/home/oracle_data/oracle/product/11.2.0/db_1/)
#PRESPAWN CONFIG
(PRESPAWN_MAX=20)
(PRESPAWN_LIST=
(PRESPAWN_DESC=(PROTOCOL=tcp)(POOL_SIZE=2)(TIMEOUT=1))
)
)
)
3.執行dbca -slient -responseFile /usr/local/src/database/response/dbca.rsp這一句時,報錯
Set DISPLAY environment variable, then re-run.
解決方法:export DISPLAY=172.20.1.1:1.0
設置DISPLAY為IP地址加上1.0
4.執行dbca -slient -responseFile /usr/local/src/database/response/dbca.rsp產生錯誤日志文件
SGA 大小不能大於最大共享內存段大小 (2097152).
解決方法:
vi /etc/sysctl.conf
其中有兩個參數:
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)
5.系統標識符(SID)"orcl"已經存在,請指定另一個SID
解決方法:/etc/oratab 刪除或者注釋對應的sid行