千家信息网

oracle 新增pdb环境,并通过database link实现跨服务器在线克隆

发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,前提: 安装好数据库软件,并创建好CDB模式的数据库。本文介绍内容: 一、 如何创建pdb,并创建表空间,用户二、 并通过database link 在线跨服务器克隆此pdb。一. 如何创建pdb,并
千家信息网最后更新 2024年11月24日oracle 新增pdb环境,并通过database link实现跨服务器在线克隆

前提: 安装好数据库软件,并创建好CDB模式的数据库。

本文介绍内容: 一、 如何创建pdb,并创建表空间,用户
二、 并通过database link 在线跨服务器克隆此pdb。

一. 如何创建pdb,并创建表空间,用户

1. 登录数据库(CDB)

sqlplus / as sysdba

2. 查询到数据文件路径

select name from v$datafile;

3. 创建 pdb

CREATE PLUGGABLE DATABASE YXC ADMIN USER YXC_ADMIN IDENTIFIED BY YXC_ADMIN123STORAGE (MAXSIZE 32G)DEFAULT TABLESPACE YXC_DATADATAFILE '/u01/app/oracle/oradata/yun/YXC/YXC_DATA01.dbf' SIZE 1024M AUTOEXTEND ONPATH_PREFIX = '/u01/app/oracle/oradata/yun/YXC/'FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/yun/pdbseed', '/u01/app/oracle/oradata/yun/YXC');

4. 创建表空间

create tablespace YXC_IDX datafile '/u01/app/oracle/oradata/yun/YXC/YXC_IDX01.dbf' size 1024mautoextend on next 200m maxsize unlimited;
补充:

(1)更改表空间文件名称:

alter tablespace YXC_DATA rename datafile '/u01/app/oracle/oradata/yun/YXC/YXC_DATA01.dbf'  to '/u01/app/oracle/oradata/yun/YXC/YXC_DATA02.dbf';

需要事先在操作系统层面创建目标文件。

(2)删除表空间

alter database default tablespace YXC_DATA;

如果是默认表空间,需要提前将默认表空间改成其它表空间 :

alter database default tablespace USERS;

5. 创建用户

create user yxc identified by yxc123 default tablespace YXC_DATA;

6. 赋权

grant connect ,resource to yxc;grant imp_full_database,unlimited tablespace to yxc;

1. 源环境端

(1) . 创建克隆用户
SQL> create user c##clone identified by clone123 container=all;SQL> grant dba to c##clone container=all;

2 目标端

create database link dblink_clone connect to c##clone identified by andy using '(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =源端IP)(PORT = 1521))(CONNECT_DATA=(SERVER = DEDICATED)(SERVICE_NAME =源端CDB服务名)))';
(2) 修改文件映射
SQL> alter session set pdb_file_name_convert='yxc','yxc_clone';
(3) 克隆
SQL> create pluggable database yxc_clone from yxc@dblink_clone;
(4) 打开数据库
SQL> alter pluggable database yxc_clone open;
0