如何快速把一个11g数据库插入到12c cdb中去?
使用DBMS_PDB把一个11g数据库插入到12c cdb中去
环境:
windows 7
源库:orcl oracle 11.2.0.4
目标库:cdbdb 12.2.0.1 ,pdb:sztech
1.源库先升级到12c
这个步骤略,可以通过dbua完成
2.原库以只读方式打开
SQL> conn / as sysdba
已连接。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup open read only;
SQL> show parameter db_name
NAME TYPE VALUE
------------------------------------ ---------------------- -------------------------
db_name string orcl
SQL> select open_mode from v$database;
OPEN_MODE
----------------------------------------
READ ONLY
SQL>
3.源库生成xml信息
SQL> EXEC DBMS_PDB.DESCRIBE('d:\orcl.xml');
PL/SQL 过程已成功完成。
4.把源库的数据文件及xml文件拷贝到目标库所在机器
5.修改xml文件中数据文件的位置,与实际位置相匹配
比如新的文件位置为:
D:\oracle\oradata\cdbdb\sztech
6.使用有 CREATE PLUGGABLE DATABASE 权限的用户登陆目标库
sqlplus /nolog
sql>conn / as sysdba
SQL> conn / as sysdba
已连接。
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
SQL>
7.插入目标库
在目标库,把源库orcl以 sztech为pdb名字插入目标容器库中
--由于文件已经拷贝到目标,在命令行上带上 nocopy,否则,可以使用 FILE_NAME_CONVERT ('xml文件中数据文件位置','新的位置')
CREATE PLUGGABLE DATABASE sztech USING 'd:\orcl.xml' nocopy tempfile reuse;
SQL> CREATE PLUGGABLE DATABASE sztech USING 'd:\orcl.xml' nocopy tempfile reuse;
插接式数据库已创建。
SQL>
查看一下pdb情况
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
4 SZTECH MOUNTED
SQL>
8.运行noncdb_to_pdb.sql脚本
切换到sztech pdb
SQL> alter session set container=sztech;
会话已更改。
SQL> show con_name
CON_NAME
------------------------------
SZTECH
SQL>
--执行脚本noncdb_to_pdb.sql脚本
@%ORACLE_HOME%/rdbms/admin/noncdb_to_pdb.sql
9.最后打开pdb
alter pluggable database sztech open;
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
4 SZTECH MOUNTED
SQL> alter pluggable database open;
插接式数据库已变更。
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
4 SZTECH READ WRITE NO
SQL>
转载于:https://my.oschina.net/u/3635497/blog/3101867
如何快速把一个11g数据库插入到12c cdb中去?相关推荐
- 已解决Python向数据库插入数据的字符串中含有单引号或双引号报错
已解决Python向数据库插入数据的字符串中含有单引号或双引号报错:(102, b"Incorrect syntax near 'S'.DB-Lib error message 20018, ...
- 快速批量一个半小时插入1亿条数据到mysql
先造数据写入txt,然后使用mysql的load data infile来直接将txt中的数据导入表中 #!/bin/bash for a in {1..12} do date echo ${a}be ...
- C语言--编程将递增数列10、20、30、40、50、60、70、80、90、100保存到数组中,再从键盘输入一个整数,插入到该数列中,使之成为一个递增数列。
源代码: #include <stdio.h> #define N 50int main(){int a[N]={10,20,30,40,50,60,70,80,90,100};int n ...
- 安装Oracle 11g数据库服务器类
<Oracle达人修炼秘籍:Oracle 11g数据库管理与开发指南>第3章Oracle 11g数据库的安装,本章将介绍如何在32位系统结构的Windows 7操作系统平台上对Oracle ...
- 如何快速开发一个 Dubbo 应用
转载自 如何快速开发一个 Dubbo 应用 导读:在分布式系统中,远程调用是最基础也是最重要的基石.历史上,曾经先后出现过 CORBA.RMI.EJB.WebService 等技术和规范,在服务化 ...
- python操作hbase如何快速录入多条数据_python 数据库插入多行
教你如何用python操作数据库mysql ! ! 前言首先,安装需要的环境,Mysql和Python就不说了,必备的东西. 主要是安装的MySQLdb,可以去sf.net下载,具体地址是http:/ ...
- IDEA自定义模板:快速指定一个数据库映射字段(驼峰生成下划线命名)
用途 在数据库映射类中快速生成代码. 字段对应的注解,可以根据驼峰命名快速生成相应的数据库命名 步骤 1. 自定义代码模板 File -> Settings -> Editor -> ...
- MySQL 用 truncate 命令快速清空一个数据库中的所有表
MySQL 用 truncate 命令快速清空一个数据库中的所有表. 1. 先执行select语句生成所有truncate语句 语句格式: select CONCAT('truncate TABLE ...
- C#数据库插入多条数据,抛出异常:另一个 SqlParameterCollection 中已包含 SqlParameter
解决办法很简单:添加语句:cmd.Parameters.Clear(); 原理:在SqlCommand使用完后清理SqlParameter. 代码示例: //定义连接数据库的配置字符串,需要填入你的连 ...
最新文章
- 技术图文:Matlab VS. Numpy 常见矩阵
- error2---BeginPath和EndPath之间的TextOut无法显示
- 如何理解Bounce Rate和Exit Rate
- linux和Windows之间互传文件
- java多条件不定条件查询
- Linux命令参数详细解析 mv
- cad道路里程桩号标注_甲级设计院CAD制图技巧与画法讲解! 超实用,值得你收藏~...
- Echarts3里的地图标记点事件效果实现
- php宝宝起名,宝宝在线起名取名大全
- 上百所大学计算机考研有变化!22计算机考研太难了!
- 固定资产管理流程步骤
- java项目第3期SpringBoot的OA办公系统【毕业设计】
- 关于杭州电子科技大学毕业论文格式设置
- win7系统如何加速计算机启动,怎么使win7系统开机加速
- linux下ps ef命令详解,linux中ps -ef命令
- Windows 7提示数据错误 循环冗余检查怎么办?
- Redis集群的设计与使用
- MySQL性能问题以及查找和处理
- 聊天室-界面-curses
- maven打包报错scalac error: xxxx\target\classes does not exist or is not a director