搞了一下oracle 12c。有些体会还是先记下来。

12c搞搞新意思,弄了个CDB(容器数据库,可不是商务中心CBD哟)和PDB(可插拔数据库)。PDB插在CDB里。

简单而言,CDB就是一个数据库实例,而PDB就是实例里一个个的数据库。这跟SQL SERVER是类似的。据说在oracle 11g或以前,一个数据库实例只能承载一个数据库(甚至一个数据库分布于不同的数据库实例中),然后不同的账户对应不同的表空间,在这里,表空间就类似SQL SERVER的数据库。

有位大虾说的好:“其实大家如果对SQL SERVER比较熟悉的话,这种CDB与PDB是不是感觉和SQL SERVER的单实例多数据库架构是一回事呢。像PDB$SEED可以看成是master、msdb等系统数据库,PDBS可以看成用户创建的数据库。而可插拔的概念与SQL SERVER中的用户数据库的分离、附加其实就是那么一回事。看来ORACLE也“抄袭”了一把SQL SERVER的概念,只是改头换面的包装了一番。

以下是一些操作语句,仅作个人学习记录

1、创建可插拔数据库

可以通过界面来操作,命令行则如下:

--'pdbseed'是模板数据库 pdb$seed 所在路径最后一个文件夹的名称。猜测如果数据库文件存放在系统默认路径下,则可以用最后一个文件夹来作为参数。本来应该是 file_name_convert('模版库路径','新建库路径')

CREATE PLUGGABLE DATABASE HNHY12 ADMIN USER hydg IDENTIFIED BY hydg file_name_convert=('pdbseed','hnhy');

原本我开始是酱紫写的:

CREATE PLUGGABLE DATABASE gdlhjd ADMIN USER coder IDENTIFIED BY coder STORAGE(MAXSIZE 2G MAX_SHARED_TEMP_SIZE 100M) DEFAULT TABLESPACE hydg DATAFILE 'E:\GDLHJD\gdlhjd.dbf' SIZE 25M AUTOEXTEND ON;

这句代码会报错,因为还没有指定file_name_convert

file_name_convert是什么鬼?我找来找去,在网上寻寻觅觅,都找不到确切的答案。隐约得到的大意是,按照模板来生成PDB。这个倒好理解,SQL SERVER里就是这样的,有master、msdb等系统数据库。

file_name_convert=(‘模板路径’,’新PDB所在路径’)

如果路径为oracle默认存放路径,可以简化为

file_name_convert=(‘模板路径所在文件夹名称’,’新PDB所在文件夹名称’)

问题是,既然是系统模板,为啥还要用户指定?我们哪知道是哪个模板?或者模板文件存放在哪个路径?

可以运行以下语句,获得pdb$seed的文件路径

select * from v$dbfile;

细想,oracle的本意是,可以根据模板库来生成新的库,并且这个模版库不一定是系统默认那个。这点比SQL SERVER要灵活。但用途不大,且难度大。

2、激活PDB

SQL> col pdb_name for a20
SQL> select pdb_name,status from dba_pdbs;
SQL> alter pluggable database gdlhjd open;
SQL> select pdb_id,pdb_name,dbid,status,creation_scn from dba_pdbs;
SQL> alter pluggable database HNHY12 open;

有一个问题,就是这样的激活是临时性的,下次数据库重启的时候,PDB只是挂载(mounted)状态,仍然需要手动运行 开启语句。一劳永逸的做法是保存这个开启的状态:

col pdb_name for a20

select pdb_name,status from dba_pdbs;

show pdbs;

alter pluggable database PDBGZFBC open;--开启

show pdbs;

ALTER PLUGGABLE DATABASE PDBGZFBC SAVE STATE;--保存开启状态

3、删除PDB

alter pluggable database hnhy12 close;

drop pluggable database hnhy12 including datafiles;

但好像,物理文件并没删除。

4、为默认用户指定表空间

请注意,以下语句必须切换到相应插拔数据库下:

请注意,以下语句必须切换到相应插拔数据库下:

请注意,以下语句必须切换到相应插拔数据库下:

创建PDB语句中有指定管理(?)账户

CREATE PLUGGABLE DATABASE HNHY12 ADMIN USER hydg IDENTIFIED BY hydg 。。。

而我们通常都是创建用户的时候,同时指定表空间。那么创建PDB之时,这个ADMIN USER是否已经有表空间了呢?似乎并没有。

咋办?

建一个表空间,然后指定给它即可(记得先切换数据库。我们创建数据库的时候,应该是在容器数据库里;那么在这个新建的PDB里建表空间,要先切换到相应的PDB):

create tablespace hydg datafile 'D:\HNHY\db\HNHY12C\hydg.ora' size 500m autoextend on;

ALTER USER hydg DEFAULT TABLESPACE hydg;

参考文章:

ORACLE 12C新特性——CDB与PDB

oracle 12c 13姨的更多相关文章

  1. Oracle 12c 使用scott等普通用户的方法

    目录: 一.前言 二.使用普通用户 三.自动启动PDB 一.前言 最近电脑上安装了oracle 12c数据库,想体验下新特性.安装完后,便像11g一样在dos窗口进行下面的操作: SQL Produc ...

  2. ORACLE 12C PDB 维护基础介绍

    来自:http://www.xifenfei.com/2013/05/oracle-12c-pdb-%E7%AE%A1%E7%90%86%E4%BB%8B%E7%BB%8D1.html CDB和PDB ...

  3. Oracle 12C RAC的optimizer_adaptive_features造成数据插入超时

    问题分析 使用10046事件追踪方式,直接生成上传时的数据库事件日志进行分析,发现主要区别在于以下两条sql语句在每次长时间上传时都有出现,并且执行用户不是上传用户,而是数据库SYS用户. ***** ...

  4. Oracle 12c Dataguard 数据库恢复

    http://allthingsoracle.com/rolling-forward-a-physical-standby-database-using-the-recover-command/ 当主 ...

  5. Windows 下安装 Oracle 12c 教程

    原文 Windows 下安装 Oracle 12c 教程 申明:本文原作者:Jmq   本文给大家带来的是 Oracle 12C 的安装教程. 1.准备 1.1 下载 Oracle 12c 安装程序 ...

  6. 转 Oracle 12c 使用scott等普通用户的方法

    一.前言 最近电脑上安装了oracle 12c数据库,想体验下新特性.安装完后,便像11g一样在dos窗口进行下面的操作: SQL*Plus: Release 12.1.0.2.0 Productio ...

  7. Oracle 12C 新特性之 恢复表

    RMAN的表级和表分区级恢复应用场景:1.You need to recover a very small number of tables to a particular point in time ...

  8. Oracle 12c(12.1.0.5)OEM server agent 安装配置

    注意: 此文档为生产上操作文档,省略了IP,oracle用户server,agent 端至少需要sudo,ping,ssh,创建目录权限. 一.安装要求 1.1. 系统情况一览 IP 数据库 OEM ...

  9. windows Sever 2012下Oracle 12c安装配置方法图文教程

    windows Sever 2012下Oracle 12c安装配置方法图文教程 Oracle 12c安装配置方法图文教程,具体内容如下 1.我们开启虚拟机 2.Windows Sever 2012启动 ...

随机推荐

  1. 24. TABLES

    24. TABLES TABLES表提供有关数据库中表的信息. TABLES表有以下列: TABLE_CATALOG :表所属目录的名称.该值始终为def. TABLE_SCHEMA :表所属sche ...

  2. MariaDB数据库(二)

    1. MariaDB数据类型 MariaDB数据类型可以分为数字,日期和时间以及字符串值. 使用数据类型的原则:够用就行,尽量使用范围小的,而不用大的. 1.1  常用的数据类型 整数:int,bit ...

  3. js多维数组扁平化

    数组扁平化,就是将多维数组碾平为一维数组,方便使用. 一:例如,一个二维数组 var arr = ['a', ['b', 2], ['c', 3, 'x']],将其扁平化: 1.  通过 apply ...

  4. Linux 基本操作指南

    Linux基本操作 1. su  切换用户   2.exit 退出当前登录用户 3.useradd 用户名  -m  在home目录下 创建一个和用户名同名的目录,并添加一个用户 (有root权限才能 ...

  5. Nginx安装及基本配置

    本文内容: 90%来自以下网址:http://www.nginx.cn/install ,修改了一些版本信息 10%来自以下网址:http://nginx.org/en/docs/beginners_ ...

  6. Uva 11212 编辑书稿(迭代加深搜索)

    题意: 给定N个数的序列, 希望将它排列成1~N, 可以用剪切.粘贴来完成任务, 每次可以剪切一段连续的自然段, 粘贴时按照顺序粘贴. #include <bits/stdc++.h> # ...

  7. 关于hibernate中的 lazy="false“

    如上图所示,warehousePicked 中包含了warehousePicking 同时,数据库中warehousePicking存在数据 ,但是在debug 时warehousePicked的be ...

  8. win7 如何将python加入环境变量

    我的电脑->右键属性->高级->系统变量 path里加上安装路径,比如 ";C:\Python26;" 请加分号附在其他path后面而不是直接覆盖.

  9. BeautifulSoup4系列二

    前言 本篇详细介绍beautifulsoup4的功能,从最基础的开始讲起,让小伙伴们都能入门 一.读取HTML页面 1.先写一个简单的html页面,把以下内容copy出来,保存为html格式文件 &l ...

  10. hexo干货系列:(一)hexo+gitHub搭建个人独立博客

    前言 一直想要一个自己的独立博客,但是觉得申请域名+服务器的太麻烦了就一直没有实现.偶然机会发现Hexo这个优秀的静态博客框架,再搭配现在流行的gitHub,简直是完美写博客的黄金搭档(免费+方便). ...