Pular para o conteúdo principal

Postagens

Permissões necessárias para criar triggers no Oracle

Há pouco tempo passei por um problema durante a criação de uma trigger de LOGON na versão 12c do banco de dados Oracle. Estava com alguns problemas em uma aplicação que tinha uma trigger de Logon. A trigger em si era bem simples, vou por o código mais abaixo, o problema é que ela estava criada dentro do usuário SYSTEM. Provavelmente foi a maneira mais fácil e preguiçosa de criar o objeto, uma vez que o SYSTEM já possui todas as permissões necessárias para criação. Porém isso não uma boa prática. Então resolvi tirar do SYSTEM e jogar para o usuário dono dos objetos da aplicação. Quando fui tentar criar o objeto no SCHEMA dono dos objetos da aplicação, recebi um erro com falta de permissões: ORA-01031: insufficient privileges . O erro ocorreu porque estava esquecendo de conceder a role ADMINISTER DATABASE TRIGGER para o usuário. Em resumo, as permissões necessárias para criação de uma trigger: CREATE TRIGGER - para criar uma trigger no seu próprio esquema (SCHEMA) CREATE AN...

Percona XtraBackup - Backup Físico MySQL

Perocona XtraBackup  é uma ferramenta open source que faz um hot backup físico da sua base MySQL sem parada do seu banco. Então se você tem o MySQL na versão free, o XtraBackup pode te ajudar muito.  Com ele é possível realizar backups full, incremental, compactar e até criptografar os backups da sua base. A ideia desse post é mostrar como é simples fazer backups usando a ferramenta XtraBackup. Maiores detalhes/instalação   aqui Criando um backup full Para iniciar o full, basta especificar o diretório que será guardado --target=dir. Se o diretório não existir, o xtrabackup irá criar, porém não irá sobrescrever se já existir arquivos na pasta. xtrabackup --user=root --password=zabbix --backup --target-dir=/bkp/percona/ No final do backup você verá os valores (início e fim) dos LSN dos logs da sua base. xtrabackup:  Redo log (from LSN 11930540802 to 11930753909) was copied Preparando / Restaurando o backup Antes de realizar o resto...

Criando bases CDB e não CDB Oracle 18c modo silencioso

Para criar base de dados container e não container sem a interface gráfica, basta seguir as sintaxes abaixo. Não CDB: [oracle@teste~]$dbca -silent \ -createDatabase \  -templateName General_Purpose.dbc \ -gdbName ADMCDB \ -sid ADMCDB \ -sysPassword sys \ -systemPassword sysadmcdb \ -emConfiguration NONE \ -datafileDestination /u01/app/oracle/oradata \ -storageType FS \ -characterSet WE8ISO8859P15 CDB: [oracle@teste~]$ dbca  -silent                \       -createDatabase                   \       -templateName General_Purpose.dbc \       -gdbName ADMCDB                    \       -sid ADMCDB                        \       -createAsContainerDatabase t...

O que é DB Time?

Gravei um vídeo há algum tempo falando sobre esse importante indicador do banco de dados que é o DB Time ou Tempo de Banco de Dados. O vídeo é bem curto e direto. É mais para ter um noção do conceito.

O "dom" é que faz a diferença... será?

  De uns tempos pra cá venho estudando muito sobre criatividade, porque cresci escutando que criatividade é um dom, você já nasce com ele. De fato, alguns podem nascer. Mas comecei a perceber que criatividade é algo que pode ser estudado e aprendido. O dom não tem jeito, ou você nasce com ele ou não. É indiscutível que esse negócio de dom existe, pois podemos ver que algumas pessoas tem muito mais facilidade e habilidades pra uma determinada atividade. Pra ser mais específico, estou me referindo ao futebol. Assistindo aquele jogaço no dia 15/06/18 entre CR7 X Espanha,  quer dizer Portugal X Espanha  tive a motivação para escrever esse texto. Sempre fui muito fã do Cristiano Ronaldo, ai você pode pensar: " é fácil ser fã desse cara, ele já ganhou tudo que é possível no futebol". Na verdade quase tudo, porque uma copa do mundo é um pouco complicado, não impossível, jogando na seleção de Portugal. O que mais admiro nele é a capacidade de concentração e o HardWork....

Upgrade Oracle APEX 18.1

Nesse post vou fazer um breve resumo de como atualizar para nova versão do Oracle APEX 18.1 que saiu 24/05/18. No meu ambiente atual estou usando Oracle 11.2.0.4 com Linux e o APEX na versão 5.1 com três aplicações. E vou migrar o APEX para 18.1 com PL/SQL Gateway. Vamos lá para o processo... Em resumo basta instalar o novo software na sua base de dados que o processo de instalação vai atualizar as aplicações existentes nas versões anteriores. Da versão 1 até a 5 do APEX são suportadas para esta atualização. 1 - Primeiro vamos baixar o software aqui 2 - Em seguida vamos descompactar o arquivo e logar na base de dados que vamos atualizar com um usuário SYSDBA. 3 - Para instalação do APEX vamos executar o script @apexins.sql Mude seu diretório padrão para a pasta descompacta apex.  cd /u01/apex/ sqlplus / as sysdba @apexins.sql APEX_TS APEX_FILES TEMP /i/ APEX_TS - é o nome da tablespace que ficarão os usuário de aplicação APEX APEX_FILES - é o nome ...

Ordenando Gráficos no APEX por Data (Time Axis Time)

Recentemente encontrei um problema para ordenar um gráfico em barras no Apex por data. O gráfico que estava montando era pra pegar o valor faturado de três empresas agrupando por mês/ano. Até então, tudo tranquilo sem maiores problemas. Fiz meu SQL ordenado pela data. No SQLDeveloper mostrava tudo certo, os registros seguindo a ordem de tempo, mas quando joguei no gráfico do Apex percebi que o X(data) ficou fora de ordem cronológica. Quebrei um pouco a cabeça até descobrir a configuração Time Axis Time. Quando o campo do gráfico é DATE ou TIMESTAMP o eixo X pode ser declarado como time axis configurando o atributo Time Axis Type como ENABLE na configurações do gráfico. Da uma olhada na tela abaixo onde encontrar. Feito essa configuração, problemas resolvido!

Novo processo PMAN - Oracle 12.2

Se você já testou ou migrou para versão 12c do Oracle Database, já deve ter notado a quantidade de novos processos. Hoje precisei investigar uma situação que terminou na descoberta de um novo processo que surgiu na versão 12.2. Tenho alguns scripts que fazem checagem nas instâncias Oracle e uma das linhas era:  ps -ef | grep ora_pm Não lembro o motivo de não ter colocado o nome completo do processo "ora_pmon", porque o objetivo dessa checagem era verificar os processos PMON das instâncias que estavam nessa máquina. Hoje quando migrei um banco de 12.1 para 12.2, o script estava retornando um erro. Após análise, vi que ele estava retornando mais de uma linha e "correto", até a versão 12.1, era apenas uma. Executei o comando e retorno foi: Então fui procurar na documentação sobre esse novo processo PMAN - Process Manager. Em resumo, ele assumiu algumas atividades executadas nas versões anteriores ao 12.2 pelo nosso amigo PMON.  A parte de mo...