0

朋友们!

我有一个带有 Data Guard 配置的 Oracle Database 18c:

DGMGRL> show configuration;

Configuration - CDB_DG

  Protection Mode: MaxPerformance
  Members:
  cdb1p - Primary database
  cdb2p - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS   (status updated 55 seconds ago)

SQL> select banner from v$version;

BANNER
---------------------------------------------------------------------------
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production

SQL> SELECT PROPERTY_NAME, PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE  PROPERTY_NAME = 'LOCAL_UNDO_ENABLED';

PROPERTY_NAME             PROPERTY_V
------------------------- ----------
LOCAL_UNDO_ENABLED        TRUE

这是一个带有一个 PDB 的 CDB。我的操作系统是 RedHat 7。

当我尝试从我的 PDB 创建快照数据库时,出现以下错误:

SQL> alter pluggable database snapshot PDBSNAP;
alter pluggable database snapshot PDBSNAP
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-65169: error encountered while attempting to copy file +ASM_CDB_DATA/CDB1P/7533D1D42D885BD1E053465A130A97EE/DATAFILE/undotbs1.271.986139369
ORA-17517: Database cloning using storage snapshot failed on file 8:+ASM_CDB_DATA/CDB1P/7533D1D42D885BD1E053465A130A97EE/DATAFILE/undotbs1.271.986139369

我阅读了有关参数 CLONEDB (= TRUE) 以及asmadmin:x:1308:grid,oracle /etc/group 文件中的权限的信息。

不幸的是,它对我没有帮助..朋友,也许有人已经解决了这个问题?

也许,这都是关于快照克隆限制的,但我不确定:

Supported platforms
– Sun ZFS Storage Appliance (ZFSSA)
– Oracle ASM Cluster File System (ACFS)
– NetApp ™
4

2 回答 2

1

第 1 行的错误:ORA-00604:递归 SQL 级别 1 发生错误 ORA-65169:尝试复制文件时遇到错误 +DATA/ORCL_IAD1T9/87BD77B686294076E0530200000A3FB4/DATAFILE/undotbs1.282.1006941 741 ORA-17517:使用存储快照进行数据库克隆失败在文件 8 上:+DATA/ORCL_IAD1T9/87BD77B686294076E0530200000A3FB4/DATAFILE/undotbs1.282.10069 41741


对于上述问题,我得到了解决方案。

只有当 pdb 在 ACFS 或 DNFS 和其他存储上时,才能创建对我有帮助的解决方案是 pdb 快照克隆。但我不应该在 ASM 存储上。只有当 ACFS 位于 ASM 存储之上时,它才会起作用。

创建 ACFS 后,将 db_create_file_dest 更改为新的 ACFS 挂载点,然后使用 file alter pluggable database snapshot 命令获取快照。

欲了解更多信息,请关注以下公共网址

https://docs.oracle.com/en/database/oracle/oracle-database/18/multi/cloning-a-pdb.html#GUID-E4EAE488-5371-4B8A-A839-2ADFA7507705

https://www.cyberciti.biz/faq/creating-soft-link-or-symbolic-link/

谢谢。

于 2019-05-04T08:33:27.943 回答
0

user11051512 给出的答案也对我有用。我将尝试澄清,因为它有点难以理解,因为它是书面的:

快照仅适用于某些文件系统,例如 ACFS,不能直接在 ASM 中使用。因此,要在基于 ASM 的设置中使用快照功能,您需要创建数据库文件所在的 ACFS 文件系统。ACFS 文件系统使用 ASM 作为它的后备存储。

  1. 在 asm 中创建一个卷(使用 asmcmd):volcreate -G data -s 50G volume1
  2. 创建一个挂载点:mkdir /acfs
  3. 在 asm 设备上创建一个 acfs 文件系统:mkfs.acfs /dev/asm/volume-whatver
  4. 安装设备:mount.acfs /dev/asm/volume-whatver /acfs
  5. 制作导演并将其提供给您的 oracle/数据库用户:mkdir /acfs/data && chown..
  6. 在您的 CDB 中(您需要使用“-useOMF false”创建它:alter system set db_create_file_dest='/acfs/data';
  7. 创建一个可插拔的数据库:create pluggable database master admin user master identified by master;
  8. 查看数据文件:select name from v$datafile;
  9. 将新的 pdb 更改为读写,以便它被注册。然后再次关闭它,并以只读方式打开。
  10. 现在终于可以进行快照复制了:
SQL> create pluggable database test1 from master snapshot copy;

Pluggable database created.

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 MASTER                         READ ONLY  NO
         4 TEST1                          MOUNTED
SQL>
于 2019-07-03T09:09:53.307 回答