



Esta mensagem acontece devido a quantidade de dados retornada do comando dbms_output.put_line para a captura de logs da package.
dbms_output.put_line(‘Linha para debug e captura de log da package ‘ || variáveis);
Altere o buffer utilizando o comando
set serveroutput on size 1000000
ALTER PACKAGE nome_package COMPILE;
ALTER PACKAGE nome_package COMPILE PACKAGE;
ALTER PACKAGE nome_package COMPILE BODY;
O SQL Developer por padrão não exibe o número da linha.

Para deixar visível a data e hora, ajuste em NLS o formato de datas
DD/MM/YYYY HH24:MI:SS

Resultado:

Para consultar os objetos do banco de dados faça um select em user_objects, será retornado na consulta os objetos do usuário que você se conectou no banco de dados.
Exemplo #1 – Para buscar por tipo, inclua a restrição object_type = PROCEDURE’,’FUNCTION’, ‘VIEW
select object_name, object_type, created, last_ddl_time, status
from user_objects
where object_type in (‘PROCEDURE’,’FUNCTION’, ‘VIEW’)
order by last_ddl_time
Exemplo #2 – Consultar a quantidade por tipo de objeto
select
object_type,
count(1) qtde
from all_objects a
where owner = ‘USER’
group by object_type

Exemplo #3 – Para consultar todos os objetos (ALL_OBJECTS)
select object_name, object_type, created, last_ddl_time, status
from
ALL_OBJECTS
where object_type in (‘VIEW’)
order by last_ddl_time

Exemplo #4 – Para consultar todos os objetos (ALL_OBJECTS), agrupando por tipo e (OWNER)
select
owner, object_type,
count(1) qtde
from all_objects a
group by object_type, owner
order by owner, object_type

Exemplo #5 – Para consultar todos os objetos (dba_objects)
select object_name, object_type, created, last_ddl_time, status
from dba_objects
Olá, neste post vou mostrar como utilizar o NVL em campos do tipo DATE.
Oracle (ORA-00932) inconsistent datatypes: expected %s got %s”
Para resolver é necessário utilizar o comando TO_CHAR para a conversão antes de usar o NVL.
Veja o exemplo:
SELECT
nvl(to_char(dt_nascimento), 0)
FROM TABELA;
Resultado: Data ou 0.
Exemplo 2: Com DECODE
select
decode(nvl(to_char(dt_nascimento), 0), to_char(dt_nascimento), ‘COM DATA’, ‘SEM DATA’) DATA
FROM tabela;
Resultado: COM DATA / SEM DATA
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;
Com a view DBA_SEGMENTS do usuário DBA, é possível consultar os maiores objetos e tabelas no banco.
Comando SQL para consultar todos objetos;
select
SEGMENT_NAME,
SEGMENT_TYPE,
BYTES/1024/1024 mb,
BYTES/1024/1024/1024 GB,
tablespace_name
from
dba_segments
order by mb desc

Comando SQL para consultar as 5 maiores tabelas;
Você pode alterar a busca conforme necessitar, a partir da columa segment_type, poderá consultar apenas as tabelas.
select * from (
select
owner,
SEGMENT_NAME,
SEGMENT_TYPE,
bytes/1024/1024 mb,
bytes/1024/1024/1024 GB,
tablespace_name
from
dba_segments
where segment_type = 'TABLE'
order by mb desc
)
where rownum <= 5;

Exemplo de consulta buscando os objetos de um tablespace (tablespace_name).
select * from (
select
owner,
SEGMENT_NAME,
SEGMENT_TYPE,
sum(bytes/1024/1024) mb,
sum(bytes/1024/1024/1024) GB,
tablespace_name
from
dba_segments
where segment_type = 'TABLE'
and tablespace_name = 'TEMP'
group by segment_type, owner, SEGMENT_NAME, tablespace_name
order by mb desc
)
where rownum <= 5;
ORA-00997: illegal use of LONG datatype
Ao tentar criar uma tabela a partir de um select em tabela com o campo do tipo long, é mostrado o erro ORA-00997.
Para resolver utilize o comando TO_LOB, veja a continuação do exemplo;
create table teste_long2 AS select campo_long campo_long from teste_long


create table teste_long2 AS select TO_LOB(campo_long) campo_long from teste_long

Para consultar os parâmetros da instalação do banco de dados, utilize o comando abaixo para consultar.
SELECT * FROM V$NLS_PARAMETERS;
Para alterar o idioma (da sessão) conectada ao banco de dados, utilize o comando abaixo;
ALTER SESSION SET NLS_LANGUAGE= ‘Spanish’

Formato em Português
select
TO_CHAR(sysdate, ‘DD “de” fmMonth “de” YYYY’,’NLS_DATE_LANGUAGE=Portuguese’)
from
dual

Formato em Espanhol
select
TO_CHAR(sysdate, ‘DD “de” fmMonth “de” YYYY’,’NLS_DATE_LANGUAGE=Spanish’)
from
dual

Formato em Inglês
select
TO_CHAR(sysdate, ‘DD “de” fmMonth “de” YYYY’,’NLS_DATE_LANGUAGE=AMERICAN’)
from
dual

ALTER SESSION SET NLS_LANGUAGE = ‘AMERICAN’;
SELECT * FROM V$NLS_VALID_VALUES
FETCH FIRST 20 ROWS ONLY;

SELECT * FROM NLS_SESSION_PARAMETERS;
SELECT * FROM NLS_INSTANCE_PARAMETERS;
SELECT * FROM NLS_DATABASE_PARAMETERS;