oracle12c访问mysql_「AWEI」Oracle12c新建数据库和用户及JDBC连接

本文介绍了Oracle12c中的CDB与PDB新特性,详细阐述了如何在CDB与PDB之间切换、创建与管理用户以及通过JDBC连接数据库。内容包括创建表空间、用户授权、数据库实例创建以及解决JDBC连接问题。
摘要由CSDN通过智能技术生成

原标题:「AWEI」Oracle12c新建数据库和用户及JDBC连接

ORACLE 12C新特性——CDB与PDB

Oracle12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为ContainerDatabase,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。下面是官方文档关于CDB与PDB的关系图。

9b877c85adba432d344e69062b766d4c.gif

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 12cCDB与PDB之间的切换:

Oracle12c开始支持 PLUGGABLEDATABASE,并且提供了一个方法在CDB和PDB之间切换。

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

9295342d900937284109315c5a3451ad.png

上图中 PDB$SEED并不是一个 PDB而是一个 PDB的模板,状态始终是 READ ONLY。ORCLMIX是一个PDB。

其次,切换到ORCLMIX:

9bce553ead18340d35ca1d91863e09bc.png

最后,从PDB切回CDB:

e57f2aa8bfcb36808ce7942237ffd967.png

接着下来,打开ORCLMIX插接式数据库:

7d610bba9f1a7ebdcd77f879047f88bc.png

切换回 ORCLMIX并创建用户授权DBA;

19d7177a2f23cf83bc983a9c8ac5756f.png

这里你也可以登录sqldeveloper工具来创建用户:

289d9c6c499c451681e340cd5cb5c59c.png

进去创建连接:

0986c8533f77b22ce9e96ad97feb8f48.png

878edb2454ed8ab641966b6ff0c5e690.png

创建新用户:

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

创建用户之前先创建表空间和临时表空间

-- 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;

c7539b0244df88eb7b2257249e2da202.png

创建用户其他用户->右键创建用户

e238484ed7307826477eaf6f33951536.png

482e542842aa6fda77a0d830cfdb727c.png

95567dbe367ca3d39ae39ff84aa610fe.png

到此pdb数据库用户创建完成,赶快去sqldeveloper去体验吧!

962a1548907cb9e7d69b44dce41305ad.png

58b03c96b3c29392da6ab1889274c398.png

至此新用户创建完毕 !

赶快用JDBC体验下连接数据库的成就感吧!

DBCA方式创建数据库

549ad427b58ff4c407bd88ef06aabeeb.png

730a6083a9f76cdcf45d800cbe1f8f1f.png

0ed6e113a40276bd2c8c2f578df79db1.png

ac7ab7d99123a27581e94385d7108c98.png

4d225a0a196d7775bcb7926f6cb5e304.png

37169f8feb141eb2b88b47ba6b637028.png

d8d7cd245df6f6e09b389319821822df.png

5a5cee76d0c08497538492fe36586d7f.png

38e4fa092cb2d2dfea65d2782e39b5ed.png

1deb2dd904277778118db056d1ae685d.png

58042dc502e9d34b6a37c4c3ece1a26d.png

d8d72e1e81dc59428da5d9ce5dc53f4a.png

5c45d6a7497b972a9ffcc14888643dbd.png

1d7f32214ca190779c27e971c0963e76.png

96eec965a33e1e36cb21fde805a1c807.png

此处省去两部笔者忘记截屏了 ,之后两步直接下一步就可以了

到此,我们成功的新增加了一个数据库-CDB名:mixims PDB名:ORCLMIX

使用JDBC连接数据库

先找到oracle的数据库驱动:

501c7510d0170e3e005209922c47bfe1.png

复制到web项目中:

0072b42d6d12b8ae6ae8017d0a8bb741.png

添加到libraries:

5c6e32b223fa0e6b2cd1c273198b5856.png

创建测试代码:

89e34ae12b7b158eff3df3bfad735877.png

出现如下错误:

1a13df94ef79197917f9f263e8a1a3b2.png

b94209a8ac2977215fe06648e1e20d51.png

解决办法如下:

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

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

ORCLMIX =

(DEION =

(ADDRESS_LIST =

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

(CONNECT_DATA =

(SERVER= DEDICATED)

(SERVICE_NAME = orclmix) #pdb的db_name

)

)

)

8e23f3cdc78cf4b23c6113450342f964.png

其次,修改jdbc连接代码:

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

6a96650a3eb7915581172704b3f5bc33.png

恭喜你连接成功!

赶快使用JDBC去实现数据库信息的增删改查吧!

本号所有文章都经笔者亲自测验后整理成稿,期间耗费了很多精力,如果有朋友想收录自己的博客中请联系笔者「垒码大叔」;

初入IT世界的小白,欢迎大神留言交流,你的互动,是我成长的动力;

如果觉得分享内容还不错,就推荐到你的朋友圈吧,让更多人一起交流和分享;

笔者:垒码大叔「AWEI」返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值