tft每日頭條

 > 科技

 > oracle新建序列

oracle新建序列

科技 更新时间:2025-01-18 06:58:28

ORACLE 12C新特性——CDB與pdb

Oracle 12C引入了CDB與PDB的新特性,在ORACLE 12C數據庫引入的多租用戶環境(Multitenant Environment)中,允許一個數據庫容器(CDB)承載多個可插拔數據庫(PDB)。CDB全稱為Container Database,中文翻譯為數據庫容器,PDB全稱為Pluggable Database,即可插拔數據庫。在ORACLE 12C之前,實例與數據庫是一對一或多對一關系(RAC):即一個實例隻能與一個數據庫相關聯,數據庫可以被多個實例所加載。而實例與數據庫不可能是一對多的關系。當進入ORACLE 12C後,實例與數據庫可以是一對多的關系。下面是官方文檔關于CDB與PDB的關系圖。

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)1

CDB組件(Components of a CDB

一個CDB數據庫容器包含了下面一些組件:

ROOT組件

ROOT又叫CDB$ROOT, 存儲着ORACLE提供的元數據和Common User,元數據的一個例子是ORACLE提供的PL/SQL包的源代碼,Common User 是指在每個容器中都存在的用戶。

SEED組件

Seed又叫PDB$SEED,這個是你創建PDBS數據庫的模闆,你不能在Seed中添加或修改一個對象。一個CDB中有且隻能有一個Seed. 這個感念,個人感覺非常類似SQL SERVER中的model數據庫。

PDBS

CDB中可以有一個或多個PDBS,PDBS向後兼容,可以像以前在數據庫中那樣操作PDBS,這裡指大多數常規操作。

這些組件中的每一個都可以被稱為一個容器。因此,ROOT(根)是一個容器,Seed(種子)是一個容器,每個PDB是一個容器。每個容器在CDB中都有一個獨一無二的的ID和名稱。

特别說明:Oracle數據庫的結構是一個數據庫實例下有許多用戶,每一個用戶有自己的表空間,即每一個用戶相當于MySQL中的一個數據庫。Oracle 12c的數據庫,安裝之後建user時才知道oracle12c 有一個很大的變動就是引入了pdb可插入數據庫,而且在cdb中隻能創建c##或者C##開頭的用戶,隻有在pdb數據庫中才能創建我們習慣性命名的用戶,Oracle稱之為Local User,前者稱之為Common User;

先來熟悉Oracle 12c CDBPDB之間的切換:

Oracle 12c 開始支持 PLUGGABLE DATABASE,并且提供了一個方法在CDB和PDB之間切換。

首先,使用 show pdbs 可以确認當前有哪些PDB?

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)2

上圖中 PDB$SEED 并不是一個 PDB 而是一個 PDB的模闆,狀态始終是 READ ONLY。ORCLMIX是一個PDB。

其次,切換到ORCLMIX:

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)3

最後,從PDB切回CDB:

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)4

接着下來,打開ORCLMIX 插接式數據庫:

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)5

切換回 ORCLMIX 并創建用戶授權DBA;

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)6

這裡你也可以登錄sql developer工具來創建用戶:

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)7

進去創建連接:

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)8

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)9

創建新用戶:

先把之前建立的用戶删掉;

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)10

創建用戶之前 先創建表空間和臨時表空間

-- admin temp

create temporary tablespace admin _temp

tempfile 'F:\oracle12c\orcl\oradata\orcl\ admin _temp.dbf'

size 50m

autoextend on

next 50m maxsize 20480m

extent management local;

--admin data

create tablespace admin _data

logging

datafile 'F:\oracle12c\orcl\oradata\orcl\ admin _data.dbf'

size 50m

autoextend on

next 50m maxsize 20480m

extent management local;

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)11

創建用戶 其他用戶->右鍵創建用戶

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)12

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)13

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)14

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)15

到此pdb數據庫用戶創建完成,趕快去sql developer去體驗吧!

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)16

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)17

至此 新用戶創建完畢 !

趕快用JDBC 體驗下 連接數據庫的成就感吧!

DBCA方式創建數據庫

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)18

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)19

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)20

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)21

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)22

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)23

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)24

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)25

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)26

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)27

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)28

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)29

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)30

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)31

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)32

此處省去兩部 筆者忘記截屏了 ,之後兩步直接下一步就可以了

到此,我們成功的新增加了一個數據庫-CDB名:mixims PDB名:ORCLMIX

使用JDBC連接數據庫

先找到oracle的數據庫驅動:

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)33

複制到web項目中:

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)34

添加到libraries:

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)35

創建測試代碼:

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)36

出現如下錯誤:

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)37

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)38

解決辦法如下:

首先,進入到oracle 主目錄下:..\product\12.1.0\dbhome_1\NETWORK\ADMIN

找到tnsnames.ora,并打開,在其中加入:

ORCLMIX =

(DESCRIPTION =

(ADDRESS_LIST =

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

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orclmix) #pdb的db_name

)

)

)

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)39

其次,修改jdbc連接代碼:

connection=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/orclmix","admin","admin");

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)40

恭喜你 連接成功!

趕快使用JDBC 去實現數據庫信息的增删改查吧!

本号所有文章都經筆者親自測驗後整理成稿,期間耗費了很多精力,如果有朋友想收錄自己的博客中請聯系筆者「壘碼大叔」;

初入IT世界的小白,歡迎大神留言交流,你的互動,是我成長的動力;

如果覺得分享内容還不錯,就推薦到你的朋友圈吧,讓更多人一起交流和分享;

oracle新建序列(Oracle12c初體驗之新建數據庫和用戶并連接)41

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved