博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
版本12.2.0.1.0数据库,复制种子数据库快速创建租户数据库PDB
阅读量:6606 次
发布时间:2019-06-24

本文共 6095 字,大约阅读时间需要 20 分钟。

实验测试:快速创建一个数据库PDB2;
实验环境:12.2.0.1.0版本数据库,dbca图形化安装,现有环境,CDB容器数据库ORCL,PDB可插拔数据库ABC
 
---查询CDB名称,状态

SQL>  select name, decode(cdb, 'YES', 'Multitenant Option enabled', 'Regular 12c Database: ') "Multitenant Option" , open_mode, con_id from v$database;

NAME      Multitenant Option         OPEN_MODE                CON_ID

ORCL      Multitenant Option enabled READ WRITE                0

SQL> show pdbs       --查询PDB名称       ---只有CDB用户,可以查询当前容器下所有其他PDB名称状态,否则只能看自己的

2 PDB$SEED                 READ ONLY  NO         

3 ABC                            READ WRITE NO         

SQL> conn / as sysdba       --默认此方式连接CDB
Connected.
 
SQL> select con_id,file_name from cdb_data_files;    --CDB容器数据库,拥有所有权限,可以管理PDB租户数据库,应该还有种子数据库的数据文件,但是不可见
    CON_ID FILE_NAME
---------- ------------------------------------------------------------------
     1 /picclife/app/oracle/oradata/ORCL/datafile/o1_mf_users_dzjygrqc_.dbf
     1 /picclife/app/oracle/oradata/ORCL/datafile/o1_mf_undotbs1_dzjygqms _.dbf
     1 /picclife/app/oracle/oradata/ORCL/datafile/o1_mf_system_dzjyclbn_.dbf
     1 /picclife/app/oracle/oradata/ORCL/datafile/o1_mf_sysaux_dzjyfy45_.dbf
 
     3 /picclife/app/oracle/oradata/ORCL/5CD8D682CC1E22D3E053280AA8C02164/datafile/o1_mf_system_dzjz2bxc_.dbf
     3 /picclife/app/oracle/oradata/ORCL/5CD8D682CC1E22D3E053280AA8C02164/datafile/o1_mf_sysaux_dzjz2by5_.dbf
     3 /picclife/app/oracle/oradata/ORCL/5CD8D682CC1E22D3E053280AA8C02164 /datafile/o1_mf_undotbs1_dzjz2by7_.dbf
     3 /picclife/app/oracle/oradata/ORCL/5CD8D682CC1E22D3E053280AA8C02164 /datafile/o1_mf_users_dzjz3x46_.dbf
 
[oracle@weixin oradata]$ mkdir -p /picclife/app/oracle/oradata/abc       --我们要快速建立一个数据库,打算将数据文件防止的目录,创建
 
---CDB,容器数据库SYS,执行:创建 可插拔 数据库 PDB2 管理员 pdd 密码 pdd  --格式      --数据文件存放目录 ‘xx’;
SQL> create pluggable database pdb2 admin user pdd identified by pdd roles=(connect) create_file_dest='/picclife/app/oracle/oradata/abc/';
 --查询:当前整个容器,所有的PDB,可插拔数据库
SQL> show pdbs;
    CON_ID CON_NAME              OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
     2 PDB$SEED              READ ONLY  NO
     3 ABC                  READ WRITE NO
     5 PDB2               MOUNTED               ---复制后的数据库时Mount状态
 
SQL> alter pluggable database pdb2 open;        --类似单实例的alter database open;
 
SQL> select con_id ,file_name from cdb_data_files ; ---查询数据文件名称位置 复制过来的很乱
 
--------------------------------------------------------------------------------
    5
/picclife/app/oracle/oradata/abc/ORCL/5CD97D00A8674014E053280AA8C0A8CA/datafile/o1_mf_system_dzk1tr0t_.dbf
     5
/picclife/app/oracle/oradata/abc/ORCL/5CD97D00A8674014E053280AA8C0A8CA/datafile/o1_mf_sysaux_dzk1tr0w_.dbf
     5
/picclife/app/oracle/oradata/abc/ORCL/5CD97D00A8674014E053280AA8C0A8CA/datafile/o1_mf_undotbs1_dzk1tr0x_.dbf
 
需要配置tnsnames.ora文件;  名称: ---12c连接需要配置tnsnames.ora文件,手工创建或者netca图形化创建
 PDB2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.40)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = PDB2)
    )
  )
 
修改表空间文件名称: 关闭pdb可插拔数据库;
alter pluggable database pdb2 close;
SQL> show pdbs
    CON_ID CON_NAME              OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
     2 PDB$SEED              READ ONLY  NO
     3 ABC                  READ WRITE NO
     5 PDB2               MOUNTED
[oracle@weixin admin]$ sqlplus sys/oracle@pdb2 as sysdba   --连接到新建的复制数据库PDB2
 
 
SQL> show pdbs    --查看状态
    CON_ID CON_NAME              OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
     5 PDB2               MOUNTED
 
SQL> select name from v$datafile; --查询数据文件
NAME
--------------------------------------------------------------------------------
/picclife/app/oracle/oradata/abc/ORCL/5CD97D00A8674014E053280AA8C0A8CA/datafile/o1_mf_system_dzk1tr0t_.dbf
/picclife/app/oracle/oradata/abc/ORCL/5CD97D00A8674014E053280AA8C0A8CA/datafile/o1_mf_sysaux_dzk1tr0w_.dbf
/picclife/app/oracle/oradata/abc/ORCL/5CD97D00A8674014E053280AA8C0A8CA/datafile/o1_mf_undotbs1_dzk1tr0x_.dbf
 
 
--数据文件查询位置,名称。,CP过去,然后修改  :如下距离操作,重复执行,CP
 
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/picclife/app/oracle/oradata/mlxg/hukou/MLXG/5CEBF68574573767E053320AA8C05777/datafile/o1_mf_system_dzmh97yp_.dbf
/picclife/app/oracle/oradata/mlxg/hukou/sysaux.dbf
/picclife/app/oracle/oradata/mlxg/hukou/undo.dbf
SQL> host cp /picclife/app/oracle/oradata/mlxg/hukou/MLXG/5CEBF68574573767E053320AA8C05777/datafile/o1_mf_system_dzmh97yp_.dbf /picclife/app/oracle/oradata/mlxg/hukou/system.dbf
SQL> alter database hukou rename file '/picclife/app/oracle/oradata/mlxg/hukou/MLXG/5CEBF68574573767E053320AA8C05777/datafile/o1_mf_system_dzmh97yp_.dbf' to '/picclife/app/oracle/oradata/mlxg/hukou/system.dbf';
Database altered.
--同理。临时数据文件修改
SQL>  select NAME from v$tempfile;
NAME
--------------------------------------------------------------------------------
/picclife/app/oracle/oradata/mlxg/hukou/MLXG/5CEBF68574573767E053320AA8C05777/da
tafile/o1_mf_temp_dzmh97z3_.dbf
SQL> host cp /picclife/app/oracle/oradata/mlxg/hukou/MLXG/5CEBF68574573767E053320AA8C05777/datafile/o1_mf_temp_dzmh97z3_.dbf /picclife/app/oracle/oradata/mlxg/hukou/temp.dbf
SQL> alter database hukou rename file '/picclife/app/oracle/oradata/mlxg/hukou/MLXG/5CEBF68574573767E053320AA8C05777/datafile/o1_mf_temp_dzmh97z3_.dbf' to '/picclife/app/oracle/oradata/mlxg/hukou/temp.dbf';
 
 日志文件,可插拔数据库等使用同一个日志文件
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/picclife/app/oracle/oradata/mlxg/redo03.log
/picclife/app/oracle/oradata/mlxg/redo02.log
/picclife/app/oracle/oradata/mlxg/redo01.log
 
SQL> alter pluggable database hukou open;       --启动可插拔数据库open;  此处,我使用的是另一个可插拔数据库hukou 接替pdb2测试,环境一样的,名字改了;
Pluggable database altered.
SQL> show pdbs
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         4 HUKOU                          READ WRITE NO
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/picclife/app/oracle/oradata/mlxg/hukou/system.dbf
/picclife/app/oracle/oradata/mlxg/hukou/sysaux.dbf
/picclife/app/oracle/oradata/mlxg/hukou/undo.dbf
 
--12c控制文件与日志文件,都是使用大家公有的,至于undo,图形化DBCA建立数据库时,√选择,给予pdb可插拔数据库建立一个独立的undo,

SQL> select name from v$controlfile;

picclife/app/oracle/oradata/mlxg/control01.ctl

/picclife/app/oracle/fast_recovery_area/mlxg/control02.ctl

转载于:https://www.cnblogs.com/lvcha001/p/7770981.html

你可能感兴趣的文章
nginx安装与配置2(转载)
查看>>
Linux下Mongodb安装和启动配置
查看>>
沈阳一饭店凌晨爆燃,燃气报警器时刻预防
查看>>
Redis 与 数据库处理数据的两种模式
查看>>
VUE2中axios的使用方法
查看>>
CS 229 notes Supervised Learning
查看>>
2018.10.27-dtoj-3996-Lesson5!(johnny)
查看>>
DataTable转换成json字符串
查看>>
ubuntu 12.04 安装 redis
查看>>
【DM642】ICELL Interface—Cells as Algorithm Containers
查看>>
力扣算法题—085最大矩阵
查看>>
svs 在创建的时候 上传文件夹 bin obj 这些不要提交
查看>>
Tinkphp
查看>>
How to temporally disable IDE tools (load manually)
查看>>
Vue.js学习 Item4 -- 数据双向绑定
查看>>
几种排序方式的java实现(01:插入排序,冒泡排序,选择排序,快速排序)
查看>>
图片存储类型的种类、特点、区别
查看>>
GETTING UP AND RUNNING WITH NODE.JS, EXPRESS, JADE, AND MONGODB
查看>>
MySQLs数据库建外键时自动跑到缩影处,真奇怪
查看>>
static关键字
查看>>