Oracle 11g R2創建資料庫之DBCA靜默方式

来源:https://www.cnblogs.com/dbabd/archive/2019/01/10/10250968.html
-Advertisement-
Play Games

正文 通常創建Oracle資料庫都是通過 DBCA (Database Configuration Assistant)工具完成的, DBCA 工具可以通過兩種方式完成建庫任務,即圖形界面方式和靜默命令行方式。既然安裝資料庫軟體可以通過靜默方式來完成,創建資料庫也可以通過靜默方式來完成,本文就對使用 ...


正文

通常創建Oracle資料庫都是通過DBCA(Database Configuration Assistant)工具完成的,DBCA工具可以通過兩種方式完成建庫任務,即圖形界面方式和靜默命令行方式。既然安裝資料庫軟體可以通過靜默方式來完成,創建資料庫也可以通過靜默方式來完成,本文就對使用DBCA工具靜默創建資料庫的方式進行梳理和總結。

關於靜默方式安裝Oracle資料庫軟體可以參考另一篇博文:CentOS 7靜默安裝Oracle 11g R2資料庫軟體

關於使用DBCA工具創建和管理資料庫詳細說明可以參考官方文檔:Creating and Managing a Database with DBCA

環境準備

  1. 操作系統(OS):CentOS Linux release 7.5.1804 (Core)
  2. 資料庫版本(Oracle Database):Oracle Database 11g R2(11.2.0.4.0)

其中監聽也已經通過靜默方式配置啟動成功。有關DBCA工具的命令行參數可以通過如下命令查看:

$ORACLE_HOME/bin/dbca -help

建庫準備

通過DBCA工具進行靜默創建資料庫時,選項參數有三種方式傳遞給工具進行創建:

  1. DBCA工具命令行選項指定;
  2. 通過response file(響應文件)的方式傳遞;
  3. 以上兩種方式混合使用,當混合使用時命令行選項值優先順序更高。

關於使用響應文件安裝和配置資料庫的詳細說明可以參考官方文檔:Installing and Configuring Oracle Database Using Response Files

本文討論的是只通過響應文件的方式來實現,修改響應文件當中的選項參數來創建合適的資料庫。在安裝完資料庫軟體之後,預設會生成響應文件的模板,該文件位於 $ORACLE_HOME/assistants/dbca目錄下,名為dbca.rsp

  • 複製響應文件模板
    oracle用戶下通過複製生成一份此次創建資料庫需要的響應文件,並重命名為dbabd_dbca.rsp
$ id
uid=1000(oracle) gid=1000(oinstall) groups=1000(oinstall),1001(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
$ cd $ORACLE_HOME/assistants/dbca
$ cp dbca.rsp /data/app/dbabd_dbca.rsp -ra
  • 編輯修改響應文件
    為了使響應文件簡單便於編輯修改,去除了多餘的空行和註釋語句,關於響應文件當中的選項說明可以參考模板文件當中的註釋語句。
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl11g.us.oracle.com"
SID = "orcl11g"
TEMPLATENAME = "General_Purpose.dbc"
[createTemplateFromDB]
SOURCEDB = "myhost:1521:orcl"
SYSDBAUSERNAME = "system"
TEMPLATENAME = "My Copy TEMPLATE"
[createCloneTemplate]
SOURCEDB = "orcl"
TEMPLATENAME = "My Clone TEMPLATE"
[DELETEDATABASE]
SOURCEDB = "orcl"
[generateScripts]
TEMPLATENAME = "New Database"
GDBNAME = "orcl11.us.oracle.com"
[CONFIGUREDATABASE]
[ADDINSTANCE]
DB_UNIQUE_NAME = "orcl11g.us.oracle.com"
NODELIST=
SYSDBAUSERNAME = "sys"
[DELETEINSTANCE]
DB_UNIQUE_NAME = "orcl11g.us.oracle.com"
INSTANCENAME = "orcl11g"
SYSDBAUSERNAME = "sys"

以上是響應文件模板預設選項內容,接下來對其選項進行自定義並修改其中某些選項值,這樣為了更接近創建需求。修改後的響應文件dbabd_dbca.rsp如下:

[GENERAL]                                      
RESPONSEFILE_VERSION = "11.2.0"                -- 響應文件版本 
OPERATION_TYPE = "createDatabase"              -- 響應文件操作類型
[CREATEDATABASE]                               -- 操作類型對應選項標簽
GDBNAME = "dbabd"                              -- 全局資料庫名(Global Name)
SID = "dbabd"                                  -- 資料庫實例名(SID)
TEMPLATENAME = "General_Purpose.dbc"           -- 引用的模板
SYSPASSWORD = "oracle"                         -- SYS用戶密碼
SYSTEMPASSWORD = "password"                    -- SYSTEM用戶密碼
DATAFILEDESTINATION = /data/app/oracle/data    -- 指定數據文件路徑
CHARACTERSET = "AL32UTF8"                      -- 指定字元集
TOTALMEMORY = "300"                            -- 指定分配記憶體大小(MEMORY_TARGET),單位為MB
SAMPLESCHEMA = TRUE                            -- 是否創建示例SCHEMA

以上註釋只是為了更好解析響應文件的內容,實際文件當中並不存在註釋內容。

關於響應文件當中指定的模板,可以在 $ORACLE_HOME/assistants/dbca/templates目錄下麵查看其內容,模板文件當中指定了創建資料庫的一些選項,這裡就不再詳細贅述。

開始建庫

創建數據文件目錄

本次建庫的數據文件存放路徑為 /data/app/oracle/data,進入oracle用戶下麵進行創建:

# su - oracle
$ mkdir -pv $ORACLE_BASE/data
mkdir: created directory ‘/data/app/oracle/data’
$ ls $ORACLE_BASE
cfgtoollogs  checkpoints  data  diag  product

使用DBCA工具創建

oracle用戶下執行如下命令創建資料庫:

$ $ORACLE_HOME/bin/dbca -silent -responseFile /data/app/dbabd_dbca.rsp

輸出內容如下:

Copying database files
1% complete
3% complete
11% complete
18% complete
26% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
57% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
85% complete
96% complete
100% complete
Look at the log file "/data/app/oracle/cfgtoollogs/dbca/dbabd/dbabd.log" for further details.

至此資料庫創建完成,可以通過sqlplus進行查詢實例狀態:

$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu Jan 10 15:56:47 2019

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


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select instance_name,startup_time,status from v$instance;

INSTANCE_NAME                                    STARTUP_TIME        STATUS
------------------------------------------------ ------------------- ------------------------------------
dbabd                                            2019-01-10 15:51:23 OPEN

也可以通過監聽查看實例狀態:

$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 10-JAN-2019 16:00:00

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                10-JAN-2019 15:44:14
Uptime                    0 days 0 hr. 15 min. 46 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /data/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File         /data/app/oracle/diag/tnslsnr/dbabd/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbabd)(PORT=1521)))
Services Summary...
Service "dbabd" has 1 instance(s).
  Instance "dbabd", status READY, has 1 handler(s) for this service...
Service "dbabdXDB" has 1 instance(s).
  Instance "dbabd", status READY, has 1 handler(s) for this service...
The command completed successfully

參考

https://docs.oracle.com/cd/E11882_01/install.112/e47689/app_nonint.htm#LADBI1341
https://docs.oracle.com/cd/E11882_01/server.112/e10897/install.htm#ADMQS0231

☆〖本人水平有限,文中如有錯誤還請留言批評指正!〗☆


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 從2016年第一次接觸rtthread,感覺很容易上手,記得一個項目是小飛行器上的IPC,趁著空閑,手裡有一塊jz2440的板子,準備在這塊板子上跑起來rtthread,查了很多資料,最後決定自己寫一個簡單的BootLoader啟動板子,啟動rtthread系統。下麵是簡單的BootLoader源代 ...
  • 對於任何資料庫來說,備份都是非常重要的 資料庫複製不能取代備份的作用 比如我們由於誤操作,在主資料庫上刪除了一些數據,由於主從複製的時間很短,在發現時,從資料庫上的數據可能也已經被刪除了, 我們不能使用從資料庫上的數據來恢復主資料庫上的數據,只能通過備份進行誤刪除數據的恢復 一. 備份的分類 1.按 ...
  • 同事反饋他連接一個新搭建的測試資料庫時,報“ORA-12520: TNS: 監聽程式無法為請求的伺服器類型找到可用的處理程式”錯誤,在解決他這個問題時,順便分析、總結一下ORA-12520錯誤。下麵重現一下這個場景: Oracle Client段的tnsnames.ora的配置如下: MY_TEST... ...
  • 在https://www.cnblogs.com/xuliuzai/p/9965229.html的博文中我們介紹了MongoDB的常見索引的創建語法。部分同學還想看看MongoDB的威力到底有多大,所以,在這兒追加一個例子,感受一下索引的性能。 通過在某一欄位上創建索引,從優化前的執行15.15S到 ...
  • 狂神聲明 : 文章均為自己的學習筆記 , 轉載一定註明出處 ; 編輯不易 , 防君子不防小人~共勉 ! mysql學習【第3篇】:使用DQL查詢數據 DQL語言 DQL( Data Query Language 數據查詢語言 ) 查詢資料庫數據 , 如SELECT語句 簡單的單表查詢或多表的複雜查詢 ...
  • ORA-04021: timeout occurred while waiting to lock object 某個應用正在鎖定該表或者包表為select b.SID,b.SERIAL#,c.SQL_TEXTfrom v$locked_object a, v$session b, v$sqlare ...
  • 有時候,我們需要給redis庫中插入大量的數據,如做性能測試前的準備數據。遇到這種情況時,偶爾可能也會懵逼一下,這裡就給大家介紹一個批量導入數據的方法。 先準備一個redis protocol的文件(redis protocol可以參考這裡:https://redis.io/topics/proto ...
  • 當我們希望MySQL能夠以更高的性能運行查詢時,最好的辦法就是弄清楚MySQL是如何優化和執行查詢的。一旦理解了這一點,很多查詢優化工作實際上就是遵循一些原則讓優化器能夠按照預想的合理方式運行 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...