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 iSQLPlusisqlplusctl stop
Acessar iSQLPlus no Servidorfirefox 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ânciashow 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 manualcreate 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 manualmentecreate 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 MOUNTalter database mount;
Iniciar em modo MOUNTshutdown immediate
startup mount
Alterar para modo OPEN para somente leituraalter database open read only;
Alterar para modo OPENshutdown immediate
startup mount
alter database open;
Habilitar modo OPEN restritoalter system enable restricted session;
Desabilitar modo OPEN restritoalter 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íficoshutdown 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 Listenerlsnrctl start
12.3 Status Listenerlsnrctl status
Enterprise Manager
Inicar
emctl start dbconsole
Pararemctl stop dbconsole
Statusemctl 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_DADOSSQL>alter tablespace TS_DADOS add datafile '/oracle/oradata/dbteste/TS_DADOS02.dbf' size 512m;
Adicionando arquivo de dados ao tablespace de dadosSQL>alter database datafile '/oracle/oradata/dbteste/TS_DADOS01.dbf' resize 1024m;
Aumentando o tablespace TS_DADOS para 512mSQL>alter tablespace TS_DADOS resize 512m;
Criando uma segunda tablespace de UNDO, UNDOTBS2SQL>create undo tablespace UNDOTBS2 datafile '/oracle/oradata/dbteste/UNDOTBS201.dbf' size 512m;
Definindo a tablespace de UNDO da instância como UNDOTBS2SQL>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ânciaSQL>alter database default temporary tablespace TS_TEMP2;
Renomeando uma tablespaceSQL>alter tablespace TEMP rename to TS_TEMP2;
Definindo a tablespace de dados dafault da instânciaSQL>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 clientesSQL>alter table TB_CLIENTE drop column FL_SITUACAO;
Eliminando a tabela de clientesSQL>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 seguidaSQL>alter table TB_CLIENTE move tablespace TB_MANUTENCAO_D;
Reorganizando a tabela na mesma tablespace - Opção disponível apenas a partir do 10gSQL> 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 tablespaceSQL>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 ERPexp 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áriosimp 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 ERPSQL>grant SELECT ANY TABLE to ERP;
Removendo o privilégio de sistema EXECUTE ANY PROCEDURE do usuário ERPSQL>revoke EXECUTE ANY PROCEDURE from ERP;
Removendo o privilégio de DELETE na tabela de usuário CLI_ERP1SQL>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