{"id":9335,"date":"2026-06-13T11:44:12","date_gmt":"2026-06-13T14:44:12","guid":{"rendered":"https:\/\/executestep.com\/?p=9335"},"modified":"2026-06-13T11:44:14","modified_gmt":"2026-06-13T14:44:14","slug":"sql-patch-injetar-hints-oracle","status":"publish","type":"post","link":"https:\/\/executestep.com\/pt-br\/performance\/sql-patch-injetar-hints-oracle\/","title":{"rendered":"SQL Patch: injetar hints no Oracle sem alterar o c\u00f3digo"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Voc\u00ea herdou uma query com <code>PARALLEL(16)<\/code> cravado no c\u00f3digo, ou o contr\u00e1rio: precisa for\u00e7ar paralelismo numa query que roda serial e n\u00e3o pode tocar na aplica\u00e7\u00e3o. C\u00f3digo de fornecedor, deploy que n\u00e3o preserva os coment\u00e1rios do SQL, ticket que leva meses para virar release. O <strong>SQL Patch<\/strong> existe exatamente para isso: injetar hints em um SQL espec\u00edfico sem alterar uma \u00fanica linha do c\u00f3digo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Neste post voc\u00ea vai entender quando o SQL Patch \u00e9 a ferramenta certa, como ele se compara a Baseline e Profile, e vai ter um lab completo no 19c for\u00e7ando paralelismo em uma query serial, com a sa\u00edda real de cada passo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O que \u00e9 (e o que n\u00e3o \u00e9) um SQL Patch<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Um SQL Patch \u00e9 um conjunto de hints que o otimizador passa a aplicar a um SQL identificado pela assinatura do texto. Ele n\u00e3o congela um plano inteiro: apenas adiciona a restri\u00e7\u00e3o do hint e deixa o CBO escolher o melhor plano dentro dela.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tr\u00eas pontos que importam no dia a dia:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>N\u00e3o exige Tuning Pack (diferente do SQL Profile).<\/li>\n\n\n\n<li>Sobrevive a deploys da aplica\u00e7\u00e3o que n\u00e3o preservam coment\u00e1rios inline.<\/li>\n\n\n\n<li>\u00c9 leve: guarda hints, n\u00e3o o plano completo com outline.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Quando o SQL Patch \u00e9 a escolha certa<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>O c\u00f3digo da aplica\u00e7\u00e3o n\u00e3o pode ser alterado.<\/li>\n\n\n\n<li>Voc\u00ea j\u00e1 tentou SQL Plan Baseline e ela n\u00e3o reproduz (<code>REPRODUCED = NO<\/code>).<\/li>\n\n\n\n<li>Voc\u00ea precisa de algo simples: for\u00e7ar um hint espec\u00edfico, sem amarrar o plano inteiro.<\/li>\n\n\n\n<li>Voc\u00ea quer flexibilidade: o CBO continua escolhendo o plano, mas dentro da restri\u00e7\u00e3o do hint.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">SQL Patch vs Baseline vs Profile vs hint inline<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Abordagem<\/th><th>O que faz<\/th><th>Custo \/ risco<\/th><\/tr><\/thead><tbody><tr><td><strong>SQL Patch<\/strong><\/td><td>Injeta hints espec\u00edficos<\/td><td>Leve. Sempre aplica o hint. Sem Tuning Pack<\/td><\/tr><tr><td><strong>SQL Plan Baseline<\/strong><\/td><td>Tenta recriar um plano inteiro<\/td><td>Pesada. Pode falhar em reproduzir e cair fora<\/td><\/tr><tr><td><strong>SQL Profile<\/strong><\/td><td>Ajusta estimativas (cardinalidade, custo)<\/td><td>Precisa de Tuning Pack. N\u00e3o garante o plano<\/td><\/tr><tr><td><strong>Hint inline<\/strong><\/td><td>Hint no pr\u00f3prio c\u00f3digo<\/td><td>Some no primeiro deploy que reescreve o SQL<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Resumo pr\u00e1tico: Baseline \u00e9 pesada e pode n\u00e3o reproduzir; Profile mexe em estimativas e exige licen\u00e7a; hint inline morre no deploy. O Patch \u00e9 direto, expl\u00edcito e persistente.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lab: for\u00e7ar PARALLEL sem alterar o c\u00f3digo<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote has-small-font-size is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u26a0\ufe0f <strong>Pr\u00e9-requisitos:<\/strong> Enterprise Edition (Parallel Query \u00e9 recurso EE), <code>parallel_max_servers > 0<\/code> (o padr\u00e3o j\u00e1 atende) e privil\u00e9gio para executar <code>DBMS_SQLDIAG<\/code>. Cen\u00e1rio: Oracle 19c, Single Instance.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">1. Massa de dados<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Uma tabela sem grau de paralelismo definido (<code>DEGREE = 1<\/code>) e sem hint nenhum.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>DROP TABLE t_lab_px PURGE;\n\nCREATE TABLE t_lab_px AS\nSELECT level AS id,\n       MOD(level, 1000) AS grp,\n       RPAD('x', 50, 'x') AS pad\nFROM   dual\nCONNECT BY level &lt;= 3000000;\n\nEXEC DBMS_STATS.GATHER_TABLE_STATS(USER, 'T_LAB_PX');\n\nSELECT degree FROM user_tables WHERE table_name = 'T_LAB_PX';\n-- DEGREE = 1<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">DROP<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">TABLE<\/span><span style=\"color: #D8DEE9FF\"> t_lab_px PURGE;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">CREATE<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">TABLE<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">t_lab_px<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">AS<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">SELECT<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">level<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">AS<\/span><span style=\"color: #D8DEE9FF\"> id,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">       MOD(<\/span><span style=\"color: #81A1C1\">level<\/span><span style=\"color: #D8DEE9FF\">, <\/span><span style=\"color: #B48EAD\">1000<\/span><span style=\"color: #D8DEE9FF\">) <\/span><span style=\"color: #81A1C1\">AS<\/span><span style=\"color: #D8DEE9FF\"> grp,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">       RPAD(<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">x<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">, <\/span><span style=\"color: #B48EAD\">50<\/span><span style=\"color: #D8DEE9FF\">, <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">x<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">) <\/span><span style=\"color: #81A1C1\">AS<\/span><span style=\"color: #D8DEE9FF\"> pad<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">FROM<\/span><span style=\"color: #D8DEE9FF\">   dual<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">CONNECT<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">BY<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">level<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&lt;=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">3000000<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">EXEC<\/span><span style=\"color: #D8DEE9FF\"> DBMS_STATS.GATHER_TABLE_STATS(USER, <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">T_LAB_PX<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">SELECT<\/span><span style=\"color: #D8DEE9FF\"> degree <\/span><span style=\"color: #81A1C1\">FROM<\/span><span style=\"color: #D8DEE9FF\"> user_tables <\/span><span style=\"color: #81A1C1\">WHERE<\/span><span style=\"color: #D8DEE9FF\"> table_name <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">T_LAB_PX<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">-- DEGREE = 1<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<blockquote class=\"wp-block-quote has-small-font-size is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u26a0\ufe0f <strong>Bateu ORA-30009 (Not enough memory for CONNECT BY)?<\/strong> Em sess\u00f5es com PGA apertada, gerar 3 milh\u00f5es de n\u00edveis de uma vez estoura. Troque o gerador por dois <code>CONNECT BY<\/code> pequenos em cross join, que n\u00e3o seguram tudo na PGA:  &#8220;<code>sql CREATE TABLE t_lab_px AS WITH gen AS ( SELECT \/<em>+ materialize <\/em>\/ level AS n FROM dual CONNECT BY level &lt;= 2000 ) SELECT ROWNUM AS id, MOD(ROWNUM, 1000) AS grp, RPAD('x', 50, 'x') AS pad FROM   gen a, gen b WHERE  ROWNUM &lt;= 3000000; <\/code>&#8220;<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">2. Baseline: o plano nasce serial<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>SELECT \/*+ qb_name(main) *\/ grp, COUNT(*)\nFROM   t_lab_px t\nGROUP  BY grp;\n\nSELECT sql_id, child_number\nFROM   v$sql\nWHERE  sql_text LIKE 'SELECT \/*+ qb_name(main) *\/ grp%'\nAND    sql_text NOT LIKE '%v$sql%';<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">SELECT<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #616E88\">\/*+ qb_name(main) *\/<\/span><span style=\"color: #D8DEE9FF\"> grp, <\/span><span style=\"color: #88C0D0\">COUNT<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">FROM<\/span><span style=\"color: #D8DEE9FF\">   t_lab_px t<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">GROUP  BY<\/span><span style=\"color: #D8DEE9FF\"> grp;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">SELECT<\/span><span style=\"color: #D8DEE9FF\"> sql_id, child_number<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">FROM<\/span><span style=\"color: #D8DEE9FF\">   v$<\/span><span style=\"color: #81A1C1\">sql<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">WHERE<\/span><span style=\"color: #D8DEE9FF\">  sql_text <\/span><span style=\"color: #81A1C1\">LIKE<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">SELECT \/*+ qb_name(main) *\/ grp%<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">AND<\/span><span style=\"color: #D8DEE9FF\">    sql_text <\/span><span style=\"color: #81A1C1\">NOT<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">LIKE<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">%v$sql%<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>SQL_ID        CHILD_NUMBER\n------------- ------------\n3w40z8nk3h5g5            0<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #d8dee9ff\">SQL_ID        CHILD_NUMBER<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">------------- ------------<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">3w40z8nk3h5g5            0<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR('3w40z8nk3h5g5', NULL, 'BASIC +NOTE'));<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">SELECT<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">FROM<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">TABLE<\/span><span style=\"color: #D8DEE9FF\">(DBMS_XPLAN.DISPLAY_CURSOR(<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">3w40z8nk3h5g5<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">, <\/span><span style=\"color: #81A1C1\">NULL<\/span><span style=\"color: #D8DEE9FF\">, <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">BASIC +NOTE<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">));<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>Plan hash value: 1056803887\n\n---------------------------------------\n| Id  | Operation          | Name     |\n---------------------------------------\n|   0 | SELECT STATEMENT   |          |\n|   1 |  HASH GROUP BY     |          |\n|   2 |   TABLE ACCESS FULL| T_LAB_PX |\n---------------------------------------<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #d8dee9ff\">Plan hash value: 1056803887<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\"><\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">---------------------------------------<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">| Id  | Operation          | Name     |<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">---------------------------------------<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">|   0 | SELECT STATEMENT   |          |<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">|   1 |  HASH GROUP BY     |          |<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">|   2 |   TABLE ACCESS FULL| T_LAB_PX |<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">---------------------------------------<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Nada de paralelismo. <code>TABLE ACCESS FULL<\/code> serial e ponto.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote has-small-font-size is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udca1 O <code>qb_name(main)<\/code> \u00e9 proposital: nomear o query block deixa o hint do patch mais leg\u00edvel e est\u00e1vel do que depender do <code>SEL$1<\/code> autogerado.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">3. Criar o SQL Patch injetando PARALLEL<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No 19c, <code>CREATE_SQL_PATCH<\/code> \u00e9 <strong>function<\/strong>, n\u00e3o procedure: o retorno tem que ir para uma vari\u00e1vel.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>SET SERVEROUTPUT ON\nDECLARE\n  v_patch VARCHAR2(128);\nBEGIN\n  v_patch := DBMS_SQLDIAG.CREATE_SQL_PATCH(\n               sql_id      => '3w40z8nk3h5g5',\n               hint_text   => 'PARALLEL(4)',\n               name        => 'PX_LAB_PATCH',\n               description => 'Injeta PARALLEL(4) sem alterar o codigo',\n               category    => 'DEFAULT',\n               validate    => TRUE);\n  DBMS_OUTPUT.PUT_LINE('Patch criado: ' || v_patch);\nEND;\n\/<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">SET<\/span><span style=\"color: #D8DEE9FF\"> SERVEROUTPUT <\/span><span style=\"color: #81A1C1\">ON<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">DECLARE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  v_patch <\/span><span style=\"color: #81A1C1\">VARCHAR2<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #B48EAD\">128<\/span><span style=\"color: #D8DEE9FF\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">BEGIN<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  v_patch :<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> DBMS_SQLDIAG.CREATE_SQL_PATCH(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">               sql_id      <\/span><span style=\"color: #81A1C1\">=&gt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">3w40z8nk3h5g5<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">               hint_text   <\/span><span style=\"color: #81A1C1\">=&gt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">PARALLEL(4)<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">               <\/span><span style=\"color: #81A1C1\">name<\/span><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">=&gt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">PX_LAB_PATCH<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">               <\/span><span style=\"color: #81A1C1\">description<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=&gt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Injeta PARALLEL(4) sem alterar o codigo<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">               category    <\/span><span style=\"color: #81A1C1\">=&gt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">DEFAULT<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">               validate    <\/span><span style=\"color: #81A1C1\">=&gt;<\/span><span style=\"color: #D8DEE9FF\"> TRUE);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  DBMS_OUTPUT.PUT_LINE(<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Patch criado: <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">||<\/span><span style=\"color: #D8DEE9FF\"> v_patch);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">END<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">\/<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>Patch criado: PX_LAB_PATCH\nPL\/SQL procedure successfully completed.<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #d8dee9ff\">Patch criado: PX_LAB_PATCH<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">PL\/SQL procedure successfully completed.<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>SELECT name, status, force_matching, sql_text\nFROM   dba_sql_patches\nWHERE  name = 'PX_LAB_PATCH';<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">SELECT<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">name<\/span><span style=\"color: #D8DEE9FF\">, <\/span><span style=\"color: #81A1C1\">status<\/span><span style=\"color: #D8DEE9FF\">, force_matching, sql_text<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">FROM<\/span><span style=\"color: #D8DEE9FF\">   dba_sql_patches<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">WHERE<\/span><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #81A1C1\">name<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">PX_LAB_PATCH<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>NAME           STATUS   FOR SQL_TEXT\n-------------- -------- --- -------------------------------------------\nPX_LAB_PATCH   ENABLED  NO  SELECT \/*+ qb_name(main) *\/ grp, COUNT(*)...<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #d8dee9ff\">NAME           STATUS   FOR SQL_TEXT<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">-------------- -------- --- -------------------------------------------<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">PX_LAB_PATCH   ENABLED  NO  SELECT \/*+ qb_name(main) *\/ grp, COUNT(*)...<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<blockquote class=\"wp-block-quote has-small-font-size is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udca1 Para mirar uma tabela espec\u00edfica em vez do statement inteiro, use a forma objeto do hint: <code>PARALLEL(t@main 4)<\/code>, no formato <code>PARALLEL(alias@query_block grau)<\/code>.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">4. Rodar de novo e confirmar o plano paralelo<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">O <code>sql_id<\/code> n\u00e3o muda: o texto \u00e9 id\u00eantico, ent\u00e3o s\u00f3 nasce um child cursor novo.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>SELECT \/*+ qb_name(main) *\/ grp, COUNT(*)\nFROM   t_lab_px t\nGROUP  BY grp;\n\nSELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR('3w40z8nk3h5g5', NULL, 'BASIC +NOTE'));<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">SELECT<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #616E88\">\/*+ qb_name(main) *\/<\/span><span style=\"color: #D8DEE9FF\"> grp, <\/span><span style=\"color: #88C0D0\">COUNT<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">FROM<\/span><span style=\"color: #D8DEE9FF\">   t_lab_px t<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">GROUP  BY<\/span><span style=\"color: #D8DEE9FF\"> grp;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">SELECT<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">FROM<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">TABLE<\/span><span style=\"color: #D8DEE9FF\">(DBMS_XPLAN.DISPLAY_CURSOR(<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">3w40z8nk3h5g5<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">, <\/span><span style=\"color: #81A1C1\">NULL<\/span><span style=\"color: #D8DEE9FF\">, <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">BASIC +NOTE<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">));<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>Plan hash value: 142943352\n\n---------------------------------------------\n| Id  | Operation                | Name     |\n---------------------------------------------\n|   0 | SELECT STATEMENT         |          |\n|   1 |  PX COORDINATOR          |          |\n|   2 |   PX SEND QC (RANDOM)    | :TQ10001 |\n|   3 |    HASH GROUP BY         |          |\n|   4 |     PX RECEIVE           |          |\n|   5 |      PX SEND HASH        | :TQ10000 |\n|   6 |       HASH GROUP BY      |          |\n|   7 |        PX BLOCK ITERATOR |          |\n|   8 |         TABLE ACCESS FULL| T_LAB_PX |\n---------------------------------------------\n\nNote\n-----\n   - Degree of Parallelism is 4 because of hint\n   - SQL patch \"PX_LAB_PATCH\" used for this statement<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #d8dee9ff\">Plan hash value: 142943352<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\"><\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">---------------------------------------------<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">| Id  | Operation                | Name     |<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">---------------------------------------------<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">|   0 | SELECT STATEMENT         |          |<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">|   1 |  PX COORDINATOR          |          |<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">|   2 |   PX SEND QC (RANDOM)    | :TQ10001 |<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">|   3 |    HASH GROUP BY         |          |<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">|   4 |     PX RECEIVE           |          |<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">|   5 |      PX SEND HASH        | :TQ10000 |<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">|   6 |       HASH GROUP BY      |          |<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">|   7 |        PX BLOCK ITERATOR |          |<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">|   8 |         TABLE ACCESS FULL| T_LAB_PX |<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">---------------------------------------------<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\"><\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">Note<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">-----<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">   - Degree of Parallelism is 4 because of hint<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">   - SQL patch &quot;PX_LAB_PATCH&quot; used for this statement<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Duas linhas no <code>Note<\/code> fecham o caso: o grau de paralelismo virou 4 por causa do hint, e o patch foi de fato aplicado.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Confirmar o uso em runtime<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>SELECT sql_id, child_number, sql_patch\nFROM   v$sql\nWHERE  sql_id = '3w40z8nk3h5g5'\nAND    sql_patch IS NOT NULL;<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">SELECT<\/span><span style=\"color: #D8DEE9FF\"> sql_id, child_number, sql_patch<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">FROM<\/span><span style=\"color: #D8DEE9FF\">   v$<\/span><span style=\"color: #81A1C1\">sql<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">WHERE<\/span><span style=\"color: #D8DEE9FF\">  sql_id <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">3w40z8nk3h5g5<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">AND<\/span><span style=\"color: #D8DEE9FF\">    sql_patch <\/span><span style=\"color: #81A1C1\">IS NOT NULL<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>SQL_ID        CHILD_NUMBER SQL_PATCH\n------------- ------------ ------------\n3w40z8nk3h5g5            0 PX_LAB_PATCH<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #d8dee9ff\">SQL_ID        CHILD_NUMBER SQL_PATCH<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">------------- ------------ ------------<\/span><\/span>\n<span class=\"line\"><span style=\"color: #d8dee9ff\">3w40z8nk3h5g5            0 PX_LAB_PATCH<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Comandos de administra\u00e7\u00e3o do dia a dia<\/h2>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>-- Listar\nSELECT name, status, force_matching FROM dba_sql_patches;\n\n-- Desabilitar sem apagar\nEXEC DBMS_SQLDIAG.ALTER_SQL_PATCH('PX_LAB_PATCH', 'STATUS', 'DISABLED');\n\n-- Reabilitar\nEXEC DBMS_SQLDIAG.ALTER_SQL_PATCH('PX_LAB_PATCH', 'STATUS', 'ENABLED');\n\n-- Remover\nEXEC DBMS_SQLDIAG.DROP_SQL_PATCH('PX_LAB_PATCH');\n\n-- Confirmar uso em runtime\nSELECT sql_id, sql_patch FROM v$sql WHERE sql_patch IS NOT NULL;<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\">-- Listar<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">SELECT<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">name<\/span><span style=\"color: #D8DEE9FF\">, <\/span><span style=\"color: #81A1C1\">status<\/span><span style=\"color: #D8DEE9FF\">, force_matching <\/span><span style=\"color: #81A1C1\">FROM<\/span><span style=\"color: #D8DEE9FF\"> dba_sql_patches;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">-- Desabilitar sem apagar<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">EXEC<\/span><span style=\"color: #D8DEE9FF\"> DBMS_SQLDIAG.ALTER_SQL_PATCH(<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">PX_LAB_PATCH<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">, <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">STATUS<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">, <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">DISABLED<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">-- Reabilitar<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">EXEC<\/span><span style=\"color: #D8DEE9FF\"> DBMS_SQLDIAG.ALTER_SQL_PATCH(<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">PX_LAB_PATCH<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">, <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">STATUS<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">, <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">ENABLED<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">-- Remover<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">EXEC<\/span><span style=\"color: #D8DEE9FF\"> DBMS_SQLDIAG.DROP_SQL_PATCH(<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">PX_LAB_PATCH<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">-- Confirmar uso em runtime<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">SELECT<\/span><span style=\"color: #D8DEE9FF\"> sql_id, sql_patch <\/span><span style=\"color: #81A1C1\">FROM<\/span><span style=\"color: #D8DEE9FF\"> v$<\/span><span style=\"color: #81A1C1\">sql<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">WHERE<\/span><span style=\"color: #D8DEE9FF\"> sql_patch <\/span><span style=\"color: #81A1C1\">IS NOT NULL<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Pegadinhas que valem ouro<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>O patch \u00e9 amarrado \u00e0 assinatura do texto.<\/strong> Se a aplica\u00e7\u00e3o manda literais que mudam (um <code>sql_id<\/code> diferente a cada execu\u00e7\u00e3o), um patch por <code>sql_id<\/code> casa s\u00f3 com aquela variante. Para os demais, ele simplesmente n\u00e3o aplica.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Force matching n\u00e3o sai pela <code>CREATE_SQL_PATCH<\/code>.<\/strong> A fun\u00e7\u00e3o p\u00fablica <code>DBMS_SQLDIAG.CREATE_SQL_PATCH<\/code> aceita s\u00f3 <code>sql_id<\/code> (ou <code>sql_text<\/code>), <code>hint_text<\/code>, <code>name<\/code>, <code>description<\/code>, <code>category<\/code> e <code>validate<\/code>. N\u00e3o existe par\u00e2metro <code>force_match<\/code> aqui. O <code>force_match<\/code> que existe pertence a outra fun\u00e7\u00e3o, a <code>DBMS_SQLDIAG.ACCEPT_SQL_PATCH<\/code>, usada no fluxo do SQL Repair Advisor. Para for\u00e7ar matching em um patch criado por <code>CREATE_SQL_PATCH<\/code>, o caminho \u00e9 o workaround de staging table (criar a staging table com <code>CREATE_STGTAB_SQLPATCH<\/code>, empacotar com <code>PACK_STGTAB_SQLPATCH<\/code>, ajustar <code>sqlflags<\/code> e a assinatura na tabela e reimportar). \u00c9 t\u00e9cnica avan\u00e7ada, n\u00e3o um simples par\u00e2metro.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Hint de PARALLEL tem comportamento pr\u00f3prio.<\/strong> <code>IGNORE_OPTIM_EMBEDDED_HINTS<\/code> e <code>OPTIMIZER_IGNORE_HINTS<\/code> n\u00e3o derrubam um <code>PARALLEL<\/code> embutido. Para o caso inverso, remover paralelismo cravado no c\u00f3digo, o caminho que funciona \u00e9 injetar <code>opt_param('optimizer_ignore_parallel_hints' 'true')<\/code> via patch (dispon\u00edvel a partir do 18c).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><code>CREATE_SQL_PATCH<\/code> mudou de natureza no 12.2.<\/strong> Quem vem da \u00e9poca do <code>DBMS_SQLDIAG_INTERNAL.I_CREATE_PATCH<\/code> precisa lembrar: no 19c \u00e9 function com retorno, ent\u00e3o capture o valor em vari\u00e1vel.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclus\u00e3o<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Quando voc\u00ea n\u00e3o pode tocar no c\u00f3digo mas precisa controlar o plano, o roteiro \u00e9:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Identifique o <code>sql_id<\/code> da query problem\u00e1tica.<\/li>\n\n\n\n<li>Capture o plano atual como baseline (<code>DBMS_XPLAN.DISPLAY_CURSOR<\/code>).<\/li>\n\n\n\n<li>Crie o patch com o hint desejado via <code>DBMS_SQLDIAG.CREATE_SQL_PATCH<\/code> (lembre: \u00e9 function no 19c).<\/li>\n\n\n\n<li>Rode de novo e valide pela se\u00e7\u00e3o <code>Note<\/code> do plano e por <code>v$sql.sql_patch<\/code>.<\/li>\n\n\n\n<li>Se literais variam, avalie force matching pela staging table, n\u00e3o por par\u00e2metro.<\/li>\n\n\n\n<li>Documente o patch e tenha <code>ALTER<\/code> e <code>DROP<\/code> \u00e0 m\u00e3o para reverter.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Refer\u00eancias<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Oracle Database 19c PL\/SQL Packages Reference: DBMS_SQLDIAG. <a href=\"https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/19\/arpls\/DBMS_SQLDIAG.html\">https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/19\/arpls\/DBMS_SQLDIAG.html<\/a><\/li>\n\n\n\n<li>SQLMaria (Nigel Bayliss): How to use a SQL Plan Baseline or a SQL Patch to add Optimizer hints. <a href=\"https:\/\/sqlmaria.com\/2020\/02\/25\/how-to-use-a-sql-plan-baseline-or-a-sql-patch-to-add-optimizer-hints\/\">https:\/\/sqlmaria.com\/2020\/02\/25\/how-to-use-a-sql-plan-baseline-or-a-sql-patch-to-add-optimizer-hints\/<\/a><\/li>\n\n\n\n<li>Jonathan Lewis: sql_patch. <a href=\"https:\/\/jonathanlewis.wordpress.com\/2019\/08\/21\/sql_patch\/\">https:\/\/jonathanlewis.wordpress.com\/2019\/08\/21\/sql_patch\/<\/a><\/li>\n\n\n\n<li>Jonathan Lewis: force_match patch. <a href=\"https:\/\/jonathanlewis.wordpress.com\/2023\/08\/19\/force_match-patch\/\">https:\/\/jonathanlewis.wordpress.com\/2023\/08\/19\/force_match-patch\/<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voc\u00ea herdou uma query com PARALLEL(16) cravado no c\u00f3digo, ou o contr\u00e1rio: precisa for\u00e7ar paralelismo numa query que roda serial e n\u00e3o pode tocar na aplica\u00e7\u00e3o. C\u00f3digo de fornecedor, deploy que n\u00e3o preserva os coment\u00e1rios do SQL, ticket que leva meses para virar release. O SQL Patch existe exatamente para isso: injetar hints em um<\/p>\n","protected":false},"author":1,"featured_media":8512,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[178],"tags":[397,399,313,398],"class_list":["post-9335","post","type-post","status-publish","format-standard","has-post-thumbnail","category-performance","tag-dbms_sqldiag","tag-execution-plan","tag-lab","tag-parallel"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SQL Patch: injetar hints no Oracle sem alterar o c\u00f3digo | Execute Step<\/title>\n<meta name=\"description\" content=\"Use o SQL Patch do Oracle para injetar hints sem alterar o codigo da aplicacao. Lab no 19c forcando PARALLEL, com saida real validada.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/executestep.com\/pt-br\/performance\/sql-patch-injetar-hints-oracle\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL Patch: injetar hints no Oracle sem alterar o c\u00f3digo | Execute Step\" \/>\n<meta property=\"og:description\" content=\"Use o SQL Patch do Oracle para injetar hints sem alterar o codigo da aplicacao. Lab no 19c forcando PARALLEL, com saida real validada.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/executestep.com\/pt-br\/performance\/sql-patch-injetar-hints-oracle\/\" \/>\n<meta property=\"og:site_name\" content=\"Execute Step\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-13T14:44:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-13T14:44:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/executestep.com\/wp-content\/uploads\/2026\/03\/default_lab.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1380\" \/>\n\t<meta property=\"og:image:height\" content=\"752\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Henrique\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Henrique\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/performance\\\/sql-patch-injetar-hints-oracle\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/performance\\\/sql-patch-injetar-hints-oracle\\\/\"},\"author\":{\"name\":\"Henrique\",\"@id\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/#\\\/schema\\\/person\\\/7e854882e27693a21f607693465d95aa\"},\"headline\":\"SQL Patch: injetar hints no Oracle sem alterar o c\u00f3digo\",\"datePublished\":\"2026-06-13T14:44:12+00:00\",\"dateModified\":\"2026-06-13T14:44:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/performance\\\/sql-patch-injetar-hints-oracle\\\/\"},\"wordCount\":931,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/#\\\/schema\\\/person\\\/7e854882e27693a21f607693465d95aa\"},\"image\":{\"@id\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/performance\\\/sql-patch-injetar-hints-oracle\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/executestep.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/default_lab.png\",\"keywords\":[\"dbms_sqldiag\",\"execution-plan\",\"lab\",\"parallel\"],\"articleSection\":[\"Performance\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/executestep.com\\\/pt-br\\\/performance\\\/sql-patch-injetar-hints-oracle\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/performance\\\/sql-patch-injetar-hints-oracle\\\/\",\"url\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/performance\\\/sql-patch-injetar-hints-oracle\\\/\",\"name\":\"SQL Patch: injetar hints no Oracle sem alterar o c\u00f3digo | Execute Step\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/performance\\\/sql-patch-injetar-hints-oracle\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/performance\\\/sql-patch-injetar-hints-oracle\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/executestep.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/default_lab.png\",\"datePublished\":\"2026-06-13T14:44:12+00:00\",\"dateModified\":\"2026-06-13T14:44:14+00:00\",\"description\":\"Use o SQL Patch do Oracle para injetar hints sem alterar o codigo da aplicacao. Lab no 19c forcando PARALLEL, com saida real validada.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/performance\\\/sql-patch-injetar-hints-oracle\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/executestep.com\\\/pt-br\\\/performance\\\/sql-patch-injetar-hints-oracle\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/performance\\\/sql-patch-injetar-hints-oracle\\\/#primaryimage\",\"url\":\"https:\\\/\\\/executestep.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/default_lab.png\",\"contentUrl\":\"https:\\\/\\\/executestep.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/default_lab.png\",\"width\":1380,\"height\":752,\"caption\":\"Default Lab\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/performance\\\/sql-patch-injetar-hints-oracle\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL Patch: injetar hints no Oracle sem alterar o c\u00f3digo\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/#website\",\"url\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/\",\"name\":\"Execute Step\",\"description\":\"Execute with precision. Step by step.\",\"publisher\":{\"@id\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/#\\\/schema\\\/person\\\/7e854882e27693a21f607693465d95aa\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/#\\\/schema\\\/person\\\/7e854882e27693a21f607693465d95aa\",\"name\":\"Henrique\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/executestep.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/logo_autor.png\",\"url\":\"https:\\\/\\\/executestep.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/logo_autor.png\",\"contentUrl\":\"https:\\\/\\\/executestep.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/logo_autor.png\",\"width\":182,\"height\":173,\"caption\":\"Henrique\"},\"logo\":{\"@id\":\"https:\\\/\\\/executestep.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/logo_autor.png\"},\"sameAs\":[\"https:\\\/\\\/executestep.com\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/henrique-soares-da-silva\\\/\",\"#\"],\"url\":\"https:\\\/\\\/executestep.com\\\/pt-br\\\/author\\\/ricuxo\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SQL Patch: injetar hints no Oracle sem alterar o c\u00f3digo | Execute Step","description":"Use o SQL Patch do Oracle para injetar hints sem alterar o codigo da aplicacao. Lab no 19c forcando PARALLEL, com saida real validada.","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:\/\/executestep.com\/pt-br\/performance\/sql-patch-injetar-hints-oracle\/","og_locale":"pt_BR","og_type":"article","og_title":"SQL Patch: injetar hints no Oracle sem alterar o c\u00f3digo | Execute Step","og_description":"Use o SQL Patch do Oracle para injetar hints sem alterar o codigo da aplicacao. Lab no 19c forcando PARALLEL, com saida real validada.","og_url":"https:\/\/executestep.com\/pt-br\/performance\/sql-patch-injetar-hints-oracle\/","og_site_name":"Execute Step","article_published_time":"2026-06-13T14:44:12+00:00","article_modified_time":"2026-06-13T14:44:14+00:00","og_image":[{"width":1380,"height":752,"url":"https:\/\/executestep.com\/wp-content\/uploads\/2026\/03\/default_lab.png","type":"image\/png"}],"author":"Henrique","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Henrique","Est. tempo de leitura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/executestep.com\/pt-br\/performance\/sql-patch-injetar-hints-oracle\/#article","isPartOf":{"@id":"https:\/\/executestep.com\/pt-br\/performance\/sql-patch-injetar-hints-oracle\/"},"author":{"name":"Henrique","@id":"https:\/\/executestep.com\/pt-br\/#\/schema\/person\/7e854882e27693a21f607693465d95aa"},"headline":"SQL Patch: injetar hints no Oracle sem alterar o c\u00f3digo","datePublished":"2026-06-13T14:44:12+00:00","dateModified":"2026-06-13T14:44:14+00:00","mainEntityOfPage":{"@id":"https:\/\/executestep.com\/pt-br\/performance\/sql-patch-injetar-hints-oracle\/"},"wordCount":931,"commentCount":0,"publisher":{"@id":"https:\/\/executestep.com\/pt-br\/#\/schema\/person\/7e854882e27693a21f607693465d95aa"},"image":{"@id":"https:\/\/executestep.com\/pt-br\/performance\/sql-patch-injetar-hints-oracle\/#primaryimage"},"thumbnailUrl":"https:\/\/executestep.com\/wp-content\/uploads\/2026\/03\/default_lab.png","keywords":["dbms_sqldiag","execution-plan","lab","parallel"],"articleSection":["Performance"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/executestep.com\/pt-br\/performance\/sql-patch-injetar-hints-oracle\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/executestep.com\/pt-br\/performance\/sql-patch-injetar-hints-oracle\/","url":"https:\/\/executestep.com\/pt-br\/performance\/sql-patch-injetar-hints-oracle\/","name":"SQL Patch: injetar hints no Oracle sem alterar o c\u00f3digo | Execute Step","isPartOf":{"@id":"https:\/\/executestep.com\/pt-br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/executestep.com\/pt-br\/performance\/sql-patch-injetar-hints-oracle\/#primaryimage"},"image":{"@id":"https:\/\/executestep.com\/pt-br\/performance\/sql-patch-injetar-hints-oracle\/#primaryimage"},"thumbnailUrl":"https:\/\/executestep.com\/wp-content\/uploads\/2026\/03\/default_lab.png","datePublished":"2026-06-13T14:44:12+00:00","dateModified":"2026-06-13T14:44:14+00:00","description":"Use o SQL Patch do Oracle para injetar hints sem alterar o codigo da aplicacao. Lab no 19c forcando PARALLEL, com saida real validada.","breadcrumb":{"@id":"https:\/\/executestep.com\/pt-br\/performance\/sql-patch-injetar-hints-oracle\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/executestep.com\/pt-br\/performance\/sql-patch-injetar-hints-oracle\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/executestep.com\/pt-br\/performance\/sql-patch-injetar-hints-oracle\/#primaryimage","url":"https:\/\/executestep.com\/wp-content\/uploads\/2026\/03\/default_lab.png","contentUrl":"https:\/\/executestep.com\/wp-content\/uploads\/2026\/03\/default_lab.png","width":1380,"height":752,"caption":"Default Lab"},{"@type":"BreadcrumbList","@id":"https:\/\/executestep.com\/pt-br\/performance\/sql-patch-injetar-hints-oracle\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/executestep.com\/pt-br\/"},{"@type":"ListItem","position":2,"name":"SQL Patch: injetar hints no Oracle sem alterar o c\u00f3digo"}]},{"@type":"WebSite","@id":"https:\/\/executestep.com\/pt-br\/#website","url":"https:\/\/executestep.com\/pt-br\/","name":"Execute Step","description":"Execute with precision. Step by step.","publisher":{"@id":"https:\/\/executestep.com\/pt-br\/#\/schema\/person\/7e854882e27693a21f607693465d95aa"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/executestep.com\/pt-br\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":["Person","Organization"],"@id":"https:\/\/executestep.com\/pt-br\/#\/schema\/person\/7e854882e27693a21f607693465d95aa","name":"Henrique","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/executestep.com\/wp-content\/uploads\/2026\/02\/logo_autor.png","url":"https:\/\/executestep.com\/wp-content\/uploads\/2026\/02\/logo_autor.png","contentUrl":"https:\/\/executestep.com\/wp-content\/uploads\/2026\/02\/logo_autor.png","width":182,"height":173,"caption":"Henrique"},"logo":{"@id":"https:\/\/executestep.com\/wp-content\/uploads\/2026\/02\/logo_autor.png"},"sameAs":["https:\/\/executestep.com","https:\/\/www.linkedin.com\/in\/henrique-soares-da-silva\/","#"],"url":"https:\/\/executestep.com\/pt-br\/author\/ricuxo\/"}]}},"_links":{"self":[{"href":"https:\/\/executestep.com\/pt-br\/wp-json\/wp\/v2\/posts\/9335","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/executestep.com\/pt-br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/executestep.com\/pt-br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/executestep.com\/pt-br\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/executestep.com\/pt-br\/wp-json\/wp\/v2\/comments?post=9335"}],"version-history":[{"count":2,"href":"https:\/\/executestep.com\/pt-br\/wp-json\/wp\/v2\/posts\/9335\/revisions"}],"predecessor-version":[{"id":9340,"href":"https:\/\/executestep.com\/pt-br\/wp-json\/wp\/v2\/posts\/9335\/revisions\/9340"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/executestep.com\/pt-br\/wp-json\/wp\/v2\/media\/8512"}],"wp:attachment":[{"href":"https:\/\/executestep.com\/pt-br\/wp-json\/wp\/v2\/media?parent=9335"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/executestep.com\/pt-br\/wp-json\/wp\/v2\/categories?post=9335"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/executestep.com\/pt-br\/wp-json\/wp\/v2\/tags?post=9335"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}