{"id":26076,"date":"2022-01-15T13:32:25","date_gmt":"2022-01-15T13:32:25","guid":{"rendered":"https:\/\/dbtut.com\/?p=26076"},"modified":"2022-01-16T15:36:23","modified_gmt":"2022-01-16T15:36:23","slug":"oracle-temporary-tables-and-active-data-guard","status":"publish","type":"post","link":"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/","title":{"rendered":"Oracle Temporary Tables and Active Data Guard"},"content":{"rendered":"<p>In today&#8217;s post, I will describe insert into oracle\u00a0 temporary tables and Active Data Guard. We will try to insert into temporary tables on active data guard. Active Data Guard is a physical standby database that we can use only read-only.<\/p>\n<p>Insert into the Temporary table is also not allowed, as it does not allow any operation to be performed on it that will generate Redo. Because Temporary Tablespace is used during insert into the Temporary table, a Redo is not produced, but because Undo Tablespace is used for Undo, it internally generates it in Oracle Redo.<\/p>\n<p>Therefore, insert into the Global Temporary table is not allowed in versions prior to 12c. The following error is received when trying to enter data.<\/p>\n<h5>If we try to enter data we get the following error:<\/h5>\n<p><code> <\/code><\/p>\n<pre class=\"lang:default decode:true \">[Physical-1] SQL&gt; INSERT INTO my_temp_table\r\n\r\n  \u00a0 WITH data AS (\r\n\r\n  \u00a0\u00a0\u00a0 SELECT 1 AS id\r\n\r\n  \u00a0\u00a0\u00a0 FROM\u00a0\u00a0 dual\r\n\r\n\u00a0 \u00a0\u00a0\u00a0 CONNECT BY level &lt; 10000\r\n\r\n\u00a0 \u00a0 )\r\n\r\n\u00a0 \u00a0 SELECT rownum, TO_CHAR(rownum)\r\n\r\n\u00a0 \u00a0 FROM\u00a0\u00a0 data a, data b\r\n\r\n\u00a0 \u00a0 WHERE\u00a0 rownum &lt;= 1000000;\r\n\r\nINSERT INTO my_temp_table<\/pre>\n<p style=\"margin: 0in; font-family: Calibri; font-size: 11.0pt;\"><span style=\"font-family: georgia, palatino, serif; font-size: 12pt; color: #000000;\">ERROR at line 1:<\/span><\/p>\n<p><span style=\"color: #000000;\">ORA-16000: database open for read-only access<\/span><\/p>\n<p>In 12c this is resolved with the TEMP_UNDO_ENABLED parameter. Operations that use a Temporary Tablespace use a Temporary Undo Tablespace. Therefore, Redo is not created and we can insert into Temporary Tables.<\/p>\n<p>We can use this parameter in both Primary and Physical Standby mode. When we use it on the primary side, Redo production is reduced by hundreds of times, while Redo is not produced on the Active Data Guard side.<\/p>\n<p>In Active Data Guard, this parameter is enable by default.<\/p>\n<h4>Let&#8217;s Test.<\/h4>\n<p>1.We create a user in the primary database.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; create user tempundo identified by \"1\" account unlock;\r\n\r\nUser created.<\/pre>\n<p>2.We authorize the user to connect to the database.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; grant create session to tempundo;\r\n\r\nGrant succeeded.<\/pre>\n<p>3.We authorize the user to create a temporary table.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; grant create table to tempundo;\r\n\r\nGrant succeeded.<\/pre>\n<p><span style=\"color: #000000;\">The reason for granting the CREATE TABLE authorization is that it cannot create another table other than the temporary table, since it is already a Read-only database. When trying to create, an error is received as follows.<\/span><\/p>\n<pre class=\"lang:default decode:true \">[Physical] SQL&gt; create table employees_yedek as select * from hr.employees;\r\n\r\ncreate table employees_yedek as select * from hr.employees<\/pre>\n<h5 style=\"margin: 0in; font-family: Calibri; font-size: 11.0pt;\">ERROR at line 1:<\/h5>\n<p><code><span style=\"color: #000000;\">ORA-00604: error occurred at recursive SQL level 1<\/span><\/code><\/p>\n<p><code><span style=\"color: #000000;\">ORA-16000: database or pluggable database open for read-only access<\/span><\/code><\/p>\n<p>4.We authorize the objects that the user can query.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; grant select on v_$tempundostat to tempundo;\r\n\r\nGrant succeeded.\r\n\r\n[Primary] SQL&gt; grant select on v_$transaction to tempundo;\r\n\r\nGrant succeeded.<\/pre>\n<p>5.We create the temporary table by switching to the TEMPUNDO user.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; conn tempundo\/1\r\n\r\nConnected.\r\n\r\n[Primary] SQL&gt; show user\r\n\r\nUSER is \"TEMPUNDO\"\r\n\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; create global temporary table my_temp_table (id number, description varchar2(20)) on commit delete rows;\r\n\r\nTable created.<\/pre>\n<p><span style=\"color: #000000;\">The reason why I write ON COMMIT DELETE ROWS while creating the table is because I don&#8217;t want the data in the table to be deleted at the end of the session.<\/span><\/p>\n<p>6. We turn on autotrace to see statistics.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; SET AUTOTRACE ON STATISTICS;\r\n\r\nSP2-0618: Cannot find the Session Identifier.\u00a0 Check PLUSTRACE role is enabled\r\n\r\nSP2-0611: Error enabling STATISTICS report<\/pre>\n<p>7.We make some adjustments to fix the error.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; conn \/ as sysdba\r\n\r\nConnected.\r\n\r\n[Primary] SQL&gt; show user\r\n\r\nUSER is \"SYS\"<\/pre>\n<p>&nbsp;<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; create role plustrace;\r\n\r\nRole created.\r\n\r\n[Primary] SQL&gt; grant select on v_$sesstat to plustrace;\r\n\r\nGrant succeeded.\r\n\r\n[Primary] SQL&gt; grant select on v_$statname to plustrace;\r\n\r\nGrant succeeded.\r\n\r\n[Primary] SQL&gt; grant select on v_$session to plustrace;\r\n\r\nGrant succeeded.\r\n\r\n[Primary] SQL&gt; grant select on v_$mystat to plustrace;\r\n\r\nGrant succeeded.\r\n\r\n[Primary] SQL&gt; grant plustrace to dba with admin option;\r\n\r\nGrant succeeded.\r\n\r\n[Primary] SQL&gt; grant plustrace to tempundo;\r\n\r\nGrant succeeded.<\/pre>\n<p>8.We switch to the TEMPUNDO user and open a trace.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; conn tempundo\/1;\r\n\r\nConnected.\r\n\r\n[Primary] SQL&gt; show user\r\n\r\nUSER is \"TEMPUNDO\"\r\n\r\n[Primary] SQL&gt; set autotrace on statistics;<\/pre>\n<p>9. We do a Bulk insert to see the statistics.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; INSERT INTO my_temp_table\r\n\r\n2\u00a0 WITH data AS (\r\n\r\n3\u00a0\u00a0\u00a0 SELECT 1 AS id\r\n\r\n4\u00a0\u00a0\u00a0 FROM\u00a0\u00a0 dual\r\n\r\n5\u00a0\u00a0\u00a0 CONNECT BY level &lt; 10000\r\n\r\n6\u00a0 )\r\n\r\n7\u00a0 SELECT rownum, TO_CHAR(rownum)\r\n\r\n8\u00a0 FROM\u00a0\u00a0 data a, data b\r\n\r\n9\u00a0 WHERE\u00a0 rownum &lt;= 1000000;\r\n\r\n1000000 rows created.\r\n\r\n\r\n\r\n\r\nStatistics\r\n\r\n----------------------------------------------------------\r\n\r\n22\u00a0 recursive calls\r\n\r\n15687\u00a0 db block gets\r\n\r\n2359\u00a0 consistent gets\r\n\r\n343\u00a0 physical reads\r\n\r\n3070280\u00a0 redo size\r\n\r\n861\u00a0 bytes sent via SQL*Net to client\r\n\r\n986\u00a0 bytes received via SQL*Net from client\r\n\r\n3\u00a0 SQL*Net roundtrips to\/from client\r\n\r\n3\u00a0 sorts (memory)\r\n\r\n0\u00a0 sorts (disk)\r\n\r\n1000000\u00a0 rows processed<\/pre>\n<p>10.We see how much Undo is produced for this Redo produced.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; SELECT t.used_ublk,\r\n\r\n2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t.used_urec\r\n\r\n3\u00a0 FROM\u00a0\u00a0 v$transaction t,\r\n\r\n4\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 v$session s\r\n\r\n5\u00a0 WHERE\u00a0 s.saddr = t.ses_addr\r\n\r\n6\u00a0 AND\u00a0\u00a0\u00a0 s.audsid = SYS_CONTEXT('USERENV', 'SESSIONID');\r\n\r\n\r\n\r\n\r\nUSED_UBLK\u00a0 USED_UREC\r\n\r\n---------- ----------\r\n\r\n653\u00a0\u00a0\u00a0\u00a0\u00a0 12476\r\n\r\n\r\n\r\n\r\nUSED_UBLK: Number of Undo Blocks Used\r\n\r\nUSED_UREC: Number of Undo Records Used<\/pre>\n<p>11. The TEMP_UNDO_ENABLED parameter is set to TRUE to see the REDO information resulting from the same test.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; conn \/ as sysdba\r\n\r\nConnected.\r\n\r\n[Primary] SQL&gt; alter system set temp_undo_enabled=TRUE scope=both;\r\n\r\nSystem altered.\r\n\r\n[Primary] SQL&gt; show parameter temp_undo\r\n\r\nNAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 TYPE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 VALUE\r\n\r\n------------------------------------ ----------- ------------------------------\r\n\r\ntemp_undo_enabled\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 boolean\u00a0\u00a0\u00a0\u00a0 TRUE\r\n\r\n12.We log in with the TEMPUNDO user and open a trace.\r\n\r\n[Primary] SQL&gt; conn tempundo\/1\r\n\r\nConnected.\r\n\r\n[Primary] SQL&gt; show user\r\n\r\nUSER is \"TEMPUNDO\"\r\n\r\n\r\n\r\n\r\n[Primary] SQL&gt; set autotrace on statistics<\/pre>\n<p>13.We see the amount of Redo by making a bulk insert.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; INSERT INTO my_temp_table\r\n\r\n2\u00a0 WITH data AS (\r\n\r\n3\u00a0\u00a0\u00a0 SELECT 1 AS id\r\n\r\n4\u00a0\u00a0\u00a0 FROM\u00a0\u00a0 dual\r\n\r\n5\u00a0\u00a0\u00a0 CONNECT BY level &lt; 10000\r\n\r\n6\u00a0 )\r\n\r\n7\u00a0 SELECT rownum, TO_CHAR(rownum)\r\n\r\n8\u00a0 FROM\u00a0\u00a0 data a, data b\r\n\r\n9\u00a0 WHERE\u00a0 rownum &lt;= 1000000;\r\n\r\n\r\n\r\n\r\n1000000 rows created.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nStatistics\r\n\r\n----------------------------------------------------------\r\n\r\n23\u00a0 recursive calls\r\n\r\n15365\u00a0 db block gets\r\n\r\n2357\u00a0 consistent gets\r\n\r\n16\u00a0 physical reads\r\n\r\n528\u00a0 redo size\r\n\r\n857\u00a0 bytes sent via SQL*Net to client\r\n\r\n986\u00a0 bytes received via SQL*Net from client\r\n\r\n3\u00a0 SQL*Net roundtrips to\/from client\r\n\r\n3\u00a0 sorts (memory)\r\n\r\n0\u00a0 sorts (disk)\r\n\r\n1000000\u00a0 rows processed<\/pre>\n<p><span style=\"color: #000000;\">As you can see, when the TEMP_UNDO_ENABLED parameter is FALSE, 3070280 bytes REDO is produced in the same bulk insert, while 528 bytes REDO is produced when the parameter is set to TRUE.<\/span><\/p>\n<p>14. The main effect of the parameter is seen in Active Data Guard Physical Standby Database. The current value of the parameter is queried.<\/p>\n<pre class=\"lang:default decode:true \">[Physical] SQL&gt; show parameter temp_undo\r\n\r\n\r\n\r\n\r\nNAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 TYPE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 VALUE\r\n\r\n------------------------------------ ----------- ------------------------------\r\n\r\ntemp_undo_enabled\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 boolean\u00a0\u00a0\u00a0\u00a0 FALSE<\/pre>\n<p>15.\u00a0 We see if the user and table created on the primary side are created on the Standby side.<\/p>\n<pre class=\"lang:default decode:true \">[Physical] SQL&gt; select username from dba_users where username='TEMPUNDO';\r\n\r\n\r\n\r\n\r\nUSERNAME\r\n\r\n--------------------------------------------------------------------------------\r\n\r\nTEMPUNDO\r\n\r\n\r\n\r\n\r\n[Physical] SQL&gt; select object_name from dba_objects where owner='TEMPUNDO';\r\n\r\n\r\n\r\n\r\nOBJECT_NAME\r\n\r\n--------------------------------------------------------------------------------\r\n\r\nMY_TEMP_TABLE<\/pre>\n<p>16.We open the trace by connecting with the TEMPUNDO user.<\/p>\n<pre class=\"lang:default decode:true \">[Physical] SQL&gt; conn tempundo\/1\r\n\r\nConnected.\r\n\r\n[Physical] SQL&gt; show user\r\n\r\nUSER is \"TEMPUNDO\"\r\n\r\n\r\n\r\n\r\n[Physical] SQL&gt; set autotrace on statistics<\/pre>\n<p>17. We make bulk inserts in the same way<\/p>\n<pre class=\"lang:default decode:true \">[Physical] SQL&gt; INSERT INTO my_temp_table\r\n\r\n2\u00a0 WITH data AS (\r\n\r\n3\u00a0\u00a0\u00a0 SELECT 1 AS id\r\n\r\n4\u00a0\u00a0\u00a0 FROM\u00a0\u00a0 dual\r\n\r\n5\u00a0\u00a0\u00a0 CONNECT BY level &lt; 10000\r\n\r\n6\u00a0 )\r\n\r\n7\u00a0 SELECT rownum, TO_CHAR(rownum)\r\n\r\n8\u00a0 FROM\u00a0\u00a0 data a, data b\r\n\r\n9\u00a0 WHERE\u00a0 rownum &lt;= 1000000;\r\n\r\n\r\n\r\n\r\n1000000 rows created.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nStatistics\r\n\r\n----------------------------------------------------------\r\n\r\n23\u00a0 recursive calls\r\n\r\n15397\u00a0 db block gets\r\n\r\n2341\u00a0 consistent gets\r\n\r\n152\u00a0 physical reads\r\n\r\n0\u00a0 redo size\r\n\r\n857\u00a0 bytes sent via SQL*Net to client\r\n\r\n987\u00a0 bytes received via SQL*Net from client\r\n\r\n3\u00a0 SQL*Net roundtrips to\/from client\r\n\r\n3\u00a0 sorts (memory)\r\n\r\n0\u00a0 sorts (disk)\r\n\r\n1000000\u00a0 rows processed<\/pre>\n<p><span style=\"color: #000000;\">Since REDO is not produced, data can be inserted into this TEMPORARY table.<\/span><\/p>\n<p>&nbsp;<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_26076\" class=\"pvc_stats all  \" data-element-id=\"26076\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/dbtut.com\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>In today&#8217;s post, I will describe insert into oracle\u00a0 temporary tables and Active Data Guard. We will try to insert into temporary tables on active data guard. Active Data Guard is a physical standby database that we can use only read-only. Insert into the Temporary table is also not allowed, as it does not allow &hellip;<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_26076\" class=\"pvc_stats all  \" data-element-id=\"26076\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/dbtut.com\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":484,"featured_media":26112,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-26076","post","type-post","status-publish","format-standard","has-post-thumbnail","","category-oracle"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Oracle Temporary Tables and Active Data Guard - Database Tutorials<\/title>\n<meta name=\"description\" content=\"I will describe insert into oracle\u00a0 temporary tables and Active Data Guard. We will try to insert into temporary tables on active data guard.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Oracle Temporary Tables and Active Data Guard - Database Tutorials\" \/>\n<meta property=\"og:description\" content=\"I will describe insert into oracle\u00a0 temporary tables and Active Data Guard. We will try to insert into temporary tables on active data guard.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/\" \/>\n<meta property=\"og:site_name\" content=\"Database Tutorials\" \/>\n<meta property=\"article:published_time\" content=\"2022-01-15T13:32:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-01-16T15:36:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/01\/Ekran-Alintisi-5.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"773\" \/>\n\t<meta property=\"og:image:height\" content=\"284\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Onur ARDAHANLI\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Onur ARDAHANLI\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/\"},\"author\":{\"name\":\"Onur ARDAHANLI\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/7fcd466cd0d347ec64aaa48f18f780c6\"},\"headline\":\"Oracle Temporary Tables and Active Data Guard\",\"datePublished\":\"2022-01-15T13:32:25+00:00\",\"dateModified\":\"2022-01-16T15:36:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/\"},\"wordCount\":534,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/dbtut.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/01\/Ekran-Alintisi-5.jpg\",\"articleSection\":[\"ORACLE\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/\",\"url\":\"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/\",\"name\":\"Oracle Temporary Tables and Active Data Guard - Database Tutorials\",\"isPartOf\":{\"@id\":\"https:\/\/dbtut.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/01\/Ekran-Alintisi-5.jpg\",\"datePublished\":\"2022-01-15T13:32:25+00:00\",\"dateModified\":\"2022-01-16T15:36:23+00:00\",\"description\":\"I will describe insert into oracle\u00a0 temporary tables and Active Data Guard. We will try to insert into temporary tables on active data guard.\",\"breadcrumb\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/#primaryimage\",\"url\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/01\/Ekran-Alintisi-5.jpg\",\"contentUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/01\/Ekran-Alintisi-5.jpg\",\"width\":773,\"height\":284},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dbtut.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Oracle Temporary Tables and Active Data Guard\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dbtut.com\/#website\",\"url\":\"https:\/\/dbtut.com\/\",\"name\":\"Database Tutorials\",\"description\":\"MSSQL, Oracle, PostgreSQL, MySQL, MariaDB, DB2, Sybase, Teradata, Big Data, NOSQL, MongoDB, Couchbase, Cassandra, Windows, Linux\",\"publisher\":{\"@id\":\"https:\/\/dbtut.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dbtut.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/dbtut.com\/#organization\",\"name\":\"dbtut\",\"url\":\"https:\/\/dbtut.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg\",\"contentUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg\",\"width\":223,\"height\":36,\"caption\":\"dbtut\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/7fcd466cd0d347ec64aaa48f18f780c6\",\"name\":\"Onur ARDAHANLI\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ecd20c3e1374ced4e1aefc82101cce4cd437be8fd957d1be3d106668b8a1b990?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ecd20c3e1374ced4e1aefc82101cce4cd437be8fd957d1be3d106668b8a1b990?s=96&d=mm&r=g\",\"caption\":\"Onur ARDAHANLI\"},\"url\":\"https:\/\/dbtut.com\/index.php\/author\/onurardahanli\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Oracle Temporary Tables and Active Data Guard - Database Tutorials","description":"I will describe insert into oracle\u00a0 temporary tables and Active Data Guard. We will try to insert into temporary tables on active data guard.","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:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/","og_locale":"en_US","og_type":"article","og_title":"Oracle Temporary Tables and Active Data Guard - Database Tutorials","og_description":"I will describe insert into oracle\u00a0 temporary tables and Active Data Guard. We will try to insert into temporary tables on active data guard.","og_url":"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/","og_site_name":"Database Tutorials","article_published_time":"2022-01-15T13:32:25+00:00","article_modified_time":"2022-01-16T15:36:23+00:00","og_image":[{"width":773,"height":284,"url":"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/01\/Ekran-Alintisi-5.jpg","type":"image\/jpeg"}],"author":"Onur ARDAHANLI","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Onur ARDAHANLI","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/#article","isPartOf":{"@id":"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/"},"author":{"name":"Onur ARDAHANLI","@id":"https:\/\/dbtut.com\/#\/schema\/person\/7fcd466cd0d347ec64aaa48f18f780c6"},"headline":"Oracle Temporary Tables and Active Data Guard","datePublished":"2022-01-15T13:32:25+00:00","dateModified":"2022-01-16T15:36:23+00:00","mainEntityOfPage":{"@id":"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/"},"wordCount":534,"commentCount":0,"publisher":{"@id":"https:\/\/dbtut.com\/#organization"},"image":{"@id":"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/#primaryimage"},"thumbnailUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/01\/Ekran-Alintisi-5.jpg","articleSection":["ORACLE"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/","url":"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/","name":"Oracle Temporary Tables and Active Data Guard - Database Tutorials","isPartOf":{"@id":"https:\/\/dbtut.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/#primaryimage"},"image":{"@id":"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/#primaryimage"},"thumbnailUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/01\/Ekran-Alintisi-5.jpg","datePublished":"2022-01-15T13:32:25+00:00","dateModified":"2022-01-16T15:36:23+00:00","description":"I will describe insert into oracle\u00a0 temporary tables and Active Data Guard. We will try to insert into temporary tables on active data guard.","breadcrumb":{"@id":"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/#primaryimage","url":"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/01\/Ekran-Alintisi-5.jpg","contentUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/01\/Ekran-Alintisi-5.jpg","width":773,"height":284},{"@type":"BreadcrumbList","@id":"https:\/\/dbtut.com\/index.php\/2022\/01\/15\/oracle-temporary-tables-and-active-data-guard\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dbtut.com\/"},{"@type":"ListItem","position":2,"name":"Oracle Temporary Tables and Active Data Guard"}]},{"@type":"WebSite","@id":"https:\/\/dbtut.com\/#website","url":"https:\/\/dbtut.com\/","name":"Database Tutorials","description":"MSSQL, Oracle, PostgreSQL, MySQL, MariaDB, DB2, Sybase, Teradata, Big Data, NOSQL, MongoDB, Couchbase, Cassandra, Windows, Linux","publisher":{"@id":"https:\/\/dbtut.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dbtut.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/dbtut.com\/#organization","name":"dbtut","url":"https:\/\/dbtut.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/#\/schema\/logo\/image\/","url":"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg","contentUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg","width":223,"height":36,"caption":"dbtut"},"image":{"@id":"https:\/\/dbtut.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/dbtut.com\/#\/schema\/person\/7fcd466cd0d347ec64aaa48f18f780c6","name":"Onur ARDAHANLI","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ecd20c3e1374ced4e1aefc82101cce4cd437be8fd957d1be3d106668b8a1b990?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ecd20c3e1374ced4e1aefc82101cce4cd437be8fd957d1be3d106668b8a1b990?s=96&d=mm&r=g","caption":"Onur ARDAHANLI"},"url":"https:\/\/dbtut.com\/index.php\/author\/onurardahanli\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts\/26076","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/users\/484"}],"replies":[{"embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/comments?post=26076"}],"version-history":[{"count":0,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts\/26076\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/media\/26112"}],"wp:attachment":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/media?parent=26076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/categories?post=26076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/tags?post=26076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}