{"id":477,"date":"2021-04-05T23:25:23","date_gmt":"2021-04-05T23:25:23","guid":{"rendered":"https:\/\/adrianotanaka.com.br\/?p=477"},"modified":"2022-03-11T19:17:44","modified_gmt":"2022-03-11T19:17:44","slug":"oracle-21c-desupport-of-sec_case_sensitive_logon","status":"publish","type":"post","link":"https:\/\/adrianotanaka.com.br\/index.php\/2021\/04\/05\/oracle-21c-desupport-of-sec_case_sensitive_logon\/","title":{"rendered":"Oracle 21c &#8211; Desupport of SEC_CASE_SENSITIVE_LOGON"},"content":{"rendered":"\n<p>Estou realizando alguns testes em um ambiente 21c e precisei criar o usu\u00e1rio HR para dar algumas cargas, at\u00e9 aqui bem simples n\u00e9? <\/p>\n\n\n\n<p>Primeiro criei o usu\u00e1rio e dei as permiss\u00f5es necess\u00e1rias:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">CREATE USER HR IDENTIFIED BY SenhA_Segura#123\nGRANT CREATE SESSION, RESOURCE TO HR;\nALTER USER HR QUOTA UNLIMITED ON USERS;<\/pre>\n\n\n\n<p>Mas ao tentar fazer login, recebi o famoso erro ORA-01017 que indica que a senha (ou usu\u00e1rio) passada est\u00e1 errada:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">SQL> conn HR\/SenhA_Segura#123\nERROR:\nORA-01017: invalid username\/password; logon denied<\/pre>\n\n\n\n<p class=\"has-text-color has-background has-very-dark-gray-color has-luminous-vivid-amber-background-color\"><strong>Pessoal, uma corre\u00e7\u00e3o aqui apontada pelo <a href=\"https:\/\/www.dbarj.com.br\/\">Rodrigo Jorge<\/a> , ao fazer o conn dentro de uma conex\u00e3o do sqlplus, mesmo tendo executado o alter session set container=xxx; ele vai tentar se autenticar no CDB e por isso esse erro de senha inv\u00e1lida, o teste deveria ter sido feito usando uma entrada tns por exemplo.<\/strong><\/p>\n\n\n\n<p>Mas como minha senha pode estar errada se acabei de criar o usu\u00e1rio com essa mesma senha? Minha primeira rea\u00e7\u00e3o foi olhar o par\u00e2metro SEC_CASE_SENSITIVE_LOGON :<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">SQL> show parameter logon\nSQL> show parameter case\nSQL> show parameter sec\n\nNAME\t\t\t\t     TYPE\t VALUE\n------------------------------------ ----------- ------------------------------\ndb_securefile\t\t\t     string\t PREFERRED\noptimizer_secure_view_merging\t     boolean\t TRUE\nsec_max_failed_login_attempts\t     integer\t 3\nsec_protocol_error_further_action    string\t (DROP,3)\nsec_protocol_error_trace_action      string\t TRACE\nsec_return_server_release_banner     boolean\t FALSE\nsql92_security\t\t\t     boolean\t TRUE\nSQL> \n<\/pre>\n\n\n\n<p>Note que nas duas primeiras vezes, nada foi retornado, ser\u00e1 que eu poderia estar digitando errado? Talvez alguma diferen\u00e7a por estar no pdb e n\u00e3o no cdb ? Foi ai que achei essa p\u00e1gina <a rel=\"noreferrer noopener\" href=\"https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/21\/upgrd\/behavior-changes-deprecated-desupport-oracle-database.html#GUID-44CE5959-A0F4-4E41-A84C-65D247CB3EF5\" target=\"_blank\">aqui<\/a> que fala de par\u00e2metros que foram descontinuados na vers\u00e3o 21c, avan\u00e7ando na documenta\u00e7\u00e3o, outros par\u00e2metros tamb\u00e9m foram removidos:<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><a href=\"https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/21\/upgrd\/behavior-changes-deprecated-desupport-oracle-database.html#GUID-32A120BB-3210-4F33-AAF0-F309D0FE23FB\">Desupport of UNIFIED_AUDIT_SGA_QUEUE_SIZE<\/a><br>Starting in Oracle Database 21c, the initialization parameter&nbsp;<code>UNIFIED_AUDIT_SGA_QUEUE_SIZE<\/code>&nbsp;is desupported.<\/p><p><a href=\"https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/21\/upgrd\/behavior-changes-deprecated-desupport-oracle-database.html#GUID-F57B916B-C958-46C0-BBCF-364437629DBB\">Desupport of IGNORECASE Parameter for Passwords<\/a><br>Starting in Oracle Database 21c, the&nbsp;<code>IGNORECASE<\/code>&nbsp;parameter for the&nbsp;<code>orapwd<\/code>&nbsp;file is desupported. All newly created password files are case-sensitive.<\/p><p><a href=\"https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/21\/upgrd\/behavior-changes-deprecated-desupport-oracle-database.html#GUID-44CE5959-A0F4-4E41-A84C-65D247CB3EF5\">Desupport of DISABLE_DIRECTORY_LINK_CHECK<\/a><br>Starting in Oracle Database 21c, the&nbsp;<code>DISABLE_DIRECTORY_LINK_CHECK<\/code>&nbsp;parameter is desupported, with no replacement.<\/p><p><a href=\"https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/21\/upgrd\/behavior-changes-deprecated-desupport-oracle-database.html#GUID-739708B4-B27F-4A0B-8EB7-549D3C9BDD32\">Desupport of REMOTE_OS_AUTHENT Parameter<\/a><br>The Oracle Database initialization parameter&nbsp;<code>REMOTE_OS_AUTHENT<\/code>&nbsp;has been removed from Oracle Database 21c.<\/p><p><a class=\"\" href=\"https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/21\/upgrd\/behavior-changes-deprecated-desupport-oracle-database.html#GUID-687E7533-0C8B-4013-B746-EDCA2D372D5D\">Desupport of SEC_CASE_SENSITIVE_LOGON<\/a><br>The&nbsp;<code>SEC_CASE_SENSITIVE_LOGON<\/code>&nbsp;parameter is desupported in Oracle Database 21c.<\/p><\/blockquote>\n<\/div><\/div>\n\n\n\n<p>Voltando ao nosso problema, antigamente voc\u00ea poderia apenas alterar o par\u00e2metro SEC_CASE_SENSITIVE_LOGON para que o case da senha fosse ignorado e isso geralmente resolvia o problema (nas vers\u00f5es 12c, precisava unir ele ao par\u00e2metro do sqlnet) , agora na vers\u00e3o 21c, precisamos ajustar apenas o par\u00e2metro SQLNET.ALLOWED_LOGON_VERSION_SERVER no nosso arquivo sqlnet.ora <\/p>\n\n\n\n<p>Olhando na DBA_USERS, a senha do nosso usu\u00e1rio j\u00e1 estava definido como 11G\/12C:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"126\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/04\/image-32-1024x126.png\" alt=\"\" class=\"wp-image-483\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/04\/image-32-1024x126.png 1024w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/04\/image-32-300x37.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/04\/image-32-768x94.png 768w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/04\/image-32.png 1482w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>A partir da vers\u00e3o 12.2 o valor padr\u00e3o para o ALLOWED_LOGON_VERSION_SERVER \u00e9 12, ou seja, usu\u00e1rios criados nesse banco poderiam usar uma senha com ou sem case, mas na pr\u00e1tica eu n\u00e3o consegui fazer login de jeito nenhum, por isso eu tive que definir o SEC_CASE_SENSITIVE_LOGON para 12, dessa forma o login foi feito com sucesso, caso queira for\u00e7ar a senha para o padr\u00e3o mais novo(e seguro) sugiro colocar o valor como 12a, mas tome muito cuidado pois ao fazer isso, voc\u00ea perde a capacidade de fazer login com formatos mais antigos de senha:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"711\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/04\/image-33-1024x711.png\" alt=\"\" class=\"wp-image-485\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/04\/image-33-1024x711.png 1024w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/04\/image-33-300x208.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/04\/image-33-768x533.png 768w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/04\/image-33.png 1246w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Aqui nesse site voc\u00ea tem toda a explica\u00e7\u00e3o dos valores e seus respectivos padr\u00f5es: <a rel=\"noreferrer noopener\" href=\"https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/21\/netrf\/parameters-for-the-sqlnet.ora.html#GUID-1FA9D26C-4D97-4D1C-AB47-1EC234D924AA\" target=\"_blank\">https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/21\/netrf\/parameters-for-the-sqlnet.ora.html#GUID-1FA9D26C-4D97-4D1C-AB47-1EC234D924AA<\/a> recomendo dar uma olhada nele e tamb\u00e9m nesse post do Mike Dietrich: <a href=\"https:\/\/mikedietrichde.com\/2017\/04\/25\/what-happens-to-password_versions-during-an-upgrade-to-oracle-12-2\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/mikedietrichde.com\/2017\/04\/25\/what-happens-to-password_versions-during-an-upgrade-to-oracle-12-2\/<\/a> onde ele tamb\u00e9m explica esse comportamento.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Estou realizando alguns testes em um ambiente 21c e precisei criar o usu\u00e1rio HR para dar algumas cargas, at\u00e9 aqui bem simples n\u00e9? Primeiro criei o usu\u00e1rio e dei as permiss\u00f5es necess\u00e1rias: Mas ao tentar fazer login, recebi o famoso erro ORA-01017 que indica que a senha (ou usu\u00e1rio) passada est\u00e1 errada: Pessoal, uma corre\u00e7\u00e3o [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":479,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"material-hide-sections":[],"footnotes":""},"categories":[8,6,1],"tags":[],"class_list":["post-477","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oci","category-oracle","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/posts\/477","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=477"}],"version-history":[{"count":9,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/posts\/477\/revisions"}],"predecessor-version":[{"id":490,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/posts\/477\/revisions\/490"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/media\/479"}],"wp:attachment":[{"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=477"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=477"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=477"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}