CentOS 7@VMware Vsphere眠菇,分配資源:CPU:4顆琼锋,內(nèi)存:8GB缕坎,硬盤空間:200GB
二谜叹、軟件準(zhǔn)備?
linux.x64_11gR2_database_1of2.zip?
linux.x64_11gR2_database_2of2.zip?
SecureCRT / Xshell6 ?& VNC for Windows? (VNC教程后續(xù)我會補上)
方法一:用你需要安裝ORACLE的虛擬機直接從官網(wǎng)下載Linux版本的安裝包
方法二:windows文件------>Linux(要在同一局域網(wǎng))
?????? 命令:scp?用戶名@windowsIP地址:/文件路徑? Linux下存儲路徑
方法三:使用NAS傳輸艳悔,將下載好的文件放在NAS中猜年,用centos上自帶的瀏覽器下載
方法一:使用centos7鏡像作為本地yum 源
掛載鏡像杨幼,配置本地yum源
cd /mnt下創(chuàng)建cdrom文件:mkdir cdrom
掛載鏡像:mount -t iso9660 /dev/sr0 ./cdrom
在/etc/yum.repos.d修改配置文件
設(shè)置network.service(配ip)
vi /etc/sysconfig/network-scripts/ifcfg-ens33將最后一行的ONBOOT的值改為YES
systemctl start network.service
ip add 查詢ip,如果沒有ip? 先執(zhí)行dhclient -r ens33釋放ip 再執(zhí)行dhclient -v ens33獲取ip
使用SecureCRT上傳文件到 root 根目錄下
點擊connect,進行輸入差购,連接成功后點擊file=>connect sftp session進入sftp連接界面欲逃。
上傳文件:cd 服務(wù)器某個目錄
lcd 本地目錄
put xxx
方法二:使用可訪問互聯(lián)網(wǎng)的centos7的服務(wù)器安裝(無需配置本地yum源)
四暖夭、安裝oracle 11g
? ? ? 一迈着、準(zhǔn)備工作
1、關(guān)閉selinux
vim /etc/selinux/config
將selinux設(shè)置為disabled
查看selinux狀態(tài):getenforce 或者sestatus -v
臨時關(guān)閉:setenforce 0
永久關(guān)閉:vim /etc/selinux/config 設(shè)置SELINUX=disabled
2奴潘、關(guān)閉firewalld 安裝iptables(也可以不裝iptables)
# systemctl stop firewalld.service
# systemctl disable firewalld.service
# yum -y install iptables-services
# systemctl restart iptables.service
# systemctl enable iptables.service
# iptables -I INPUT -p tcp --dport 1521 -j ACCEPT????#(為Oracle開1521端口)
二:創(chuàng)建用戶及安裝目錄掘剪,安裝依賴包
1夺谁、創(chuàng)建用戶
[root@oracledb ~] groupadd oinstall
[root@oracledb ~] groupadd dba
[root@oracledb ~] useradd -g oinstall -G dba -m oracle
[root@oracledb ~] passwd oracle
[root@oracledb ~]??mkdir -p /ora/oracle
[root@localhost ~] find / -name 'linux.x64_11gR2_database_1of2.zip'
/root/Downloads/linux.x64_11gR2_database_1of2.zip(找到路徑)
[root@localhost ~]# cp -r /root/Downloads/* /ora
[root@oracledb ~] unzip -d /ora/ linux.x64_11gR2_database_1of2.zip
[root@oracledb ~] unzip -d /ora/ linux.x64_11gR2_database_2of2.zip
[root@oracledb ~] chown -R oracle:oinstall /ora(看是否創(chuàng)建成功)
[root@oracledb ~] chmod 755 -R /ora(分配755權(quán)限給ora)
上面是準(zhǔn)備安裝到根下ora目錄,網(wǎng)上很多說要給777權(quán)限躁劣,但是個人總感覺777權(quán)限過高账忘,測試發(fā)現(xiàn)755就足夠。
3烫止、安裝oracle所需依賴和桌面組件期升,桌面組件有700多MB
[root@oracledb ~] yum -y install binutils compat compat-libstdc gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
[root@oracledb ~] yum -y groupinstall "GNOME Desktop" "Graphical Administration Tools"
三:修改系統(tǒng)內(nèi)核等設(shè)置
1播赁、將服務(wù)器名寫入到hosts文件容为,可以測試ping sername 是否返回127.0.0.1
[root@oracledb ~] echo '127.0.0.1 oracledb localhost localhost.localdomain' >> /etc/hosts
[root@oracledb ~] ping -c 3 oracledb
PING oracledb (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.030 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.043 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.041 ms
--- oracledb ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.030/0.038/0.043/0.005 ms
2替劈、修改內(nèi)核(/etc/sysctl.conf)得滤,增加或修改以下內(nèi)容
內(nèi)核參數(shù)需要注意湿故,shmall 和shmmax 的值由服務(wù)器內(nèi)存決定。(不過這個參數(shù)設(shè)置博主我現(xiàn)在也是一知半解皂股,沒完全搞明白呜呐,查了半天意思如下:)
kernel.shmall :
該參數(shù)控制可以使用的共享內(nèi)存的總頁數(shù)。Linux共享內(nèi)存頁大小為4KB,共享內(nèi)存段的大小都是共享內(nèi)存頁大小的整數(shù)倍悍募。一個共享內(nèi)存段的最大大小是16G蘑辑,那么需要共享內(nèi)存頁數(shù)是16GB/4KB=16777216KB/4KB=4194304(頁),也就是64Bit系統(tǒng)下16GB物理內(nèi)存坠宴,設(shè)置kernel.shmall = 4194304 符合要求洋魂。
kernel.shmmax:
是核心參數(shù)中最重要的參數(shù)之一,用于定義單個共享內(nèi)存段的最大值喜鼓。64位linux系統(tǒng):可取的最大值為物理內(nèi)存值-1byte庄岖,建議值為多于物理內(nèi)存的一半,例如,如果為16GB物理內(nèi)存,可取16*1024*1024*1024-1=17179869183捍掺。
kernel.shmmni:
該參數(shù)是共享內(nèi)存段的最大數(shù)量不瓶。shmmni缺省值4096麦备,一般肯定是夠用了栏渺。
kernel.sem = 250 32000 100 128?的意思是:
250是參數(shù)semmsl的值秀仲,表示一個信號量集合中能夠包含的信號量最大數(shù)目保礼。
32000是參數(shù)semmns的值胁赢,表示系統(tǒng)內(nèi)可允許的信號量最大數(shù)目。
100是參數(shù)semopm的值顽照,表示單個semopm()調(diào)用在一個信號量集合上可以執(zhí)行的操作數(shù)量植影。
128是參數(shù)semmni的值抢野,表示系統(tǒng)信號量集合總數(shù)恃轩。
3筷厘、以下適用于8G內(nèi)存左右服務(wù)器配置莫换,12G或者16G以上建議調(diào)整
[root@oracledb ~] vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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
4、完成后使用命令
[root@oracledb ~] sysctl -p(立即生效)
5哄啄、修改認(rèn)證模塊
[root@oracledb ~] vim /etc/security/limits.conf
oracle soft nproc 131072
oracle hard nproc 131072
oracle soft nofile 131072
oracle hard nofile 131072
oracle soft core unlimited
oracle hard core unlimited
oracle soft memlock 50000000
oracle hard memlock 50000000
6锌半、修改用戶登錄認(rèn)證
[root@oracledb ~] vim /etc/pam.d/login
session required /lib64/security/pam_limits.so
session required pam_limits.so
7、設(shè)置環(huán)境變量(ORACLE_HOME 設(shè)置為安裝目錄product下默認(rèn)目錄)
[root@oracledb ~] vim /etc/profile
#oracle
export ORACLE_HOME=/ora/oracle/product/11.2.0/db_1
export ORACLE_SID=orcl? ? ? #這邊是你數(shù)據(jù)庫的實例名,你根據(jù)項目需求來寫
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
8碗硬、修改Oracle用戶環(huán)境變量
[root@oracledb ~] vim /home/oracle/.bash_profile
export ORACLE_BASE=/ora/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl? ??#這邊是你數(shù)據(jù)庫的實例名,你根據(jù)項目需求來寫
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
在root 下執(zhí)行xhost +? ? ?(中間有一個空格別忘了=碚住F蚜小)
[root@localhost ~]# xhost +
在oracle用戶下執(zhí)行export DISPLAY
[root@localhost ~]# su - oracle
[oracle@localhost ~]# cd /ora/database
[oracle@localhost database ]# export DISPLAY=192.168.8.214:1.0
[oracle@localhost database ]$ ./runInstaller
如果交換空間不夠,用 root 用戶登陸添加骇塘,命令如下: (為了不出錯還是執(zhí)行一下穩(wěn)點)
#dd if=/dev/zero of=/home/swap bs=1024 count=1600000??
#mkswap /home/swap?
#swapon /home/swap?
關(guān)閉#swapoff /home/swap
以oracle用戶登錄奠货,開始安裝:
su - oracle
cd /ora/database
./runInstaller (runInstaller在/ora/database下溢陪,因為剛才已經(jīng)從root根目錄下移了過來了)
四形真、開始安裝:
沒有賬號不用選
安裝單實例還是集群數(shù)據(jù)庫,安裝的的是單實例
軟件存放目錄,之前預(yù)設(shè)好的(需要仔細核對好它自動生成的目錄奶卓,必須要到含oracle文件夾這一步核對dbhome_1路徑是否正確)
?檢查先決條件,如果有不通過的會顯示在上面撼玄,因為是實驗環(huán)境swap空間直接忽略就行(??ignore ALl)
如果出現(xiàn)如圖情況夺姑,先不要著急的點OK,需要用 root 用戶執(zhí)行如圖提示的兩條命令掌猛,執(zhí)行完后再點OK
?軟件安裝成功
[root@localhost ~]# xhost +
access control disabled, clients can connect from any host
[root@localhost ~]# su - oracle
Last login: Sat May 23 14:12:32 CST 2020 on pts/1
[oracle@localhost ~]$ cd /ora/database
[oracle@localhost database]$ export DISPLAY=192.168.8.214:1.0
[oracle@localhost database]$ netca
[oracle@localhost database]$netca?
如果出現(xiàn)圖中情況說明未設(shè)置顯示環(huán)境變量
解決方法:export DISPLAY=自己的ip:0.0 (有時候是1.0)
例:export DISPLAY=10.33.37.185:0.0 (有時候是1.0)
啟動完成后進入到窗口頁面,選擇第一項荔茬,配置監(jiān)聽
這里是監(jiān)聽所遵循的協(xié)議,默認(rèn)就行
這里是監(jiān)聽的端口號慕蔚,默認(rèn)是1521丐黄,如果想更改也可以使用其它端口
創(chuàng)建完成會提示是否需要繼續(xù)創(chuàng)建下一個監(jiān)聽,這里直接點擊取消就行
切換帳戶一定要加 "-"
否則會出現(xiàn):???bash:lsnrctl:command not found.錯誤
Linux/Unix下坊萝,啟動監(jiān)聽器:
$ lsnrctl start?
關(guān)閉監(jiān)聽器:
$ lsnrctl stop
查看監(jiān)聽狀態(tài):
$ lsnrctl status
監(jiān)聽配好后一定要把iptables關(guān)掉
service iptables stop或者iptables -I INPUT -p tcp --dport 1521 -j ACCEPT #
?還要修改listener.ora
vi /ora/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
??(DESCRIPTION_LIST =
????(DESCRIPTION =
??????(ADDRESS = (PROTOCOL = TCP)(HOST =?192.168.8.213)(PORT = 1521))
????)
??)
SID_LIST_LISTENER =
(SID_LIST =
??(SID_DESC =
??(GLOBAL_DBNAME = orcl )?#這邊是你數(shù)據(jù)庫的實例名孵稽,你根據(jù)項目需求來寫
??(SID_NAME = orcl )#這邊是你數(shù)據(jù)庫的實例名许起,你根據(jù)項目需求來寫
??)
)
①lsnrctl ?reload:重載監(jiān)聽
②lsnrctl ?start: 啟動監(jiān)聽
③netstat -an |more :? 查看所有監(jiān)聽(看監(jiān)聽是否起來了,查看1521端口是否起來了菩鲜,這個命令很強大)
六园细、使用dbca創(chuàng)建數(shù)據(jù)庫實例
oracle用戶下,打開database目錄下
cd /ora/database
export DISPLAY=192.168.8.214:1.0
dbca
創(chuàng)建數(shù)據(jù)庫
創(chuàng)建默認(rèn)的還是高級模式的接校,選擇高級模式
?CBD容器數(shù)據(jù)庫?#這邊是你數(shù)據(jù)庫的實例名猛频,你根據(jù)項目需求來寫
設(shè)置密碼(建議都設(shè)置成統(tǒng)一的)
?監(jiān)聽(剛才已經(jīng)配置了監(jiān)聽,所以選擇就可以了)
字體一定要選第二個蛛勉,否則導(dǎo)入數(shù)據(jù)中文字體會出現(xiàn)亂碼
修改/etc/oratab,增加 oradb:/opt/u01/app/oracle/product/9.2.0.4:Y?
Sid:Oracle_home:Y?
如果沒有,說明 oracle 安裝時诽凌,oracle 缺乏對文件夾 etc 的權(quán)限毡熏。?
可以用 root 用戶登陸,執(zhí)行$oracle_home/root.sh 和 app/*root.sh 下面有個的文件
OK侣诵,大功告成痢法!
如何在機器重啟后,啟動數(shù)據(jù)庫服務(wù)&啟動監(jiān)聽杜顺?
切換到數(shù)據(jù)庫用戶oracle财搁,命令:su ?-oracle ;使oracle用戶配置文件立即生效躬络,命令:source ?/home/oracle/.bash_profle尖奔,啟動監(jiān)聽,命令:lsnrctl ?start 穷当,如下圖所示: