Oracle – ALTER SESSION SET CURRENT_SCHEMA

Podemos utilizar o comando ALTER SESSION SET CURRENT_SCHEMA para identificarmos a sessão, com o usuário em si.

Quando conectamos no banco de dados Oracle com outro usuário, é necessário adicionar o usuário antes dos objetos para execução, busca ou identificação no SQL.

select * from user.table_user;

Para solucionarmos este problema, podemos alterar a sessão com o comando;

alter session set current_schema = USER;

Após executar o comando, você poderá executar os comandos no banco de dados Oracle, sem precisar informar o nome de usuário antes dos objetos.

Exemplo:

select * from table_user;

Como consultar o tamanho do tablespace do Oracle?

A partir de uma consulta SQL, é possível obter o tamanho de um tablespace, veja a seguir o comando.

Comando SQL:

select
tablespace_name, used_space, tablespace_size, trunc(tablespace_size / 1024/124,02) size_mb , used_percent
from dba_tablespace_usage_metrics
where tablespace_name in (‘FABIANO_DATA’, ‘USERS’ )
order by tablespace_size desc;

A coluna TABLESPACE_NAME exibe o nome da tablespace.
A coluna USED_SPACE exibe o ​espaço físico que a tablespace aloca na expansão;
A coluna TABLESPACE_SIZE exibe qual é o tamanho limite que a tablespace pode atingir;
A coluna USED_PERCENT exibe qual é o percentual de utilização de espaço.

Neste artigo irei demonstrar como fazer a instalação do client Oracle 19 no Windows 11Arm.

Acesse o site da Oracle para baixar o client Oracle 19c.

Após o download, descompacte o arquivo, será criada uma pasta com o nome de client.

Após a execução, será apresentando uma tela de verificação que é encerrada automaticamente, aguarde um momento, até que a próxima tela seja apresentada.

Etapa 1 de 7 – Selecionar o tipo de Instalação

Na próxima tela, vamos selecionar o tipo de instalação, a diferença entre as opções, basicamente são os componentes e ferramentas auxiliares que são instaladas.

Se o objetivo é apenas instalar um client para configuração da TNSNAMES, pode ser a selecionado a 3 opção (client) ou runtime (com algumas ferramentas adicionais).

Entretanto, recomendo sempre instalar a primeira opção (Administrador), no caso de ser um usuário de tecnologia ou está executando testes, pelo motivo de que a instalação adiciona ferramentas que auxiliam em validações de serviços de rede, conexão no SQL pelo COMMAND que é bem mais rápido.

Etapa 2 de 7 – Seleção de usuário

Nesta etapa, pode ser selecionado um usuário especifico para a instalação, recomendo que seja com um usuário Administrador.

Etapa 3 de 7 – Destino da Instalação

Quando você tem mais de um Disco (C:, D:, E:, etc..), o instalador normalmente seleciona um disco secundário, caso prefira, atualize para instalar no disco C:, conforme a imagem.

Etapa 4 de 7 – Validação dos pré requisitos para a instalação

Na próxima etapa a instalação fará uma verificação de pré requisitos do seu computador.

Etapa 5 de 7 – Resumo da instalação

É apresentado um resumo da verificação, tipo de instalação, destino e também indicam o local que será salvo um arquivo com os detalhes.

Etapa 6 de 7 – Instalação do Client

A instalação é iniciada ao clicar em Instalar no paso anterior.

Durante a instalação será apresentado uma mensagem para liberar o client Oracle 19c no firewall, confirme a liberação.

A porta padrão do Oracle é a 1521, existem instalações que são feitas em outras portas, como por exemplo 1522.

Ou seja, a estação de trabalho comunicará com o banco de dados a partir da porta 1521.

Etapa 7 de 7 – Finalização da instalação

Nesta etapa, somente é apresentado a mensagem que a instalação foi bem-sucedida.

Em caso de algum erro, você pode reinstalar.

Etapa – Configurar o arquivo TNSNAMES para acesso ao banco de dados.

Para configurar o TNSNAMES, acesse a pasta no local de instalação, indicado na etapa 3.

Crie um arquivo com o nome tnsnames.ora

PL/SQL – Como fazer select para buscar dados por horário no Oracle

Olá, neste exemplo de hoje, vou mostrar como fazer uma consulta SQL em um campo do tipo (DATE) para filtrar os dados por horário.

Criando a tabela (BLOG_TEMP_DATAS) para o exercicio.

create table BLOG_TEMP_DATAS
(
NR_SEQUENCIA NUMBER,
DT_CONSULTA DATE
)

Consultando os dados na tabela

Utilizando o comando to_char(dt_consulta, ‘hh24’), podemos utilizar a condição para filtrar apenas pelo horário. Veja abaixo o exemplo.

select
*
from
blog_temp_datas
where to_char(dt_consulta, ‘hh24′) between ’12’ and ’16’

 select 
   nr_sequencia
  ,to_char(dt_consulta, 'hh24')
  ,dt_consulta
 from 
 blog_temp_datas
 where to_char(dt_consulta, 'hh24') between '12' and '16'

Dividindo uma string usando regexp_substr 

Olá amigos,

Neste post vou falar sobre separação (Split) de uma variável SQL (Oracle) em mais de uma parte.

Diante de um problema, onde todos os arquivos estavam em uma mesma pasta(fisicamente) no servidor, tínhamos a necessidade de identificar e separar estes arquivos por módulo do sistema. Mas como?

No sistema, tínhamos armazenado o nome destes arquivos, por módulos e em tabelas diversas.

O desafio surgiu, porque havia mais de 20.000 (vinte mil) arquivos na pasta, misturados com arquivos temporais e com arquivos que não podíamos perder.

E se o servidor fosse reiniciado, tudo se perderia, pois estavam armazenados em uma pasta temporária.

Então, cheguei a uma solução de criar um script (comand) para executarmos no linux e fazer a separação dos arquivos.

Para explicar melhor, havia a seguinte situação:

Nome do armazenamento de arquivos, mesclado com o nome do módulo, com o nome do arquivo fisicamente e nome do arquivo original.

servidor-stogare://MODULO.c0206646-08dfs-4174-9c17-b88ddfs/3l8apU-5e275ed5-Aarquivo 20940093.pdf?nomereal 20940093.pdf

Precisávamos separar o nome do arquivo.

Com comando abaixo, obtive apenas o nome do arquivo.

select
ds_arquivo,
‘cp “‘ ||REGEXP_SUBSTR(replace(ds_arquivo, ‘servidor-stogare://MODULO.csss6646ss-8dfs-4174-9c17-b88ddfs/’,”), ‘[^?]+’, 1, 1) || ‘” pasta-backup’
from tabela_banco_dados

 

Resultado:

3l8apU-5e275ed5-Aarquivo 20940093.pdf

 

Então, concatenei com o comando de copia de arquivos do linux (CentOS) + nome do arquivo + nome do diretório de destino, para a copia e backup dos arquivos.

cp “3l8apU-5e275ed5-Aarquivo 20940093.pdf” pasta-backup

A partir deste exemplo, gerei uma lista (txt) de todos os arquivos anexados ao módulo do sistema, e executamos no servidor para os copiar para uma nova pasta.