百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

「AWEI」Oracle12c初体验之新建数据库和用户并连接

mhr18 2024-09-21 19:05 15 浏览 0 评论

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的关系图。

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?

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

其次,切换到ORCLMIX:

最后,从PDB切回CDB:

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

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

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

进去创建连接:

创建新用户:

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

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

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

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

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

至此 新用户创建完毕 !

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

DBCA方式创建数据库

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

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

使用JDBC连接数据库

先找到oracle的数据库驱动:

复制到web项目中:

添加到libraries:

创建测试代码:

出现如下错误:

解决办法如下:

首先,进入到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

)

)

)

其次,修改jdbc连接代码:

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

恭喜你 连接成功!

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

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

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

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

相关推荐

redis 7.4.3更新!安全修复+性能优化全解析

一、Redis是什么?为什么选择它?Redis(RemoteDictionaryServer)是一款开源的高性能内存键值数据库,支持持久化、多数据结构(如字符串、哈希、列表等),广泛应用于缓存、消...

C# 读写Redis数据库的简单例子

CSRedis是一个基于C#的Redis客户端库,它提供了与Redis服务器进行交互的功能。它是一个轻量级、高性能的库,易于使用和集成到C#应用程序中。您可以使用NuGet包管理器或使用以下命令行命令...

十年之重修Redis原理

弱小和无知并不是生存的障碍,傲慢才是。--------面试者总结Redis可能都用过,但是从来没有理解过,就像一个熟悉的陌生人,本文主要讲述了Redis基本类型的使用、数据结构、持久化、单线程模型...

高频L2行情数据Redis存储架构设计(含C++实现代码)

一、Redis核心设计原则内存高效:优化数据结构,减少内存占用低延迟访问:单次操作≤0.1ms响应时间数据完整性:完整存储所有L2字段实时订阅:支持多客户端实时数据推送持久化策略:RDB+AOF保障数...

Magic-Boot开源引擎:零代码玩转企业级开发,效率暴涨!

一、项目介绍基于magic-api搭建的快速开发平台,前端采用Vue3+naive-ui最新版本搭建,依赖较少,运行速度快。对常用组件进行封装。利用Vue3的@vue/compiler-sfc单文...

项目不行简历拉胯?3招教你从面试陪跑逆袭大厂offer!

项目不行简历拉胯?3招教你从面试陪跑逆袭大厂offer!老铁们!是不是每次面试完都感觉自己像被大厂面试官婉拒的渣男?明明刷了三个月题库,背熟八股文,结果一被问项目就支支吾吾,简历写得像大学生课程设计?...

谷歌云平台:开发者部署超120个开源包

从国外相关报道了解,Google与Bitnami合作为Google云平台增加了一个新的功能,为了方便开发人员快捷部署程序,提供了120余款开源应用程序云平台的支持。这些应用程序其中包括了WordPre...

知名互联网公司和程序员都看好的数据库是什么?

2017年数据库领域的最大趋势是什么?什么是最热的数据处理技术?学什么数据库最有前途?程序员们普遍不喜欢的数据库是什么?本文都会一一揭秘。大数据时代,数据库的选择备受关注,此前本号就曾揭秘国内知名互联...

腾讯云发布云存储MongoDB服务

近日,著名安全专家兼Shodan搜索引擎的创建者JohnMatherly发现,目前至少有35000个受影响的MongoDB数据库暴露在互联网上,它们所包含的数据暴露在网络攻击风险之中。据估计,将近6...

已跪,Java全能笔记爆火,分布式/开源框架/微服务/性能调优全有

前言程序员,立之根本还是技术,一个程序员的好坏,虽然不能完全用技术强弱来判断,但是技术水平一定是基础,技术差的程序员只能CRUD,技术不深的程序员也成不了架构师。程序员对于技术的掌握,除了从了解-熟悉...

面试官:举个你解决冲突的例子?别怂!用这个套路……

面试官:举个你解决冲突的例子?别怂!用这个套路……最近收到粉丝私信,说被问到:团队技术方案有分歧怎么办?当场大脑宕机……兄弟!这不是送命题,是展示你情商+技术判断力的王炸题!今天教你们3招,用真实案例...

面试碰到MongoDB?莫慌,跟面试官这样吹MongoDB 复制集

推荐阅读:吊打MySQL:21性能优化实践+学习导图+55面试+笔记+20高频知识点阿里一线架构师分享的技术图谱,进阶加薪全靠它十面字节跳动,依旧空手而归,我该放弃吗?文末会分享一些MongoDB的学...

SpringBoot集成扩展-访问NoSQL数据库之Redis和MongoDB!

与关系型数据库一样,SpringBoot也提供了对NoSQL数据库的集成扩展,如对Redis和MongoDB等数据库的操作。通过默认配置即可使用RedisTemplate和MongoTemplate...

Java程序员找工作总卡项目关?

Java程序员找工作总卡项目关?3招教你用真实经历写出HR抢着要的简历!各位Java老哥,最近刷招聘软件是不是手都划酸了?简历投出去石沉大海,面试邀请却总在飞别人的简历?上周有个兄弟,13年经验投了5...

Java多租户SaaS系统实现方案

嗯,用户问的是Java通过租户id实现的SaaS方案。首先,我需要理解用户的需求。SaaS,也就是软件即服务,通常是指多租户的架构,每个租户的数据需要隔离。用户可能想知道如何在Java中利用租户ID来...

取消回复欢迎 发表评论: