ORA-02225: only EXECUTE and DEBUG privileges are valid for procedures

  Por default  não  é permitido conceder ou revogar grants para uma procedure no banco de dados Oracle além de EXECUTE e DEBUG. No entanto, caso aja a necessidade de visualizar o conteúdo de uma procedure, você poderá criar uma view e conceder o grant de select com  a opção  de grant na view criada. Com isso, segue os passos:   Criação de uma view com a opção de consulta no campo text da dba_source (caso deseja visualizar todo o conteúdo do objeto e não somente o texto, você poderá colocar…

ORA-29278: SMTP transient error: 421 Service not available

Criei um arquivo que faz um checklist do banco de dados e  envia um relatório para alguns e-mails via SMTP Server. Em um determinado momento verifiquei que o relatório não estava mais sendo enviado e reportava o seguinte erro “ORA-29278: SMTP transient error: 421 Service not available”. Após algumas análises, verifiquei que  houve alteração do IP do SMTP Server e , com isso, resolvi o problema. Como ? Quando se usa SMTP para enviar e-mails em banco de dados Oracle, configura o parâmetro SMTP_OUT_SERVER no banco de dados com o…

ASM Health Checker found 1 new failures

Estava analisando o arquivo alert.log do ASM, quando encontrei a seguinte mensagem “ASM Health Checker found 1 new failures”. Após executar o comando “ALTER DISKGROUP <disk group name>  CHECK;”  para verificar se havia alguma inconsistência no disk group , foi encontrado que de fato havia .  Com isso, após a execução do comando “ALTER DISKGROUP <disk group name> CHECK ALL REPAIR;” que faz uma análise e repara a corrupção encontrada, o alerta foi resolvido. Segue a execução: Checando e reparando a corrupção: brunorsHi! I am Bruno, a Brazilian born and…

ORA-19566: exceeded limit of 0 corrupt blocks for file usando SET MAXCORRUPT for datafile

Durante a execução de um backup foi reportado o seguinte erro: Blocos corrompidos: Uma ação paliativa para garantir pelo menos o backup é utilizar a sintaxe “SET MAXCORRUPT for datafile ” para o datafile que está corrompido. Com isso , o backup terminará sem erros. No entanto, a corrupção dos blocos permanecerá. Execução com a sintaxe “SET MAXCORRUPT” no backup. Note que coloquei o ID do datafile que apresentou erro, no caso 118, e o número aceitável de até 4 blocos corrompidos. Execução finalizada com sucesso… brunorsHi! I am Bruno,…

RMAN-06059: expected archived log not found, loss of archived log compromises recoverability

Estava executando um backup utilizando Zero Data Loss Recovery Appliance – ZDLRA com Recovery Manager (RMAN), quando a execução foi abortada reportando o seguinte erro: “RMAN-06059: expected archived log not found, loss of archived log compromises recoverability” Para resolver este erro, basta efetuar os seguintes passos: Rodar o comando “CROSSCHECK ARCHIVELOG ALL;’ no banco de dados  target do RMAN que apresentou erro; Após a finalização do primeiro passo, deletar os archives expirados executando o seguinte comando “DELETE EXPIRED ARCHIVELOG ALL;” ; Reprocessar o backup que apresentou erro anteriormente. Sendo assim,…

ORA-32018: parameter cannot be modified in memory on another instance

Quando administramos um banco de dados Oracle com RAC (Real Application Clusters), há a necessidade de sempre ter atenção quando se vai efetuar a alteração de um parâmetro. Há parâmetros que só são alterados após uma reinicialização do banco de dados e há aqueles que podem ser alterados dinamicamente  (parâmetro Modifiable= ALTER SYSTEM na documentação da Corporação Oracle)  na instância inicializada. No entanto, para estes parâmetros dinâmicos há aqueles parâmetros que não há a possiblidade de se alterar no nó principal do cluster e nos demais ao mesmo tempo e, com…

ORA-01950: no privileges on tablespace ‘BKTTBS’

  Durante a criação de uma tabela, foi reportado o seguinte erro: “ORA-01950: no privileges on tablespace ‘BKTTBS’”. Este erro acontece devido ao fato de o usuário que estar criando a tabela não ter espaço de  quota suficiente de criação na tablespace onde a tabela irá residir. Para solucionar este problema, você pode conceder espaço ilimitado de criação para o usuário na tablespace, como no exemplo abaixo: ou também você pode definir o espaço de quota para o usuário na tablespace, como por exemplo 10M: brunorsHi! I am Bruno, a…

ORA-10635: Invalid segment or tablespace type

Durante a execução de uma tentativa de desfragmentação de dados de uma tabela que continha um BLOB (um tipo de LOB), obtive o seguinte erro “ORA-10635: Invalid segment or tablespace type”. Durante a análise para verificar o erro, peguei o DDL da tabela verifiquei que possuía SECUREFILE. Sendo assim, não sendo possível o uso de SHRINK SPACE, somente efetuando um shrink no securefile LOB usando Online Redefinition (DBMS_REDEFINITION) [Doc ID 1394613.1]. É importante mencionar que o erro “ORA-10635: Invalid segment or tablespace type” também é comum quando a tabela possui…

ORA-65140: invalid common profile name

Durante a criação de um profile para posteriormente associar um usuário criado ao mesmo, recebi o seguinte erro “ORA-65140: invalid common profile name”. Isto acontece quando se tenta criar um profile sem o prefixo c## no CDB em um banco de dados Oracle 12c. Para resolver este problema, basta simplesmente adicionar o prefixo antes do nome do profile e reexecutar o comando. Com isso, seguem os exemplos: Tentativa de criar o usuário sem o prefixo c## no CDB:   Criação com sucesso do profile com o prefixo c##: Associando um…

Configurando o percentual de espaço de armazenamento para o SMB (SQL MANAGEMENT BASE) no Oracle 11g

O SQL Management Base (SMB) faz parte do dicionário de dados e , por isso, seu armazemento é efetuado na tablespace SYSAUX.  No SMB é armazenado o histórico de planos de execução SQL e , dentro deste se encontra o SQL Plan Baseline. Só aqui já é possível imaginar a importância do SMB nas suas análises diárias de tuning. No entanto, se o armazenamento for insuficente, é possível aumentar? Bom, pensando rapidamente a ideia inicial seria aumentar a SYSAUX … seguindo a lógica de que o SMB fica dentro da…