Centos7圖形界面安裝Oracle11G詳細流程


以Centos7為列

創建運行Oracle數據庫的系統用戶和用戶組

 1 #切換root用戶
 2 [px@localhost /]$ su - root
 3 [px@localhost /]$ su - root
 4 密碼:
 5 #創建用戶組oinstall
 6 [root@localhost /]# groupadd oinstall
 7 #創建用戶組dba
 8 [root@localhost /]# groupadd dba
 9 #創建oracle用戶並加入組oinstall和附加組dba
10 [root@localhost /]# useradd -g oinstall -G dba -m oracle
11 #設置oracle密碼
12 [root@localhost /]# passwd oracle
13 #查看新建的oracle用戶信息
14 [root@localhost /]# id oracle
15 uid=1002(oracle) gid=1002(oinstall) 組=1002(oinstall),1003(dba)

 創建Oracle數據庫安裝目錄

 1 #oracle數據庫安裝目錄
 2 [root@localhost home]# mkdir -p /home/app/oracle
 3 #oracle數據庫配置文件目錄
 4 [root@localhost home]# mkdir -p /home/app/oraInventory
 5 #oracle數據庫軟件包解壓目錄
 6 [root@localhost home]# mkdir -p /home/app/database
 7 #創建完檢查一下
 8 [root@localhost app]# ls
 9 database  oracle  oraInventory
10 #設置目錄所有者為oinstall用戶組的oracle用戶
11 [root@localhost app]# chown -R oracle:oinstall /home/app/oracle
12 [root@localhost app]# chown -R oracle:oinstall /home/app/oraInventory
13 [root@localhost app]# chown -R oracle:oinstall /home/app/database

 修改OS系統標識

1 [root@localhost app]# cat /proc/version 
2 Linux version 3.10.0-327.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu Nov 19 22:10:57 UTC 2015
3 [root@localhost app]# cat /etc/redhat-release 
4 CentOS Linux release 7.2.1511 (Core) 
5 [root@localhost app]# vi /etc/redhat-release 
6 [root@localhost app]# cat /etc/redhat-release 
7 redhat-7

安裝oracle的依賴包

 1 #為了確保沒問題多找了幾個,我都執行了一遍(參考:https://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#BABCFJFG)
 2 
 3 yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp
 4 
 5 
 6 yum -y install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.* pdksh* 
 7 
 8 
 9 binutils-2.23.52.0.1-12.el7.x86_64 
10 compat-libcap1-1.10-3.el7.x86_64 
11 gcc-4.8.2-3.el7.x86_64 
12 gcc-c++-4.8.2-3.el7.x86_64 
13 glibc-2.17-36.el7.i686 
14 glibc-2.17-36.el7.x86_64 
15 glibc-devel-2.17-36.el7.i686 
16 glibc-devel-2.17-36.el7.x86_64 
17 ksh
18 libaio-0.3.109-9.el7.i686 
19 libaio-0.3.109-9.el7.x86_64 
20 libaio-devel-0.3.109-9.el7.i686 
21 libaio-devel-0.3.109-9.el7.x86_64 
22 libgcc-4.8.2-3.el7.i686 
23 libgcc-4.8.2-3.el7.x86_64 
24 libstdc++-4.8.2-3.el7.i686 
25 libstdc++-4.8.2-3.el7.x86_64 
26 libstdc++-devel-4.8.2-3.el7.i686 
27 libstdc++-devel-4.8.2-3.el7.x86_64 
28 libXi-1.7.2-1.el7.i686 
29 libXi-1.7.2-1.el7.x86_64 
30 libXtst-1.2.2-1.el7.i686 
31 libXtst-1.2.2-1.el7.x86_64 
32 make-3.82-19.el7.x86_64 
33 sysstat-10.1.5-1.el7.x86_64
View Code

關閉防火牆

1 --centos7默認用的firewalld作為防火牆
2 #查看防火牆狀態
3 [root@localhost /]# systemctl status firewalld
4 #關閉防火牆
5 [root@localhost /]# systemctl stop firewalld
6 #禁止使用防火牆,重啟后還是是禁止
7 [root@localhost /]# systemctl disable firewalld.service

關閉selinux(需重啟生效)

1 [root@localhost /]# vi /etc/selinux/config
2 #此處修改為disabled
3 [root@localhost /]# cat /etc/selinux/config
4 SELINUX=disabled   

修改內核參數

 1 [root@localhost /]# vi /etc/sysctl.conf
 2 net.ipv4.icmp_echo_ignore_broadcasts = 1
 3 net.ipv4.conf.all.rp_filter = 1
 4 fs.file-max = 6815744 #設置最大打開文件數
 5 fs.aio-max-nr = 1048576
 6 kernel.shmall = 2097152 #共享內存的總量,8G內存設置:2097152*4k/1024/1024
 7 kernel.shmmax = 2147483648 #最大共享內存的段大小
 8 kernel.shmmni = 4096 #整個系統共享內存端的最大數
 9 kernel.sem = 250 32000 100 128
10 net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范圍
11 net.core.rmem_default = 262144
12 net.core.rmem_max= 4194304
13 net.core.wmem_default= 262144
14 net.core.wmem_max= 1048576
15 #使配置生效
16 [root@localhost /]# sysctl -p

對oracle用戶設置限制,提高軟件運行性能

1 #添加如下內容
2 [root@localhost /]# vi /etc/security/limits.conf
3 oracle soft nproc 2047
4 oracle hard nproc 16384
5 oracle soft nofile 1024
6 oracle hard nofile 65536

配置oracle用戶的環境變量

 1 [root@localhost /]# vim /home/oracle/.bash_profile
 2 export ORACLE_BASE=/home/app/oracle #oracle數據庫安裝目錄
 3 export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 #oracle數據庫路徑
 4 export ORACLE_SID=gdlisnet #oracle啟動數據庫實例名
 5 export ORACLE_TERM=xterm #xterm窗口模式安裝
 6 export PATH=/home/app/oracle/product/11.2.0/dbhome_1/bin:$PATH #添加系統環境變量
 7 export LD_LIBRARY_PATH=$ORACLE_HOME/usr:/lib:/usr/lib #添加系統環境變量
 8 export LANG=C #防止安裝過程出現亂碼
 9 export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  #設置Oracle客戶端字符集,必須與Oracle安裝時設置的字符集保持一致,如:ZHS16GBK,否則出現數據導入導出中文亂碼問題
10 #即時生效
11 [root@localhost /]# source /home/oracle/.bash_profile

上傳Oracle安裝包

安裝包可去下載https://www.oracle.com/database/technologies/oracle-database-software-downloads.html
1
#將安裝包上傳到/usr/local/src,然后解壓 2 [root@localhost /]# cd /usr/local/src/ 3 #可以使用ftp上傳,或者用rz,sz,如果沒安裝進行安裝 4 yum -y install lrzsz 5 #上傳完后解壓 6 [root@localhost src]$ unzip linux.x64_11gR2_database_1of2.zip -d /home/app/database/   7 [root@localhost src]$ unzip linux.x64_11gR2_database_2of2.zip -d /home/app/database/  8 [root@localhost src]# chown -R oracle:oinstall /home/app/database/database/

圖形界面登錄oracle用戶安裝

1 #處理界面為英文或者中文,默認英文
2 [root@localhost /]# export LANG="en_US" 
3 #中文
4 [root@localhost /]# export LANG="zh_CN" 
5 #中文后會亂碼,需要將中文包zysong.ttf拷入解決
6 [root@localhost /]# cp zysong.ttf /usr/share/fonts/zh_CN/TrueType/
7 #啟動oralce安裝,到/home/app/database/database/目錄下,執行runInstaller
8 [oracle@localhost database]# ./runInstaller

安裝檢測,遇到問題,按照提示一個一個解決

我遇到交換空間不足問題(有些包是版本高,可直接忽略14)

1 #swap空間不足解決 :(要求2.67G 實際2G)
2 #查看當前虛擬內存
3 [root@localhost /]# free -m  
4 #將當前swap空間由2048M 增加到 3048M 新增一個2014的swap文件
5 [root@localhost /]# dd if=/dev/zero of=/home/swap bs=1024 count=1024000  
6 [root@localhost /]# mkswap /home/swap
7 [root@localhost /]# free -m
8 #增加並啟用虛擬內容
9 [root@localhost /]# swapon /home/swap  

如圖:直接全部忽略,完成安裝

安裝到84%時候會出現灰色豎道,直接選中右鍵關閉即可,后邊按提示執行腳本!

配置監聽,創建實例

dbca創建數據庫之前必須先配置監聽,並且啟動

 1 #現在root下執行xhost +
 2 [root@localhost ~]# xhost +
 3 xhost:  unable to open display ""
 4 #如果報錯,執行如下,然后再執行xhost +
 5 [root@localhost ~]# export DISPLAY=localhost:1
 6 [root@localhost ~]# xhost +
 7 xhost:  unable to open display "localhost:1"
 8 #然后切換到oracle用戶
 9 [root@localhost ~]# su - oracle
10 [oracle@localhost ~]$ export DISPLAY=:0.0
11 #建立監聽
12 [oracle@localhost bin]$ ./netca
13 #創建監聽完成查看監聽,必須啟動
14 [oracle@localhost bin]$ lsnrctl stat
15 [oracle@localhost bin]$ dbca

 測試連接

 1 [root@localhost /]# su - oracle
 2 [oracle@localhost ~]$ sqlplus /nolog
 3 
 4 SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 26 13:26:10 2020
 5 
 6 Copyright (c) 1982, 2009, Oracle.  All rights reserved.
 7 
 8 SQL> connect / as sysdba
 9 Connected.
10 SQL> startup
11 ORACLE instance started.
12 
13 Total System Global Area  764121088 bytes
14 Fixed Size            2217264 bytes
15 Variable Size          494930640 bytes
16 Database Buffers      260046848 bytes
17 Redo Buffers            6926336 bytes
18 Database mounted.
19 Database opened.

設置開機自啟動

 1  1 #設置開機自啟
 2  2 [oracle@centos7 /]$ vim /etc/oratab
 3  3 gdlisnet: /home/app/oracle/product/11.2.0:Y
 4  4 [oracle@centos7 bin]$ vim /home/app/oracle/product/11.2.0/bin/dbstart
 5  5 #將ORACLE_HOME_LISTNER=$1改成
 6  6 ORACLE_HOME_LISTNER=$ORACLE_HOME
 7  7 [root@centos7 bin]# vim /etc/rc.local
 8  8 su - oracle -c '/home/app/oracle/product/11.2.0/bin/lsnrctl start'
 9  9 su - oracle -c '/home/app/oracle/product/11.2.0/bin/dbstart'
10 10 [root@centos7 bin]# chmod +x /etc/rc.d/rc.local
11 11 
12 12 #同步網絡時間
13 13 [root@centos7 /]# yum -y install ntp
14 14 [root@centos7 /]# ntpdate -u ntp.api.bz
15 15 [root@centos7 /]# hwclock –w

開啟防火牆

 1 #開啟防火牆
 2 systemctl start firewalld
 3 #開放指定端口
 4 firewall-cmd --zone=public --add-port=1521/tcp --permanent
 5  #命令含義:
 6 --zone #作用域
 7 --add-port=1521/tcp  #添加端口,格式為:端口/通訊協議
 8 --permanent  #永久生效,沒有此參數重啟后失效
 9 #重啟防火牆
10 firewall-cmd --reload
11 
12 #查看端口號
13 #查看當前所有tcp端口·
14 netstat -ntlp   
15 #查看所有1935端口使用情況·
16 netstat -ntulp |grep 1521
17 
18 #iptables防火牆
19 /sbin/iptables -I INPUT -p tcp --dport 1521 -j ACCEPT

使用命令

lsnrctl status 查看狀態

lsnrctl start 啟動

lsnrctl stop 停止

 

sqlplus /nolog  //登錄sqlplus

connect /as sysdba  //連接oracle

startup //起動數據庫

shutdown //關閉數據庫 shutdown immediate

exit  //退出sqlplus

 

環境變量改錯的話,執行如下:

export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM