tag:blogger.com,1999:blog-56206960017245920472024-03-19T02:48:15.938-06:00Oracledbacr, por simple pasión ...-Copyleft Miembro Comunidad Tecnológica de Oracle Latinoaméricaronald.vargas.quesada@gmail.com / Blog de Tecnologías Oracle desde 2009, San José, Costa Rica, 23 de Febrero 15 Aniveresario -"No vivas para que tu presencia se note, sino para que tu ausencia se sienta" Bob Marleyoracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.comBlogger5671125tag:blogger.com,1999:blog-5620696001724592047.post-77904223454961783062024-02-29T10:50:00.003-06:002024-02-29T10:50:27.708-06:00Cambios importantes en PWA en iOS 17.4 para usuarios de la UE<div style="text-align: justify;">Por Mónica Godoy, Senior Principal Product Manager for Oracle APEX</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">El próximo iOS 17.4 de Apple se adherirá a la Ley de Mercados Digitales (DMA) de la UE al imponer la igualdad de navegadores. Si bien la DMA podría haber permitido a otros proveedores de navegadores también ofrecer PWA en iOS, Apple ha optado por desactivar esta funcionalidad por completo.</div><div style="text-align: justify;"> </div><div><div style="text-align: justify;">Esta decisión afecta significativamente a las aplicaciones APEX en la UE al:</div><div><ul style="text-align: left;"><li style="text-align: justify;">Eliminando la experiencia similar a una aplicación instalable.</li><li style="text-align: justify;">Desactivar las notificaciones push.</li><li style="text-align: justify;">Ralentizar la carga de la página al borrar el caché local.</li></ul><div style="text-align: justify;">Las PWA APEX se reducirán a simples marcadores y las aplicaciones existentes que dependen de la funcionalidad PWA dejarán de funcionar. Esto afectará negativamente a las empresas y a los consumidores de la UE, que lo percibirán como un defecto en su aplicación APEX.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg38X-XawRIubtvefQpUzcbAFnqSgIMWGuXnz4fX1iihhKmIeuNpKtakBpkoHTfHjWm_rNyehKDrNtWlRfVbFI3IyXOgRQBDvn-yL8aVtMGi9xN5rOOBHFUMwrRtXEtvRVbxzlH_1WuduHbp813txLUbFnRtO7d5xk2rNZHNduBu-9T1gUHCNt6uTzdEc7H" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1280" data-original-width="664" height="405" src="https://blogger.googleusercontent.com/img/a/AVvXsEg38X-XawRIubtvefQpUzcbAFnqSgIMWGuXnz4fX1iihhKmIeuNpKtakBpkoHTfHjWm_rNyehKDrNtWlRfVbFI3IyXOgRQBDvn-yL8aVtMGi9xN5rOOBHFUMwrRtXEtvRVbxzlH_1WuduHbp813txLUbFnRtO7d5xk2rNZHNduBu-9T1gUHCNt6uTzdEc7H=w211-h405" width="211" /></a></div></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">👉 Puedes unirte a la comunidad <a href="https://forums.oracle.com/ords/apexds/domain/dev-community?tags=orclapex">#orclapex</a> firmando la carta abierta a Tim Cook en <a href="http://letter.open-web-advocacy.org/">letter.open-web-advocacy.org</a> ahora.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">No dude en agregar un comentario a continuación si su aplicación o negocio se verá afectado. Sería bueno comprender cómo afecta esto a las aplicaciones APEX PWA en el mundo real.</div></div></div><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-49433396579524030462024-02-25T13:27:00.004-06:002024-02-25T13:27:33.979-06:00Por que el símbolo de arroba @ en el correo electrónico.<p> <span style="background-color: white; color: #050505; font-family: inherit; font-size: 14px; white-space-collapse: preserve;">Hay dos motivos por los que se incluyó la @ en las direcciones de correo electrónico:</span></p><div class="x11i5rnm xat24cr x1mh8g0r x1vvkbs xtlvy1s x126k92a" style="background-color: white; color: #050505; font-family: "Segoe UI Historic", "Segoe UI", Helvetica, Arial, sans-serif; font-size: 14px; margin: 0.5em 0px 0px; overflow-wrap: break-word; white-space-collapse: preserve;"><div dir="auto" style="font-family: inherit;"><ol style="text-align: left;"><li>El primero, que era un ícono poco utilizado. </li><li>El segundo, que <b><u>en latín el símbolo significa “en”</u></b>, lo que dota de significado a las direcciones (por ejemplo usuario (en) gmail, ronald.vargas.quesada@gmail.com</li></ol></div></div><div class="x11i5rnm xat24cr x1mh8g0r x1vvkbs xtlvy1s x126k92a" style="background-color: white; color: #050505; font-family: "Segoe UI Historic", "Segoe UI", Helvetica, Arial, sans-serif; font-size: 14px; margin: 0.5em 0px 0px; overflow-wrap: break-word; white-space-collapse: preserve;"><div dir="auto" style="font-family: inherit;">En <span style="font-family: inherit;"><a style="color: #385898; cursor: pointer; font-family: inherit;" tabindex="-1"></a></span>España por el ejemplo, sin que conste el inicio de la utilización del símbolo, una arroba equivalía a la cuarta parte de un quintal, es decir, entre 30 y 36 libras.</div><div dir="auto" style="font-family: inherit;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIqaGEHl8JkWvai8JgpbemHKM4SpfqO2Vegr4rKToVE9eB66uUn51zlnfZZXCgJ9ntTO-Lm94z0RkWbU7nJFe_EL4Z1KVxxgAnN_sa_aUbFwVhXU4x5WIMr-idzEsA78t1prRQIStPsip9yT2dRMfpLJLHEBhrUiG0eYivKOx5D_-0vMFLIBIjlo_8LJre/s450/creador_arroba.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="370" data-original-width="450" height="201" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIqaGEHl8JkWvai8JgpbemHKM4SpfqO2Vegr4rKToVE9eB66uUn51zlnfZZXCgJ9ntTO-Lm94z0RkWbU7nJFe_EL4Z1KVxxgAnN_sa_aUbFwVhXU4x5WIMr-idzEsA78t1prRQIStPsip9yT2dRMfpLJLHEBhrUiG0eYivKOx5D_-0vMFLIBIjlo_8LJre/w245-h201/creador_arroba.jpg" width="245" /></a></div><br /><div dir="auto" style="font-family: inherit;"><span style="font-family: inherit;">El 21 de junio de 1971, cuando el programador estadounidense, Raymond Tomlinson, lo añadió a la dirección del primer mensaje de correo electrónico que se envió de un ordenador a otro, alcanzó la inmortalidad.</span></div></div><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-27647430797856663442024-02-25T13:25:00.001-06:002024-02-25T13:25:16.788-06:00Copiar y Pegar - COPY/PASTE - la invención que nos ha ahorrado millones de horas de edición.<div style="text-align: justify;">Hace unos días atrás, el 16 de febrero pero del 2020, muere en Portola Valley, California, Larry Tesler, a la edad de 74 años.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Tesler, inventó una de las funcionalidades que supone millones de horas en ahorro para todos los usuarios de un ordenador.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">El copy/paste, fue por primera vez ejecutado por Tesler en el año 1981.</div><div style="text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcAzXS2XLOsltt4YPwSFyMQti_0GnfQX0PbQTyMkxSZ9EiTAodPgs6hI86-y7zf6W3JewPkBaWKt7nAIS83k092TOZshvkhlxHzrh4GCWWIOoVG0Achq1KWMiO1lUFlQauiHDAxObZQSWRitlRJyExV7ibdf_7cCWuRlz2AES2hi6YG4Uy9c2XQdp_1Yax/s960/creador_copy_paste.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="504" data-original-width="960" height="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcAzXS2XLOsltt4YPwSFyMQti_0GnfQX0PbQTyMkxSZ9EiTAodPgs6hI86-y7zf6W3JewPkBaWKt7nAIS83k092TOZshvkhlxHzrh4GCWWIOoVG0Achq1KWMiO1lUFlQauiHDAxObZQSWRitlRJyExV7ibdf_7cCWuRlz2AES2hi6YG4Uy9c2XQdp_1Yax/s320/creador_copy_paste.jpg" width="320" /></a></div><br /><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Tesler quién trabajaba para XEROX, renunció a dicha compañía para incorporarse a Apple en julio de 1980 apoyando el desarrollo de Apple Lisa, gracias a la intervención de Steve Jobs.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">A partir de 1990, Tesler fue nombrado vicepresidente del Grupo Newton de Apple bajo el Grupo de Tecnología Avanzada y dirigió los esfuerzos de desarrollo del Apple Newton , uno de los primeros asistentes digitales personales y predecesor de la tableta.</div><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-52129984367542359822024-02-25T13:23:00.001-06:002024-02-25T13:23:07.412-06:00 Los dominios de nombres en INTERNET.<div style="text-align: justify;">Paul Mockapetris informático estadounidense y pionero de Internet, junto con Jon Postel, inventaron el DNS (sistema de nombres de dominio) de internet.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Crearon un sistema jerárquico en niveles, de la misma forma que dentro de un libro hay capítulos. Cada una de las etiquetas jerárquicas asignadas a cada dispositivo estarían compuestas por dos elementos: el nombre de dominio y la extensión.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">En 1985 se establecieron seis tipos de extensiones diferentes, destinadas a identificar el uso general del dominio:</div><div style="text-align: justify;"><ul><li>.com (Sitios de uso comercial)</li><li>.net (Sitios de infraestructuras de la red)</li><li>.org (Sitios de Organizaciones)</li><li>.gov (Sitios de organismos gubernamentales)</li><li>.mil (Sitios de dependencias militares)</li><li>.edu (Sitios de institutos educativos)</li></ul></div><div style="text-align: justify;">Hasta 1995 registrar un dominio era gratis.</div><div style="text-align: justify;">Pensaríamos, que el dominio <a href="https://l.facebook.com/l.php?u=http%3A%2F%2Finternet.com%2F%3Ffbclid%3DIwAR1DhSbQ4h4JDh0bH0UuDZnZjlxJ3woX0J7bu84g1-9HFdz9s98KKAhg4cE&h=AT29JeyrUd7u5HfQaBb5ftjTujv028jg6ifstQ_TC3ytcaL5FUcRYeDY1usXxlx8apAAil3HAwErBSjCW4YALgX612PdDyu_REOSVUKvf-SZIh2pcacDkp6-wucIqHL7Nw&__tn__=-UK-R&c[0]=AT2JVX3UpobG2Pfa1aMg3uWfIUdSmGgxztVmJyOsaOql3LI12vaQ1mOeL8aMuhe6F9zsR_1hM4Ayn_lQ5sdZ4gnjLO9uquMuMnXiOpr2rqpZgtAxxgO_8TM63NEQAOmJ4uBwEeuwDtI1jijnepG8PZay0Sl_V-s8T-k3cADr8HDRGVMINY-NfQ">internet.com</a>, sería el más caro, sin embargo no es así. Este dominio, se ubica en el 5 lugar con un valor de $18 millones.</div><div style="text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQmsTJEtRURcqoYNVjbgeKVLAaDe6S5nKOTfEabsrxuMe-vM4_3N7JwujzPgujlO-D3iz5Dg4yETOmV-LpRBY00eVkryfUsz8eHnEdGgPIztoVF25QME421RUxpxQm7hzD96HWAkuLAWmY6MlZevjoLOSBWHSpK7jcXvWT-_G2CkZDtsVfPYEm1uLejefh/s696/dominios.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="441" data-original-width="696" height="203" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQmsTJEtRURcqoYNVjbgeKVLAaDe6S5nKOTfEabsrxuMe-vM4_3N7JwujzPgujlO-D3iz5Dg4yETOmV-LpRBY00eVkryfUsz8eHnEdGgPIztoVF25QME421RUxpxQm7hzD96HWAkuLAWmY6MlZevjoLOSBWHSpK7jcXvWT-_G2CkZDtsVfPYEm1uLejefh/s320/dominios.jpg" width="320" /></a></div><br /><div style="text-align: justify;"><a href="https://l.facebook.com/l.php?u=http%3A%2F%2FCarinsurance.com%2F%3Ffbclid%3DIwAR3L4h0gDiVmOlO4yX_YxRCDXWKgBoJKmYwX6BCskXiPWXfe_Uy-Gy7RK4I&h=AT0tH4VgM6cgko3clU_nRr8BtJ1LY2gdoAusfIKv3xo2oytPq_LpRdUeI1ISLm5Ce600bbVOyqLBsapRew5VtrEe8RSFanh17yy3KrGirjuniQv-QiiUXdsdae8b2dqzFg&__tn__=-UK-R&c[0]=AT2JVX3UpobG2Pfa1aMg3uWfIUdSmGgxztVmJyOsaOql3LI12vaQ1mOeL8aMuhe6F9zsR_1hM4Ayn_lQ5sdZ4gnjLO9uquMuMnXiOpr2rqpZgtAxxgO_8TM63NEQAOmJ4uBwEeuwDtI1jijnepG8PZay0Sl_V-s8T-k3cADr8HDRGVMINY-NfQ">Carinsurance.com</a>, se ubica como el dominio más caro con un valor de $49.7 millones y <a href="https://l.facebook.com/l.php?u=http%3A%2F%2FINSURANCE.COM%2F%3Ffbclid%3DIwAR3dfifwhtdWF9egpiIr3KZpMSQdAV4dnAAiVosbtb3HU3wJwCrGtRSgeek&h=AT2JUI_b3zb5lxBJ1VwNjnR-SyiDk4w-QOeEHl2Qg6wCoxCa1nS79bi6Q2AsmFf4UB9lTG4upx_uXB0WYJa6cm3A-9NPHVcepW8oK1Uxz5IDChqOO9AgggZ2Iz3UooGUrg&__tn__=-UK-R&c[0]=AT2JVX3UpobG2Pfa1aMg3uWfIUdSmGgxztVmJyOsaOql3LI12vaQ1mOeL8aMuhe6F9zsR_1hM4Ayn_lQ5sdZ4gnjLO9uquMuMnXiOpr2rqpZgtAxxgO_8TM63NEQAOmJ4uBwEeuwDtI1jijnepG8PZay0Sl_V-s8T-k3cADr8HDRGVMINY-NfQ">INSURANCE.COM</a> en el segundo con $35.6 millones. <a href="http://vacationrentals.com/?fbclid=IwAR03ysi69j1cJZ08bgiQoOWWIphgypg0aliUMSmD9yJBqaaTXsxllBousMs">VacationRentals.com</a> – $35 millones en el tercer lugar y <a href="https://l.facebook.com/l.php?u=http%3A%2F%2FVoice.com%2F%3Ffbclid%3DIwAR19VvrGvxpp-jrLi6Fh3haxQKF0UwipdQglmvir1Qr3jT_P_CYxOMXydeo&h=AT3Kas_jScNujz7aTAK5YRZxyzc6k0GxPp_VG8kLVGVrEao7aiV_FgLDRlnPTNpZqvTfDHXsfuZ8EojFz8tsKejFDgfnyiVMc5-Bz3H3AcAltPvwETb6UYsvQjIgz6kZzA&__tn__=-UK-R&c[0]=AT2JVX3UpobG2Pfa1aMg3uWfIUdSmGgxztVmJyOsaOql3LI12vaQ1mOeL8aMuhe6F9zsR_1hM4Ayn_lQ5sdZ4gnjLO9uquMuMnXiOpr2rqpZgtAxxgO_8TM63NEQAOmJ4uBwEeuwDtI1jijnepG8PZay0Sl_V-s8T-k3cADr8HDRGVMINY-NfQ">Voice.com</a> – $30 millones en el cuarto lugar, completa el TOP5 al año 2023.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Contrariamente los dominios ".shop", se venden por un poco más de $1 al año.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Son curiosidades que pocas veces, le ponemos atención.</div><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-35164679461549129492024-02-25T13:21:00.001-06:002024-02-25T13:21:18.027-06:00 CAPTCHA significa…“Completely Automated Public Turing Test to tell Computers and Humans Apart”, o lo que viene a ser “Prueba de Turing completamente automática y pública para distinguir máquinas de humanos”.<div><br />Lo que debe de suponer que el Test de Turing ya ha sido superado según los creadores del concepto, dado que ya hace tiempo que la Inteligencia Artificial es capaz de superar captchas.</div><br />El CAPTCHA fue inventado por Luis Von Ahn informático y empresario guatemalteco, profesor de ciencias de la computación en la Universidad Carnegie Mellon, fundador de las compañías Duolingo, Captcha y Recaptcha, la cual fue vendida a Google en 2009.<div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7_-_Xm4YA6PF13AuVcBFZf8EoLUYkDHzM53Bu0mLSpwXGdWb5kN7Dkf-bpfISzTcX-4zu0PNTozrAjQFgRhGRVzHIr_oXAdnF_yfx44Jsc9vc_4LT9jfY5TozvLISB7uZQC35Nvs-uUhRpAmY_MR5guf9QlLnwa12VjC3j5bnw8ktrnomQxANfCTIK-H7/s395/captcha.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="128" data-original-width="395" height="104" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7_-_Xm4YA6PF13AuVcBFZf8EoLUYkDHzM53Bu0mLSpwXGdWb5kN7Dkf-bpfISzTcX-4zu0PNTozrAjQFgRhGRVzHIr_oXAdnF_yfx44Jsc9vc_4LT9jfY5TozvLISB7uZQC35Nvs-uUhRpAmY_MR5guf9QlLnwa12VjC3j5bnw8ktrnomQxANfCTIK-H7/s320/captcha.jpg" width="320" /></a></div><br /><div><br /></div><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-71192159805831714232024-02-25T13:18:00.000-06:002024-02-25T13:18:07.594-06:00 Qué hay de especial con la historía del término "Bug".Que una de las ingenieras que hizo parte del reporte de incidente y que operaba el Mark II, era Grace Hooper.!!!<div><br />Sí, la misma que desarrolló el lenguaje de programación COBOL.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsizl5P9qfpNjoH5S4WLl3X71hzVmegSXRisUaC8HCSvwbmUWmhPVEAI8pNQe-od7_5j0KbMWF-DnNnCwp83wyZoMic8USj5Xaa4dl_2bXZZTDg-so7s7qvxnlaSEwBaK2PO_5oED73v4Pff0-WQRzdZhGsDe_LTKyPfYTxH3oX6DEcVh9PoKi9ihjsIpW/s720/creador_cobol.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="720" height="331" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsizl5P9qfpNjoH5S4WLl3X71hzVmegSXRisUaC8HCSvwbmUWmhPVEAI8pNQe-od7_5j0KbMWF-DnNnCwp83wyZoMic8USj5Xaa4dl_2bXZZTDg-so7s7qvxnlaSEwBaK2PO_5oED73v4Pff0-WQRzdZhGsDe_LTKyPfYTxH3oX6DEcVh9PoKi9ihjsIpW/w497-h331/creador_cobol.jpg" width="497" /></a></div><br /><div><br /></div><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-79086060889772268992024-02-25T13:16:00.003-06:002024-02-25T13:16:52.190-06:00Sabías que el término "Bug" se originó por una polilla real.?<div style="text-align: justify;">Específicamente, lo causó un mal funcionamiento en el ordenador Mark II en 1947.</div><div style="text-align: justify;">Un equipo de científicos de la Universidad de Hardvard en Massachusetts, Estados Unidos, escribió una nota en el registro de uso de la computadora Mark II, que era básicamente una calculadora gigante.</div><div style="text-align: justify;">La nota en cuestión era muy simple y estaba marcada a las 3:45 p.m: “Primer caso real de un bug encontrado”, reza el registro, junto a una muestra del especimen.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Lo que había ocurrido en realidad es que una polilla, una real polilla, estaba dentro de los circuitos de la Mark II. Y no solo habitaba en el aparato, sino que era la causa de que la computadora generara problemas de varios tipos en su funcionamiento; literalmente, un bug causando errores en una computadora.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Los ingenieros a cargo del uso de la Mark II descubrieron que la polilla estaba atrapada en un circuito muy particular: el relé 70 del Panel F, tal como indica la nota. Y como prueba del suceso, pegaron el cadáver de la polilla en la nota con cinta adhesiva, en lo que se convertiría en el primer registro exacto y literal de un bug, que pasaría a la historia.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Imágen podría contar con derechos de autor.</div><div style="text-align: justify;"><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsVAp_P1XybV7Lscu_ah3FnEn4b8NR8zlCUM6yvIpXV8f25HxreTl-HWbeu6ytgETV3boWnnLif0ktihNSnh-hOWY9-8xAEfnE9jYcgKgfw2_CatQXAcNgyGPr3oBQVCVETwxb_kne8rV9U7ctwEixL8U9gGv5h_yT9cGDRobn__ErcWeFwETXjE0j2bfO/s640/primer_bug.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="532" data-original-width="640" height="350" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsVAp_P1XybV7Lscu_ah3FnEn4b8NR8zlCUM6yvIpXV8f25HxreTl-HWbeu6ytgETV3boWnnLif0ktihNSnh-hOWY9-8xAEfnE9jYcgKgfw2_CatQXAcNgyGPr3oBQVCVETwxb_kne8rV9U7ctwEixL8U9gGv5h_yT9cGDRobn__ErcWeFwETXjE0j2bfO/w421-h350/primer_bug.jpg" width="421" /></a></div><br /></div><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-70392577011792677982024-02-25T13:14:00.005-06:002024-02-25T13:14:34.947-06:00Breve historia de los Transpiladores.<div style="text-align: justify;">Transpilador: Uno de los primeros programas de este tipo fue Digital Research XLT86 en 1981, un programa escrito por Gary Kildall, el cual traducía código fuente .ASM del procesador Intel 8080 a código fuente .A86 para el procesador Intel 8086. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Utilizando análisis de flujo de datos global sobre el uso de los registros del 8080, el traductor también optimizaba la salida en cuanto a tamaño de código y convenciones de invocación. Así que los programas de CP/M-80 and MP/M-80 pudieron ser portados a las plataformas CP/M-86 y MP/M-86 de forma automática. El XLT86 fue escrito en PL/I-80.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">En abril de 1974, Intel lanza su microprocesador 8080, el "segundo microprocesador de 8 bits".</div><div style="text-align: justify;">El i8080 fue una variante del diseño ampliado y mejorado de su microprocesador anterior 8008, aunque sin compatibilidad binaria.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">El límite de frecuencia de reloj especificada inicial fue de 2MHz y con instrucciones comunes que tiene tiempos de ejecución de 4, 5, 7, 10 o 11 ciclos de esto significaba que operaba a una velocidad efectiva de unos cientos de miles de instrucciones por segundo.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">El i8080 ha sido a llamado "el primer microprocesador realmente utilizable", debido a que hasta su llegada, no se utilizaban microprocesadores para las calculadoras, cajas registradoras, terminales de ordenador, robots industriales y otras aplicaciones.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">La arquitectura del 8080 influyó fuertemente en 8086 la arquitectura de la CPU de Intel, que dio lugar a la familia de procesadores x86.</div><div style="text-align: justify;"><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkXTclJIzSXSkZecPRj-YOkH6vjUDn-tmYnNXnp3TXZ8CSdOGd1gikDeCHY_-jM0LlRYclHy7AiMP1aFneaz-Tyhym0J8qZvRYYC0hkKf-tgqMJYSpfd7CZn_ZaqD3n9AlINJN3JW3CzXPgMKEi2iOm0YUf5fxYSKGgm2mANGVjMnkp76pA473Gue40UXU/s306/8080_procesador.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="165" data-original-width="306" height="232" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkXTclJIzSXSkZecPRj-YOkH6vjUDn-tmYnNXnp3TXZ8CSdOGd1gikDeCHY_-jM0LlRYclHy7AiMP1aFneaz-Tyhym0J8qZvRYYC0hkKf-tgqMJYSpfd7CZn_ZaqD3n9AlINJN3JW3CzXPgMKEi2iOm0YUf5fxYSKGgm2mANGVjMnkp76pA473Gue40UXU/w431-h232/8080_procesador.jpg" width="431" /></a></div><br /></div><div style="text-align: justify;"><br /></div><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-65438411656814055232024-02-25T13:12:00.001-06:002024-02-25T13:12:07.543-06:00Oracle Database 23cPerformance TuningSQL Transpiler<div style="text-align: justify;">SQL Transpiler automáticamente y siempre que sea posible convierte (transpila) funciones PL/SQL dentro de SQL en expresiones SQL, sin intervención del usuario.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Las expresiones en sentencias SQL de Oracle pueden llamar a funciones PL/SQL. Pero estas llamadas generan una sobrecarga porque se debe invocar el tiempo de ejecución de PL/SQL. El compilador SQL intenta convertir automáticamente cualquier función PL/SQL llamada desde una declaración SQL en una expresión SQL semánticamente equivalente.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">La transpilación de funciones PL/SQL a SQL aumenta el rendimiento de programas y funciones nuevos y existentes. Cuando se invoca una función PL/SQL transpilada, el costo por fila de ejecutar el código transpilado dentro de SQL es mucho menor que cambiar del tiempo de ejecución de SQL al tiempo de ejecución de PL/SQL para ejecutar el código PL/SQL original.</div><div style="text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="378" src="https://www.youtube.com/embed/Tkiqo6lW_rM" width="455" youtube-src-id="Tkiqo6lW_rM"></iframe></div><br /><div style="text-align: justify;"><br /></div><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-25181147686729425462024-02-21T16:58:00.003-06:002024-02-21T16:58:21.168-06:00Oracle implementará cambios incrementales en My Oracle Support (https://support.oracle.com), lo que podría afectar su capacidad para iniciar sesión.<p><b>Comunicado al Cliente de Oracle,</b></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsqXMyh_qVd-UV1-bsYBGh04jLKnLePwoZex6cvFpIkAR4T0YmDYvfLQF1DLHeeXiAJ4zVBLhjGXRV1h0-OS5nPnbteULFWsG8H6Gt1BNrF9q1lLLjytHwMYS2GISRA22K41K2W5y7WwrvLIkDn8hvJxvmstpVsV0MPFbX_AUZaMN6sRGZbfNSBkdnzXPc/s720/image.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="360" data-original-width="720" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsqXMyh_qVd-UV1-bsYBGh04jLKnLePwoZex6cvFpIkAR4T0YmDYvfLQF1DLHeeXiAJ4zVBLhjGXRV1h0-OS5nPnbteULFWsG8H6Gt1BNrF9q1lLLjytHwMYS2GISRA22K41K2W5y7WwrvLIkDn8hvJxvmstpVsV0MPFbX_AUZaMN6sRGZbfNSBkdnzXPc/s320/image.png" width="320" /></a></div><p style="text-align: justify;">El primer cambio está planeado para el 1 de marzo de 2024. </p><p style="text-align: justify;">Cuando haga clic en "Iniciar sesión en My Oracle Support" en https://support.oracle.com, verá una breve redirección a https://login-ext.identity.oraclecloud.com antes de ingresar sus credenciales de inicio de sesión. Además de esta redirección momentánea, su experiencia de inicio de sesión será la misma que hoy.</p><p style="text-align: justify;">Más adelante en marzo, la URL de inicio de sesión de la cuenta Oracle https://login.oracle.com será reemplazada por https://signon.oracle.com y la página de inicio de sesión única existente se reemplazará por un proceso de dos pasos: primero el correo electrónico, seguido de su contraseña en una segunda página.</p><p><b>Acción requerida:</b></p><p style="text-align: justify;">Por favor, inicie sesión en MOS Communities o Cloud Customer Connect, que ya han introducido el primer cambio. Si puede iniciar sesión con éxito, no se requiere ninguna acción adicional.</p><p></p><ul style="text-align: left;"><li style="text-align: justify;">https://community.oracle.com/mosc</li><li>https://community.oracle.com/customerconnect</li></ul><p></p><p style="text-align: justify;">Si no puede iniciar sesión en ninguna de las comunidades, tiene un firewall u otras políticas de seguridad que le impiden acceder a URL específicas. Agregue las siguientes URL a la lista aprobada en su firewall o trabaje con su equipo de IT, Seguridad o Redes para agregar las URL a la lista aprobada:</p><ul style="text-align: left;"><li style="text-align: justify;">https://login-ext.identity.oraclecloud.com</li><li style="text-align: justify;">https://signon.oracle.com</li></ul><p style="text-align: justify;">Nota: Ninguna de las dos URL anteriores está disponible para realizar pruebas directas.</p><p style="text-align: justify;">Si necesita ayuda o no puede completar las acciones requeridas antes del 1 de marzo de 2024, notifíquenos registrando una Solicitud de Servicio no técnica con el Soporte de Oracle.</p><div><br /></div><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-60818570808560078272024-02-14T15:41:00.004-06:002024-02-14T15:41:52.440-06:00Oracle Database 19c, llega al fin de su período de Soporte Premier!!!<p> <span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">Que rápido se nos va el tiempo.!!!</span></p><span style="background-color: white; border: var(--artdeco-reset-base-border-zero); box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: var(--artdeco-reset-base-margin-zero); outline: var(--artdeco-reset-base-outline-zero); padding: var(--artdeco-reset-base-padding-zero); vertical-align: var(--artdeco-reset-base-vertical-align-baseline);"><br style="box-sizing: inherit; line-height: inherit !important;" /></span><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">Actualización: Oracle Database 19c, concluye su período de Soporte Premier el 30 de abril de este año 2024.!!!</span><span style="background-color: white; border: var(--artdeco-reset-base-border-zero); box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: var(--artdeco-reset-base-margin-zero); outline: var(--artdeco-reset-base-outline-zero); padding: var(--artdeco-reset-base-padding-zero); vertical-align: var(--artdeco-reset-base-vertical-align-baseline);"><br style="box-sizing: inherit; line-height: inherit !important;" /></span><span style="background-color: white; border: var(--artdeco-reset-base-border-zero); box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: var(--artdeco-reset-base-margin-zero); outline: var(--artdeco-reset-base-outline-zero); padding: var(--artdeco-reset-base-padding-zero); vertical-align: var(--artdeco-reset-base-vertical-align-baseline);"><br style="box-sizing: inherit; line-height: inherit !important;" /></span><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">El soporte extendido, sin costo alguno se prolongará por 2 años y tendrá efecto del 01/05/24 al 30/06/26.</span><span style="background-color: white; border: var(--artdeco-reset-base-border-zero); box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: var(--artdeco-reset-base-margin-zero); outline: var(--artdeco-reset-base-outline-zero); padding: var(--artdeco-reset-base-padding-zero); vertical-align: var(--artdeco-reset-base-vertical-align-baseline);"><br style="box-sizing: inherit; line-height: inherit !important;" /></span><span style="background-color: white; border: var(--artdeco-reset-base-border-zero); box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: var(--artdeco-reset-base-margin-zero); outline: var(--artdeco-reset-base-outline-zero); padding: var(--artdeco-reset-base-padding-zero); vertical-align: var(--artdeco-reset-base-vertical-align-baseline);"><br style="box-sizing: inherit; line-height: inherit !important;" /></span><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">Oracle Database 23c, es la siguiente versión con soporte extendido, hasta el mes de abril del 2032. Por el momento la versión 23c, sigue estando disponible sólo en OCI Database Service, pero en este primer semestre lo estará para otras plataformas.</span><span style="background-color: white; border: var(--artdeco-reset-base-border-zero); box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: var(--artdeco-reset-base-margin-zero); outline: var(--artdeco-reset-base-outline-zero); padding: var(--artdeco-reset-base-padding-zero); vertical-align: var(--artdeco-reset-base-vertical-align-baseline);"><br style="box-sizing: inherit; line-height: inherit !important;" /></span><span style="background-color: white; border: var(--artdeco-reset-base-border-zero); box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: var(--artdeco-reset-base-margin-zero); outline: var(--artdeco-reset-base-outline-zero); padding: var(--artdeco-reset-base-padding-zero); vertical-align: var(--artdeco-reset-base-vertical-align-baseline);"><br style="box-sizing: inherit; line-height: inherit !important;" /></span><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">Mayor información en Release Schedule of Current Database Releases (Doc ID 742060.1) @myoraclesupport</span><div><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCUbbsCFLFRR03WKb3LRHXlP4szoUL6CUNJRnvHukWBM2AYHiOubkyLMcag-upE__MMEXCspE02sEY-KQ2RC7eNmoR6u46RWLaW3Vq_wOglVwAyYBg4StSLvWv-mcXrZ-dB0n7P7MKZpY46eykS3AdKLkNJSNtb1dIuk7WDSQlbcAjWjE5Xg2J6ro8G2N9/s1061/database_release_support.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="559" data-original-width="1061" height="294" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCUbbsCFLFRR03WKb3LRHXlP4szoUL6CUNJRnvHukWBM2AYHiOubkyLMcag-upE__MMEXCspE02sEY-KQ2RC7eNmoR6u46RWLaW3Vq_wOglVwAyYBg4StSLvWv-mcXrZ-dB0n7P7MKZpY46eykS3AdKLkNJSNtb1dIuk7WDSQlbcAjWjE5Xg2J6ro8G2N9/w557-h294/database_release_support.jpg" width="557" /></a></div><br /><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;"><br /></span></div><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-79829181028191371232024-01-11T10:55:00.003-06:002024-01-11T10:55:34.501-06:00Tom Kyte ASKTOM y su filosofía, cuánto aprendimos de él !!!Un 10 de setiembre de 2006 escribía Tom Kyte- ASKTOM- en su blog, en referencia a temas de afinamiento y de ubicación en el orden de las tablas en la cláusula FROM:<div><br />"Mi humilde sugerencia es ignorar por completo mi humilde sugerencia y adoptar un enfoque de "confiar pero verificar".</div><div><br />Hay tres tipos de consultores de Oracle:<br />a) los que son mejores que yo<br />b) los que no son mejores que yo<br />c) los que son más o menos iguales</div><div><br />Al igual que suceden tres cosas cuando haces un ajuste de rendimiento:<br />a) se va más rápido<br />b) va más lento<br />c) no cambia en absoluto</div><div><br />Foto: OTN TOUR GUATEMALA 2013. De izquierda a derecha, <a href="https://www.facebook.com/fluencyinchineseenglish?__cft__[0]=AZXw5ia_mxkCh5ncqt6nv1oW6qf56mlAPoAbX6gpNeWagQJD0kj2bmU8AGjvC1q25ow9YNx7qfQXSUAygj3GOMlmbAIDvQWGpyivW9m6rJVewks2U2pA3KIW11n3Sqaor8k&__tn__=-]K-R">Joel Pérez</a>, Tom Kyte ASKTOM y mi persona.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjydf51zzp2HV7fGoFufhlSzWiy-9YXRwW74k0OJ6W5fxKc3hWsnLqnnc4fUniHbcJzLjZatP61lhmPayGKMMwEp55X5lwbDg0VVE5WmpnI5ijbldBe7scDxIxbVSZppL7xmgysBWNqQvYr3AC-z2ZCzjQZ87cMRqWzWLZYCeiecmv5xTb1JRcnFDr7Vrn3" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="540" data-original-width="720" height="338" src="https://blogger.googleusercontent.com/img/a/AVvXsEjydf51zzp2HV7fGoFufhlSzWiy-9YXRwW74k0OJ6W5fxKc3hWsnLqnnc4fUniHbcJzLjZatP61lhmPayGKMMwEp55X5lwbDg0VVE5WmpnI5ijbldBe7scDxIxbVSZppL7xmgysBWNqQvYr3AC-z2ZCzjQZ87cMRqWzWLZYCeiecmv5xTb1JRcnFDr7Vrn3=w450-h338" width="450" /></a></div><br /><br /></div><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-17499527005913235702023-12-31T14:00:00.001-06:002023-12-31T14:00:24.740-06:00Cuando todo el mundo estuvo en vilo por un cambio de año, Y2K BUG, hace 24 años.<div style="text-align: justify;">Hace 24 años atrás estabamos como decían nuestros abuelos "como un bistec de 5 pesos", sólo nervios.</div><div style="text-align: justify;">El famoso "Y2K BUG", fue el culpable del primer blog que empecé a escribir allá por el año 1998 en el hosting gratuito "<a href="https://l.facebook.com/l.php?u=http%3A%2F%2Fgeocities.com%2F%3Ffbclid%3DIwAR1rAyto8mQiF090dBjbOxcUfjnizfP9b0ye2Vxg7THIHCgiQtnBxuto_Tw&h=AT0Vsu0lurRzls8bWIVY1wLdb46IY9bELHXU9iz8_qIaSejHMp7eZND1Zbqouf6XLLjJwWJa29crcWMKLIlGAcknOOGHnle8YCL3lOTb-VRMcev6TTYmZexgU9kS5da1Vw&__tn__=-UK-R&c[0]=AT1GngP9_7g66duI02R5jLz0XGzGOOnZqsnR3HfF4MMgL_JMb8qS-8e6wRPGMisfzI69lSs_khXuGTBnV9KPz-ydY1aCDuv30EUw9hzIMnbzrebUtegM1Jffv-vovX37igYdX7yFPqc6hQQ7Re8cE0bNLrA">geocities.com</a>".</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Muchas cosas aprendí en esos 2 años, que la mayoría ignoró.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">El 01 de enero del 2000, muchos sistemas fallaron al final por problemas derivados de la falta de actualización del BIOS.</div><div style="text-align: justify;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiN9Pw-wHOYp4feaj2rsK763OXzZmkUs3mVycXmtc_ZK1b4FYyBW_Q2HhUabBNTsQI3puL--m82pWkZyYjIhjndRCjMzt6RhA2hwb-TUDQW8RrEzaSo2PE4gbORTdprQmo6KExrGCfZJRRQ08B5E6Ey-xFixjelnuWXL5gS6uyqPjFjJRSoJ4I2NqnuMW4b" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="481" data-original-width="428" height="505" src="https://blogger.googleusercontent.com/img/a/AVvXsEiN9Pw-wHOYp4feaj2rsK763OXzZmkUs3mVycXmtc_ZK1b4FYyBW_Q2HhUabBNTsQI3puL--m82pWkZyYjIhjndRCjMzt6RhA2hwb-TUDQW8RrEzaSo2PE4gbORTdprQmo6KExrGCfZJRRQ08B5E6Ey-xFixjelnuWXL5gS6uyqPjFjJRSoJ4I2NqnuMW4b=w450-h505" width="450" /></a></div><br />Los costos de reparación o reprogramación de rutinas críticas se duplicaron rápidamente a finales de 1998, debido a la falta de personal técnico calificado. Los presupuestos iniciales no fueron suficientes para hacer frente a lo que se había detectado y en el último trimestre del año 1999, la mayoría de las gerencias tomó la decisión de "esperar" a ver que sucedía.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Las peores pesadillas en muchos años, se vivieron el día 02 de enero del 2000, cuando se regresó a trabajar y los sistemas, estaban con fecha 01/01/1900.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Fui testigo de muchas organizaciones que tardaron un par de semanas en volver a operación y gastaron hasta el triple del presupuesto inicial - que de por si era alto - para poder volver a brindar el servicio. Fue como aquel pasaje del cuento del lobo, "Ahi viene el lobo" y nadie hizo caso.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Al final, los errores se centraron en pocas cosas. Pero en donde se vió afectado, fue realmente una tragedia.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Una gran cantidad de historias que podría contar sobre esa época, pero eso será para otra ocasión.</div><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-23518537061873920782023-12-29T08:51:00.003-06:002023-12-29T08:51:49.283-06:00Sigamos hablando de: "Cómo escribir sentencias SQL como un PRO!. Parte 2" con Mónica Godoy como anfitriona.<p><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">En la primera sesión hicimos teoría. En esta otra vamos a al práctica 100%, demostrando lo que anteriormente indicamos.</span></p>
<center>
<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/VGw6ZAH-ikg?si=DMVIl1bnmkr3IVs3" title="YouTube video player" width="560"></iframe></center><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-33450285711744444772023-12-22T12:29:00.006-06:002023-12-22T12:30:11.476-06:00Oracle Interactive Technical Architecture Diagrams<p> </p>
<center>
<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="615" src="https://docs.oracle.com/en/database/oracle/oracle-database/23/aliad/iad_home.html" title="YouTube video player" width="560"></iframe></center><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-26081765559414755612023-12-21T22:18:00.000-06:002023-12-21T22:18:03.175-06:00Felices Fiestas a todos y todas<p> </p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='540' height='450' src='https://www.blogger.com/video.g?token=AD6v5dyZq5KYlva611l1dMYwdlFHIslYQWZMkDvB58tE3IPAqD-V3idOsOUGptBws9Gyv200sGTAft2IRI548KYu8w' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div><br /><p><br /></p><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-58197665677752191592023-11-23T09:43:00.000-06:002023-11-23T09:43:01.813-06:00Oracle como crear de patentes, cuántas ha presentado y cuántas están activas y en dónde.?<p><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">Oracle ha presentado más de 52000 patentes en todo el mundo, de las cuáles 20.797 han sido concebidas. Del total de patentes, el 76% están activas aprox.</span></p><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">Fueron los años de 2001 y 2002 cuando más patentes presentó: 5401 y 5485 respectivamente. Ese número fue descendiendo anualmente, hasta alcanzar en el 2010 1454 patentes. En el 2011 nuevamente volvió a crecer y desde el 2018 nuevamente ha descendido hasta 209 en el año 2021.</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">Casi el 72% de estas patentes fueron presentadas en los E.E.U.A., menos del 1% en el continente Europeo y en países como China, Australia, Japón, Reino Unido, India, Canadá y Corea del Sur.</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">Un dato curioso para quienes no lo sabíamos: la nota curiosa, es que existen países de Latinoamerica en donde Oracle presentó patentes.</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">Estos son: Brasil con 39, México con 20 y Costa Rica con 1.</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">La firma de abogados más exitosa que ha colaborado con Oracle en este tema, ha sido la firma Kilpatrick Townsend y Stockton, la cuál ha presentado 2793 aplicaciones y ha obtenido un 92% de efectividad. Esta famosa firma, fue la encargada de llevar el litigio entre Sony y el "Hacker" Gorge Hotz cuando este tenía 21 años, por el jailbreak a la PS3.</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">La empresa que más patentes utiliza de Oracle es IBM con 4140, seguida de Microsoft con 1862, SAVIA con 935, INTEL 785, Banco de New York 561, AMAZON 524, GOOGLE 513, SANSUNG 472 entre otras.</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">La patente más popular de Oracle es la US6336137B1, que ha recibido 2148 menciones de empresas como Cisco, IBM y Microsoft, la cuál habla sobre: "Sistema y método cliente-servidor web para lenguajes de presentación y marcado de páginas incompatibles".</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">En resumen: La invención se refiere a métodos y sistemas cliente-servidor donde varios clientes que usan diferentes lenguajes de marcado pueden usar el mismo servidor, que puede servir páginas en varios idiomas. El cliente puede ser un cliente ligero o un navegador, como se entiende generalmente ese término. El servidor está configurado para analizar la solicitud del cliente para determinar tanto el idioma de la solicitud como la información solicitada.</span><div><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1rk9r7EO6bp_Im424QEnfPqG8nMEhDI0Ao52_ptqthiP4IUPwkz0dafR9bgTPCFXR2YrP0PF5VOg2kHCiDQgpC5sUXEwxudCSghyaX5t77d8o3AWKvIOfBpPjoKytbszIZf4ilIX-pHF-1X1u0mqlj-OC56IsJeUYuh5ELOSHof0dfEa6SmT8F6AmMcoR/s1012/oracle%20police%20car.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="539" data-original-width="1012" height="328" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1rk9r7EO6bp_Im424QEnfPqG8nMEhDI0Ao52_ptqthiP4IUPwkz0dafR9bgTPCFXR2YrP0PF5VOg2kHCiDQgpC5sUXEwxudCSghyaX5t77d8o3AWKvIOfBpPjoKytbszIZf4ilIX-pHF-1X1u0mqlj-OC56IsJeUYuh5ELOSHof0dfEa6SmT8F6AmMcoR/w617-h328/oracle%20police%20car.png" width="617" /></a></div><br /><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;"><br /></span></div><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-6010227438728760022023-11-23T08:54:00.004-06:002023-11-23T08:54:42.189-06:00Performance Tuning: Cómo escribir sentencias SQL como un PRO! - Parte 2 - APEX Office Hours en Español<p>Diciembre 07, 2023</p>17:00 - 18:00 UTC Hora de Inicio en Todo el Mundo<div><br />Por Mónica Godoy, Senior Principal Product Manager for Oracle APEX</div><div>En la primera sesión, Ronald Vargas hablo de los diferentes factores que afectan el rendimiento de una sentencia SQL y finalmente el desempeño general de una aplicación. En esta segunda sesión, Ronald pondrá en práctica todo el conocimiento aprendido en la primera sesión para evaluar varias sentencias SQL y cómo pueden ser optimizadas.<br /><br />Encuentra la primera parte en: <a href="https://youtu.be/1J1GT6cZKWc?feature=shared">https://youtu.be/1J1GT6cZKWc?feature=shared</a><br /><br />Catch up on the recording for our <a href="https://asktom.oracle.com/pls/apex/asktom.search?oh=22046">last</a> session!<br />Don't miss our <a href="https://asktom.oracle.com/pls/apex/asktom.search?oh=7901">next</a> live session!<br />This session: <a href="https://asktom.oracle.com/pls/apex/asktom.search?oh=22686">https://asktom.oracle.com/pls/apex/asktom.search?oh=22686</a></div><div><br /></div><div>Mientras tanto, disfruta de la primera parte.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="440" src="https://www.youtube.com/embed/1J1GT6cZKWc" width="529" youtube-src-id="1J1GT6cZKWc"></iframe></div><br /><div><br /></div><div><br /><div class="row" style="background-color: #fcfbfa; box-sizing: border-box; color: #100f0e; font-family: "Oracle Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 14px; margin-left: -8px; margin-right: -8px;"><div class="col col-12 apex-col-auto" style="box-sizing: border-box; float: left; padding-left: 8px; padding-right: 8px; position: relative; width: 1293px;"><div class="t-ButtonRegion t-Form--floatLeft t-ButtonRegion--noUI" id="R387200037695395629" style="background-color: transparent; border-radius: 6px; border: 0px solid rgba(0, 0, 0, 0.075); box-shadow: none; box-sizing: border-box; margin: 0px 0px 8px; overflow: hidden;"><div class="t-ButtonRegion-wrap" style="border-collapse: collapse; box-sizing: border-box; display: table; width: 1277px;"><div class="t-ButtonRegion-col t-ButtonRegion-col--content" style="box-sizing: border-box; display: table-cell; padding: 12px 16px 0px 0px; vertical-align: middle; width: 1091.27px;"><h2 class="t-ButtonRegion-title" id="R387200037695395629_heading" style="border: 0px; box-sizing: border-box; clip: rect(0px, 0px, 0px, 0px); font-size: 2.4rem; height: 1px; line-height: 1.5; margin: -1px; overflow: hidden; padding: 0px; position: absolute; width: 1px;"></h2></div><div class="t-ButtonRegion-col t-ButtonRegion-col--right" style="box-sizing: border-box; display: table-cell; vertical-align: middle; width: 0px;"></div></div></div></div></div><br /></div><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-18158338505171191592023-10-29T16:21:00.004-06:002023-10-29T16:22:30.513-06:00Noviembre 04, ULATINA #PWNEDCR 0X6 Oracle Database Ethical Hacking "Sus datos podrían estar en el lugar equivocado".<div style="text-align: justify;">El próximo sábado 04 de noviembre, estaré presente en el #PWNEDCR 0X6</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Todos somos concientes que cuando aplicamos una funcionalidad con el fin de mejorar la calidad y la eficiencia de la seguridad de una base de datos, la misma no deje rastro alguno, de lo que queremos proteger.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Por esto es así o debemos tomar algunas medidas adicionales.?</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Es cierta la oferta que nos hacen con respecto a que: encriptar los repositorios de nuestros datos, trae consigo la solución a nuestros problemas de privacidad de información.?</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Son tan sólo 40 minutos, pero les aseguro que les tomará mucho más tiempo validar y tomar las medidas necesarias, para resguardarse de no estar expuestos.</div><div style="text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLt5xeHJUv_q0ni83z2TunX-X_b44NjjYnhacCzWH3MY4oQJI5pUmJllD-r_LmjpGESy2fMVB6J_GRRBuz6i1p9yBS07Lw8G6ywOqQiEiVpwzcaQkCFV-nvBtXyQgwJy9iW9ourmxGqRtar0JJGFYK82b3n9w3dveMH_yGBHzFhdM84jAeFmYsb1SOhcOQ/s1280/pwnedcr_0x6.jpeg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="853" data-original-width="1280" height="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLt5xeHJUv_q0ni83z2TunX-X_b44NjjYnhacCzWH3MY4oQJI5pUmJllD-r_LmjpGESy2fMVB6J_GRRBuz6i1p9yBS07Lw8G6ywOqQiEiVpwzcaQkCFV-nvBtXyQgwJy9iW9ourmxGqRtar0JJGFYK82b3n9w3dveMH_yGBHzFhdM84jAeFmYsb1SOhcOQ/w505-h336/pwnedcr_0x6.jpeg" width="505" /></a></div><br /><p style="--artdeco-reset-typography_getfontsize: 1.6rem; --artdeco-reset-typography_getlineheight: 1.5; background-color: white; border: var(--artdeco-reset-base-border-zero); box-sizing: inherit; color: rgba(0, 0, 0, 0.9); counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; cursor: text; font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 20px; line-height: var(--artdeco-reset-typography_getLineHeight); margin: 0px; padding: 0px; vertical-align: var(--artdeco-reset-base-vertical-align-baseline); white-space-collapse: preserve;"><br /></p><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-63753815121204069252023-10-27T09:54:00.003-06:002023-10-27T09:54:38.622-06:00Utilizando Select AI para generar sentencias SQL a través de indicaciones de Lenguaje Natural - con código del laboratorio.<div style="text-align: justify;">La combinación de modelos de lenguaje grande (LLM) de IA generativa con Oracle SQL le permite describir lo que desea ( intención declarativa ) y dejar que la base de datos genere la consulta SQL relevante para su esquema. Algunos LLM pueden ser buenos para generar SQL, pero poder ejecutar ese SQL en su base de datos es otra cuestión. Select AI permite generar SQL que es específico para la base de datos.</div><div style="text-align: justify;"><br /></div><div>
<center>
<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/RHvQL2i8Dkk?si=T2FNGL5_j7-UFAvR" title="YouTube video player" width="560"></iframe></center><center><br /></center><center style="text-align: left;"><b><span style="font-size: medium;">Código del laboratorio.</span></b></center><center style="text-align: left;"><br /></center><center style="text-align: left;"><center style="text-align: left;">select credential_name,</center><center style="text-align: left;"> username,</center><center style="text-align: left;"> enabled</center><center style="text-align: left;">from user_credentials</center><center style="text-align: left;">order by credential_name;</center><center style="text-align: left;"><br /></center><center style="text-align: left;">select dbms_cloud.get_metadata(</center><center style="text-align: left;"> credential_name => 'OPENAI_CRED',</center><center style="text-align: left;"> object_uri => 'api.openai.com') as metadata</center><center style="text-align: left;">from dual;</center><center style="text-align: left;"><br /></center><center style="text-align: left;">select table_name from dba_tables where owner='SH'</center><center style="text-align: left;"><br /></center><center style="text-align: left;">select * from sh.sales;</center><center style="text-align: left;"><br /></center><center style="text-align: left;">select sum(amount_sold) from sh.sales</center><center style="text-align: left;">where time_id < '01/01/00'</center><center style="text-align: left;"><br /></center><center style="text-align: left;">BEGIN </center><center style="text-align: left;"> DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(</center><center style="text-align: left;"> host => 'api.openai.com',</center><center style="text-align: left;"> ace => xs$ace_type(privilege_list => xs$name_list('http'),</center><center style="text-align: left;"> principal_name => 'ADMIN',</center><center style="text-align: left;"> principal_type => xs_acl.ptype_db)</center><center style="text-align: left;"> );</center><center style="text-align: left;">END;</center><center style="text-align: left;">/</center><center style="text-align: left;"><br /></center><center style="text-align: left;">BEGIN </center><center style="text-align: left;"> DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(</center><center style="text-align: left;"> host => 'api.openai.com',</center><center style="text-align: left;"> ace => xs$ace_type(privilege_list => xs$name_list('http'),</center><center style="text-align: left;"> principal_name => 'SH',</center><center style="text-align: left;"> principal_type => xs_acl.ptype_db)</center><center style="text-align: left;"> );</center><center style="text-align: left;">END;</center><center style="text-align: left;">/</center><center style="text-align: left;"><br /></center><center style="text-align: left;">BEGIN</center><center style="text-align: left;"><br /></center><center style="text-align: left;"> DBMS_CLOUD.DROP_CREDENTIAL (</center><center style="text-align: left;"> credential_name => 'OPENAI_CRED');</center><center style="text-align: left;"> DBMS_CLOUD.CREATE_CREDENTIAL(</center><center style="text-align: left;"> credential_name => 'OPENAI_CRED',</center><center style="text-align: left;"> username => 'ronald.vargas.quesada@gmail.com',</center><center style="text-align: left;"> password => 'sk-Vvtj**************bkFJKOxqW*******DXYHD1bG' );</center><center style="text-align: left;">END;</center><center style="text-align: left;">/</center><center style="text-align: left;"><br /></center><center style="text-align: left;"><br /></center><center style="text-align: left;">BEGIN</center><center style="text-align: left;">DBMS_CLOUD_AI.drop_profile(profile_name => 'OPENAI');</center><center style="text-align: left;"> DBMS_CLOUD_AI.create_profile(</center><center style="text-align: left;"> profile_name => 'OPENAI',</center><center style="text-align: left;"> attributes => '{"provider": "openai",</center><center style="text-align: left;"> "credential_name": "OPENAI_CRED",</center><center style="text-align: left;"> "object_list": [{"owner": "SH", "name": "customers"}, </center><center style="text-align: left;"> {"owner": "SH", "name": "sales"},</center><center style="text-align: left;"> {"owner": "SH", "name": "products"},</center><center style="text-align: left;"> {"owner": "SH", "name": "countries"}]</center><center style="text-align: left;"> }');</center><center style="text-align: left;">END;</center><center style="text-align: left;">/</center><center style="text-align: left;"><br /></center><center style="text-align: left;">BEGIN</center><center style="text-align: left;"> DBMS_CLOUD_AI.SET_PROFILE(</center><center style="text-align: left;"> profile_name => 'OPENAI'</center><center style="text-align: left;"> );</center><center style="text-align: left;">END;</center><center style="text-align: left;">/</center><center style="text-align: left;"><br /></center><center style="text-align: left;"><br /></center><center style="text-align: left;">SELECT AI how many customers in San Francisco are married</center><center style="text-align: left;"><br /></center><center style="text-align: left;"><br /></center><center style="text-align: left;">SELECT AI runsql cuantos clientes en San Francisco están casados</center><center style="text-align: left;"><br /></center><center style="text-align: left;">SELECT AI showsql cuantos clientes en San Francisco están casados</center><center style="text-align: left;"><br /></center><center style="text-align: left;">SELECT COUNT(*) AS total_clients_married</center><center style="text-align: left;">FROM SH.CUSTOMERS c</center><center style="text-align: left;">WHERE c.CUST_CITY = 'San Francisco'</center><center style="text-align: left;">AND c.CUST_MARITAL_STATUS = 'Married'</center><center style="text-align: left;"><br /></center><center style="text-align: left;"><br /></center><center style="text-align: left;">select * from sh.products</center><center style="text-align: left;"><br /></center><center style="text-align: left;">SELECT AI Cual es el nombre del producto para el id 19</center><center style="text-align: left;"><br /></center><center style="text-align: left;">select * from sh.sales</center><center style="text-align: left;"><br /></center><center style="text-align: left;">SELECT AI Cual es el monto de ventas del producto id 14 agrupado por el nombre del producto</center><center style="text-align: left;"><br /></center><center style="text-align: left;">SELECT AI cual es el cliente que más compras ha realizado</center><center style="text-align: left;"><br /></center><center style="text-align: left;">SELECT AI cual es la suma total de compras que ha hecho el cliente Heather Tucker</center><center style="text-align: left;"><br /></center><center style="text-align: left;">select sum(amount_sold) from sh.sales</center><center style="text-align: left;">where time_id < '01/01/00'</center><center style="text-align: left;"><br /></center><center style="text-align: left;">SELECT AI Cual es el monto en ventas previo al cambio de milenio.</center><center style="text-align: left;"><br /></center><center style="text-align: left;">select * from sh.customers</center><center style="text-align: left;"><br /></center><center style="text-align: left;">select count(*) from sh.customers</center><center style="text-align: left;"><br /></center><center style="text-align: left;">SELECT AI Cuantos clientes nacieron en los 2 años posteriores al fin de la segunda guerra mundial</center><center style="text-align: left;"><br /></center><center style="text-align: left;"><br /></center><center style="text-align: left;">SELECT AI Cuantos clientes nacieron en los 2 años posteriores al fin de </center><center style="text-align: left;">la segunda guerra mundial agrupados por año</center><center style="text-align: left;"><br /></center><center style="text-align: left;">"Sorry, unfortunately a valid SELECT statement could not be generated for your natural language prompt. Here is some more information to help you further: </center><center style="text-align: left;"><br /></center><center style="text-align: left;">Para responder a esta pregunta, necesitaríamos tener acceso a una tabla que contenga la información de los clientes, incluyendo su fecha de nacimiento. Supongamos que tenemos una tabla llamada "clientes" con las siguientes columnas:</center><center style="text-align: left;"><br /></center><center style="text-align: left;">- id_cliente (identificador único del cliente)</center><center style="text-align: left;">- nombre (nombre del cliente)</center><center style="text-align: left;">- fecha_nacimiento (fecha de nacimiento del cliente)</center><center style="text-align: left;"><br /></center><center style="text-align: left;">Podemos utilizar la función EXTRACT para extraer el año de la fecha de nacimiento y luego agrupar los resultados por año. La consulta sería la siguiente:</center><center style="text-align: left;"><br /></center><center style="text-align: left;">```sql</center><center style="text-align: left;">SELECT EXTRACT(YEAR FROM fecha_nacimiento) AS año, COUNT(*) AS cantidad_clientes</center><center style="text-align: left;">FROM clientes</center><center style="text-align: left;">WHERE EXTRACT(YEAR FROM fecha_nacimiento) BETWEEN 1946 AND 1947</center><center style="text-align: left;">GROUP BY EXTRACT(YEAR FROM fecha_nacimiento)</center><center style="text-align: left;">ORDER BY EXTRACT(YEAR FROM fecha_nacimiento);</center><center style="text-align: left;">```</center><center style="text-align: left;"><br /></center><center style="text-align: left;">Esta consulta contará la cantidad de clientes que nacieron entre los años 1946 y 1947, agrupados por año de nacimiento. Los resultados se mostrarán en orden ascendente por año."</center><center style="text-align: left;">Para responder a esta pregunta, necesitaríamos tener acceso a una tabla que </center><center style="text-align: left;">contenga información sobre los clientes, incluyendo su fecha de nacimiento. </center><center style="text-align: left;">Supongamos que tenemos una tabla llamada "clientes" con las siguientes columnas:</center><center style="text-align: left;"><br /></center><center style="text-align: left;">- id_cliente (identificador único del cliente)</center><center style="text-align: left;">- nombre (nombre del cliente)</center><center style="text-align: left;">- fecha_nacimiento (fecha de nacimiento del cliente)</center><center style="text-align: left;"><br /></center><center style="text-align: left;">Podemos utilizar la función EXTRACT para extraer el año de la fecha de nacimiento y </center><center style="text-align: left;">luego agrupar los resultados por año. La consulta sería la siguiente:</center><center style="text-align: left;"><br /></center><center style="text-align: left;">```sql</center><center style="text-align: left;">SELECT EXTRACT(YEAR FROM fecha_nacimiento) AS año, COUNT(*) AS cantidad_clientes</center><center style="text-align: left;">FROM clientes</center><center style="text-align: left;">WHERE EXTRACT(YEAR FROM fecha_nacimiento) BETWEEN 1946 AND 1947</center><center style="text-align: left;">GROUP BY EXTRACT(YEAR FROM fecha_nacimiento)</center><center style="text-align: left;">ORDER BY EXTRACT(YEAR FROM fecha_nacimiento);</center><center style="text-align: left;">```</center><center style="text-align: left;"><br /></center><center style="text-align: left;">Esta consulta contará la cantidad de clientes que nacieron entre los años 1946 y 1947, </center><center style="text-align: left;">agrupados por año de nacimiento. </center><center style="text-align: left;">Los resultados se mostrarán en orden ascendente por año."</center><center style="text-align: left;"><br /></center><center style="text-align: left;">SELECT AI Cuanto fue la suma de ventas realizadas por clientes que nacieron en los </center><center style="text-align: left;">2 años posteriores al fin de la segunda guerra mundial.</center><center style="text-align: left;"><br /></center><center style="text-align: left;">select * from sh.sales</center><center style="text-align: left;">select * from sh.customers</center><center style="text-align: left;"><br /></center><center style="text-align: left;"><br /></center><center style="text-align: left;">select sum(amount_sold) from sh.sales</center><center style="text-align: left;">where cust_id in (</center><center style="text-align: left;">select cust_id from sh.customers where </center><center style="text-align: left;">cust_year_of_birth between 1946 and 1947)</center><center style="text-align: left;"><br /></center><center style="text-align: left;">select max(cust_year_of_birth) from sh.customers</center><center style="text-align: left;"><br /></center><center style="text-align: left;">SELECT AI showsql Cuantos clientes nacieron posterior a la caida del muro de Berlin</center><center style="text-align: left;"><br /></center><center style="text-align: left;">select count(cust_year_of_birth) from sh.customers</center><center style="text-align: left;">where cust_year_of_birth > 1989</center><center style="text-align: left;"><br /></center><center style="text-align: left;">SELECT AI narrate Cuál es el producto más vendido por los clientes que nacieron </center><center style="text-align: left;">posterior a la caida del muro de Berlin</center><center style="text-align: left;"><br /></center><center style="text-align: left;">SELECT AI showsql</center><center style="text-align: left;">Cuántos clientes nacieron en el año de estreno de la película Volver al futuro I</center><center style="text-align: left;"><br /></center><center style="text-align: left;">select count(*) from sh.customers</center><center style="text-align: left;">where cust_year_of_birth = 1985</center><center style="text-align: left;"><br /></center><center style="text-align: left;">SELECT AI Cual es el monto de los productos vendidos por aquellos clientes que nacieron</center><center style="text-align: left;">en el mismo año de la publicación del primer video en youtube.</center><center style="text-align: left;"><br /></center><center style="text-align: left;">SELECT AI narrate Cual es el monto de los productos vendidos por aquellos clientes que nacieron</center><center style="text-align: left;">en el mismo año de la publicación del primer video en youtube.</center><center style="text-align: left;"><br /></center><center style="text-align: left;">select count(*) from sh.customers</center><center style="text-align: left;">where cust_year_of_birth = 2005</center><center style="text-align: left;"><br /></center><center style="text-align: left;">SELECT AI Cuantos clientes nacieron en el mismo cuando en que se creó el teléfono celular.</center><center style="text-align: left;"><br /></center><center style="text-align: left;"><br /></center><center style="text-align: left;">select count(*) from sh.customers</center><center style="text-align: left;">where cust_year_of_birth = 1973</center><center style="text-align: left;"><br /></center><center style="text-align: left;">SELECT AI chat</center><center style="text-align: left;">Quien es Larry Ellison el CEO de Oracle</center><center style="text-align: left;"><br /></center><center style="text-align: left;">"Sorry, unfortunately a valid SELECT statement could not be generated for your natural language prompt. Here is some more information to help you further: </center><center style="text-align: left;"><br /></center><center style="text-align: left;">Larry Ellison es el cofundador y presidente ejecutivo de Oracle Corporation. Es conocido por ser uno de los empresarios más exitosos en la industria de la tecnología. </center><center style="text-align: left;">Ellison ha estado al frente de Oracle desde su fundación en 1977 y ha desempeñado un papel fundamental en el crecimiento y éxito de la empresa. Bajo su liderazgo, Oracle se ha convertido en una de las compañías de software más grandes y reconocidas a nivel mundial."</center><center style="text-align: left;"><br /></center><center style="text-align: left;"><br /></center><center style="text-align: left;"><br /></center><center style="text-align: left;">set serveroutput on;</center><center style="text-align: left;">declare</center><center style="text-align: left;"> l_prompt varchar2(4000) := 'Cual es el monto de los productos vendidos por aquellos clientes que nacieron</center><center style="text-align: left;">en el mismo año de la publicación del primer video en youtube.?';</center><center style="text-align: left;"> l_response clob;</center><center style="text-align: left;"> l_profile_name varchar2(100) := 'openai_gpt35';</center><center style="text-align: left;">begin</center><center style="text-align: left;"> l_response := dbms_cloud_ai.generate(</center><center style="text-align: left;"> prompt => l_prompt,</center><center style="text-align: left;"> profile_name => l_profile_name,</center><center style="text-align: left;"> action => 'showsql' </center><center style="text-align: left;"> );</center><center style="text-align: left;"> dbms_output.put_line(l_response);</center><center style="text-align: left;">end; </center><center style="text-align: left;"><br /></center><center style="text-align: left;">set serveroutput on;</center><center style="text-align: left;">declare</center><center style="text-align: left;"> l_prompt varchar2(4000) := 'Cual es el monto de los productos vendidos por aquellos clientes que nacieron</center><center style="text-align: left;">en el mismo año de la publicación del primer video en youtube.?';</center><center style="text-align: left;"> l_response clob;</center><center style="text-align: left;"> l_profile_name varchar2(100) := 'OPENAI';</center><center style="text-align: left;">begin</center><center style="text-align: left;"> l_response := dbms_cloud_ai.generate(</center><center style="text-align: left;"> prompt => l_prompt,</center><center style="text-align: left;"> profile_name => l_profile_name,</center><center style="text-align: left;"> action => 'showsql' </center><center style="text-align: left;"> );</center><center style="text-align: left;"> dbms_output.put_line(l_response);</center><center style="text-align: left;">end; </center><center style="text-align: left;"><br /></center><center style="text-align: left;">SELECT SUM(s.AMOUNT_SOLD) AS MONTO_VENDIDO</center><center style="text-align: left;">FROM SH.SALES s</center><center style="text-align: left;">JOIN SH.CUSTOMERS c ON s.CUST_ID = c.CUST_ID</center><center style="text-align: left;">WHERE c.CUST_YEAR_OF_BIRTH = EXTRACT(YEAR FROM TO_DATE('23-04-2005', 'DD-MM-YYYY'))</center><center style="text-align: left;"><br /></center><center style="text-align: left;"><br /></center><center style="text-align: left;">El producto más vendido por los clientes que nacieron posterior a la caída del muro de Berlín es el "Model A3827H Black Image Cartridge", </center><center style="text-align: left;">con un total de 20 ventas.</center></center></div><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-32713953364693517002023-09-29T07:20:00.003-06:002023-09-29T07:20:14.977-06:00ASKTOM APEX Office Hours en Español: Performance Tuning: Cómo escribir sentencias SQL como un PRO!<div style="text-align: justify;">Aquí les comparto la primera sesión que tuvimos bajo el patrocinio de Mónica Godoy, <span style="background-color: white; color: #666666; font-family: "Oracle Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: 12px;"> </span>Senior Principal Product Manager for Oracle APEX.</div><div><br /></div><div style="text-align: justify;">Si los comentarios que escuchas continuamente sobre tu aplicación son "La app esta muy lenta" y "El reporte toma mucho tiempo en generarse". Es tiempo de conocer los secretos que hay detrás del lenguaje SQL y cómo la base de datos Oracle interpreta lo que necesitas de ella.</div><div style="text-align: justify;"><br /></div>
<center>
<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/1J1GT6cZKWc?si=GkQ_t-rX78Fo0HtK" title="YouTube video player" width="560"></iframe></center><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-20474256739757890812023-09-18T08:39:00.002-06:002023-09-18T08:39:43.577-06:00Performance Tuning: Cómo escribir sentencias SQL como un PRO!
<p>Ya esta disponible la nueva versión de esta charla que he venido brindando desde hace unos 8 años atrás con las actualizaciones respectivas a las nuevas características de las nuevas bases de datos.</p><p>En esta ocasión, a través de ASKTOM, en APEX Office Hours en Español con el patrocinio de Mónica Godoy, Senior Principal Product Manager for Oracle APEX.</p><p>Así que disfruten de la misma. Suscriban al canal de Oracle Developers, ya que vienen más sesiones con preguntas y respuestas y casos de uso, relacionados con esta misma sesión, que nos quedó corta de tiempo.</p><div style="text-align: justify;">Si los comentarios que escuchas continuamente sobre tu aplicación son "La app esta muy lenta" y "El reporte toma mucho tiempo en generarse". Es tiempo de conocer los secretos que hay detrás del lenguaje SQL y cómo la base de datos Oracle interpreta lo que necesitas de ella.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div>
<center>
<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/1J1GT6cZKWc?si=Hg-uEnXWUN1R4dsd" title="YouTube video player" width="560"></iframe></center><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-85943115707103884462023-09-14T23:18:00.002-06:002023-09-14T23:20:45.593-06:00Oracle Database 23c Free for Developers ORA-600 [pesldl03_MMap: Errno 1 Errmsg Operation Not Permitted] con compilación NATIVA.<div style="text-align: justify;">Se me ocurrió hacer un testing del nuevo valor máximo de columnas que podemos tener en una tabla a partir de la versión 23c de base de datos Free for Developers y me encontré con una sorpresa: "Un error ORA-600 interno".<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj61-1xYkFNAkejRYACf6Yk-MEdo_6jdI9XUquFpv-VmV9D8g19p1aAbfHxiocGrN7RSN9J__RLl3w5glgqtqgF4aje0fY8vrnh7s-v3XQgTEa9F5WZJ7NxpQxwBQishaqd8TRtwosE5ecAxIkKlx84ta7MpKe4NNF9SdqyKNQdTUih-HESsLZyn2bjJgwU/s900/doctor.jpg" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="900" data-original-width="622" height="209" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj61-1xYkFNAkejRYACf6Yk-MEdo_6jdI9XUquFpv-VmV9D8g19p1aAbfHxiocGrN7RSN9J__RLl3w5glgqtqgF4aje0fY8vrnh7s-v3XQgTEa9F5WZJ7NxpQxwBQishaqd8TRtwosE5ecAxIkKlx84ta7MpKe4NNF9SdqyKNQdTUih-HESsLZyn2bjJgwU/w144-h209/doctor.jpg" width="144" /></a></div></div><div><br /></div><div style="text-align: justify;">Vamos desde el inicio. Tome una nota publicada por Andy Rivenes sobre los nuevos valores para el parámetro MAX_COLUMNS de la base de datos, el cuál puede ser configurado al valor de EXTENDED. Este parámetro que de facto tiene el valor de STANDARD y cambio al parámetro al valor EXTENDED, me permite habilitar la posibilidad de crear una tabla que tenga 4000 columnas.</div><div><br /></div><div>Este es el desarrollo de los procedimientos implementados por Andy Rivenes, para la creación de la tabla.</div><div><br /></div><div> SQL> connect hr/hr@pdb1<br /><br />Connected.<br /><br />SQL> create or replace procedure create_table_wide(<br />table_name IN VARCHAR2,<br />num_cols IN NUMBER )<br />is<br /> ct varchar2(32000);<br />ctsql clob;<br />cur integer;<br />begin<br />ct := 'create table '||table_name||' (c1 number';<br />dbms_lob.createtemporar 2 y(ctsql, false);<br />dbms_lob.write(ctsql, length(ct), 1, ct);<br />ct := '';<br />dbms_output.put_line(ct);<br />for colnum in 2 .. num_cols loop<br />ct := ct || ', c'||colnum||' number';<br />if mod(colnum, 1000) = 0 then<br />-- append the chunk we have and reset the temp varchar2<br />dbms_lob.writeappend(ctsql, length(c 3 t), ct);<br />ct := '';<br />end if;<br />end loop;<br />append the final chunk<br />ct := ct || ')';<br />dbms_lob.writeappend(ctsql, length(ct), ct);<br />--dbms_output.put_line(ctsql);<br />--<br />-- dbms_sql.parse auto executes the DDL, don't need to call dbms_sql.execute<br />cur := dbms_sql.open_cursor;<br />dbms_sql.parse(<br />c => cur,<br />statement => ctsql,<br />language_flag => dbms_sql.native );<br />--<br />-- cleanup<br />--<br />dbms_sql.close_cursor(cur);<br />dbms_lob.freetemporary(ctsql);<br />end;<br />/ <br /><br /><div>Procedure created.<br /><br />SQL> create or replace procedure insert_table_wide(<br />table_name IN VARCHAR2,<br />num_cols IN NUMBER,<br />num_rows IN NUMBER DEFAULT 1 )<br />is<br />ct clob;<br />ctsql clob;<br />cur integer;<br />rwnum number := 0;<br />clnum number := 0;<br />val number := 0;<br />l_offset pls_integer := 1;<br />begin<br />for r_iter in 1 .. num_rows loop<br />rwnum := rwnum + 1;<br />ct := 'insert into '|| table_name ||' (c1';<br />for c_iter in 2 .. num_cols loop<br />ct := ct || ',c' || to_char(c_iter) ;<br />end loop;<br />ct := ct || ') ';<br />--<br />ct := ct || 'values (' || to_char(rwnum);<br />--<br />for c_iter in 2 .. num_cols loop<br />clnum := clnum + 1;<br />val := rwnum + clnum;<br />ct := ct || ',' || to_char(val) ;<br />end loop;<br />--<br />ct := ct || ')';<br />--<br />-- Output the first line to verify<br /> --<br />if rwnum = 1 then<br />loop<br />exit when l_offset > dbms_lob.getlength(ct);<br />dbms_output.put_line(dbms_lob.substr(ct, 4000, l_offset));<br />l_offset := l_offset + 4000;<br />end loop;<br />end if;<br />--<br />execute immediate ct;<br />clnum := 0;<br />end loop;<br />end;<br />/ <br /><br />Procedure created.<br /><br />SQL> create or replace procedure select_table_wide(<br />p_table_name IN VARCHAR2,<br />p_num_cols IN NUMBER,<br />p_num_rows IN NUMBER )<br /> is<br />v_tab_col_num number;<br />ct clob;<br />ctsql clob;<br />cur integer;<br />rwnum number := 0;<br />clnum number := 0;<br />begin<br />select max(column_id) into v_tab_col_num<br />from user_tab_columns where table_name = p_table_name;<br /> --<br /> for r_iter in 1 .. p_num_rows loop<br />rwnum := rwnum + 1;<br />ct := 'select ';<br />--<br />for c_iter in 1 .. p_num_cols loop<br />clnum := floor(dbms_random.value(1,v_tab_col_num));<br /> if c_iter = 1 then<br />ct := ct || 'c' || to_char(clnum) ;<br />else<br />ct := ct || ',c' || to_char(clnum) ;<br />end if;<br />end loop;<br />--<br />ct := ct || ' from ' || p_table_name;<br />dbms_output.put_line(ct);<br />execute immediate ct;<br />end loop;<br />end;<br /><br />/ <br />Procedure created.</div><div><br /></div><div>Una vez creados los procedimientos podemos llamar a los mismos para la creación de tabla.<br /><br />SQL> exec create_table_wide('TABLA_GIGANTE_COLUMNS',4000);<br />PL/SQL procedure successfully completed.<br /><br />Ahora ingresamos 1000 registros ocupando los 4000 campos</div><div><br /></div><div>SQL> set timing on<br />SQL> exec insert_table_wide('TABLA_GIGANTE_COLUMNS',4000,1000);<br />PL/SQL procedure successfully completed.</div><div>Elapsed: 00:03:53.23</div><div><br /></div><div>Verificamos la cantidad de registros ingresados.<br /><br />SQL> select count(*) from TABLA_GIGANTE_COLUMNS;<br /><br />COUNT(*)<br />----------<br />1000<br /><br /><div style="text-align: justify;">Deseo hacer una prueba compilando el paquete en modo NATIVO para validar si existe alguna diferencia en el tiempo de ejecución de los casi 4 minutos empleados.</div></div><div><br />SQL> alter session set plsql_code_type = 'NATIVE';<br /><br />Session altered.<br /><br />Elapsed: 00:00:00.00</div><div><br /></div><div>Al compilar mi procedimiento de forma NATIVA, la compilación concluye con errores.<br /><br />SQL> alter procedure insert_table_wide compile;<br /><b><u>Warning: Procedure altered with compilation errors.</u></b><br /><br />Elapsed: 00:00:01.68<br /><br />SQL> truncate table TABLA_GIGANTE_COLUMNS;<br /><br />Table truncated.<br /><br />Elapsed: 00:00:00.18</div><div><br />El ejecutar el procedimiento, me indica que el objeto no esta válido.</div><div><br />SQL> exec insert_table_wide('TABLA_GIGANTE_COLUMNS',4000,1000);<br />BEGIN insert_table_wide('TABLA_GIGANTE_COLUMNS',4000,1000); END;<br />*<br />ERROR at line 1:<br />ORA-06550: line 1, column 7:<br />PLS-00905: object HR.INSERT_TABLE_WIDE is invalid<br />ORA-06550: line 1, column 7:<br />PL/SQL: Statement ignored<br />Elapsed: 00:00:00.01<br /><br />Recompilo nuevamente el procedimiento.</div><div><br />SQL> alter procedure insert_table_wide compile;<br /><b><u>Warning: Procedure altered with compilation errors.</u></b><br /><br />Elapsed: 00:00:01.26</div><div><br /></div><div>Al verificar los errores, observo un error ORA-00600 interno como producto de la compilación.</div><div><br />SQL> show errors<br />Errors for PROCEDURE INSERT_TABLE_WIDE:<br /><br />LINE/COL ERROR<br />-------- -----------------------------------------------------------------<br />0/0 ORA-00600: internal error code, arguments: [pesldl03_MMap: errno<br />1 errmsg Operation not permitted<br />], [<br />1 : 1<br />2 : /PESLD_FREE_7_48bace6300000000<br />3 : 0100700<br />4 : 0500002<br />5 : 0x7<br />6 : 0x1<br />], [], [], [], [], [], [], [], [], [], []<br /><br />SQL> alter session set plsql_code_type = 'INTERPRETED';<br />Session altered.<br /><br />Elapsed: 00:00:00.00<br />SQL> alter procedure insert_table_wide compile;<br />Procedure altered.<br />Elapsed: 00:00:00.03<br /><br />SQL> exit<br /><br />Disconnected from Oracle Database 23c Free, Release 23.0.0.0.0 - Developer-Release<br />Version 23.2.0.0.0<br /><br /><span style="font-family: courier;">[oracle@oracle-database-23c-free-for-developers-taller-gratuito ~]$ df -h<br />Filesystem Size Used Avail Use% Mounted on<br />devtmpfs 16G 0 16G 0% /dev<br />tmpfs 16G 4.0K 16G 1% /dev/shm<br />tmpfs 16G 233M 16G 2% /run<br />tmpfs 16G 0 16G 0% /sys/fs/cgroup<br />/dev/mapper/ocivolume-root 189G 32G 158G 17% /<br />/dev/sda2 1014M 323M 692M 32% /boot<br />/dev/sda1 100M 5.1M 95M 6% /boot/efi<br />/dev/mapper/ocivolume-oled 10G 156M 9.9G 2% /var/oled<br />tmpfs 3.2G 0 3.2G 0% /run/user/0<br />tmpfs 3.2G 0 3.2G 0% /run/user/1000<br />tmpfs 3.2G 0 3.2G 0% /run/user/988</span><br /><br /><div style="text-align: justify;">Revisando el error en MOS con la herramienta de errores, me encuentro, que es un bug asociado a la manera en como esta montado el sistema de archivos de swap.</div></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Pequeñísimo detalle, ya que el modo de monta del sistema de archivos, es el valor de facto.</div><div><br />[oracle@oracle-database-23c-free-for-developers-taller-gratuito ~]$ more /etc/fstab<br /><br />#<br /># /etc/fstab<br /># Created by anaconda on Tue Jan 17 19:39:49 2023<br />#<br /># Accessible filesystems, by reference, are maintained under '/dev/disk/'.<br /># See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.<br />#<br /># After editing this file, run 'systemctl daemon-reload' to update systemd<br /># units generated from this file.<br />#<br />/dev/mapper/ocivolume-root / xfs defaults 0 0<br />UUID=f7cf63bd-4975-44bb-ba99-b81e037be7e1 /boot xfs defaults 0 0<br />UUID=9814-8B9E /boot/efi vfat defaults,uid=0,gid=0,umask=077,shortname=winnt 0 2<br />/dev/mapper/ocivolume-oled /var/oled xfs defaults 0 0<br />tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0<br />######################################<br />## ORACLE CLOUD INFRASTRUCTURE CUSTOMERS<br />##<br />## If you are adding an iSCSI remote block volume to this file you MUST<br />## include the '_netdev' mount option or your instance will become<br />## unavailable after the next reboot.<br />## SCSI device names are not stable across reboots; please use the device UUID instead of /dev path.<br />##<br />## Example:<br />## UUID="94c5aade-8bb1-4d55-ad0c-388bb8aa716a" /data1 xfs defaults,noatime,_netdev 0 2<br />##<br />## More information:<br />## https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Tasks/connectingtoavolume.htm<br />/.swapfile none swap sw,comment=cloudconfig 0 0<br /><br /></div><div>[oracle@oracle-database-23c-free-for-developers-taller-gratuito ~]$ exit<br />logout<br /><br />[opc@oracle-database-23c-free-for-developers-taller-gratuito ~]$ sudo -s /bin/bash<br /><br />[root@oracle-database-23c-free-for-developers-taller-gratuito opc]# vi /etc/fstab<br /><br />Editando el archivo de monta de los sistemas de archivos de Linux y agregando comentarios y los cambios sugeridos por la nota Doc ID 1625010.1, nos queda el archivo de la siguiente manera:<br /><br />[oracle@oracle-database-23c-free-for-developers-taller-gratuito ~]$ more /etc/fstab<br /><br /><span style="font-family: courier; font-size: x-small;">#<br /># /etc/fstab<br /># Created by anaconda on Tue Jan 17 19:39:49 2023<br />#<br /># Accessible filesystems, by reference, are maintained under '/dev/disk/'.<br /># See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.<br />#<br /># After editing this file, run 'systemctl daemon-reload' to update systemd<br /># units generated from this file.<br />#<br />/dev/mapper/ocivolume-root / xfs defaults 0 0<br />UUID=f7cf63bd-4975-44bb-ba99-b81e037be7e1 /boot xfs defaults 0 0<br />UUID=9814-8B9E /boot/efi vfat defaults,uid=0,gid=0,umask=077,shortname=winnt 0 2<br />/dev/mapper/ocivolume-oled /var/oled xfs defaults 0 0<br /><span style="color: red;"><b># BUG: ORA-600 [pesldl03_MMap: Errno 1 Errmsg Operation Not Permitted] (Doc ID 1625010.1)<br /># SINTOMAS: ORA-00600 occurred when compiling a PLSQL object with plsql_code_type='NATIVE';<br /># SOLUCION: This requires that /dev/shm is of type tmpfs and is mounted with the following options:<br /># With rw and exec permissions set on it<br /># Without noexec or nosuid set on it<br /># 14 de setiembre de 2023</b></span><br /><br /># RVQ<br />#tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0<br />tmpfs /dev/shm tmpfs defaults,nodev 0 0<br />######################################<br />## ORACLE CLOUD INFRASTRUCTURE CUSTOMERS<br />##<br />## If you are adding an iSCSI remote block volume to this file you MUST<br />## include the '_netdev' mount option or your instance will become<br />## unavailable after the next reboot.<br />## SCSI device names are not stable across reboots; please use the device UUID instead of /dev path.<br />##<br />## Example:<br />## UUID="94c5aade-8bb1-4d55-ad0c-388bb8aa716a" /data1 xfs defaults,noatime,_netdev 0 2<br />##<br />## More information:<br />## https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Tasks/connectingtoavolume.htm<br />/.swapfile none swap sw,comment=cloudconfig 0 0</span></div><div><span style="font-family: courier; font-size: x-small;"><br /></span>Reiniciamos el ambiente del OCI y levantamos los servicios del LISTENER y de la base de datos de arquitectura de contenedor.<br /><br />[oracle@oracle-database-23c-free-for-developers-taller-gratuito ~]$<br /><br />[root@oracle-database-23c-free-for-developers-taller-gratuito opc]#<br />Using username "opc".<br />Authenticating with public key "rsa-key-20200507"<br />Passphrase for key "rsa-key-20200507":<br /><br />Activate the web console with: systemctl enable --now cockpit.socket<br /><br />Last login: Fri Sep 15 03:22:19 2023 from 201.198.177.72<br />[opc@oracle-database-23c-free-for-developers-taller-gratuito ~]$ sudo su - oracle<br />Last login: Fri Sep 15 03:22:28 GMT 2023 on pts/0<br />[oracle@oracle-database-23c-free-for-developers-taller-gratuito ~]$ . oraenv<br />ORACLE_SID = [oracle] ? FREE<br />The Oracle base has been set to /opt/oracle<br />[oracle@oracle-database-23c-free-for-developers-taller-gratuito ~]$ lsnrctl start<br /><br />LSNRCTL for Linux: Version 23.0.0.0.0 - Developer-Release on 15-SEP-2023 04:31:01<br />Copyright (c) 1991, 2023, Oracle. All rights reserved.<br />Starting /opt/oracle/product/23c/dbhomeFree/bin/tnslsnr: please wait...<br />TNSLSNR for Linux: Version 23.0.0.0.0 - Developer-Release<br /><br />System parameter file is /opt/oracle/product/23c/dbhomeFree/network/admin/listener.ora<br /><br />Log messages written to /opt/oracle/diag/tnslsnr/oracle-database-23c-free-for-developers-taller-gratuito/listener/alert/log.xml<br /><br />Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle-database-23c-free-for-developers-taller-gratuito.vcnlandb.vcntestinglab.oraclevcn.com)(PORT=1521)))<br /><br />Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))<br />Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle-database-23c-free-for-developers-taller-gratuito.vcnlandb.vcntestinglab.oraclevcn.com)(PORT=1521)))<br /><br />STATUS of the LISTENER<br />------------------------<br />Alias LISTENER<br />Version TNSLSNR for Linux: Version 23.0.0.0.0 - Developer-Release<br />Start Date 15-SEP-2023 04:31:02<br />Uptime 0 days 0 hr. 0 min. 0 sec<br />Trace Level off<br />Security ON: Local OS Authentication<br />SNMP OFF<br />Default Service FREE<br />Listener Parameter File /opt/oracle/product/23c/dbhomeFree/network/admin/listener.ora<br />Listener Log File /opt/oracle/diag/tnslsnr/oracle-database-23c-free-for-developers-taller-gratuito/listener/alert/log.xml<br />Listening Endpoints Summary...<br />(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle-database-23c-free-for-developers-taller-gratuito.vcnlandb.vcntestinglab.oraclevcn.com)(PORT=1521)))<br />(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))<br />The listener supports no services<br />The command completed successfully<br /><br />[oracle@oracle-database-23c-free-for-developers-taller-gratuito ~]$ sqlplus /nolog<br /><br />SQL*Plus: Release 23.0.0.0.0 - Developer-Release on Fri Sep 15 04:31:07 2023<br />Version 23.2.0.0.0<br />Copyright (c) 1982, 2023, Oracle. All rights reserved.<br /><span style="font-family: courier;">SQL> connect / as sysdba<br />Connected to an idle instance.<br /><br />SQL> startup<br />ORACLE instance started.<br />Total System Global Area 1608409464 bytes<br />Fixed Size 10043768 bytes<br />Variable Size 1006632960 bytes<br />Database Buffers 587202560 bytes<br />Redo Buffers 4530176 bytes<br />Database mounted.<br />Database opened.</span></div><div><span style="font-family: courier;"><br />SQL> show pdbs</span><span style="font-family: courier;"><br /> CON_ID CON_NAME OPEN MODE RESTRICTED<br />---------- ------------------------------ ---------- ----------<br />2 PDB$SEED READ ONLY NO<br />3 FREEPDB1 READ WRITE NO</span></div><div><span style="font-family: courier;"><br /></span></div>Nos conectamos nuevamente con el usuario de la prueba.<div><br /></div><div>SQL> connect hr/hr@pdb1<br />Connected.</div><div><br />Seteamos los parámetros a nivel de sesión<br /><br />SQL> alter session set plsql_code_type = 'NATIVE';<br />Session altered.</div><div><br />Recompilamos nuestro procedimiento.<br /><br />SQL> alter procedure insert_table_wide compile;<br />Procedure altered.<br /><br />Ahora ya no tenemos error. Para este proceso en específico, no existen mejoras en el modo de empleo de compilación NATIVA.<br /><br />SQL> set timing on<br />SQL> exec insert_table_wide('TABLA_GIGANTE_COLUMNS',4000,1000);<br />PL/SQL procedure successfully completed.<br /><br />Elapsed: 00:03:36.25<br /><div><br /></div></div></div><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-15037986798117358142023-09-12T13:09:00.005-06:002023-09-12T13:10:44.367-06:00 Oracle PTS LATAM, te invita a estos webinars gratuitos donde conocerás las nuevas funcionalidades de la versión 23c de Oracle Database.<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSPdMne7se3MMPDQM42wOUo7BcvEuagO_UBKS8hLIboa3brKjtTKDIuMVVM67ryQxx2RL8dPbzlktdFSKFsmzhSJUaOtrgzLr-mHnZz-WE808Iq9olZT-MY8fHRd33qkFi0_o4l9n_K4PFRs4yrXXH-segkvv_Gd0rT6j4mVx-yrhyKJ-ZjYsPCwV-NzNZ/s800/charlas_oracle_pts_%231.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="800" data-original-width="800" height="505" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSPdMne7se3MMPDQM42wOUo7BcvEuagO_UBKS8hLIboa3brKjtTKDIuMVVM67ryQxx2RL8dPbzlktdFSKFsmzhSJUaOtrgzLr-mHnZz-WE808Iq9olZT-MY8fHRd33qkFi0_o4l9n_K4PFRs4yrXXH-segkvv_Gd0rT6j4mVx-yrhyKJ-ZjYsPCwV-NzNZ/w505-h505/charlas_oracle_pts_%231.jpeg" width="505" /></a></div><p></p><p><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">Regístrate en el siguiente link y aparta tu lugar: </span><a data-attribute-index="0" href="https://lnkd.in/eByJ6pPG" style="background-color: white; border: var(--artdeco-reset-link-border-zero); box-sizing: inherit; font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; font-weight: var(--font-weight-bold); line-height: inherit !important; margin: var(--artdeco-reset-base-margin-zero); overflow-wrap: normal; padding: var(--artdeco-reset-base-padding-zero); position: relative; text-decoration: var(--artdeco-reset-link-text-decoration-none); touch-action: manipulation; vertical-align: var(--artdeco-reset-base-vertical-align-baseline); word-break: normal;" target="_self">https://lnkd.in/eByJ6pPG</a></p><a data-attribute-index="1" href="https://www.linkedin.com/feed/hashtag/?keywords=agenda&highlightedUpdateUrns=urn%3Ali%3Aactivity%3A7107430148588613632" style="background-color: white; border: var(--artdeco-reset-link-border-zero); box-sizing: inherit; font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; font-weight: var(--font-weight-bold); line-height: inherit !important; margin: var(--artdeco-reset-base-margin-zero); overflow-wrap: normal; padding: var(--artdeco-reset-base-padding-zero); position: relative; text-decoration: var(--artdeco-reset-link-text-decoration-none); touch-action: manipulation; vertical-align: var(--artdeco-reset-base-vertical-align-baseline); word-break: normal;">#Agenda</a><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">: </span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /><ul style="text-align: left;"><li><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">Oracle Database 23c - SQL Enhancements, What’s new in SQL. - 20 de Septiembre 2023 - 13:00 hrs America/México City</span></li><li><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">Oracle Database 23c - JSON Document Relational Duality - 04 de Octubre 2023 - 13:00 hrs America/México City</span></li><li><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">Oracle Database 23c - Transactional Microservices - 18 de Octubre 2023 - 13:00 hrs America/México City</span></li><li><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">Oracle Database 23c - Application Usage Domains and Annotations - 01 de Noviembre 2023 -13:00 hrs America/México City</span></li><li><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">Oracle Database 23c - Database Security - 15 de Noviembre 2023 - 13:00 hrs America/México City</span></li><li><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">Oracle Database 23c - Property Graphs - 29 de Noviembre 2023 - 13:00 hrs America/México City</span></li></ul><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">Speakers: Pedro Torres y Adrian Castillo </span><div><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px;">Regístrate en el siguiente link y aparta tu lugar: </span><a data-attribute-index="2" href="https://lnkd.in/eByJ6pPG" style="background-color: white; border: var(--artdeco-reset-link-border-zero); box-sizing: inherit; font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; font-weight: var(--font-weight-bold); line-height: inherit !important; margin: var(--artdeco-reset-base-margin-zero); overflow-wrap: normal; padding: var(--artdeco-reset-base-padding-zero); position: relative; text-decoration: var(--artdeco-reset-link-text-decoration-none); touch-action: manipulation; vertical-align: var(--artdeco-reset-base-vertical-align-baseline); word-break: normal;" target="_self">https://lnkd.in/eByJ6pPG</a></div><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0tag:blogger.com,1999:blog-5620696001724592047.post-34617601968421586702023-09-12T13:05:00.001-06:002023-09-12T13:05:08.896-06:00 La inteligencia artificial nos trae ahora a "Jesus, María, Moisés, Dios y varios apóstoles".<span style="font-family: inherit;">Al parecer los medios tradicionales ya no están surtiendo efecto y ahora esta aplicación disponible inicialmente solo en el Apple Store y creada por el francés Stéphane Peter, promete que usted descubra una forma nueva e interactiva de interactuar con su fe a través de "Text With Jesus", una revolucionaria aplicación de chatbot con tecnología de inteligencia artificial.</span><div><span style="font-family: inherit;"><br />Su creador afirma que esta aplicación "esta diseñada para cristianos devotos que buscan una conexión más profunda con las figuras más emblemáticas de la Biblia."</span></div><div><span style="font-family: inherit;"><br />El sitio oficial promueve la aplicación a partir de afirmaciones tales como: "Embárquese en un viaje espiritual y participe en conversaciones esclarecedoras con Jesucristo, los Apóstoles y una multitud de otras figuras veneradas de la Biblia."</span></div><div><span style="font-family: inherit;"><br />"Los usuarios pueden encontrar consuelo, orientación e inspiración a través de sus conversaciones."<br />Sin embargo al final aclara:" La aplicación es una herramienta para la reflexión y el aprendizaje, no un sustituto de la oración o la fe personal."</span></div><div><span style="font-family: inherit;"><br />La aplicación tiene una versión gratuita con algunas limitaciones: se bloquea después de 8 mensajes consecutivos y para más interacciones, necesitas invitar a amigos a probarla.<br />Además, solo algunos 'personajes' están disponibles en la versión gratuita. Si quieres acceder a todos, el costo será de 2,77 euros al mes.</span></div><div><span style="font-family: inherit;"><br />En el apartado de preguntas frecuentes hay varios puntos que llaman la atención. Primero que todo explica para efectos de los más radicales, si estás hablando realmente con Jesús y si no es una "blasfemia". Luego aclara que la aplicación esta entrenada en todas las versiones de Biblia disponibles públicamente, incluída la versión King James.</span></div><div><span style="font-family: inherit;"><br />Una característica altamente llamativa, es que es posible tener charlas con "Satanás". El sitio explica que es incluído para poder proporcionar una compresión integral de los narrativas bíblicas, reflejando el papel del personaje tal y como se describe en la Biblia. Sin embargo, la interacción esta deshabilitada de facto y es necesario que el usuario la habilite manualmente.</span></div><div><span style="font-family: inherit;"><br />La aplicación admite actualmente 6 idiomas de narrativa inglés, francés, alemán, español, italiano y portugués.</span></div><div><span style="font-family: inherit;"><br />Como lo indiqué inicialmente, esta disponible para las plataformas de iPhone, iPad y Mac y indican que están actualmente trabajando para tener disponibilidad la misma en Android y en la línea.<br /><br />Para los curiosos que se preguntarán y les gustan generar hipótesis, si, efectivamente "Text With Jesus" creada por la compañia Catloaf Software ubicada en Los Angeles, California, es una aplicación desarrallada utilizando ChatGPT.</span><div class="x11i5rnm xat24cr x1mh8g0r x1vvkbs xtlvy1s x126k92a" style="background-color: white; color: #050505; font-family: "Segoe UI Historic", "Segoe UI", Helvetica, Arial, sans-serif; font-size: 14px; margin: 0.5em 0px 0px; overflow-wrap: break-word; white-space-collapse: preserve;"><div dir="auto" style="font-family: inherit;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaaEvnY8CCYrdfPU8WskJsfVn5kF6dvzWlV5YEfkpmnRXDNanFAzNnQSYU7Vkcneg8Yea-6m8A145FJxDqPRUIV4K6HlvhqGWqDJCEdCRqL3LkPGJ9hnwWEMnTZADdS53JTCfwZBRrgrWQjSl_Bwv7TTelsfmyfNeOkh8Eem42-NrU9Wxdfzfaej5h-AxX/s882/conversando_con_jesus.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="713" data-original-width="882" height="463" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaaEvnY8CCYrdfPU8WskJsfVn5kF6dvzWlV5YEfkpmnRXDNanFAzNnQSYU7Vkcneg8Yea-6m8A145FJxDqPRUIV4K6HlvhqGWqDJCEdCRqL3LkPGJ9hnwWEMnTZADdS53JTCfwZBRrgrWQjSl_Bwv7TTelsfmyfNeOkh8Eem42-NrU9Wxdfzfaej5h-AxX/w572-h463/conversando_con_jesus.jpg" width="572" /></a></div><br /><div dir="auto" style="font-family: inherit;"><br /></div></div></div><div class="blogger-post-footer">http://feed.ticoblogger.com</div>oracledbacr.blogspot.comhttp://www.blogger.com/profile/13963893925859179447noreply@blogger.com0