{"id":16535,"date":"2021-07-16T16:04:02","date_gmt":"2021-07-16T14:04:02","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/"},"modified":"2021-07-16T16:04:02","modified_gmt":"2021-07-16T14:04:02","slug":"creating-an-oracle-snapshot-copy-pdb-on-top-of-asm","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/","title":{"rendered":"Creating an Oracle Snapshot Copy PDB on top of ASM"},"content":{"rendered":"<p>Creating a snapshopt copy Pluggable Database (PDB) on top of Automatic Storage Management (ASM) is not possible, because you need to have a filesystem which supports sparse files. According the following MOS-Note sparse files are supported on Automatic Storage Management Cluster File System (ACFS) since 12.2.:<\/p>\n<p>12.2 Oracle ACFS Sparse Files Enhancements (Doc ID 2200264.1)<\/p>\n<p>However, I thought it is more fun to create a PDB Snapshot Copy on a XFS-filesystem, which I wanted to create as a 3rd party filesystem on top of Oracle ASM Dynamic Volume Manager (ADVM) volumes.<\/p>\n<p>REMARK1: See the steps at the end of this Blog on how to create a PDB Snapshot Copy on top of ACFS.<br \/>\nREMARK2: All tests have been done on the Oracle Cloud with a DB system running as a VM.<\/p>\n<p>Here&#8217;s what I did:<\/p>\n<p>1. Create a XFS-filesystem of size 20G on ASM diskgroup DATA<\/p>\n<p>Create the volume MYXFSVOL on diskgroup DATA as grid:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\ngrid@cbl:\/home\/grid\/ [+ASM1] asmcmd volcreate -G DATA -s 20g MYXFSVOL\ngrid@cbl:\/home\/grid\/ [+ASM1] asmcmd volinfo --all\nDiskgroup Name: DATA\n\n\t Volume Name: MYXFSVOL\n\t Volume Device: \/dev\/asm\/myxfsvol-187\n\t State: ENABLED\n\t Size (MB): 20480\n\t Resize Unit (MB): 64\n\t Redundancy: UNPROT\n\t Stripe Columns: 8\n\t Stripe Width (K): 1024\n\t Usage: \n\t Mountpath: \n<\/pre>\n<p>Create the xfs-filesystem as root:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\n[root@cbl ~]# mkdir \/u01\/app\/oracle\/myxfs\n[root@cbl ~]# mkfs.xfs \/dev\/asm\/myxfsvol-187\nmeta-data=\/dev\/asm\/myxfsvol-187  isize=256    agcount=4, agsize=1310720 blks\n         =                       sectsz=4096  attr=2, projid32bit=1\n         =                       crc=0        finobt=0, sparse=0\ndata     =                       bsize=4096   blocks=5242880, imaxpct=25\n         =                       sunit=0      swidth=0 blks\nnaming   =version 2              bsize=4096   ascii-ci=0 ftype=1\nlog      =internal log           bsize=4096   blocks=2560, version=2\n         =                       sectsz=4096  sunit=1 blks, lazy-count=1\nrealtime =none                   extsz=4096   blocks=0, rtextents=0\n[root@cbl ~]# mount -t xfs \/dev\/asm\/myxfsvol-187 \/u01\/app\/oracle\/myxfs\n[root@cbl ~]# chown oracle:oinstall \/u01\/app\/oracle\/myxfs\n<\/pre>\n<p>2. Prepare the CDB for Snapshot Copy<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\nSQL&gt; connect \/ as sysdba\nConnected.\nSQL&gt; show parameter clonedb\n\nNAME\t\t\t\t     TYPE\t VALUE\n------------------------------------ ----------- ------------------------------\nclonedb \t\t\t     boolean\t FALSE\nclonedb_dir\t\t\t     string\n\nSQL&gt; alter system set clonedb=true scope=spfile;\n\nSystem altered.\n<\/pre>\n<p>and restart the DB:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\noracle@cbl:\/home\/oracle\/ [DB0111 (CDB$ROOT)] srvctl stop database -db DB0111_zrh13m\noracle@cbl:\/home\/oracle\/ [DB0111 (CDB$ROOT)] srvctl start database -db DB0111_zrh13m\n<\/pre>\n<p>3. Create a PDB as a Read-Only master for the Snapshot Copy<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\nSQL&gt; create pluggable database pdb2 admin user pdbadmin identified by \"manager\";\n\nPluggable database created.\n\nSQL&gt; alter pluggable database pdb2 open;\n\nPluggable database altered.\n\nSQL&gt; alter session set container=pdb2;\n\nSession altered.\n\nSQL&gt; create user cbleile identified by \"in_reality_I_used_something_different\";\n\nUser created.\n\nSQL&gt; grant connect, resource, dba to cbleile;\n\nGrant succeeded.\n\nSQL&gt; create table cbleile.t1 (n number, m varchar2(100));\n\nTable created.\n\nSQL&gt; insert into cbleile.t1 values (1,'Before Snapshot Copy created');\n\n1 row created.\n\nSQL&gt; commit;\n\nCommit complete.\n\nSQL&gt; connect \/ as sysdba\nConnected.\nSQL&gt; alter pluggable database pdb2 close immediate;\n\nPluggable database altered.\n\nSQL&gt; alter pluggable database pdb2 open read only;\n\nPluggable database altered.\n<\/pre>\n<p>Here the file names of my read-only opened PDB:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\nSQL&gt; select file_name from cdb_data_files where con_id=5;\n\nFILE_NAME\n-------------------------------------------------------------------------------------------\n+DATA\/DB0111_ZRH13M\/C72C15BBCD038123E0530300000A0FAF\/DATAFILE\/system.288.1077982211\n+DATA\/DB0111_ZRH13M\/C72C15BBCD038123E0530300000A0FAF\/DATAFILE\/sysaux.289.1077982211\n+DATA\/DB0111_ZRH13M\/C72C15BBCD038123E0530300000A0FAF\/DATAFILE\/undotbs1.287.1077982211\n+DATA\/DB0111_ZRH13M\/C72C15BBCD038123E0530300000A0FAF\/DATAFILE\/undotbs1_temp.286.1077982211\n<\/pre>\n<p>4. Create the Snapshot Copy:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\nSQL&gt; create pluggable database pdb2sc from pdb2 snapshot copy file_name_convert=('+DATA\/DB0111_ZRH13M\/C72C15BBCD038123E0530300000A0FAF','\/u01\/app\/oracle\/myxfs');\ncreate pluggable database pdb2sc from pdb2 snapshot copy file_name_convert=('+DATA\/DB0111_ZRH13M\/C72C15BBCD038123E0530300000A0FAF','\/u01\/app\/oracle\/myxfs')\n*\nERROR at line 1:\nORA-65169: error encountered while attempting to copy file\n+DATA\/DB0111_ZRH13M\/C72C15BBCD038123E0530300000A0FAF\/DATAFILE\/undotbs1_temp.286.1077982211\nORA-17515: Creation of clonedb failed using snapshot file\n+DATA\/DB0111_ZRH13M\/C72C15BBCD038123E0530300000A0FAF\/DATAFILE\/undotbs1_temp.286.1077982211\nORA-17637: failed to change permission on file\n'+DATA\/DB0111_ZRH13M\/C72C15BBCD038123E0530300000A0FAF\/DATAFILE\/undotbs1_temp.286.1077982211'\nORA-15304: operation requires ACCESS_CONTROL.ENABLED attribute to be TRUE\n<\/pre>\n<p>So obviously Oracle tried to set the files of the read only started PDB PDB2 explicitely to read only on ASM-level.<\/p>\n<p>OK, let&#8217;s enable ACCESS_CONTROL:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\ngrid@cbl:\/home\/grid\/ [+ASM1] asmcmd\nASMCMD&gt; setattr -G DATA access_control.enabled TRUE\n<\/pre>\n<p>It still doesn&#8217;t work, but now I get a permission denied error:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\nSQL&gt; create pluggable database pdb2sc from pdb2 snapshot copy file_name_convert=('+DATA\/DB0111_ZRH13M\/C72C15BBCD038123E0530300000A0FAF','\/u01\/app\/oracle\/myxfs');\ncreate pluggable database pdb2sc from pdb2 snapshot copy file_name_convert=('+DATA\/DB0111_ZRH13M\/C72C15BBCD038123E0530300000A0FAF','\/u01\/app\/oracle\/myxfs')\n*\nERROR at line 1:\nORA-65169: error encountered while attempting to copy file\n+DATA\/DB0111_ZRH13M\/C72C15BBCD038123E0530300000A0FAF\/DATAFILE\/undotbs1_temp.286.1077982211\nORA-17515: Creation of clonedb failed using snapshot file\n+DATA\/DB0111_ZRH13M\/C72C15BBCD038123E0530300000A0FAF\/DATAFILE\/undotbs1_temp.286.1077982211\nORA-17637: failed to change permission on file\n'+DATA\/DB0111_ZRH13M\/C72C15BBCD038123E0530300000A0FAF\/DATAFILE\/undotbs1_temp.286.1077982211'\nORA-15260: permission denied on ASM disk group\n\nASMCMD&gt; pwd\n+DATA\/DB0111_ZRH13M\/C72C15BBCD038123E0530300000A0FAF\/DATAFILE\nASMCMD&gt; ls --permission \nUser  Group  Permission  Name\n              rw-rw-rw-  SYSAUX.289.1077982211\n              rw-rw-rw-  SYSTEM.288.1077982211\n              rw-rw-rw-  UNDOTBS1.287.1077982211\n              rw-rw-rw-  UNDOTBS1_TEMP.286.1077982211\n<\/pre>\n<p>So I have to create the User oracle in ASM for diskgroup DATA:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\nASMCMD&gt; mkusr DATA oracle\n<\/pre>\n<p>And then set the owner of the PDB2-datafiles to oracle:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\nASMCMD&gt; chown oracle SYSAUX.289.1077982211 SYSTEM.288.1077982211 UNDOTBS1.287.1077982211 UNDOTBS1_TEMP.286.1077982211\nASMCMD&gt; ls --permission\nUser                                     Group  Permission  Name\noracle@0a5d56d4388b4f7bbf6da84da547ae9e          rw-rw-rw-  SYSAUX.289.1077982211\noracle@0a5d56d4388b4f7bbf6da84da547ae9e          rw-rw-rw-  SYSTEM.288.1077982211\noracle@0a5d56d4388b4f7bbf6da84da547ae9e          rw-rw-rw-  UNDOTBS1.287.1077982211\noracle@0a5d56d4388b4f7bbf6da84da547ae9e          rw-rw-rw-  UNDOTBS1_TEMP.286.1077982211\nASMCMD&gt; \n<\/pre>\n<p>Let&#8217;s do it for the tempfile as well:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\nASMCMD&gt; cd ..\/TEMPFILE\nASMCMD&gt; ls\nTEMP.290.1077982223\nASMCMD&gt; chown oracle TEMP.290.1077982223\nASMCMD&gt; ls --permission\nUser                                     Group  Permission  Name\noracle@0a5d56d4388b4f7bbf6da84da547ae9e          rw-rw-rw-  TEMP.290.1077982223\nASMCMD&gt; \n<\/pre>\n<p>Finally I just created the necessesary folders:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\nSQL&gt; !mkdir \/u01\/app\/oracle\/myxfs\/DATAFILE\/\nSQL&gt; !mkdir \/u01\/app\/oracle\/myxfs\/TEMPFILE\/\n<\/pre>\n<p>And now it worked:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\nSQL&gt; create pluggable database pdb2sc from pdb2 snapshot copy file_name_convert=('+DATA\/DB0111_ZRH13M\/C72C15BBCD038123E0530300000A0FAF','\/u01\/app\/oracle\/myxfs');\n\nPluggable database created.\n\nSQL&gt; alter pluggable database PDB2SC open;\n\nPluggable database altered.\n\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME\t\t\t  OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n\t 2 PDB$SEED\t\t\t  READ ONLY  NO\n\t 3 PDB1 \t\t\t  READ WRITE NO\n\t 5 PDB2 \t\t\t  READ ONLY  NO\n\t 6 PDB2SC\t\t\t  READ WRITE NO\n<\/pre>\n<p>That looks promising. Let&#8217;s try it:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\nSQL&gt; alter session set container=PDB2SC;\n\nSession altered.\n\nSQL&gt; set lines 200 pages 999\nSQL&gt; column m format a32\nSQL&gt; select * from cbleile.t1;\n\n         N M\n---------- --------------------------------\n         1 Before Snapshot Copy created\n\nSQL&gt; \nSQL&gt; column file_name format a70\nSQL&gt; select file_name from dba_data_files;\n\nFILE_NAME\n----------------------------------------------------------------------\n\/u01\/app\/oracle\/myxfs\/DATAFILE\/system.288.1077982211\n\/u01\/app\/oracle\/myxfs\/DATAFILE\/sysaux.289.1077982211\n\/u01\/app\/oracle\/myxfs\/DATAFILE\/undotbs1.287.1077982211\n\/u01\/app\/oracle\/myxfs\/DATAFILE\/undotbs1_temp.286.1077982211\n\nSQL&gt; \nSQL&gt; !ls -lhs \/u01\/app\/oracle\/myxfs\/DATAFILE\ntotal 196K\n116K -rw-r----- 1 oracle asmadmin 401M Jul 15 16:02 sysaux.289.1077982211\n 48K -rw-r----- 1 oracle asmadmin 291M Jul 15 16:02 system.288.1077982211\n 16K -rw-r----- 1 oracle asmadmin  46M Jul 15 16:02 undotbs1.287.1077982211\n 16K -rw-r----- 1 oracle asmadmin 3.2M Jul 15 16:02 undotbs1_temp.286.1077982211\n\nSQL&gt;\n<\/pre>\n<p>&#8211;&gt; Cool, the files are only a couple of KB in size.<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\nSQL&gt; insert into cbleile.t1 values (2,'After creating the Snapshot Copy');\n\n1 row created.\n\nSQL&gt; commit;\n\nCommit complete.\n\nSQL&gt; select * from cbleile.t1;\n\n         N M\n---------- --------------------------------\n         1 Before Snapshot Copy created\n         2 After creating the Snapshot Copy\n\nSQL&gt; \n<\/pre>\n<p>Summary: You can create a Snapshot Copy Pluggable Database on top of ASM by using a filesystem which supports sparse files. If your read-only source-PDB is on ASM then you have to enable access control in ASM and set oracle as the owner of the datafiles of the read-only source-PDB.<\/p>\n<p>REMARK: Above tests with XFS have been done on a single instance setup. Running your CDB in RAC then ACFS as the filesystem for the Snapshot Copy PDB should to be used. <\/p>\n<p>For completness below the steps to create the Snapshot Copy on top of ACFS (as I used the same Read-Only source-PDB, I didn&#8217;t have to set permissions again):<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\ngrid@cbl:\/home\/grid\/ [+ASM1] asmcmd volcreate -G DATA -s 20g MYACFSVOL\ngrid@cbl:\/home\/grid\/ [+ASM1] asmcmd volinfo --all\nDiskgroup Name: DATA\n\n\t Volume Name: MYACFSVOL\n\t Volume Device: \/dev\/asm\/myacfsvol-187\n\t State: ENABLED\n\t Size (MB): 20480\n\t Resize Unit (MB): 64\n\t Redundancy: UNPROT\n\t Stripe Columns: 8\n\t Stripe Width (K): 1024\n\t Usage: \n\t Mountpath: \n \ngrid@cbl:\/home\/grid\/ [+ASM1] \n\n[root@cbl ~]# mkdir \/u01\/app\/oracle\/myacfs\n[root@cbl ~]# mkfs.acfs \/dev\/asm\/myacfsvol-187\nmkfs.acfs: version                   = 21.0.0.0.0\nmkfs.acfs: on-disk version           = 50.0\nmkfs.acfs: volume                    = \/dev\/asm\/myacfsvol-187\nmkfs.acfs: volume size               = 21474836480  (  20.00 GB )\nmkfs.acfs: file system size          = 21474836480  (  20.00 GB )\nmkfs.acfs: Format complete.\n[root@cbl ~]# \n<\/pre>\n<p>REMARK: For simplicity I used the same commands to create the ACFS as with XFS above. To register it in the cluster registry you could use &#8220;srvctl add filesystem&#8221; or add it manually with &#8220;acfsutil registry&#8221;.<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\n[root@cbl ~]# mount -t acfs \/dev\/asm\/myacfsvol-187 \/u01\/app\/oracle\/myacfs\n[root@cbl ~]# chown oracle:oinstall \/u01\/app\/oracle\/myacfs\n\noracle@cbl:\/home\/oracle\/ [DB0111 (CDB$ROOT)] sqlplus \/ as sysdba\n\nSQL&gt; !ls -l \/u01\/app\/oracle\/myacfs\ntotal 64\ndrwx------ 2 root root 65536 Jul 15 17:30 lost+found\n\nSQL&gt; !mkdir \/u01\/app\/oracle\/myacfs\/DATAFILE\n\nSQL&gt; !mkdir \/u01\/app\/oracle\/myacfs\/TEMPFILE\n\nSQL&gt; create pluggable database pdb2scacfs from pdb2 snapshot copy file_name_convert=('+DATA\/DB0111_ZRH13M\/C72C15BBCD038123E0530300000A0FAF','\/u01\/app\/oracle\/myacfs');\n\nPluggable database created.\n\nSQL&gt; alter pluggable database pdb2scacfs open;\n\nPluggable database altered.\n\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME\t\t\t  OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n\t 2 PDB$SEED\t\t\t  READ ONLY  NO\n\t 3 PDB1 \t\t\t  READ WRITE NO\n\t 4 PDB2SCACFS\t\t\t  READ WRITE NO\n\t 5 PDB2 \t\t\t  READ ONLY  NO\n\t 6 PDB2SC\t\t\t  READ WRITE NO\n\nSQL&gt; !ls -lhs \/u01\/app\/oracle\/myacfs\/DATAFILE\ntotal 208K\n116K -rw-r----- 1 oracle asmadmin 401M Jul 15 17:34 sysaux.289.1077982211\n 52K -rw-r----- 1 oracle asmadmin 291M Jul 15 17:34 system.288.1077982211\n 20K -rw-r----- 1 oracle asmadmin  46M Jul 15 17:34 undotbs1.287.1077982211\n 20K -rw-r----- 1 oracle asmadmin 3.2M Jul 15 17:34 undotbs1_temp.286.1077982211\n\nSQL&gt; alter session set container=PDB2SCACFS;\n\nSession altered.\n\nSQL&gt; set lines 200 pages 999\nSQL&gt; column m format a50\nSQL&gt; select * from cbleile.t1;\n\n\t N M\n---------- --------------------------------------------------\n\t 1 Before Snapshot Copy created\n\nSQL&gt; insert into cbleile.t1 values (2,'After creating a Snapshot Copy on top of ACFS');\n\n1 row created.\n\nSQL&gt; commit;\n\nCommit complete.\n\nSQL&gt; select * from cbleile.t1;\n\n\t N M\n---------- --------------------------------------------------\n\t 1 Before Snapshot Copy created\n\t 2 After creating a Snapshot Copy on top of ACFS\n\nSQL&gt; \n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Creating a snapshopt copy Pluggable Database (PDB) on top of Automatic Storage Management (ASM) is not possible, because you need to have a filesystem which supports sparse files. According the following MOS-Note sparse files are supported on Automatic Storage Management Cluster File System (ACFS) since 12.2.: 12.2 Oracle ACFS Sparse Files Enhancements (Doc ID 2200264.1) [&hellip;]<\/p>\n","protected":false},"author":35,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[59],"tags":[600,37,220,66,2357,1031],"type_dbi":[],"class_list":["post-16535","post","type-post","status-publish","format-standard","hentry","category-oracle","tag-acfs","tag-asm","tag-cdb","tag-pdb","tag-snapshot-copy","tag-xfs"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Creating an Oracle Snapshot Copy PDB on top of ASM - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Creating an Oracle Snapshot Copy PDB on top of ASM\" \/>\n<meta property=\"og:description\" content=\"Creating a snapshopt copy Pluggable Database (PDB) on top of Automatic Storage Management (ASM) is not possible, because you need to have a filesystem which supports sparse files. According the following MOS-Note sparse files are supported on Automatic Storage Management Cluster File System (ACFS) since 12.2.: 12.2 Oracle ACFS Sparse Files Enhancements (Doc ID 2200264.1) [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-07-16T14:04:02+00:00\" \/>\n<meta name=\"author\" content=\"Clemens Bleile\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ifgtxD2SrQ8r!YuXj\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Clemens Bleile\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/\"},\"author\":{\"name\":\"Clemens Bleile\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/0ac04011f60f2e93c115358d0789c2da\"},\"headline\":\"Creating an Oracle Snapshot Copy PDB on top of ASM\",\"datePublished\":\"2021-07-16T14:04:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/\"},\"wordCount\":452,\"commentCount\":0,\"keywords\":[\"ACFS\",\"ASM\",\"CDB\",\"PDB\",\"SNAPSHOT COPY\",\"XFS\"],\"articleSection\":[\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/\",\"name\":\"Creating an Oracle Snapshot Copy PDB on top of ASM - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2021-07-16T14:04:02+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/0ac04011f60f2e93c115358d0789c2da\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Creating an Oracle Snapshot Copy PDB on top of ASM\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/0ac04011f60f2e93c115358d0789c2da\",\"name\":\"Clemens Bleile\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/1f596609fc67cb28ed714e7bccc81ed4cd73b8582a8148a490c77daeb2fde21a?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1f596609fc67cb28ed714e7bccc81ed4cd73b8582a8148a490c77daeb2fde21a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1f596609fc67cb28ed714e7bccc81ed4cd73b8582a8148a490c77daeb2fde21a?s=96&d=mm&r=g\",\"caption\":\"Clemens Bleile\"},\"description\":\"Clemens Bleile has more than 30 years of IT experience, thirteen in Oracle Support and fifteen in Oracle Consulting. He is specialized in Oracle Database Performance Tuning (SQL Tuning, DB Tuning) and developing an Oracle DB IT architecture (highly available, low-maintenance, cost efficient storage of data). He is an expert in problem analysis and resolution. Prior to joining dbi services, Clemens Bleile was Manager of the EMEA Database Performance team at the Oracle Global Customer Support Services. Clemens Bleile is Oracle Certified Professional 11g, 12c and Oracle Certified Expert for Performance Management and Tuning and holds a Master Degree, Business Information Systems from the Fachhochschule Furtwangen, Germany.\",\"sameAs\":[\"https:\/\/www.dbi-services.com\",\"https:\/\/x.com\/ifgtxD2SrQ8r!YuXj\"],\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/clemens-bleile\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Creating an Oracle Snapshot Copy PDB on top of ASM - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/","og_locale":"en_US","og_type":"article","og_title":"Creating an Oracle Snapshot Copy PDB on top of ASM","og_description":"Creating a snapshopt copy Pluggable Database (PDB) on top of Automatic Storage Management (ASM) is not possible, because you need to have a filesystem which supports sparse files. According the following MOS-Note sparse files are supported on Automatic Storage Management Cluster File System (ACFS) since 12.2.: 12.2 Oracle ACFS Sparse Files Enhancements (Doc ID 2200264.1) [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/","og_site_name":"dbi Blog","article_published_time":"2021-07-16T14:04:02+00:00","author":"Clemens Bleile","twitter_card":"summary_large_image","twitter_creator":"@ifgtxD2SrQ8r!YuXj","twitter_misc":{"Written by":"Clemens Bleile","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/"},"author":{"name":"Clemens Bleile","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/0ac04011f60f2e93c115358d0789c2da"},"headline":"Creating an Oracle Snapshot Copy PDB on top of ASM","datePublished":"2021-07-16T14:04:02+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/"},"wordCount":452,"commentCount":0,"keywords":["ACFS","ASM","CDB","PDB","SNAPSHOT COPY","XFS"],"articleSection":["Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/","url":"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/","name":"Creating an Oracle Snapshot Copy PDB on top of ASM - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2021-07-16T14:04:02+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/0ac04011f60f2e93c115358d0789c2da"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/creating-an-oracle-snapshot-copy-pdb-on-top-of-asm\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Creating an Oracle Snapshot Copy PDB on top of ASM"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/0ac04011f60f2e93c115358d0789c2da","name":"Clemens Bleile","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1f596609fc67cb28ed714e7bccc81ed4cd73b8582a8148a490c77daeb2fde21a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1f596609fc67cb28ed714e7bccc81ed4cd73b8582a8148a490c77daeb2fde21a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1f596609fc67cb28ed714e7bccc81ed4cd73b8582a8148a490c77daeb2fde21a?s=96&d=mm&r=g","caption":"Clemens Bleile"},"description":"Clemens Bleile has more than 30 years of IT experience, thirteen in Oracle Support and fifteen in Oracle Consulting. He is specialized in Oracle Database Performance Tuning (SQL Tuning, DB Tuning) and developing an Oracle DB IT architecture (highly available, low-maintenance, cost efficient storage of data). He is an expert in problem analysis and resolution. Prior to joining dbi services, Clemens Bleile was Manager of the EMEA Database Performance team at the Oracle Global Customer Support Services. Clemens Bleile is Oracle Certified Professional 11g, 12c and Oracle Certified Expert for Performance Management and Tuning and holds a Master Degree, Business Information Systems from the Fachhochschule Furtwangen, Germany.","sameAs":["https:\/\/www.dbi-services.com","https:\/\/x.com\/ifgtxD2SrQ8r!YuXj"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/clemens-bleile\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/16535","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=16535"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/16535\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=16535"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=16535"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=16535"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=16535"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}