麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > Oracle > 正文

Oracle 12c實現手工建庫而非CDB及CDB創建的方法

2024-08-29 14:00:49
字體:
來源:轉載
供稿:網友

前言

相信大家應該都知道,對于Oracle數據庫的創建,Oracle除了支持dbca(GUI界面),同時也支持手工方式創建數據庫,即使用CREATE DATABASE語句創建數據庫。使用此語句對使用DBCA的一個優點是可以從腳本內創建數據庫。

在Oracle 12c版本中支持12c之前的非CDB數據庫以及CDB容器數據庫。因此創建方式略有不同。本文同時描述2種不同數據庫的手工創建方法。下面話不多說了,來一起看看詳細的介紹吧。

一、12c手工創建非CDB數據庫

步驟1:指定實例標識符(SID)

ORACLE_SID的環境變量用于該實例從稍后可能創建并同時在同一主機計算機上運行其他Oracle Database實例區分開來。

$ export ORACLE_SID=nocdb$ export ORACLE_UNQNAME=nocdb

步驟2:確保設置所需的環境變量

根據您的平臺,在啟動SQL * Plus之前(根據后續步驟的要求),您可能必須設置環境變量,或至少驗證它們是否正確設置。如下查看當前已設定的環境變量,如果未設定,請使用export命令方式設定之。

$ env|grep ORAORACLE_UNQNAME=nocdbORACLE_SID=nocdbORACLE_BASE=/app/oracle/9022.html">oracle/ora12cORACLE_HOSTNAME=ydq05.ydq.comORACLE_HOME=/app/oracle/ora12c/db_1

步驟3:選擇數據庫管理員身份驗證方法

您必須進行身份驗證并授予相應的系統權限才能創建數據庫。

通常情況下,使用以下方式具有所需權限的管理員進行身份驗證:

使用密碼文件

具有操作系統認證(此演示中使用操作系統認證)

$ id oracleuid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba)

步驟4:創建初始化參數文件

當Oracle實例啟動時,它讀取一個初始化參數文件。該文件可以是文本文件,可以使用文本編輯器或二進制文件進行創建和修改,該文件由數據庫創建和動態修改。優選的二進制文件稱為服務器參數文件。在此步驟中,您將創建一個文本初始化參數文件。在后面的步驟中,您可以從文本文件創建一個服務器參數文件。

$ mkdir -pv /app/oracle/ora12c/oradata/nocdb #創建存放數據文件的目錄$ vi $ORACLE_HOME/dbs/initnocdb.oraDB_NAME=nocdbCONTROL_FILES='/app/oracle/ora12c/oradata/nocdb/contorl01.ctl'MEMORY_TARGET=380m

步驟5:(僅限Windows)創建實例

在Windows平臺上,連接到實例之前,必須手動創建它,如果它不存在。該ORADIM命令通過創建一個新的Windows服務創建一個Oracle數據庫實例。

oradim -NEW -SID sid -STARTMODE MANUAL -PFILE file

步驟6:連接到實例

啟動SQL * Plus并使用管理權限連接到Oracle數據庫實例SYSDBA。

$ sqlplus / as sysdba --演示環境為12.1版本SQL*Plus: Release 12.1.0.1.0 Production on Wed May 31 10:44:41 2017Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to an idle instance.SQL>

步驟7:創建服務器參數文件

服務器參數文件使您可以使用該ALTER SYSTEM命令更改初始化參數,并在數據庫關閉和啟動時保留更改。您可以從編輯的文本初始化文件創建服務器參數文件。

SQL> create spfile from pfile='/app/oracle/ora12c/db_1/dbs/initnocdb.ora';

步驟8:啟動實例

啟動實例而不安裝數據庫。

SQL> startup nomount;ORACLE instance started.Total System Global Area 1068937216 bytesFixed Size     2296576 bytesVariable Size    641729792 bytesDatabase Buffers   419430400 bytesRedo Buffers    5480448 bytes

步驟9:發出CREATE DATABASE語句

要創建新數據庫,請使用該CREATE DATABASE語句。

SQL> CREATE DATABASE nocdb USER SYS IDENTIFIED BY pass USER SYSTEM IDENTIFIED BY pass LOGFILE GROUP 1 ('/app/oracle/ora12c/oradata/nocdb/redo01a.log','/app/oracle/ora12c/oradata/nocdb/redo01b.log') SIZE 100M BLOCKSIZE 512,   GROUP 2 ('/app/oracle/ora12c/oradata/nocdb/redo02a.log','/app/oracle/ora12c/oradata/nocdb/redo02b.log') SIZE 100M BLOCKSIZE 512 MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 1024 CHARACTER SET AL32UTF8 NATIONAL CHARACTER SET AL16UTF16 EXTENT MANAGEMENT LOCAL DATAFILE '/app/oracle/ora12c/oradata/nocdb/system01.dbf' SIZE 700M SYSAUX DATAFILE '/app/oracle/ora12c/oradata/nocdb/sysaux01.dbf' SIZE 550M  DEFAULT TABLESPACE users  DATAFILE '/app/oracle/ora12c/oradata/nocdb/users01.dbf' SIZE 500M  DEFAULT TEMPORARY TABLESPACE tempts1  TEMPFILE '/app/oracle/ora12c/oradata/nocdb/temp01.dbf' SIZE 20M  UNDO TABLESPACE undotbs1  DATAFILE '/app/oracle/ora12c/oradata/nocdb/undotbs01.dbf' SIZE 200M USER_DATA TABLESPACE usertbs  DATAFILE '/app/oracle/ora12c/oradata/nocdb/usertbs01.dbf' SIZE 200M;

步驟10:創建其他表空間

要使數據庫起作用,必須為應用程序數據創建其他表空間。

SQL> CREATE TABLESPACE apps_tbs LOGGING   DATAFILE '/app/oracle/ora12c/oradata/nocdb/apps01.dbf'   SIZE 500M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED   EXTENT MANAGEMENT LOCAL;

步驟11:運行腳本以構建數據字典視圖

運行構建數據字典視圖,同義詞和PL / SQL包所必需的腳本,并支持SQL * Plus的正常運行。

使用sysdba權限執行以下腳本

SQL> @?/rdbms/admin/catalog.sql --數據庫字典,動態視圖創建等SQL> @?/rdbms/admin/catproc.sql --PL/SQL存過過程相關代碼SQL> @?/rdbms/admin/utlrp.sql  --編譯

使用SYSTEM用戶執行以下腳本

SQL> @?/sqlplus/admin/pupbld.sql --SQL*Plus相關--驗證結果SQL> SELECT name, 2   DECODE (cdb, 3     'YES', 'Multitenant Option enabled', 4     'Regular 12c Database: ') 5   "Multitenant Option", 6   open_mode, 7   con_id 8 FROM v$database;NAME  Multitenant Option   OPEN_MODE    CON_ID--------- -------------------------- -------------------- ----------NOCDB  Regular 12c Database:  READ WRITE     0

步驟12 :(可選)運行腳本以安裝其他選項(此處略)

您可能需要運行其他腳本。您運行的腳本由您選擇使用或安裝的功能和選項決定。

步驟13:備份數據庫對數據庫(此處略)

進行完整備份,以確保您有一套完整的文件,如果發生介質故障,可以從中恢復。

步驟14:(可選)啟用自動實例啟動(此處略)

您可能希望將Oracle實例配置為在其主機重新啟動時自動啟動。

二、12c下手工創建CDB數據庫

1、CDB創建相關說明

使用CREATE DATABASESQL語句創建CDB非常類似于創建非CDB。使用CREATE DATABASESQL語句創建CDB時,必須啟用PDB并指定根文件和種子文件的名稱和位置。

要創建CDB,CREATE DATABASE語句必須包含ENABLE PLUGGABLE DATABASE子句。當包含此子句時,該語句使用根和種子創建CDB。如果未指定ENABLE PLUGGABLE DATABASE子句 那新創建的數據庫是非CDB。該語句不會創建根和種子,非CDB永遠不會包含PDB。

以下為幾個主要差異部分

1、CDB數據庫創建時應指定ENABLE PLUGGABLE DATABASE子句

2、CDB數據庫應指定根文件和種子文件的名稱和位置

  CREATE DATABASE語句使用根文件(如數據文件)生成種子文件的名稱。您必須指定根文件和種子文件的名稱和位置。

  CREATE DATABASE語句成功完成后,您可以使用種子及其文件創建新的PDB。種子在創建后不能被修改。

  可以通過以下方式之一指定種子文件的名稱和位置

    使用 seed FILE_NAME_CONVERT 子句

    如SEED FILE_NAME_CONVERT = (‘/app/oracle/ora12c/oradata/cdb1/','/app/oracle/ora12c/oradata/pdbseed/')表示將cdb1目錄下的文件轉換到pdbseed目錄下

    基于oracle文件托管方式(OMF)

    使用PDB_FILE_NAME_CONVERT初始化參數

3、可以為PDB種子數據庫制定不同的屬性

  根SYSTEM和SYSAUX表空間的數據文件的屬性可能不適合種子。在這種情況下,您可以使用子句為種子的數據文件指定不同的屬性tablespace_datafile。使用這些子句指定所有數據文件包含的屬性SYSTEM和SYSAUX表空間中的種子。從根繼承的值用于尚未提供其值的任何屬性。

如下示例

DATAFILE '/u01/app/oracle/oradata/newcdb/system01.dbf' SIZE 325M REUSESYSAUX DATAFILE '/u01/app/oracle/oradata/newcdb/sysaux01.dbf' SIZE 325M REUSE--下面的seed部分使用了不同于上面root容器的配置,--如system數據文件此處大小為125M,而root容器中為352M--seed中開啟了自動擴展,sysaux也同樣使用了一些不同于root容器的屬性--對于在seed中未明確指定的屬性,則繼承root容器數據文件屬性SEEDSYSTEM DATAFILES SIZE 125M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITEDSYSAUX DATAFILES SIZE 100M

2、創建cdb數據庫

詳細步驟參考12c下手工創建非cdb數據庫,以下部分省略每一步驟詳細描述,后面列出差異

--設定環境變量$ export ORACLE_SID=cdb1$ export ORACLE_UNQNAME=cdb1--創建相應目錄$ mkdir -pv /app/oracle/ora12c/oradata/cdb1$ mkdir -pv /app/oracle/ora12c/oradata/pdbseed--生成參數文件$ vi $ORACLE_HOME/dbs/initcdb1.oraDB_NAME=cdb1CONTROL_FILES='/app/oracle/ora12c/oradata/cdb1/contorl01.ctl'MEMORY_TARGET=380mENABLE_PLUGGABLE_DATABASE=true--開始建庫$ sqlplus / as sysdbaSQL> create spfile from pfile='$ORACLE_HOME/dbs/initcdb1.ora';SQL> startup nomount;SQL> CREATE DATABASE cdb1 USER SYS IDENTIFIED BY pass USER SYSTEM IDENTIFIED BY pass LOGFILE GROUP 1 ('/app/oracle/ora12c/oradata/cdb1/redo01a.log','/app/oracle/ora12c/oradata/cdb1/redo01b.log')     SIZE 100M BLOCKSIZE 512,   GROUP 2 ('/app/oracle/ora12c/oradata/cdb1/redo02a.log','/app/oracle/ora12c/oradata/cdb1/redo02b.log')     SIZE 100M BLOCKSIZE 512 MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 1024 CHARACTER SET AL32UTF8 NATIONAL CHARACTER SET AL16UTF16 EXTENT MANAGEMENT LOCAL DATAFILE '/app/oracle/ora12c/oradata/cdb1/system01.dbf' SIZE 700M SYSAUX DATAFILE '/app/oracle/ora12c/oradata/cdb1/sysaux01.dbf' SIZE 550M DEFAULT TABLESPACE deftbs  DATAFILE '/app/oracle/ora12c/oradata/cdb1/deftbs01.dbf' SIZE 500M DEFAULT TEMPORARY TABLESPACE tempts1  TEMPFILE '/app/oracle/ora12c/oradata/cdb1/temp01.dbf' SIZE 20M  UNDO TABLESPACE undotbs1  DATAFILE '/app/oracle/ora12c/oradata/cdb1/undotbs01.dbf' SIZE 200M  ENABLE PLUGGABLE DATABASE  SEED FILE_NAME_CONVERT = ('/app/oracle/ora12c/oradata/cdb1/', '/app/oracle/ora12c/oradata/pdbseed/') SYSTEM DATAFILES SIZE 125M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED SYSAUX DATAFILES SIZE 100M USER_DATA TABLESPACE usertbs DATAFILE '/app/oracle/ora12c/oradata/pdbseed/usertbs01.dbf' SIZE 200M;--填充數據字典,如果是12cR2版本,則直接執行catcdb.sql代替以下腳本 --使用sysdba權限執行以下腳本SQL> @?/rdbms/admin/catalog.sql --數據庫字典,動態視圖創建等SQL> @?/rdbms/admin/catproc.sql --PL/SQL存過過程相關代碼SQL> @?/rdbms/admin/utlrp.sql  --編譯--使用SYSTEM用戶執行以下腳本SQL> @?/sqlplus/admin/pupbld.sql #SQL*Plus相關SQL> select 'Leshami' Author,'http://blog.csdn.net/leshami' Blog, 2 '645746311' QQ from dual;AUTHOR BLOG       QQ------- ---------------------------- ---------Leshami http://blog.csdn.net/leshami 645746311--驗證結果SQL> SELECT name, 2   DECODE (cdb, 3     'YES', 'Multitenant Option enabled', 4     'Regular 12c Database: ') 5   "Multitenant Option", 6   open_mode, 7   con_id 8 FROM v$database;NAME  Multitenant Option   OPEN_MODE    CON_ID--------- -------------------------- -------------------- ----------CDB1  Multitenant Option enabled READ WRITE     0

三、更多參考

Oracle 12c多租戶架構及優缺點

http://docs.oracle.com/database/122/ADMIN/creating-and-configuring-an-oracle-database.htm

http://docs.oracle.com/database/122/ADMIN/creating-and-configuring-a-cdb.htm

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到oracle教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产毛片aaa一区二区三区视频 | 久久国产精品电影 | av在线播放亚洲 | 91精品国产乱码久久久久久久久 | 国产精品一区在线看 | 国产精品久久久久久久亚洲按摩 | 国产精品亚洲精品日韩已方 | 黄色免费影片 | 国产一区精品在线观看 | 操网| 欧美中文字幕一区二区三区亚洲 | 午夜精品老牛av一区二区三区 | 国产精品视频yy9299一区 | 国产69精品99久久久久久宅男 | 久草视频2 | 亚洲国产精品久久久久久久久久久 | 亚洲精品一区二区三区大胸 | 91短视频在线观看 | 九色com| 欧美日本免费一区二区三区 | 91精品久久久久久 | 国人精品视频在线观看 | 91 免费视频 | 在线观看网址av | 欧美女优一区 | 欧洲精品久久久 | 一色屋任你操 | 国产免费观看av | 亚洲影视中文字幕 | 欧美自拍三区 | 天天鲁在线视频免费观看 | 女人叉开腿让男人桶 | japanese末成年free | 日韩中字在线 | 久久精品.com | 日本一级黄色大片 | 精品久久久久久中文字幕 | 色屁屁xxxxⅹ在线视频 | 国产一区二区免费在线观看 | 午夜视频播放 | 久久亚洲一区二区三区成人国产 |