CenterOS 7.6下安裝oracle 12c

系統:建議用Oracle官網提供的OEL7.6 (Oracle企業版Linux),有對oracle內核做了好多優化 。

這裏用示範的是在CentOS7.6下圖形化安裝Oracle 12,靜默安裝另外寫一篇文章介紹

圖形化安裝大概步驟:安裝Oracle軟件(runInstaller) -> 配置網絡監聽(netca) -> 創建數據庫(dbca) -> 本地Net服務名配置(netca)

https://edelivery.oracle.com/osdc/faces/SoftwareDelivery#!

Oracle安裝包:linuxx64_12201_database.zip (到Oracle官網,註冊個用戶去下載)

想練習的話把example的包也下了“linuxx64_12201_examples.zip”

https://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle12c-linux-12201-3608234.html

下面是安裝過程:

[root@localhost ~]# groupadd -g 501 oinstall  #建一個gid爲501的oinstall組
[root@localhost ~]# groupadd -g 502 dba  #建一個gid爲503的dba組
[root@localhost ~]# useradd -g oinstall -G dba oracle  #建用戶oracle,且加入主組oinstall和從屬組dba,好像古代老婆一個,妾可以很多個。舉例,su - oracle後創建的文件所屬組是oinstall,newgrp dba切換到從屬組dba後創建的文件所屬組是dba
[root@localhost ~]# id oracle
uid=1000(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)
[root@localhost ~]# mkdir -p /orasetup /home/app/oracle/product/12.2.0/db_1   #這些連接根據自己需要來定
[root@localhost ~]# chmod -R 775 /orasetup /home/app/oracle/product/12.2.0/db_1
[root@localhost ~]# chown -R oracle:oinstall /orasetup /home/app/oracle/product/12.2.0/db_1
[root@localhost ~]# su - oracle
[oracle@localhost ~]$ pwd
/home/oracle
[oracle@localhost ~]$ vi .bash_profile   #設環境變量,下面的alias和export
[oracle@localhost ~]$ cat ./.bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias vi='vim'
alias sqlplus='rlwrap sqlplus'    #去安裝rlwrap,它支持上下左右的鍵盤滾動以及歷史記錄快速查詢的,默認sqlplus不支持,用list看歷史記錄也不方便
alias rman='rlwrap rman'

export ORACLE_BASE=/home/app/oracle  #oracle基本目錄,其它oracle軟件都可以裝這裏
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1  #oracle數據庫軟件目錄
export ORACLE_SID=oral  #oracle數據庫唯一標識(在單實例裏比較重要)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/lib/usr/lib  #字典庫路徑
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:$ORACLE_HOME/jdk/bin  #bin操作路徑
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"  #日期顯示格式
export NLS_LANG="Simplified Chinese_China".AL32UTF8   #字符集
[oracle@localhost ~]$ source .bash_profile

安裝rlwrap

[root@localhost ~]# tar -zxvf rlwrap-0.37.tar.gz 
......
[root@localhost ~]# cd rlwrap-0.37
[root@localhost rlwrap-0.37]# ls
aclocal.m4  AUTHORS  BUGS  ChangeLog  completions  config.h.in  configure  configure.ac  COPYING  doc  filters  INSTALL  Makefile.am  Makefile.in  NEWS  PLEA  README  src  test  TODO  tools
[root@localhost rlwrap-0.37]# ./configure 
checking build system type... Invalid configuration `x86_64-unknown-linux-': machine `x86_64-unknown-linux' not recognized
configure: error: /bin/sh tools/config.sub x86_64-unknown-linux- failed
[root@localhost rlwrap-0.37]#  yum install gcc gcc-c++ -y #上面報錯,先安裝一些常用依賴再試下,哈
......
[root@localhost rlwrap-0.37]# ./configure
......
configure: checking for pty ranges...
checking for tgetent... no
checking for tgetent in -lcurses... yes
checking for readline in -lreadline... no
configure: error: 

You need the GNU readline library(ftp://ftp.gnu.org/gnu/readline/ ) to build
this program!
[root@localhost rlwrap-0.37]# yum install *readline* -y  #上面還有別的報錯,再裝依賴
......

[root@localhost rlwrap-0.37]# ./configure
......  #終於正常了
[root@localhost rlwrap-0.37]# make && make install
......
[root@localhost rlwrap-0.37]# rlwrap -v
rlwrap 0.37

設置些系統限制

[root@localhost rlwrap-0.37]# vi /etc/profile  #加下面去解除系統限制
......
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
                ulimit -p 16384
                ulimit -n 65536
        else
                ulimit -u 16384 -n 65536
        fi
fi
[root@localhost rlwrap-0.37]# source /etc/profile
[root@localhost rlwrap-0.37]# vi /etc/security/limits.conf #加下面去允許打開的軟硬限制。參考下https://www.cnblogs.com/galengao/p/5764693.html
......
oracle  soft  stack  10240
oracle  soft  nproc  2047         #noproc表示的是每個用戶最大的進程數
oracle  hard  nproc  16384
oracle  soft  nofile 1024         #nofile表示的時最多能同時打開的文件數
oracle  hard  nofile 65536
......

使用xshell或secureCRT連接linux時不支持圖形模式,這裏用xmanage的Xmanager - Passive去做實驗。

1、安裝xmanager後運行裏面的Passive,右下角會出現一個X的圖標

2、在客戶端執行下面命令,下面IP是本機的客戶端IP,然後執行xhost +,出現下面提示才正常

[root@localhost ~]# xhost +
-bash: xhost: 未找到命令
[root@localhost ~]# yum whatprovides "*/xhost"
已加載插件:ulninfo
ol7_UEKR5/x86_64/filelists_db                                                                                                                                                        | 2.7 MB  00:00:02     
ol7_latest/x86_64/filelists_db                                                                                                                                                       |  15 MB  00:00:12     
xorg-x11-server-utils-7.7-20.el7.x86_64 : X.Org X11 X server utilities
源    :ol7_latest
匹配來源:
文件名    :/usr/bin/xhost



[root@localhost ~]# yum install -y xorg-x11-server-utils-7.7-20.el7.x86_64   #根據上面提示安裝
[root@localhost ~]# export DISPLAY=150.18.46.138:0.0
[root@localhost ~]# xhost +
access control disabled, clients can connect from any host

安裝

[root@localhost ~]# su - oracle
[oracle@localhost ~]$ export DISPLAY=150.18.46.138:0.0
[oracle@localhost ~]$ xhost +
access control disabled, clients can connect from any host
[oracle@localhost ~]$ cd /orasetup
[oracle@localhost orasetup]$ unzip linuxx64_12201_database.zip
......
[oracle@localhost orasetup]$ ls
database  linuxx64_12201_database.zip
[oracle@localhost orasetup]$ cd database/
[oracle@localhost database]$ ls
install  response  rpm  runInstaller  sshsetup  stage  welcome.html
[oracle@localhost database]$ ./runInstaller 
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 500 MB.   Actual 23761 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 2047 MB    Passed
Checking monitor: must be configured to display at least 256 colors
    >>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set.    Failed <<<<

Some requirement checks failed. You must fulfill these requirements before

continuing with the installation,

Continue? (y/n) [n] y


>>> Ignoring required pre-requisite failures. Continuing...
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2019-08-09_03-14-24PM. Please wait ...

 配置安全更新。前面√去掉(如果安裝框亂碼就搞字體包進去或者先export LANG=en_US英文安裝)

安裝選項。先僅安裝數據庫軟件

數據庫安裝選項。現在僅玩下單實例

數據庫版本。選企業版安裝

安裝位置。上面是oracle基目錄,下面是oracle產品目錄,這2目錄在之前oracle用戶.bash_profile中配好了,這裏直接讀取該文件

創建產品清單(如果是第二次安裝數據庫軟件時,需要把該目錄下的清冊幹掉)

操作系統組。各種操作所需的權限組,自己玩,都給dba好了

先決條件檢查。如果用的官方OEL系統,直接yum install oracle就ok。由於這裏用vmware裝的Centos7.6去玩,所以要根據下面的檢查結果點開每一個(more details)提示解決

"Checks"部分,1、修改swap大小  2、在/etc/security/limits.conf里加上oracle  hard  nofile 65536

"OS Kernel Parameters"部分,根據提示修改內核參數,把下面加到/etc/sysctl.conf,然後sysctl -p生效
kernel.sem=250 32000 100 128
fs.file-max=6815744
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048576
fs.aio-max-nr=1048576

"Packages"部分,根據檢查用root把它們都yum安裝上 ( yum install compat* sysstat* ksh*  smartmontools* -y)

修改完成後再點下【Check Again】重新檢查下,沒報錯就繼續

安裝過程出現下面提示,根據提示用root執行相應腳本

執行完腳本後點OK繼續

安裝完成,點關閉即可

安裝監聽 (NETCA)

在oracle用戶下輸入命令netca

[oracle@localhost ~]$ export DISPLAY=150.18.46.138:0.0
[oracle@localhost ~]$ env | grep -i display
DISPLAY=150.18.46.138:0.0
[oracle@localhost ~]$ xhost +
access control disabled, clients can connect from any host
[oracle@localhost ~]$ netca

選擇“監聽配置”,下一步 

添加監聽,下一步

默認監聽名稱LISTENER,下一步

默認TCP協議,下一步

默認端口1521.下一步

不配置另一個監聽,下一步

監聽配置完成,下一步

點擊完成按鈕Finish,完成配置

創建數據庫

在用戶oracle下輸入命令dbca

默認創建數據庫,下一步

選擇高級配置,下一步

單實例數據庫 -> 一般用途(OLTP)或事務處理 -> 下一步

默認,下一步

12C後支持CDB和PDB(即容器數據庫Container Database和可插拔數據庫Pluggable Database),實例與數據庫形成一對多關係

選擇存儲屬性 -> OMF表空間管理 -> 下一步

快速閃回區的存儲方式、路徑和大小 (做練習,先不開歸檔)

可以看到已將加載出之前設置的監聽程序,下一步

做練習用,先不設安全選項,下一步

練習環境可以打上勾,內存情況請根據實際情況自行設置,下一步

如果共享內存設置超過總內存的一半,需要在系統中設置shm,虛擬內存頁大小
vi /etc/fstab -> tmpfs /dev/shm tmpfs defaults,size=12288M 0 0
保存後,umount /dev/shm再mount /dev/shm

這幾個選項涉及共享內存(sga/pga)、調整大小注意是進程大小、字符集默認AL32UTF8就好、連接模式選專用、實例方案可選

這裏不設置單機版的OEM,爲了後期加入到OEM CC中,下一步

自己練習玩的,統一口令好了,下一步

可以查看所有的初始化參數,也可以生成數據庫創建腳本來學習(這個腳本主要採用的是RMAN的CLONE技術),下一步

看下詳細的配置清單,檢查OK後,點擊完成開始建庫

數據庫創建完畢,關閉

本地NET服務名配置

oracle用戶下輸入netca

選擇本地net服務名配置

已經建庫了,直接測試即可,下一步

選擇庫名相同的服務,下一步

用system用戶測試,輸入密碼,測試成功

網絡配置

[root@localhost ~]# su - oracle
[oracle@localhost ~]$ cd /home/app/oracle/product/12.2.0/db_1/network/admin
[oracle@localhost admin]$ vim listener.ora 
[oracle@localhost admin]$ cat listener.ora 
# listener.ora Network Configuration File: /home/app/oracle/product/12.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

SID_LIST_LISTENER =
 (SID_LIST =
   (SID_DESC =
     (SID_NAME = orcl)
     (ORACLE_HOME = /home/app/oracle/product/12.2.0/db_1)
   )
 )
[oracle@localhost admin]$

啓動下監聽程序,下圖成功(snrctl stop -> lsnrctl start ->lsnrctl status)

[oracle@localhost admin]$ lsnrctl stop  

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 11-9月 -2019 09:55:38

Copyright (c) 1991, 2016, Oracle.  All rights reserved.

正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
命令執行成功
[oracle@localhost admin]$ lsnrctl start

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 11-9月 -2019 09:55:44

Copyright (c) 1991, 2016, Oracle.  All rights reserved.

啓動/home/app/oracle/product/12.2.0/db_1/bin/tnslsnr: 請稍候...

TNSLSNR for Linux: Version 12.2.0.1.0 - Production
系統參數文件爲/home/app/oracle/product/12.2.0/db_1/network/admin/listener.ora
寫入/home/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml的日誌信息
監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
LISTENER 的 STATUS
------------------------
別名                      LISTENER
版本                      TNSLSNR for Linux: Version 12.2.0.1.0 - Production
啓動日期                  11-9月 -2019 09:55:44
正常運行時間              0 天 0 小時 0 分 0 秒
跟蹤級別                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
監聽程序參數文件          /home/app/oracle/product/12.2.0/db_1/network/admin/listener.ora
監聽程序日誌文件          /home/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
監聽端點概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
服務摘要..
服務 "orcl" 包含 1 個實例。
  實例 "orcl", 狀態 UNKNOWN, 包含此服務的 1 個處理程序...
命令執行成功
[oracle@localhost admin]$ lsnrctl status

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 11-9月 -2019 09:55:48

Copyright (c) 1991, 2016, Oracle.  All rights reserved.

正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
LISTENER 的 STATUS
------------------------
別名                      LISTENER
版本                      TNSLSNR for Linux: Version 12.2.0.1.0 - Production
啓動日期                  11-9月 -2019 09:55:44
正常運行時間              0 天 0 小時 0 分 4 秒
跟蹤級別                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
監聽程序參數文件          /home/app/oracle/product/12.2.0/db_1/network/admin/listener.ora
監聽程序日誌文件          /home/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
監聽端點概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
服務摘要..
服務 "orcl" 包含 1 個實例。
  實例 "orcl", 狀態 UNKNOWN, 包含此服務的 1 個處理程序...
命令執行成功
[oracle@localhost admin]$ 

本地net服務名配置

[oracle@localhost admin]$ pwd
/home/app/oracle/product/12.2.0/db_1/network/admin
[oracle@localhost admin]$ vim tnsnames.ora 
[oracle@localhost admin]$ cat tnsnames.ora 
# tnsnames.ora Network Configuration File: /home/app/oracle/product/12.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

LISTENER_ORAL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))


ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)        #採用專用模式
      (SERVICE_NAME = orcl)
    )
  )

[oracle@localhost admin]$

Oracle啓動

[oracle@localhost admin]$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on 星期三 9月 11 10:02:42 2019

Copyright (c) 1982, 2016, Oracle.  All rights reserved.


連接到: 
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> shutdown immediate
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。
SQL> startup nomount
ORACLE 例程已經啓動。

Total System Global Area  536870912 bytes
Fixed Size                  8794848 bytes
Variable Size             306187552 bytes
Database Buffers          213909504 bytes
Redo Buffers                7979008 bytes
SQL> alter database mount;

數據庫已更改。

SQL> alter database open;

數據庫已更改。

SQL> 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章