Clone a Pluggable Database – 12c Edition
1.
1.Tnsnames when connecting to either Container or Pluggable instance
The tnsnames.ora should be configured , for eg to add a tns entry for pluggable database PDB_OMF_1
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = MFarag-OEL)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = pdb_omf_1)
)
)
Alternatively the easy connect syntax could be used as follow :
Connected.
A@mfarag-oel/PDB_OMF_1>conn xx/xx@mfarag-oel/XX
Connected.
XX@mfarag-oel/XX>
Add the following entry to the glogin.sql script under $ORACLE_HOME/sqlplus/admin
2.Always use OMF pluggable Database when the Container is Pluggable :
pdb_adm IDENTIFIED BY Password1
FILE_NAME_CONVERT=('/u01/app/oracle/oradata/cdb1/pdbseed/','/u01/app/oracle/oradata/cdb1/pdb2/');
clause is required if you are not using OMF. If you omit this clause,
then the database first attempts to use Oracle Managed Files to generate
file names. If you are not using Oracle Managed Files, then the
database uses the PDB_FILE_NAME_CONVERT initialization parameter to
generate file names. If this parameter is not set, then an error occurs.
from V_$CONTAINERS ;
CON_ID DBID GUID
---------- ---------- --------------------------------
NAME OPEN_MODE
------------------------------ ----------
1 1949193435 DD7C48AA5A4504A2E04325AAE80A403C
CDB$ROOT READ WRITE
2 4075234582 EC25D0EC10347332E043CC8DAB0A7AE1
PDB$SEED READ ONLY
3 3255612964 EC25E0FB670B76A8E043CC8DAB0A08D8
PDB READ WRITE
CON_ID DBID GUID
---------- ---------- --------------------------------
NAME OPEN_MODE
------------------------------ ----------
4 3244820336 EC276A999A790163E043CC8DAB0AD357
PDBOMF MOUNTED
.
.
SYS@CDB>alter session set container=pdbomf ;
Session altered.
SYS@CDB>alter pluggable database open ;
Pluggable database altered.
3.Open the Pluggable Database in Restricted mode before Renaming it
Enter password:
Connected.
SYS@pdb_omf_1>alter pluggable database close ;
SYS@pdb_omf_1>alter pluggable database open restricted;
SYS@pdb_omf_1>alter pluggable database pdbomf rename global_name to pdb_omf_1 ;
4.unplug and Plug a Database :
SYS@CDB1>alter pluggable database y unplug into '/home/oracle/XDESC.xml' ;
SYS@CDB1>drop pluggable database y ;
SYS@CDB1>create pluggable database y using '/home/oracle/XDESC.xml' nocopy ;
5. startup the Pluggable database in single step :
from V$containers;
CON_ID GUID NAME
---------- -------------------------------- ------------------------------
OPEN_MODE
----------
1 DD7C48AA5A4504A2E04325AAE80A403C CDB$ROOT
READ WRITE
2 EC25D0EC10347332E043CC8DAB0A7AE1 PDB$SEED
READ ONLY
3 EC2B4C003E221F09E0438636AF0AA57B X
MOUNTED
CON_ID GUID NAME
---------- -------------------------------- ------------------------------
OPEN_MODE
----------
4 EC276A999A790163E043CC8DAB0AD357 PDB_OMF_1
MOUNTED
SYS@CDB>alter pluggable database all open ;
SYS@CDB>select CON_ID,GUID,NAME,OPEN_MODE
from V$containers
CON_ID GUID NAME
---------- -------------------------------- ------------------------------
OPEN_MODE
----------
1 DD7C48AA5A4504A2E04325AAE80A403C CDB$ROOT
READ WRITE
2 EC25D0EC10347332E043CC8DAB0A7AE1 PDB$SEED
READ ONLY
3 EC2B4C003E221F09E0438636AF0AA57B X
READ WRITE
CON_ID GUID NAME
---------- -------------------------------- ------------------------------
OPEN_MODE
----------
4 EC276A999A790163E043CC8DAB0AD357 PDB_OMF_1
READ WRITE
Note : the startup of the Container CDB will place all the pdb in mount status by Defualt
6.Use catcon perl script to run scripts for selective or all pluggable and container database :
E.g Run the awrinfo script to have information about the awr usage under sysaux for all the databases :
$ perl catcon.pl -u SYS -U SYS -d $ORACLE_HOME/rdbms/admin -l '/home/oracle' -b catblock_output awrinfo.sql
--Confirm that the script run against all the databases :
$cd /home/oracle
$ grep -i "CURRENT CONTAINER" *
catblock_output0.log:==== Current Container = CDB$ROOT ====
catblock_output0.log:==== Current Container = PDB$SEED ====
catblock_output1.log:==== Current Container = XX ====
catblock_output2.log:==== Current Container = PDB_OMF_1 ====
Note : use the -c option tpo specify certain databases to have this script run against
7.How to use non-seed template to create CDB + Pluggable database :
dbca -silent -createDatabase -templateName Custom_DB_.dbt -gdbName FOFO
-sid FOFO -createAsContainerDatabase true -numberOfPDBs 1 -pdbName
pdb_silent -sysPassword <password> -systemPassword
<password> -listeners listener
Enter PDBADMIN
Note
: the above command used the non-seed Custome_DB_ template to create
CDB names FOFO with a PDB database named pdb_silent in silent mode .
8. Modify the Value "_datafile_write_errors_crash_instance" to be FALSE
**This
has to be set at CDB level. This is to allow the Container CDB to
continue running if one of its Pdb lost one of the datafiles for any
reason
NOTE:This is only Valid for the non system datafiles for the pdb container .
9.How To check if a parameter have been modified within the PDB?
SYS@CDB>column NAME format a20
SYS@CDB>column VALUE$ format a20
SYS@CDB>select p.PDB_NAME,s.name,s.value$
from cdb_pdbs p , pdb_spfile$ s
where p.CON_UID=s.PDB_UID
PDB_NAME NAME VALUE$
-------------------- -------------------- --------------------
XX cursor_sharing 'SIMILAR'
YY_NEW cursor_sharing 'SIMILAR'
**Note This could never be checked for non default pdb init parameters valunes using alertlog .
2. Clone a Pluggable Database – 12c Edition
With the introduction of Pluggable Databases in Oracle Database 12c, there is going to be questions on how to clone a pluggable database (PDB) either from the seed PDB or an existing PDB. In the testing that I have done both in the beta program and with the general release creating a clone is fairly simple depending on the settings of your database. The simplest way is using Oracle Managed Fils (OMF).
Using OMF, all we need to do is specify the PDB name that we want to create.
CREATE PLUGGABLE DATABASE pdb2 FROM pdb1;
If we are not using the OMF, the SQL syntax is bit drawn out; yet still simple enough to use for creating a PDB.
CREATE PLUGGABLE DATABASE pdb2 FROM pdb1
PATH_PREFIX = '/oracle/app/oradata'
FILE_NAME_CONVERT = ('/oracle/app/oradata/ora12c/pdb1', '/oracle/app/oradata/ora12c/pdb2');
You will notice the difference in the syntax is that we needed to add PATH_PREFIX and FILE_NAME_CONVERT to the CREATE PLUGGABLE DATABASE sql. The PATH_PREFIX option is used to ensure that all relative directory object paths and relative paths contain certain initialization parameters associated with the PDB are treated as relative to the specified directory or subdirectories. The FILE_NAME_CONVERT option is used to specify the target location of the files based on the file locations of the source.
There are multiple ways of performing the SQL commands above. Oracle has done a very good job at enabling their tools to perform the tasks of cloning a PDB. Cloning can be done from the SQL*Plus prompt (above commands), Oracle Enterprise Manager 12c Cloud Control and SQLDeveloper. I encourage you to give it a go; I’m positive you will like provisioning a database in under two (2) minutes*!
Enjoy!
https://dbasolved.com/2013/07/01/clone-a-pluggable-database-12c-edition/
__
more inof ref http://www.cnblogs.com/feiyun8616/p/6223045.html
D:\dba\change\env>sqlplus sys/oracle123@testuat12c as sysdba
CREATE PLUGGABLE DATABASE PtestDEV FROM PtestUAT;
SQL> select con_id,name, OPEN_MODE from v$pdbs;
CON_ID NAME
---------- ----------------------------------------------------------
OPEN_MODE
--------------------
2 PDB$SEED
READ ONLY
3 PtestUAT
READ WRITE
4 PtestDEV
MOUNTED
alter pluggable database PtestDEV close;
alter pluggable database PtestDEV open read write;
tips
CONTAINERS
1.view 当前登陆的container. login in no system user. give
http://www.linuxidc.com/Linux/2015-01/111928.htm
SQL> select con_id,name from v$CONTAINERS;
CON_ID NAME
---------- ------------------------------------------------------------
3 PIVRSUAT
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL>
Clone a Pluggable Database – 12c Edition的更多相关文章
- Multitenant best Practice clone pdb seed and Clone a Pluggable Database – 12c Edition
1. 1.Tnsnames when connecting to either Container or Pluggable instance The tnsnames.ora should be c ...
- RMAN RECOVER TABLE 功能是 Oracle Database 12c 的新增功能 (Doc ID 1521524.1)
RMAN RECOVER TABLE Feature New to Oracle Database 12c (Doc ID 1521524.1) APPLIES TO: Oracle Database ...
- Windows下安装Oracle Database 12c Release 1(12.1.0.2.0) - Enterprise Edition
Windows下安装Oracle Database 12c Release 1(12.1.0.2.0) 最近因需要在Oracle 数据库上建立ODI的资料档案库,需要安装Oracle Database ...
- Oracle Database 12c 新特性 - Pluggable Database
在Oracle Database 12c中,可组装式数据库 - Pluggable Database为云计算而生.在12c以前,Oracle数据库是通过Schema来进行用户模式隔离的,现在,可组装式 ...
- 转: Windows下安装Oracle Database 12c Release 1(12.1.0.2.0) - Enterprise Edition
http://www.cnblogs.com/xqzt/p/4395053.html Windows下安装Oracle Database 12c Release 1(12.1.0.2.0) - Ent ...
- Oracle 12c: RMAN restore/recover pluggable database
查看数据库状态 运行在归档模式,可拔插数据库name=pdborcl SQL> archive log list; Database log mode Archive Mode Automati ...
- Oracle 12C pluggable database自启动
实验环境创建了两个PDB,本实验实现在开启数据库时,实现pluggable database PDB2自启动: 原始环境: SQL> shu immediateDatabase closed.D ...
- Quick and Easy Installation of Oracle Database 12c on Oracle Linux in Oracle VM VirtualBox
发贴人 Sergio-Oracle 于2018-4-18 23:10:15在Oracle Linux Introduction How Does This Work? Requirements Bef ...
- Oracle Database 12c Using duplicate standby database from active database Created Active DataGuard
primary database db_name=zwc, db_unique_name=zwc standby database db_name=zwc, db_unique_name=standb ...
随机推荐
- Shell编程——Shell中的数学运算
在Linux Shell中进行数学运算,通常能够使用的运算符有: 简单运算: let [] (()) 高级运算: expr bc 1.let命令 let命令是bash内置命令.能够实现简单的算术以及逻 ...
- Random 类生成随机数
Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要 ...
- dede摘要长度,dedecms摘要限制,dedecms摘要字数
dede摘要长度,dedecms摘要限制,dedecms摘要字数 如果可以有效控制文章摘要的字数,那么就可以使得页面布局很灵活. 在Dedecms中,在列表页调用文章摘要的方法主要有: 1:[fiel ...
- poj 1860 Currency Exchange 解题报告
题目链接:http://poj.org/problem?id=1860 题目意思:给出 N 种 currency, M种兑换方式,Nick 拥有的的currency 编号S 以及他的具体的curren ...
- android.annotation.SuppressLint
Lint是一个静态检查器,它围绕Android项目的正确性.安全性.性能.可用性以及可访问性进行分析.它检查的对象包括XML资源.位图.ProGuard配置文件.源文件甚至编译后的字节码. Lint包 ...
- JRE System Library 与Java EE Libraries的区别
JRE System Library是只要做java开发都需要的完整的.标准的库. Java EE5 Libraries只是java三个方向中做java EE所需要的库.如果做Web方面的开发的话就 ...
- codeforces 691D D. Swaps in Permutation(dfs)
题目链接: D. Swaps in Permutation time limit per test 5 seconds memory limit per test 256 megabytes inpu ...
- [Selenium] 搭建 Android WebDriver 环境
1.安装 Android SDK 到如下网址下载 Android SDK http://developer.android.com/sdk/index.html 2.创建 Android 虚拟设备 解 ...
- MyBatis学习 之 五、MyBatis配置文件
在定义sqlSessionFactory时需要指定MyBatis主配置文件: <bean id="sqlSessionFactory" class="org.myb ...
- Git如何删除自己创建的项目
版本管理器第二行最右边,找到倒三角,下面的Edit Project,拖动鼠标到最下面,Remove project ,弹出框Confirmation required里面输入项目名字,如项目名字为“w ...