{"id":522,"date":"2022-01-13T15:54:23","date_gmt":"2022-01-13T14:54:23","guid":{"rendered":"https:\/\/anjo.pt\/keyword-oracle\/?p=522"},"modified":"2022-01-13T15:54:24","modified_gmt":"2022-01-13T14:54:24","slug":"gdbclone-good-and-easy-oracle-cloning-tool-with-potential","status":"publish","type":"post","link":"https:\/\/anjo.pt\/keyword-oracle\/2022\/01\/13\/gdbclone-good-and-easy-oracle-cloning-tool-with-potential\/","title":{"rendered":"gDBClone &#8211; Good and easy Oracle cloning tool with potential"},"content":{"rendered":"\n<p>Instead of writing and adapting cloning scripts for each client, I was looked today at gDBClone script, provided by <a rel=\"noreferrer noopener\" href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocContentDisplay?id=2099214.1\" target=\"_blank\">Oracle note gDBClone Powerful Database Clone\/Snapshot Management Tool (Doc ID 2099214.1)<\/a>. <\/p>\n\n\n\n<p>Ruggero Citton did an excellent work and I believe that for most of situations and mainly in a development environment with the need of fast DB Snapshots this tool provides an alternative to developing new tools.<\/p>\n\n\n\n<p>I find great that for database cloning it creates a temporary listener, and does not mixup with existing configuration. Another great thing is the possibility to use a pre-created passwordfile to clone remote DBs, without the need to provide any password at run time (or hardcode, or having a wallet).<\/p>\n\n\n\n<p>It is a tool that works with DBs from Oracle 11.2 up, and also with RAC, RAC One node, it can perform upgrades, create standby, it works in ODA, etc.<\/p>\n\n\n\n<p>The long set of pre-checks is very nice:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nMacroStep1 - Getting information and validating setup...\nINFO: 2022-01-13 15:40:09: Validating environment\nINFO: 2022-01-13 15:40:09: Checking superuser usage\nINFO: 2022-01-13 15:40:09: Checking if target database name &#039;xpto&#039; is a valid name\nINFO: 2022-01-13 15:40:09: Checking if target database home &#039;OraHome3&#039; exists\nINFO: 2022-01-13 15:40:09: Checking if Oracle Restart\nINFO: 2022-01-13 15:40:09: Checking ping to host &#039;server27&#039;\nINFO: 2022-01-13 15:40:09: Getting ORACLE_BASE path from orabase\nINFO: 2022-01-13 15:40:09: Checking if target database &#039;xpto&#039; exists\nINFO: 2022-01-13 15:40:09: Checking registered instance &#039;xpto&#039;\nINFO: 2022-01-13 15:40:12: Checking listener on &#039;server27:1521&#039;\nINFO: 2022-01-13 15:40:12: Checking ASM command options\nINFO: 2022-01-13 15:40:15: Checking if &#039;+U02&#039; is a valid ASM diskgroup\nINFO: 2022-01-13 15:40:15: Checking &#039;+U02&#039; RDBMS compatible\nINFO: 2022-01-13 15:40:16: Checking if &#039;+U01&#039; is a valid ASM diskgroup\nINFO: 2022-01-13 15:40:16: Checking &#039;+U01&#039; RDBMS compatible\nINFO: 2022-01-13 15:40:16: Checking if &#039;+U01&#039; is a valid ASM diskgroup\nINFO: 2022-01-13 15:40:17: Checking &#039;+U01&#039; RDBMS compatible\nINFO: 2022-01-13 15:40:20: Checking source and target database version\nINFO: 2022-01-13 15:40:21: Checking source database size\nINFO: 2022-01-13 15:40:23: Checking source database role\nINFO: 2022-01-13 15:40:23: Checking source log mode\nINFO: 2022-01-13 15:40:24: Checking Flash Cache setting\nSUCCESS: 2022-01-13 15:40:24: Environment validation complete\n<\/pre><\/div>\n\n\n<p>At the client I&#8217;m these days however I would be happy with some more flexibility. <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>The database unique name convention include underscores (xptodb_2 for instance). gDBClone only accepts alphanumeric elements to the clone database name.<\/li><li>gDBClone needs to run with root privileges. You can (recommended) configure in \/etc\/sudoers, however this is far too much for my client.<\/li><li>Cloning a dataguard protected database configured with broker failed at the end of the duplicate, as the clone automatically started the broker and connected back to the primary, failing then with <code>ORA-16649: possible failover to another database prevents this database from being opened<\/code> . The half-baked clone needs to be dropped manually.<\/li><li>It would be nice to have commands (or be part of clone) to create new ACFS mountpoints<\/li><\/ul>\n\n\n\n<p>At the end I get the impression that gDBClone was developed for specific customer needs and I&#8217;m sure it does it really well. For the needs and restrictions I&#8217;ve in different clients unfortunately I still need to use my set of tools. Luckily with the most recent Oracle versions the cloning,  snapping, upgrades has become much easier and scripting it does not require many lines of code.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Instead of writing and adapting cloning scripts for each client, I was looked today at gDBClone script, provided by Oracle note gDBClone Powerful Database Clone\/Snapshot Management Tool (Doc ID 2099214.1). Ruggero Citton did an excellent work and I believe that for most of situations and mainly in a development environment with the need of fast [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":523,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36,10,6],"tags":[],"class_list":{"0":"post-522","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-cloning","8":"category-dataguard","9":"category-oracle","10":"czr-hentry"},"_links":{"self":[{"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/posts\/522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/comments?post=522"}],"version-history":[{"count":1,"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/posts\/522\/revisions"}],"predecessor-version":[{"id":524,"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/posts\/522\/revisions\/524"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/media\/523"}],"wp:attachment":[{"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/media?parent=522"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/categories?post=522"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/tags?post=522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}