1. 程式人生 > >Oracle Database 12c 資料庫簡單例項的建立過程

Oracle Database 12c 資料庫簡單例項的建立過程

本文基於Redhat 6.7作業系統,已經成功安裝了Oracle 12c資料庫,配置好了核心引數和環境變數,僅介紹一下如何新建一個例項

Oracle Database版本:Oracle Database 12c Release 2(12.2.0.1.0

下載地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

第一步,在之前建立好的,dba使用者組下面的使用者執行dbca,彈出圖形介面


選擇第一項,建立資料庫,點選下一步


在第二頁“建立模式”中選擇“高階配置”,典型配置會留下很多大坑,很不推薦。


第三頁選擇單例項資料庫,因為我們這裡只建立一個能用的簡單資料就行,如果想要做RAC叢集,那麼你還需要部署硬碟,這種情況會另寫一片文章介紹

選擇模板可以選擇“定製資料庫”或“一般用途或事務處理”,由於定製資料庫是不基於模板的,所以建立過程非常緩慢,可能需要好幾個小時的時間,而“一般用途或事務處理”是基於Oracle提供的模板建立,建立速度很快,5分鐘不到即可完成,而且可配置的選項已經足夠了,所以選擇“一般用途或事務處理”。點下一步


第四頁是充滿大坑的選項,全域性資料庫名字可以隨便填,但是SID必須是上面的名字+Sid格式來書寫,否則後面會報找不到.ora檔案的錯誤。

“容器資料庫”是12c版本新加的一個功能,但是這個功能可能很少有人用,最麻煩的是一旦勾選了這個選項,那麼你新建的資料庫使用者必須以C##開頭,特別不方便,所以此處強烈建議不勾選容器資料庫,除非你真的有這方面需求。


第五頁預設即可



第六頁指定快速恢復區,推薦全部勾選(圖中沒有勾選),有用快速恢復區之後,使用rman做的完整備份會被放到快速恢復區去,啟用歸檔以後可以使用rman快速建立全庫備份。如果此處不填寫,那麼以後再想啟用歸檔就要把資料庫例項停止之後再設定歸檔,而且會導致歸檔不完整,所以推薦建立例項的時候就開啟歸檔。另外點選“編輯歸檔模式引數”按鈕之後可以選擇歸檔檔案的儲存地點,建議選擇一個和快速恢復區、表空間不同的硬碟來儲存,提高安全性。

注意快速恢復區還有一個大小限制,儘量設定的大一點並且定期清理快速恢復區的備份,否則快速恢復區滿了之後會卡死資料庫的。點選Edit archive mode parameters還可以配置歸檔日誌的引數


“網路配置”頁面一般使用oracle預設自建的LISTENER即可,使用預設1521埠,如果你想使用別的埠,或者多個埠,就勾選下面的建立新監聽程式。一般推薦建立一個新的,以後改起埠來方便。


Data Vault選項保持預設(全都不勾選)即可


記憶體管理,如果不知道怎麼配置那麼就使用預設即可


第二個選擇最大程序限制,這個也很關健,軟體會根據你的cpu和記憶體情況提供給你一個預設值,但是如果你的應用執行緒池特別大,你又部署了好幾臺應用伺服器的話,那麼資料庫連線數就會成倍增長,如果資料庫連線數滿了,那你用sqlplus就登入不進去了,所以一般推薦改的大一點,不過為了防止資料庫效能被耗盡,也不要太大,1000左右就可以。


第三個標籤容易留下大坑,最重要的是最上面資料庫的儲存方式,一定要選擇UTF-8,下面的預設語言一定要選擇“英語(美國)”,否則在使用命令列和SQLPULS的時候,中文字元很容易變成????,同樣的問題還會出現在你應用的日誌上,還是使用英文遠離亂碼的困擾好。


連線模式選擇“專用伺服器模式”


示例方案保持預設不勾選就行,點選下一步


EM據說是個精簡版的Oracle,一般不用配置


配置管理員賬戶密碼,一定要牢記,一會登入要用上


建立選項推薦勾選另存為資料庫模板,這樣可以很快的建立一模一樣的資料庫,為其他的測試環境創造便利。點選定製儲存位置可以看到這個例項所建立的表空間的位置

注意這一步特別的關健,直接關係到你的資料庫存放的位置,一般來說我們都會專門掛一個硬碟存放表空間和備份檔案,所以這裡一般是要手動修改表空間和控制檔案的存放位置的,一定不要改錯。同時,如果做叢集,更需要注意這個存放位置一定要放到共享磁碟上去




修改預設如下圖


還能看到重做日誌的位置,並設定重做日誌的大小,可以選擇一個不同於表空間的位置儲存,提高安全性。表空間和重做日誌是肯定得有的,歸檔檔案和快速恢復區是可選的,一般推薦全部都設定,並且放在不同的儲存裝置上。


修改預設後


點選下一步瀏覽一下概要



點選完成開始建立資料庫例項,因為是基於模板建立,所以幾分鐘就可以了



完成之後注意“伺服器引數檔名”這個配置檔案,一定要以Sid.ora結尾,不然啟動不了例項,需要修改配置的時候也是直接修改這個ora檔案然後重啟。

然後開啟終端

使用dba組的使用者(非root)執行sqlplus,要注意配置好環境變數。語法是sqlplus sys/sys的密碼@資料庫ip:埠/資料庫例項名 as sysdba,如下圖


然後我們就以dba的許可權操縱資料庫了,可以執行建立使用者和分配表空間的操作

然後檢視一下資料庫的讀寫許可權,還有預設的表空間的存放位置,我們新建的表空間最好也放到同一位置下


然後執行建立使用者分配表空間的指令,如果前面都沒問題那麼此處應該都很順利


注意如果報錯許可權不足,請檢查是不是以sysdba使用者登入的。請不要以system使用者登入。

如果報錯ORA-65096:公用使用者名稱或角色名無效,那麼說明你開了oracle容器,使用者名稱要以C##開頭。

建立完使用者之後我們使用資料庫客戶端比如DBVisualizer或者Navicat這種,由於DBVisualizer使用的是JDBC連線,可以測試JDBC的相容性,所以我比較喜歡用。

如果使用PLSQL那麼一定要用12c的PLSQL,如果你用11g的netca,那麼是連不上的,會報下面的錯誤ORA-28040:http://blog.csdn.net/kongxx/article/details/44887379





很順利的連線成功,說明JDBC可用。順道提一下,JDBC的連線url應該是類似於下面這種格式:

jdbc\:oracle\:thin\:@127.0.0.1\:1521/oadb

注意JDBC要注意版本的問題,對於12c的資料庫要用12c的JDBC去連線,否則會報錯找不到資料庫例項的錯誤或者使用者名稱密碼錯誤。

JDBC的下載地址http://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html

注意ojdbc6.jar是給JDK1.6版本使用的,ojdbc7.jar是給JDK1.7和1.8使用的,注意不要下載錯了。

附錄:sqlplus不能連線資料庫,而資料庫已經建好的解決方案

使用DBCA建立完資料庫以後,資料庫例項是自動啟動的,通過SQLPLUS和RMAN可以很輕鬆的連上(環境變數中ORACLE_SID要指定正確)。但是一旦在SQLPLUS裡停止了這個例項,那麼可能就再也連不上了。停止例項的命令是

 shutdown immediate
或者
shutdown normal

那麼你再通過SQLPLUS登入的時候,會報“ORA-12514 TNS 監聽程式當前無法識別連線描述符中請求服務”的錯誤,此時使用
lsnrctl status
命令也看不到剛剛關掉的資料庫例項。

然後使用dbca想要修改這個資料庫例項,DBCA報錯該例項不屬於當且節點。這個資料庫例項就像被從本地刪掉了一樣。

出現這個問題的原因是當前資料庫例項沒有靜態繫結到資料庫監聽器。資料庫監聽器只能監聽到已經啟動的資料庫例項,所以就連線不上了,解決方法就是新增監聽器對例項的靜態繫結,那樣不管資料庫例項啟動沒有都可以通過SQLPLUS登入進去了。

方法是修改/u01/product/12.2.0/dbhome_1/network/admin/listener.ora,這個檔案

【修改前】

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

修改後添加了一個SID列表,如下
# listener.ora Network Configuration File: /u01/product/12.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = recoverySid)
      (ORACLE_HOME = /u01/product/12.2.0/dbhome_1)
      (GLOBAL_DBNAME = recovery)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = oadb)
      (ORACLE_HOME = /u01/product/12.2.0/dbhome_1)
      (SID_NAME = oadbSid)
    )
  )

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

上面的SID_NAME和GLOBAL_DBNAME按照你上面建立例項的實際情況填寫,可以填一個也可以填多個例項,注意一定不要填反了,SID_NAME就是以Sid結尾的名字。ORACLE_HOME就填環境變數中的ORACLE_HOME就可以,需要根據這個去bin目錄下查詢一個可執行檔案。

配置好listener.ora之後,使用如下語句重啟監聽器

lsnrctl stop
lsnrctl start

進行重啟,重啟之後再使用lsnrctl status檢視,就可以看到被我們關掉的例項的名字了,其狀態應該為UNKNOWN,如果不配置listener.ora,那我們是看不到例項的名字的。

[[email protected] ~]$ lsnrctl status

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 19-OCT-2017 08:31:55

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date                19-OCT-2017 08:21:39
Uptime                    0 days 0 hr. 10 min. 15 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/product/12.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/diag/tnslsnr/localhost/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
Services Summary...
Service "oadb" has 1 instance(s).
  Instance "oadbSid", status UNKNOWN, has 1 handler(s) for this service...
Service "recovery" has 2 instance(s).
  Instance "recoverySid", status UNKNOWN, has 1 handler(s) for this service...
  Instance "recoverySid", status READY, has 1 handler(s) for this service...
Service "recoverySidXDB" has 1 instance(s).
  Instance "recoverySid", status READY, has 1 handler(s) for this service...
The command completed successfully





相關推薦

Oracle Database 12c 資料庫簡單例項建立過程

本文基於Redhat 6.7作業系統,已經成功安裝了Oracle 12c資料庫,配置好了核心引數和環境變數,僅介紹一下如何新建一個例項 Oracle Database版本:Oracle Database 12c Release 2(12.2.0.1.0) 下載地址:htt

Oracle Database 12c Release 2安裝詳解

x64 onclick -1 ron ocs failed tput could not 中間 第1章 Oracle Database 12c Release 2安裝詳解 1.1 下載方法 oracle官網https://www.oracle.com 1)打開官方網站

OracleOracle Database 12c Release 2安裝多圖詳解

Oracle12c2版數據庫安裝1.1 下載安裝包 oracle官網地址請自行百度oracle,51CTO內容限制不讓我放!1)打開官方網站,找到下載連接,如圖所示。2)選擇更多下載。3)選擇數據庫版本,這裏選擇的是目前的最新版本4)接收許可協議,選在linux版本進行下載5) 接收許可協議,點擊linuxx

Oracle Database 12c安裝

中間 ksh 能力 mar 權限 靈活 5.1 wal http Oracle數據庫 Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關系數據庫管理系統。它是在數據庫領域一直處於領先地位的產品。可以說Oracle數據庫系

Oracle Database 12c DBA文官手冊(第8版)——第12章 實時應用群集

1概述RAC資料庫是高度可用和可擴充套件的。每個節點都必須有各自的Oralce許可和RAC許可。需權衡獲得高可用的代價。1.1硬體配置至少兩個節點,具備服務 器元件基本冗餘特性。共享儲存的內建冗餘可降低建立ASM磁碟組的軟體冗餘量。1.2軟體配置從Oracle10g自帶群集軟體服務CRS,須先在CRS_HOM

Oracle Database 12c DBA文官手冊(第8版)——第5章 開發和實現應用程式(續)

5.2、資源管理5.2.1、實現資料庫資源管理需要建立資源計劃、資源消費者組和資源計劃指令。使用資源管理器命令前須建立“未決區域”。針對會話啟用ADMINISTRATOR_RESOURCE_MAANAGER系統許可權將使用者賦給資源消費者組建立資源計劃指令分配相關資源1 切換消費者組2 使用SQL配置檔案5.

Oracle Database 12c DBA文官手冊(第8版)——第5章 開發和實現應用程式

1 調整設計:最佳實踐         1.1做盡可能 少的工作             應該簡化應用

Oracle Database 12c DBA文官手冊(第8版)——第5章 開發和實現應用程序(續)

調整 pac 生成 bms 百分比 列數 改變 應用程序 數據塊 5.2、資源管理5.2.1、實現數據庫資源管理需要創建資源計劃、資源消費者組和資源計劃指令。使用資源管理器命令前須創建“未決區域”。針對會話啟用ADMINISTRATOR_RESOURCE_MAANAGER系

12 Things Developers Will Love About Oracle Database 12c Release 2

    by Chris Saxon-Oracle   It's Here: Oracle Database 12c Release 2 (12.2) Is available on Oracle Cloud.   With it comes a whole

Oracle Database 12c 新特性:RAC Cluster Hub Node 和 Leaf Node

Oracle Database 12c 新特性:RAC Cluster Hub Node 和 Leaf Node 在 Oracle Database 12c 的 Cluster 中引入了很多新特性和新概念,其中重複最多的幾個名詞除了 Flex Cluster、F

Oracle Database 12c Preinstall Steps for Oracle Linux Simplified

This post is a quick reminder that Oracle Linux includes a handy RPM to address pre-installation requirement for Oracle Database 12c.  Starting with O

Quick and Easy Installation of Oracle Database 12c on Oracle Linux in Oracle VM VirtualBox

defaults ner aps git clone zip del sel locate bind 發貼人 Sergio-Oracle 於2018-4-18 23:10:15在Oracle Linux Introduction How Does This

Grid+ASM+Oracle Database 12c安裝配置教程

備註:工作需要開始學習oracle,之前只學習過mysql的一些基礎東東,oracle對我而言是一個新的資料體系,作為初學者,很多地方可能寫的不對,只是個人理解,誤導之處,請諒解,求指正![Byrd:2016年7月3日]   環境基礎:   虛擬機器IP(LINUX):1.1

mongoose連線資料庫簡單例項

// mongoose 連結 var mongoose = require(‘mongoose’); var db = mongoose.createConnection(‘mongodb://127.0.0.1:27017/NodeJS’);

徹底解除安裝Oracle database 12c教程

WIN+R,然後輸入regedit,回車‘; 在登錄檔中,進入目錄; \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,刪除所有以oracl

Oracle Database 12c HR賬戶的解鎖/配置

Oracle Database 12c HR賬戶的解鎖 P話少說,不需要解釋,只要給我程式碼–請直接翻到文章末尾,程式碼會進行彙總。 由於Oracle 12c採用了多租使用者環境(Multitenant Environment),所以解鎖hr使用者並

Oracle Database 12c 安裝全過程

Oracle Database 12c 安裝過程 windows 64位下載地址:   把下載好的軟體兩個同時解壓為一個資料夾: 雙擊“setup”執行:   1. 配置安全更新:把勾去掉,點選“是”:   2.軟體更新:點選 “下一步”   驗證中……  

(筆記)Pro Oracle Database 12c Administration Second Edition

oratab檔案生成環境變數? P27 2.1.3 Pro Oracle Database 12c Administration 中有利用 /etc/oratab 生成oracle 環境變數的例子。

1z0-071 Oracle Database 12c SQL 第68題 CREATE TABLE AS

Q68. View the exhibit and examine the structure of the SALES, CUSTOMERS, PRODUCTS and TIMES tables.The PROD_ID column is the foreign key i

Oracle Database 12C 解決中文亂碼問題

PL/SQL Developer 1. Pl/SQL Developer 顯示中文亂碼問題 1.1 出現問題 1. 在PL/SQL Debeloper 執行更新語句是,如果插入的欄位內容有中文,出現亂碼,比如執行以下程式碼:update XTGL_DMJ_XBM set M