Páginas

terça-feira, 27 de agosto de 2013

Excluindo usuário no MySQL


Podemos utilizar o comando DROP USER e o comando DELETE.
Com o comando DROP USER devemos informar o nome do usuário e qual o host de conexão ele pertence:
DROP USER 'emerson'@'%';

Também podemos realizar a deleção do usuário com o comando delete:
DELETE FROM mysql.user WHERE user = 'emerson';

  
Explicando o comando, estamos deletando (delete from) da tabela user onde a database é mysql (mysql.user) o usuário cujo o nome seja 'emerson'.

Fonte:
http://wiki.mandic.com.br/cloud-computing/cloud-linux/tutoriais/134-excluindo-usuario-mysql

Atribuindo permissões para usuário MySQL


O MySQL trabalha com as seguintes permissões:

Manipulação de Dados
SELECT
Somente Leitura
INSERT
Inserção de Dados
UPDATE
Atualização de Dados
DELETE
Remoção de Dados

Manipulação de Tabelas
CREATE
Criação de novas Tabelas/Bases
ALTER
Modificação de Tabelas/Colunas
DROP
Remocação de Tabelas/Bases

Para definirmos as devidas permissões a um usuário utilizamos o comando GRANT, ex.:
GRANT <permissao> ON <base>.<tabela> TO '<user>'@'localhost' IDENTIFIED BY '<senha>' WITH GRANT OPTION;
Para adicionar permissão de leitura, inserção e modificação:
GRANT select, insert, update ON gaudencio.* TO 'emerson'@'%' WITH GRANT OPTION;
E para visualizar as permissões que acabamos de aplica usamos o comando:
SHOW GRANTS FOR 'emerson'@'%';


 Obs.: O * representa tudo, no exemplo acima definimos as permissões de SELECT, INSERT e UPDATE na base de dados gaudencio em todas as suas tabelas.

Obs[2].: Para definir as mesmas permissões para conexões externas, devemos repetir o comando e substituir o localhost por % .

Para definirmos todas as permissões para um usuário e o tornar DBA(Administrador) de sua base de dados podemos utilizar o parametro ALL PRIVILEGES em permissões, ex.:
GRANT ALL PRIVILEGES ON gaudencio.* TO 'emerson'@'%' WITH GRANT OPTION;


Para remover uma permissão é utilizado o comando REVOKE, ex.:
REVOKE DROP, DELETE ON gaudencio.* FROM 'emerson'@'%';
No exemplo acima estamos revogando/removendo as seguintes permissões: DROP e DELETE do usuário emerson sobre a base de dados gaudencio.


Obs.: Podemos ver que o SHOW GRANTS muda a visualização das permissões quando revogamos uma permissão do usuário, com isso ele lista quais as permissões que este usuário possui.

Também podemos revogar/remover todas as permissões do usuário utilizando o parâmetro ALL PRIVILEGES, ex.:

REVOKE ALL PRIVILEGES ON gaudencio.* FROM 'emerson'@'%';



Obs.: A permissão USAGE significa Sem Privilégios.

Bom pessoal, espero que essa dica para atribuição de permissão de usuários no MySQL possa ajudar aqueles que estejam procurando por este conteúdo. Que a Graça e Paz estejam com todos.

Fonte:

Criando Usuário no MySQL


A criação de usuários é realizada através do comando CREATE USER
CREATE USER '<novo_user>'@'localhost' IDENTIFIED BY '<senha>';

Neste comando informamos que o nome do usuário a ser criado é emerson, o mesmo possuíra permissão de conexão localhost e será identificado/autenticado pela senha Teste,.123.
Obs.: Caso o usuário criado precise ter permissões de conexão externa, no lugar de localhost poderá ser informado o IP de Origem da conexão ou o simbolo % que representa TUDO.
Para identificar se seu usuário foi criado com sucesso faça a seguinte consulta:
select user, host from mysql.user;


 Bom espero que essa dica possa ajudar a profissionais que estejam a procura deste conteúdo. Que a Graça e Paz estejam com todos.

Fonte:
http://wiki.mandic.com.br/cloud-computing/cloud-linux/tutoriais/133-criando-usuario-mysql

domingo, 25 de agosto de 2013

Comandos mais utilizados LINUX


# uname -a = mostra a versão ou nome do servidor. 
# free -m = Mostra informações de memória e Swap.
# df -h = mostra os discos que o servidor está usando.
# top = Mostra o consumo do servidor.
# loadkeys us = muda a versão do Teclado.
# uptime = Mostra quanto tempo o servidor está no ar e quantos usuários estão logados no momento.
# cat /proc/cpuinfo = Mostra as informações de processadores.
# cat /proc/meminfo = Mostra as informações de memória.
# ifconfig = mostra as interfaces ativas no servidor.
# ifconfig <ethXX> up = ativa a interface de rede.
# ifconfig <ethXX> down = desativa a interface de rede.
# shutdown -r now = desliga e liga corretamente o servidor.
# ps -aux = verifica serviços rodando.
# /etc/init.d/networking restart = reinicia a interface de rede do ubuntu e Debian .
# service network restart = reinicia a interface de rede do CentOS e Suse.
# zypper install <Pacote do programa> = instala um pacote ou programa no suse.
# zypper remove <Pacote do programa> = desinstala um pacote ou programa no suse.
# yum install <Pacote do programa> = instala um pacote ou programa no CentOS.
# yum remove <Pacote do programa> = desinstala um pacote ou programa no CentOS.
# apt-get install <Pacote do programa> = instala um pacote ou programa no Ubuntu ou Debian.
# apt-get remove <Pacote do programa> = desinstala um pacote ou programa no Ubuntu ou Debian.
# history -c = apaga os últimos comandos que o usuário fez no console.
# passwd = altera a senha do usuário atual.
# ping <ip ou domínio> = pinga o ip ou domínio, porém para parar use contrl+c.
# traceroute -I <ip ou domínio> = faz o tracert para o ip ou domínio usando o protocolo icmp.

quinta-feira, 15 de agosto de 2013

[MySQL] - Comandos Utéis


Bom pessoal, segue abaixo uma lista de comandos uteis para manutenção de nosso banco de dados MySQL.

Iniciar MySQL na Mão:
mysqld --console

Desativar instância do MySQL:
mysqladmin -u root --password=teste shutdown

Instalar o serviço do MySQL no Windows:

No caso normal que você instala o servidor com --install mas nenhum nome de serviço,
o servidor é instalado com um nome de serviço de MySQL.
Como um exemplo mais complexo, considere o seguinte comando:
shell> C:\mysql\bin\mysqld --install mysql --defaults-file=C:\my-opts.cnf

Para desintalar o serviço do mysql:
shell> mysqld --remove

Verifica sessões no MySQL pela linha de comando:
mysqladmin -u root --password=teste version status proc

Utilitario mysqlshow:
mysqlshow -u root --password=teste mysql // tem o mesmo efeito que show tables quando logado num database especifico.

Submeter comando no mysql sem entrar no console:
mysql -u root --password=teste -e "select host,user from mysql.user" mysql

Executar um script externo dentro do prompt do mysql:
mysql> source c:\temp\teste.sql

Matar sessão conectado no mysql:
mysqladmin -u root -p kill 5

Inicia BD em modo sem autenticação:
mysqld --skip-grant-tables

Desliga modo sem autenticação:
mysqladmin -u root shutdown

Data e hora atual do banco de dados:
select sysdate();

Verificar com qual usuário você está conectado:
select user();

Verificar em qual banco você está conectado:
select database();

Gerar hash para senhas:
select password('teste');

Espero que possa ter ajudado. Que a Graça e Paz estejam com todos.

[MySQL] - Habilitando Conexão Segura com MySQL e OpenSSL




Nesse artigo , será mostrado a geração de uma Autoridade Certificado e Certificados Digitais para Servidor e Clientes do MySQL, garantindo uma conexão segura entre ambos.

Segue em anexo, download do arquivo do word com o artigo completo.

Espero que a dica possa ajudar a outros profissionais que precisem implementar esta solução para suas aplicações. Que a Graça e Paz estejam com todos.

sábado, 3 de agosto de 2013

[Oracle] - Criação de Usuário/Schemas e Tablespace no Oracle


Bom Pessoal, segue dica para criação de Schemas/Usuários e Tablespaces no Oracle 11g para implementação do armazenamento de sistemas tanto desktop ou web.

-- Criando Tablespace para o Usuário TESTE
CREATE TABLESPACE TESTE_DADOS
   DATAFILE 'C:\app\user\product\11.2.0\dbhome_1\database\TESTEDADOS01.DBF' SIZE 120M  AUTOEXTEND ON NEXT 10M
   DEFAULT STORAGE ( INITIAL 8K
    NEXT    256K
    MINEXTENTS 1
    MAXEXTENTS 121
    PCTINCREASE 50);


CREATE TABLESPACE TESTE_INDICES
   DATAFILE 'C:\app\user\product\11.2.0\dbhome_1\database\TESTEIND01.DBF' SIZE 30M  AUTOEXTEND ON NEXT 10M
   DEFAULT STORAGE ( INITIAL 8K
    NEXT    84K
    MINEXTENTS 1
    MAXEXTENTS 121
    PCTINCREASE 50);

CREATE TEMPORARY TABLESPACE TESTE_TMP
   TEMPFILE 'C:\app\user\product\11.2.0\dbhome_1\database\TESTETMP01.DBF' SIZE 10M  AUTOEXTEND ON NEXT 5M
EXTENT MANAGEMENT LOCAL;

-- Criando o Usuário TESTE
create user teste
  identified by teste
  default tablespace TESTE_DADOS
  temporary tablespace TESTE_TMP;

-- Privilégio do usuário TESTE
grant connect to teste;
grant resource to teste;
grant dba to teste;
grant imp_full_database to teste;
grant exp_full_database to teste;

Espero que a dica possa ajudar aqueles que estejam procurando um modelo de exemplo para implementar o armazenamento de aplicações no Oracle Database.Que a Graça e Paz estejam com todos.

[Oracle] - Comandos Uteis para Oracle

Bom pessoal, segue abaixo uma lista de comandos para manutenção e consultas referentes ao Oracle.

-- VERIFICA INSTANCIA (IDENTIFICAR NOME DA INSTANCIA E INFORMAÇÕES DA MESMA)
SELECT * FROM GLOBAL_NAME;
SELECT * FROM V$INSTANCE;

--VERSAO DO ORACLE (VERIFICAR QUAL É A VERSAO DO ORACLE)
SELECT VERSION FROM V$INSTANCE

-- VERIFICAR QUAIS SÃO OS USUÁRIOS DO SISTEMA (VERIFICAR TODOS OS USUÁRIOS EXISTENTES)
SELECT * FROM DBA_USERS

-- CONTA OBJETOS DO SCHEMA (CONTA E LISTA TODOS OS TIPOS DE OBJETOS COM UM OWNER ESPECÍFICO)
SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE
FROM DBA_OBJECTS
WHERE OWNER LIKE 'RM%'
GROUP BY OBJECT_TYPE;

-- VERIFICA ATRIBUTOS DO USUÁRIO (ATRIBUTOS GERAIS DE USUÁRIOS)
SELECT * FROM DBA_USERS
WHERE USERNAME LIKE 'RM%';
SELECT * FROM DBA_TAB_PRIVS
WHERE GRANTOR LIKE 'RM%';

-- VERIFICA PREVILEGIOS DO USUÁRIO
SELECT * FROM DBA_SYS_PRIVS
WHERE GRANTEE LIKE 'RM%';
SELECT * FROM DBA_ROLE_PRIVS
WHERE GRANTEE LIKE 'RM%';

-- DESATIVA USUÁRIO / ATIVA
ALTER USER USER RM ACCOUNT LOCK;
ALTER USER USER RM ACCOUNT UNLOCK;
ALTER USER USER RM PASSWORD EXPIRE;

-- VERIFICA STATUS DA CONTA
SELECT USERNAME, ACCOUNT_STATUS FROM DBA_USERS;

-- VERIFICAR SE TEM ALGUM USUÁRIO USANDO O SISTEMA (BOM CASO DESEJE PARAR O SERVICO DO ORACLE SERVER)
SELECT SADDR, SID, USERNAME, LOGON_TIME, STATUS,
OSUSER, MACHINE, PROGRAM
FROM V$SESSION;

-- VERIFICA PREVILEGIOS DE ROLE
SELECT * FROM DBA_ROLE_PRIVS;

-- CONTA OBJETOS DO SCHEMA
SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE
FROM DBA_OBJECTS
GROUP BY OBJECT_TYPE;

-- CONTA OBJETOS DE UM SCHEMA ESPECÍFICO
SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE
FROM DBA_OBJECTS
WHERE OWNER LIKE 'RM%'
GROUP BY OBJECT_TYPE;

-- CONTA OBJETOS INVALIDOS
SELECT COUNT (*)
FROM DBA_OBJECTS
WHERE STATUS='INVALID'
AND OWNER LIKE 'RM%';

-- VERIFICA OBJETOS INVALIDOS
SELECT OBJECT_TYPE, OBJECT_NAME, STATUS
FROM DBA_OBJECTS
WHERE STATUS='INVALID'
AND OWNER LIKE 'RM%';

-- GERA SCRIPTS DOS OBJETOS INVALIDOS
SELECT 'ALTER'||' '|| OBJECT_TYPE ||' '||OWNER ||'.'|| OBJECT_NAME || ' COMPILE;'
FROM DBA_OBJECTS
WHERE STATUS='INVALID'
AND OWNER LIKE 'RM%';

-- VERIFICA AS ROLES RM
SELECT * FROM DBA_ROLES WHERE ROLE LIKE '%RM%';
SELECT * FROM DBA_SYS_PRIVS WHERE LIKE '%RM%';

--ALTERAR SENHA DE USUARIO
ALTER USER USER RM IDENTIFIED BY 'NOVA_SENHA';

--PROPRIEDADES DO SERVER (lANGUAGE, CHARACTER SET E ETC..)
SELECT * FROM NLS_DATABASE_PARAMETERS;

--PROPRIEDADES DA SESSAO (lANGUAGE, CHARACTER SET E ETC..)
SELECT * FROM NLS_SESSION_PARAMETERS;

--MOSTRA INFORMÇÕES GERAIS DA PARAMETRIZAÇÃO (NÃO FUNCIONA NO SQL TOOLS)
SHOW PARAMETERS

--VERIFICAR TRIGGERS NA BASE
SELECT * FROM DBA_TRIGGERS WHERE TABLE_OWNER='RM';

Espero que compartilhando estes comandos possa estar ajudando outros profissionais de TI que trabalham com banco de dados Oracle. Que a Graça e Paz estejam com todos.

[Oracle] - Utilizando vários Banco de dados Oracle num único Listener

Bom pessoal, segue abaixo passo-a-passo para utilizar mais de um banco de dados utilizando somente um listener no Oracle.

1º Abra o arquivo listerner.ora
Ele estará em $ORACLE_HOME$/network/admin
Povavelmente ele terá uma cara parecida com isso:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
)
)
2º Adicione as informações de todas as databases da máquina:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = DATABASE1)
(ORACLE_HOME = /usr/oracle_app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = DATABASE1)
)
(SID_DESC =
(GLOBAL_DBNAME = DATABASE2)
(ORACLE_HOME = /usr/oracle_app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = DATABASE2)
)
)
3º Vá no bash no linux e reinicie o listener:
lsnrctrl stop
lsnrctrl start
Agora é só conectar ao segunda database.

Bom pessoal, lembrando que o procedimento de utilização de dois banco de dados oracle num único listener é possível em outras plataformas como windows e unix. Que a Graça e Paz estejam com todos.

[Oracle] - Obtendo informações de uma sessão usando o SYS_CONTEXT

Bom pessoal, segue dica para consultar as variáveis de contexto do Oracle.

O select abaixo mostra muitas informações da sessão sem que seja necessário ler a visão v$session.

SELECT
SYS_CONTEXT('USERENV','TERMINAL') terminal,
SYS_CONTEXT('USERENV','LANGUAGE') language,
SYS_CONTEXT('USERENV','SESSIONID') sessionid,
SYS_CONTEXT('USERENV','INSTANCE') instance,
SYS_CONTEXT('USERENV','ENTRYID') entryid,
SYS_CONTEXT('USERENV','ISDBA') isdba,
SYS_CONTEXT('USERENV','NLS_TERRITORY') nls_territory,
SYS_CONTEXT('USERENV','NLS_CURRENCY') nls_currency,
SYS_CONTEXT('USERENV','NLS_CALENDAR') nls_calendar,
SYS_CONTEXT('USERENV','NLS_DATE_FORMAT') nls_date_format,
SYS_CONTEXT('USERENV','NLS_DATE_LANGUAGE') nls_date_language,
SYS_CONTEXT('USERENV','NLS_SORT') nls_sort,
SYS_CONTEXT('USERENV','CURRENT_USER') current_user,
SYS_CONTEXT('USERENV','CURRENT_USERID') current_userid,
SYS_CONTEXT('USERENV','SESSION_USER') session_user,
SYS_CONTEXT('USERENV','SESSION_USERID') session_userid,
SYS_CONTEXT('USERENV','PROXY_USER') proxy_user,
SYS_CONTEXT('USERENV','PROXY_USERID') proxy_userid,
SYS_CONTEXT('USERENV','DB_DOMAIN') db_domain,
SYS_CONTEXT('USERENV','DB_NAME') db_name,
SYS_CONTEXT('USERENV','HOST') host,
SYS_CONTEXT('USERENV','OS_USER') os_user,
SYS_CONTEXT('USERENV','EXTERNAL_NAME') external_name,
SYS_CONTEXT('USERENV','IP_ADDRESS') ip_address,
SYS_CONTEXT('USERENV','NETWORK_PROTOCOL') network_protocol,
SYS_CONTEXT('USERENV','BG_JOB_ID') bg_job_id,
SYS_CONTEXT('USERENV','FG_JOB_ID') fg_job_id,
SYS_CONTEXT('USERENV','AUTHENTICATION_TYPE') authentication_type,
SYS_CONTEXT('USERENV','AUTHENTICATION_DATA') vauthentication_data,
SYS_CONTEXT('USERENV','CURRENT_SQL') current_sql,
SYS_CONTEXT('USERENV','CLIENT_IDENTIFIER') client_identifier,
SYS_CONTEXT('USERENV','GLOBAL_CONTEXT_MEMORY') global_context_memory
FROM dual;


Fonte:
http://maxoracle.blogspot.com/2008/11/obtendo-informaes-de-uma-sesso-usando-o.html#ixzz2XuZD9JvU

[Oracle] - Verificando Queries mais demoradas


Bom pessoal, segue dica para verificar as queries mais demoras no seu Banco de dados.

Através da consulta abaixo podemos ter as consultas que estão mais demoradas:
select sql_text, elapsed_time/1000000 elapsed_sec, executions, disk_reads, buffer_gets
from v$sqlarea
order by elapsed_time desc;


Espero que essa dica possa ajudar. Que a Graça e Paz estejam com todos.

[Oracle] - Verificando os Cursores abertos no Banco de dados

Bom pessoal, segue uma dica para verificar os cursores abertos no banco de dados e na sessão do usuário Oracle.

Verificando cursores abertos no Banco de dados:

select max(a.value) as highest_open_cur, p.value as max_open_cur
from gv$sesstat a, gv$statname b, gv$parameter p
where a.statistic# = b.statistic#
and b.name = 'opened cursors current'
and p.name = 'open_cursors'
group by p.value;


Verificando cursores abertos na Sessão do Banco de dados:

select a.value, s.username, s.sid, s.serial#
from v$sesstat a, v$statname b, v$session s
where a.statistic# = b.statistic#
and s.sid = a.sid
and b.name = 'opened cursors current'
and s.username is not null;


Após verificarmos os cursores abertos no nosso banco de dados e avaliarmos se é necessário aumentar este parâmetro. Segue abaixo como alterar o parâmetro de cursores no Oracle:

ALTER SYSTEM SET OPEN_CURSORS=300 SID='*';

Bom pessoal, espero que essa dica possa ajudar aqueles que precisem saber quantos cursores estão abertos no Banco de dados. Que a Graça e Paz estejam com todos.

[Oracle] - Identificar Locks em Sessões


Bom pessoal, segue dica rápida para identificar locks entre sessões no Oracle.

select h.session_id Sessao_Travadora, ub.username Usuario_Travador ,
w.session_id Sessao_Esperando, uw.username Usuario_Esperando,
w.lock_type,
h.mode_held,
w.mode_requested,
w.lock_id1,
w.lock_id2
from dba_locks w, dba_locks h, v$session ub, v$session uw
where h.blocking_others = 'Blocking'
and h.mode_held != 'None'
and h.mode_held != 'Null'
and h.session_id = ub.sid
and w.mode_requested != 'None'
and w.lock_type  = h.lock_type
and w.lock_id1  = h.lock_id1
and w.lock_id2 = h.lock_id2
and w.session_id = uw.sid;


Espero que essa dica possa ajudar a outros profissionais de Banco de dados que estejam precisando identificar problemas com locks entre sessões. Que a Graças e Paz estejam com todos.

Segue abaixo, alguns selects para auxiliar na identificação de sessões em lock:
select vs.audsid audsid,
 to_char(locks.sid) sid,
 to_char(vs.serial#) serial,
 vs.username oracle_user,
 vs.osuser os_user,
 vs.program program,
 vs.module module,
 vs.action action,
 vs.terminal,
 vs.process process,
 decode(locks.lmode,
       1, NULL,
       2, 'Row Share',
       3, 'Row Exclusive',
       4, 'Share',
       5, 'Share Row Exclusive',
       6, 'Exclusive', 'None') lock_mode_held,
 decode(locks.request,
       1, NULL,
       2, 'Row Share',
       3, 'Row Exclusive',
       4, 'Share',
       5, 'Share Row Exclusive',
       6, 'Exclusive', 'None') lock_mode_requested,
 decode(locks.type,
       'MR', 'Media Recovery',
       'RT', 'Redo Thread',
       'UN', 'User Name',
       'TX', 'Transaction',
       'TM', 'DML',
       'UL', 'PL/SQL User Lock',
       'DX', 'Distributed Xaction',
       'CF', 'Control File',
       'IS', 'Instance State',
       'FS', 'File Set',
       'IR', 'Instance Recovery',
       'ST', 'Disk Space Transaction',
       'TS', 'Temp Segment',
       'IV', 'Library Cache Invalidation',
       'LS', 'Log Start or Log Switch',
       'RW', 'Row Wait',
       'SQ', 'Sequence Number',
       'TE', 'Extend Table',
       'TT', 'Temp Table',
       locks.type) lock_type, 
 objs.owner object_owner,
 objs.object_name object_name,
 objs.object_type object_type,
 round( locks.ctime/60, 2 ) lock_time_in_minutes
from v$session vs,
         v$lock locks,
         all_objects objs,
         all_tables tbls
where locks.id1 = objs.object_id
 and vs.sid = locks.sid
 and objs.owner = tbls.owner
 and objs.object_name =  tbls.table_name
 and objs.owner != 'SYS'
 and locks.type = 'TM'
 order by lock_time_in_minutes;

--------------------------------------------------------------------------------
Abaixo, select para verificar o select que está ocasionando o lock na sessão:

select /*+ ORDERED USE_NL(st) */ sql_text
  from v$session ses,
       v$sqltext st
  where st.address = ses.sql_address
   and st.hash_value=ses.sql_hash_value
   and ses.sid= &sid
order by piece;

Fonte:
http://dicasoracledba.blogspot.com.br/2009/04/identificar-locks-entre-sessoes.html

[Oracle] - Fazendo backup dos Privilégios de Usuários


Bom pessoal, vou deixar uma dica para fazermos backup dos privilégios dos nossos usuários do Oracle:

-- Consulta de Privilégios de Usuário no Oracle para Gerar Grant de Tabelas, Propriedados do Sistema e Roles.

select * from (
SELECT 'grant '|| privilege||' on '||OWNER||'.'||table_name||' to '||grantee||';' s
FROM dba_tab_privs WHERE grantee=UPPER('&USER'UNION ALL
SELECT 'grant '|| privilege||' to '||grantee||';' s
FROM dba_sys_privs WHERE grantee=UPPER('&USER'UNION ALL
SELECT 'grant '||granted_role||' to '||grantee||';' s
FROM dba_role_privs WHERE grantee=UPPER('&USER'));


Espero que essa dica possa ajudar a outros profissionais de banco de dados Oracle, Que a graça e paz estejam com todos.

[PL/SQL] - Habilitando Debug de Conexões no Oracle


Bom pessoal, vou deixar uma dica rápida para aqueles que desenvolvem em PL/SQL Oracle para utilizar a opção de Debug pelas ferramentas de desenvolvimento SQL Developer da Oracle e PL/SQL Developer da Arround Software:

grant debug connect session to teste;
grant debug any procedure to teste;


A dica é simples, mais pode ajudar a desenvolvedores e DBAs iniciantes que precisem utilizar o Debug de Conexões Oracle para desenvolver aplicações em PL/SQL. Que a Graça e Paz estejam com todos.