Compartilhando conhecimento com o mundo

Com tecnologia do Blogger.

Pesquisa

Download

Blogger Tricks

Blogger Themes

Visitas

Assuntos

1/30/2014

Comandos Oracle


Agora irei detalhar um pouco alguns dos principais comandos para administrar uma instância do Oracle. Lembrando que os comandos a seguir foram executados em ambiente Linux, mais nada impede de executar em ambiente Windows também.

Parar o Servidor Oracle

Parar o Banco
sqlplus / as sysdba
SQL> shutdown immediate
SQL> exit
Iniciar o Servidor Oracle

Iniciar o Banco
sqlplus / as sysdba
SQL> startup
SQL> exit
Shutdown Limpo (conectado no SQLPlus)

Opção Normal
shutdown
startup
Opção Transactional
shutdown transactional
startup
Opção Immediate
shutdown immediate
startup
Shutdown Sujo (conectado no SQLPlus)

Opção Abort
shutdown abort
startup
Reinicialização forçada
startup force
Acessar Enterprise Manager no Servidor
firefox http://localhost:1158/em
Acessar SQLPlus

Acessar SQLPlus com Autenticação Normal
sqlplus system/oracle
Acessar SQLPlus com Autenticação pelo Arquivo de Senhas
sqlplus sys/oracle as sysdba
sqlplus sys/oracle as sysoper
Acessar SQLPlus com Autenticação pelo Sistema Operacional
sqlplus / as sysdba
sqlplus / as sysoper
Acessar iSQLPlus

Iniciar iSQLPlus
isqlplusctl start
Parar iSQLPlus
isqlplusctl stop
Acessar iSQLPlus no Servidor
firefox http://localhost:5560/isqlplus
Manipular Arquivos de Inicialização (conectado no SQLPlus)

Visualizar todos os parâmetros da Instância
show parameters
Visualizar parâmetro da Instância
show parameters sga_target
show parameter pga_aggregate_target
Alterar parâmetros no SPFile
alter system set sga_target=256M scope=memory;
show parameter sga_target;
alter system set pga_aggregate_target=70M scope=spfile;
show parameter pga_aggregate_target;
shutdown immediate
startup
show parameter sga_target;
show parameter pga_aggregate_target;
alter system set sga_target=50M scope=both;
alter system set sga_target=50M scope=spfile;
shutdown immediate
startup
Criar PFile com base no SPFile para edição manual
create pfile='$ORACLE_HOME/dbs/initorcl.ora' from spfile='$ORACLE_HOME/dbs/spfileorcl.ora';
Editar arquivo de parâmetros no Sistema Operacional (Terminal do Linux)
vim $ORACLE_HOME/dbs/initorcl.ora
Criar SPFile com base no PFile editado manualmente
create spfile='$ORACLE_HOME/dbs/spfileorcl.ora' from pfile='$ORACLE_HOME/dbs/initorcl.ora';
startup
show parameter sga_target;
show parameter pga_aggregate_target;
Processos de Inicialização do Servidor Oracle (conectado no SQLPlus)

Iniciar em modo NOMOUNT
shutdown immediate
startup nomount
Alterar para modo MOUNT
alter database mount;
Iniciar em modo MOUNT
shutdown immediate
startup mount
Alterar para modo OPEN para somente leitura
alter database open read only;
Alterar para modo OPEN
shutdown immediate
startup mount
alter database open;
Habilitar modo OPEN restrito
alter system enable restricted session;
Desabilitar modo OPEN restrito
alter system disable restricted session;
Iniciar em modo OPEN restrito e desabilitar modo restrito;
shutdown immediate
startup restrict
alter system disable restricted session;
commit;
Iniciar em modo OPEN utilizando um pfile específico
shutdown immediate
startup pfile='$ORACLE_HOME/dbs/initorcl.ora'
shutdown immediate
startup
Acessar Log de Alerta

Localizar diretório do log de alerta (conectado no SQLPLus)
show parameter background_dump_dest;
Visualizar log de alerta (no terminal do linux)
vim /alert_orcl.log
Acessar views dinâmicas de desempenho

Ajustar SQLPlus
set linesize 200;
set pagesize 100;
Consultar views dinâmicas
select * from v$fixed_table;
Consultar sessões correntes
col machine format a10;
col program format a30;
col username format a10;
col osuser format a10;
select machine, program, username, osuser from v$session where username is not null;
Consultar instruções SQL que demoram mais de um segundo
col sql_text format a50;
col executions format 99999;
select sql_text, executions from v$sql where cpu_time > 1000000;
Consultar informações da sga
select * from v$sgainfo;
Consultar informações dos processos servidores
col username format a10;
col program format a30;
select pid, username, program, pga_used_mem, pga_alloc_mem, pga_freeable_mem, pga_max_mem from v$process;
Comandos de Stop/Start Listener

12.1. Parar Listener
lsnrctl stop
12.2 Iniciar Listener
lsnrctl start
12.3 Status Listener
lsnrctl status
Enterprise Manager

Inicar
emctl start dbconsole
Parar
emctl stop dbconsole
Status
emctl status dbconsole
Manutenção de Tablespaces

Criando uma tablespace de DADOS com tamanho de 1GB
SQL>create tablespace TS_DADOS datafile '/oracle/oradata/dbteste/TS_DADOS01.dbf' size 1024m;
Adicionando um segundo datafile de 512MB ao tablespace TS_DADOS
SQL>alter tablespace TS_DADOS add datafile '/oracle/oradata/dbteste/TS_DADOS02.dbf' size 512m;
Adicionando arquivo de dados ao tablespace de dados
SQL>alter database datafile '/oracle/oradata/dbteste/TS_DADOS01.dbf' resize 1024m;
Aumentando o tablespace TS_DADOS para 512m
SQL>alter tablespace TS_DADOS resize 512m;
Criando uma segunda tablespace de UNDO, UNDOTBS2
SQL>create undo tablespace UNDOTBS2 datafile '/oracle/oradata/dbteste/UNDOTBS201.dbf' size 512m;
Definindo a tablespace de UNDO da instância como UNDOTBS2
SQL>alter system set undo_tablespace=UNDOTBS2;
Criando uma tablespace temporaria adicional de 512MB.
SQL>create temporary tablespace TS_TEMP2 tempfile '/oracle/oradata/dbteste/TS_TEMP201.dbf' size 512m;
Definindo a tablespace temporária dafault da instância
SQL>alter database default temporary tablespace TS_TEMP2;
Renomeando uma tablespace
SQL>alter tablespace TEMP rename to TS_TEMP2;
Definindo a tablespace de dados dafault da instância
SQL>alter database default tablespace TS_DADOS;
Manutenção de Tabelas

Adicionando um campo a tabela
SQL>alter table TB_CLIENTE add ( FL_SITUACAO VARCAHR2(1));
Eliminando a coluna FL_SITUACAO da tabela de clientes
SQL>alter table TB_CLIENTE drop column FL_SITUACAO;
Eliminando a tabela de clientes
SQL>drop table TB_CLIENTE;
Os índices da tabela ficarão inválidos após a execução desta operação, devendo ser reconstruídos em seguida
SQL>alter table TB_CLIENTE move tablespace TB_MANUTENCAO_D;
Reorganizando a tabela na mesma tablespace - Opção disponível apenas a partir do 10g
SQL> alter table hr.employees enable row movement;
SQL> alter table hr.employees shrink space;
SQL> alter table hr.employees disable row movement;
Criando um índice simples, com apenas uma coluna – DT_NASCIMENTO, na tabela de clientes.
SQL>create index IX_CLIENTE1 on TB_CLIENTE (DT_NASCIMENTO) tablespace TB_ERPX_I;
Reconstruindo o índice IX_CLIENTE1 em uma nova tablespace
SQL>alter index IX_CLIENTE1 rebuild tablespace TS_MANUTENCAO_I;
Utilização dos Utilitários Export e Impor

EXP - Fazendo um export completo, full do banco oracle
exp userid=system/manager file=exp_FULL.dmp log=exp_FULL.log full=y
EXP - Fazendo o export somente do esquema, OWNER, chamado ERP
exp userid= file=exp_ERP.dmp log=exp_ERP.log owner=ERP
IMP - Fazendo o import do esquema ERP, como usuário SYSTEM, com buffer de 10MB e com salvamentos, commits, intermediários
imp userid=system/manager file=exp_ERP.dmp
Atribuindo e Revogando Privilégios

Atribuindo privilégios sobre a tabela TB_CLIENTE para o usuário CLI_ERP1
SQL>grant select, insert, update on TB_CLIENTE to CLI_ERP1;
Atribuindo o privilégio de sistema SELECT ANY TABLE para o usuário ERP
SQL>grant SELECT ANY TABLE to ERP;
Removendo o privilégio de sistema EXECUTE ANY PROCEDURE do usuário ERP
SQL>revoke EXECUTE ANY PROCEDURE from ERP;
Removendo o privilégio de DELETE na tabela de usuário CLI_ERP1
SQL>revoke DELETE on TB_CLIENTE from CLI_ERP1;
Criando Roles - Atribuições

Criando uma ROLE chamada RO_SISTEMA_ERP
SQL>create role RO_SISTEMA_ERP;
Criando um Database Link

Criando um database link do banco de desenvolvimento para o bano de produção identificado pelo usuário ERP_PRD, usando a string de conexão DB_PROD.
SQL>create public database link DB_PROD
connect to ERP_PRD identified by ERP1234
using 'DB_PROD';
Sinônimos Privados – Visíveis para um usuário específico

Criando um sinônimo chamado CLIENTES para o usuário CLI_ERP1 apontando para a tabela TB_CLIENTE do usuário, dono, ERP.
SQL>create synonym CLI_ERP1.CLIENTES for ERP.TB_CLIENTE;
Sinônimos Públicos – Visíveis para todos os usuários

Criando um sinônimo público, chamado, CLIENTES, para a tabela TB_CLIENTE
SQL>create public synonym CLIENTES for ERP.TB_CLIENTE;

0 comentários:

Enviar um comentário