Oracle 的安裝與基本操做

在計算機信息安全領域中,數據庫系統無疑有着舉足輕重的地位。例如,微軟的SQL server、IBM的DB2,以及甲骨文公司的Oracle、MySQL等,都是比較知名的數據庫管理軟件,其中Oracle數據庫更是在電信、銀行、證券、交通等大型應用場合擁有着絕對領先的優點。
這裏咱們就來講說Oracle 12c的安裝。
Oracle 12c明確支持的Linux操做系統包括Oracle Linux 七、Oracle Linux 6. Oracle Linux 5. Red Hat Enterprise Linux 七、Red Hat Enterprise Linux 6. Red Hat Enterprise Linux 5. SUSE Linux Distributions .NeoKylin Linux Advanced Server Distributions。 由於Red Hat Enterprise 和CentOS屬於同步發行的操做系統,因此Oracle 12c也一樣支持CentOS7. CentOS6. CentOS5 操做系統。在其餘Linux系統中安裝時,個別軟件或配置文件可能須要作適當調整。html

Linux 系統要求:linux

  • 物理內存: 必須高於1GB,對於VMware虛擬機建議很多於2GB.
  • 交換空間: 物理內存爲1~ 2GB時,交換分區爲物理內存的1.5~2倍;物理內存爲2~ 16GB時,交換分區與物理內存大小相同:物理內存超過16GB時,交換分區使用16GB 就能夠了。

1、準備工做
系統配置要求
對於Oracle 12c 數據庫,若程序文件和數據文件安裝在同一分區,則該分區硬盤空間的最小要求爲企業版6.4GB.標準版6.1GB,除此之外,還應確保/tmp 目錄的可用空間很多於1GB.總地
來講,建議爲Oracle 12c 準備至少15GB的硬盤空間。
實驗環境下,若是不單獨給Oracle 建立分區,那麼至少要保證根分區有15GB的可用磁盤空間。若是當前的磁盤空間不足,能夠考慮在虛擬機中添加一塊硬盤,格式化爲XFS文件系統。同時建立/u01目錄,將新建立的分區掛載到/u01目錄。還要記得修改/etc/fstab文件,讓其開機自動掛載。
安裝Oracle數據庫前,要求規劃好主機名和IP。服務器的主機名、IP 地址也應提早肯定無誤.一旦 Oracle 數據庫安裝完成,建議不要再修改主機名,不然會致使數據庫啓動失敗。查看主機名能夠經過hostname命令實現,修改主機名經過配置文件/etc/hosts實現c++

[root@oracle /]# hostname
oracle
[root@oracle /]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.10    oracle

軟件環境要求
Oracle 12c 的安裝過程一般在圖形界面中進行,所以建議使用已安裝有GNOME中文桌面環境的CentOS服務器。軟件開發工具固然也是必不可少的,如gcc. glibc, binutils 等軟件包sql

[root@oracle /]# yum  -y  install  binutils compat-libcap1 compat-libstdc++-33  gcc gcc-c++  glibc  glibc-devel ksh  libaio  libaio-devel       libgcc  libstdc++  libstdc++-devel libXi  libXtst  make  sysstat       unixODBC  unixODBC-devel

內核要求
爲了確保數據庫運行穩定,Oracle 12c針對Linux內核參數.進程會話限制提出了一些要求,其中一部分設置能夠在安裝過程當中自動檢測並修復,但並不必定很完整 ,因此最好的作法是根據安裝文檔提早進行配置。
內核參數調總體如今/etc/sysctl .conf文件中,主要包括與內存調度.端口範圍、打開文件數.
VO請求等相關的一些設置,相關數值不可低於安裝要求。修改完畢後經過執行以下的"sysctl -p」命令使新配置當即生效。數據庫

[root@oracle /]# 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
...................           //省略部份內容
[root@oracle /]# sysctl -p                     # 從新加載配置文件
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

Oracle 用戶環境要求
Oracle 12c 須要固定的運行用戶oracle.安裝組oinsall.管理組dba,這些帳號應提早建好。用
來存放Oracle程序及數據庫文件的基本目錄(如/u01/app/oracle) 也應該提早建立好vim

[root@oracle /]# groupadd -g 54321 oinstall                          # 建立安裝組
[root@oracle /]# groupadd -g 54322 dba                         # 建立管理組
[root@oracle /]# useradd -u 54321 -g oinstall -G dba oracle             # 建立運行用戶
[root@oracle /]# passwd oracle                # 配置密碼
更改用戶 oracle 的密碼 。
新的 密碼:
無效的密碼: 密碼未經過字典檢查 - 過於簡單化/系統化
從新輸入新的 密碼:
passwd:全部的身份驗證令牌已經成功更新。
[root@oracle /]# mkdir -p /u01/app/oracle               # 建立基本目錄
[root@oracle /]# chown -R oracle:oinstall /u01/app/
[root@oracle /]# chmod -R 775 /u01/app/oracle/

Oracle 12c的安裝任務應以運行用戶oracle的身份執行,需適當調整oracle 用戶的環境配置以知足要求:api

[root@oracle /]# vim /home/oracle/.bash_profile 
........................           // 省略部份內容
umask  022
ORACLE_BASE=/u01/app/oracle                       # 定義基本目錄
ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1/                  # 定義安裝家目錄
ORACLE_SID=orcl                 # 定義數據庫實例名稱
NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8                   # 肯定使用何種語言環境
PATH=$PATH:$ORACLE_HOME/bin
LANG=zh_CN.UTF-8
export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID
export  DISPLAY=:0.0

Oracle 用戶資源限制要求
進程會話限制能夠採用pam. Jimits認證模塊來實現.經過修改登陸程序login的PAM設置以啓用該認證,而後修改/etc/security/imits. conf 文件,使用戶oracle可以打開的進程數.進程使用的文件數加大安全

[root@oracle /]# vim /etc/pam.d/login 
...................             // 省略部份內容
session   required  /lib/security/pam_limits.so
session   required  pam_limits.so

[root@oracle /]# vim /etc/security/limits.conf 
................                // 省略部份內容
oracle   soft    nproc   2047                      # 進程數軟限制
oracle   hard    nproc   16384               # 進程數硬限制
oracle   soft   nofile   1024                    # 文件數軟限制
oracle   hard   nofile    65536             # 文件數硬限制
oracle   soft  stack    10240                  # Oracle 軟堆棧限制

[root@oracle /]# vim /etc/profile
...................              // 省略部份內容
if  [  $USER  = "oracle" ];then
        if [ $SHELL = "/bin/ksh"  ];then
                ulimit  -p  16384
                ulimit   -n  65536
        else
                ulimit  -u  16384  -n  65536

        fi
fi

不配置oracle用戶資源限制部分,也不會影響Oracle數據庫的成功安裝,可是,如有糟糕的SQL語句對服務器的資源無限佔用,致使長時間對用戶請求無響應,則建議提早限制oralce用戶資源,準備工做完成後重啓操做系統,重啓以後再次檢查以前的配置是否生效,建議不要作臨時配置。
2、安裝 Oracle
Oracle的中文官方網址爲https ://www . oracle .com/cn.它支持Oracle 12c安裝文件的免費下載(需註冊帳號).正確選擇所使用的系統平臺(如Linux x86-64),而後下載linuxx64 .12201.database .zip這個ZP壓縮包到/tmp/abc文件夾(自行建立).解壓後可得到database文件夾, Oracle 的安裝腳本.產品手冊等文檔都位於此文件夾中
也可下載本人提供的安裝包:
開始安裝bash

[root@oracle /]# mkdir /tmp/abc                    # 爲何要在tmp下創個目錄呢,由於tmp的權限都放開了,一會須要切換Oracle用戶來進行安裝
[root@oracle /]# cd /tmp/abc/
[root@oracle abc]# ls
flash-player-npapi-26.0.0.131-release.x86_64.rpm  linuxx64_12201_database.zip
[root@oracle abc]# unzip linuxx64_12201_database.zip 
[root@oracle abc]# ls  database/
install  response  rpm  runInstaller  sshsetup  stage  welcome.html

Oracle 12c 的安裝主要經過runlsaller 腳本進行,訪問網頁welcome .html能夠查閱產品手冊,其中包括產品說明,發行註記、安裝指南等文檔,爲管理員提供了極爲豐富的幫助信息。
全部前置條件都準備好之後,就能夠正式開始安裝了。若是當前的圖形桌面環境是以其餘用戶的身份(如root)登陸的,則還應添加受權以容許用戶oracle 使用圖形終端。例如,「xhost +
oracle@localhost" 表示 容許用戶oracle從本機訪問,執行,xhost+」 表示取消全部 限制。
以用戶oracle的身份登陸到CentOS的圖形桌面環境,啓動database/ 目錄下的runstaller腳本文件服務器

[root@oracle abc]# xhost +                      # 必定要以root用戶在圖形環境中操做
access control disabled, clients can connect from any host
[root@oracle abc]# su - oracle                  # 切換爲 Oracle用戶
[oracle@oracle ~]$ cd /tmp/abc/database/
[oracle@oracle database]$ ./runInstaller 
正在啓動 Oracle Universal Installer...

檢查臨時空間: 必須大於 500 MB。   實際爲 28334 MB    經過
檢查交換空間: 必須大於 150 MB。   實際爲 2047 MB    經過
檢查監視器: 監視器配置至少必須顯示 256 種顏色。    實際爲 16777216    經過
準備從如下地址啓動 Oracle Universal Installer /tmp/OraInstall2019-12-11_09-32-31PM. 請稍候...

Oracle 的安裝與基本操做
Oracle 的安裝與基本操做
Oracle 的安裝與基本操做
Oracle 的安裝與基本操做
Oracle 的安裝與基本操做
Oracle 的安裝與基本操做
Oracle 的安裝與基本操做
Oracle 的安裝與基本操做
Oracle 的安裝與基本操做
Oracle 的安裝與基本操做Oracle 的安裝與基本操做

[root@oracle /]# /u01/app/oraInventory/orainstRoot.sh            # 直接執行便可
更改權限/u01/app/oraInventory.
添加組的讀取和寫入權限。
刪除全局的讀取, 寫入和執行權限。

更改組名/u01/app/oraInventory 到 oinstall.
腳本的執行已完成。
[root@oracle /]# /u01/app/oracle/product/12.2.0/dbhome_1/root.sh            # 執行後出現提示直接回車便可
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/12.2.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:     # 回車

Oracle 的安裝與基本操做
安裝 flash player

[root@oracle /]# cd /tmp/abc/
[root@oracle abc]# ls
database                                          linuxx64_12201_database.zip
flash-player-npapi-26.0.0.131-release.x86_64.rpm
[root@oracle abc]# rpm -ivh flash-player-npapi-26.0.0.131-release.x86_64.rpm 
準備中...                          ################################# [100%]
正在升級/安裝...
   1:flash-plugin-26.0.0.131-release  ################################# [100%]

Oracle 的安裝與基本操做
下圖就是Oracle 的企業管理器
Oracle 的安裝與基本操做
Oracle 12c 數據庫的建立

[oracle@oracle /]$ sqlplus / as sysdba            # 登陸數據庫

SQL*Plus: Release 12.2.0.1.0 Production on 星期三 12月 11 22:00:15 2019

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

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

SQL> 
sys用戶是Oracle的最高管理員,以sys用戶登陸的時候通常要加上as sysdba,
而其餘用戶則不須要。
SQL> help index            # ketongguy可經過此命令來查看支持的指定列表

建立數據庫:

[oracle@oracle /]$ dbca               # shuru輸入此命令可彈出建立數據庫的嚮導

Oracle 的安裝與基本操做
Oracle 的安裝與基本操做
Oracle 的安裝與基本操做
Oracle 的安裝與基本操做

Oracle 12c 數據庫的啓動與關閉
1. 數據庫的啓動
啓動(STARTUP) 一個數據庫須要三個步驟,①啓動Oracle實例(非裝 載階段);②由實例裝載
數據庫(裝載階段);③打開數據庫(打開階段)。
在STARTUP命令中,能夠經過不一樣的選項來控制數據庫的不一樣啓動步驟。
1) STARTUP NOMOUNT
NOMOUNT選項僅僅啓動一個Oracle實例,讀取init ora初始化參數文件、啓動後臺進程、初始
化SGA.當實例啓動後,系統將顯示一個SGA內存結構和大小的列表,以下所示.

SQL> startup nomount
ORACLE instance started.
Total System G1obal Area 2516582400 bytes
Fixed Size            8795904 bytes
Variable Size        671090944 bytes
Database Buffers 1828716544 bytes
Redo Buffers         7979008 bytes

2) STARTUP MOUNT
STARTUP MOUNT命令啓動實例而且裝載數據庫,但沒有打開數據庫。Oracle 系統讀取控制文件中關於數據文件和重作日誌文件的內容,但並不打開該文件。這種打開方式常在數據庫維護操做中使用,如對數據文件的改名,改變重作日誌及打開歸檔模式等,在這種打開方式下,除了能夠看到SGA系統列表之外,系統還會給出「數據庫裝載完畢 」的提示。
3) STARTUP
STARTUP命令完成啓動實例、裝載數據庫和打開數據庫三個步驟。此時,數據庫使數據文件和重作日誌文件在線,一般還會請求一個或者多個回滾段;系統除了能夠看到前STARTUP MOUNT方式下的全部提示外,還會給出一個‘數據庫已經打開」 的提示: 數據庫系統處於正常工做狀態,能夠接收用戶請求。
若是採用STARTUP NOMOUNT或者STARTUP MOUNT的數據庫打開方式,必須採用ALTER DATABASE命令來執行裝載或打開數據庫的操做。例如,若是以STARTUP NOMOUNT方式打開數據庫,也就是說實例已經啓動,可是數據庫沒有裝載和打開。這時必須運行下面的兩條命令,數據庫才能正確啓動。

ALTER DATABASE MOUNT;
ALTER DATABASE OPEN;

若是以STARTUP MOUNT方式啓動數據庫,只須要運行下面-條命令便可以打開數據庫。

ALTER DATABASE OPEN;

2.數據庫的關閉
對於數據庫的關閉(SHUTDOWN), 有四種不一樣的關閉選項.
1) SHUTDOWN NORMAL
SHUTDOWN NORMAL是SHUTDOWN命令的默認選項。也就是說,若是用戶發出SHUTDOWN命令,即執行SHUTDOWN NORMAL命令。
發出該命令後,任何新的鏈接都將再也不容許鏈接到數據庫。在數據庫關閉以前,Oracle 將等待目前鏈接的全部用戶都從數據庫中退出後纔開始關閉數據庫。採用這種方式關閉數據庫,在下一-次啓動時不須要進行任何的實例恢復。但須要注意的是.採用這種方式時,也許關閉一個數據庫須要幾天或更長的時間。
2) SHUTDOWN IMEDIATE
SHUTDOWN IMEDIATE是經常使用的一種關閉數據庫的方式。若既想很快地關閉數據庫,又想讓數據庫「乾淨」地關閉,則常採用這種方式。
發出該命令後,當前正在被Oracle處理的SaL語句當即中斷,系統中任何沒有提交的事務所有回滾。若是系統中存在-個很長的未提交的事務,那麼採用這種方式關閉數據庫也須要一段時間 (該事務回滾時間)。系統不會等待鏈接到數據庫的全部用戶退出系統,而會強行回滾當前全部的活動事務,而後斷開全部的鏈接用戶。
3) SHUTDOWN TRANSACTIONAL
SHUTDOWN TRANSACTIONAL命令經常使用來計劃關閉數據庫,它會等待當前鏈接到系統且正在活動的事務執行完畢,運行該命令後 ,任何新的鏈接和事務都是不容許的。在全部活動的事務執行完成後,數據庫將以和SHUTDOWN IMEDIATE一樣的方式關閉數據庫.
4) SHUTDOWN ABORT
SHUTDOWN ABORT是關閉數據庫方式的最後選擇,是在沒有任何辦法關閉數據庫的狀況下不得不採用的方式,- -般不要採用。在下列狀況出現時能夠考慮採用這種方式關閉數據庫。
(1)數據庫處於一種非正常工做狀態,不能用SHUTDOWN NORMAL 或SHUTDOWN IMEDIATE 命令關閉數據庫。
(2) 須要當即關閉數據庫。
(3)在啓動數據庫實例時遇到問題.
發出該命令後,全部正在運行的SQL語句將當即停止,全部未提交的事務將不回滾,Oracle 也不等待目前鏈接到數據庫的用戶退出系統,下-次啓動數據庫時須要實例恢復,所以,下一-次啓動可能比平時須要更多的時間。

在關閉數據庫時最好使用SHUTDOWN IMMEDIATE方式,由於這種方式安全且相對較快。不是萬不得已不要使用SHUTDOWN ABORT方式,由於這種方式會形成數據丟失,而且恢復數據庫也須要較長時間。

相關文章
相關標籤/搜索