2° parte
# Executar um arquivo de texto externo pelo sqlplus…
SQL> @’caminho do arquivo de texto/arquivo’;
SQL> @’arquivo de texto no mesmo diretório chamado pelo sqlplus’;
Arquivos de Dados
SQL> desc dba_data_files;
Name Null? Type
—————————————– ——– —————————-
FILE_NAME VARCHAR2(513)
FILE_ID NUMBER
TABLESPACE_NAME VARCHAR2(30)
BYTES NUMBER
BLOCKS NUMBER
STATUS VARCHAR2(9)
RELATIVE_FNO NUMBER
AUTOEXTENSIBLE VARCHAR2(3)
MAXBYTES NUMBER
MAXBLOCKS NUMBER
INCREMENT_BY NUMBER
USER_BYTES NUMBER
USER_BLOCKS NUMBER
ONLINE_STATUS VARCHAR2(7)
#
Gerenciamento de Dados UNDO (UNDO = Desfazer)
Tablespace UNDOTBS1 – View
SQLSQL> select tablespace_name from dba_tablespaces;
SQL> select name, values from v$parameter where name like ‘%undo%’;
“undo retension em segundos”
-> alterando para 10 minutos
SQL> alter SYSTEM set undo_retention=1800;
———–||———
Gerenciando Contas de Usuários
SYS e SYSTEM —> “contas de usuários”
SQL> desc dba_users;
SQL> create user [usuário] identified by “[senha]” default tablespace [default tablespace] temporary tablespace [temp tablespace]
SQL> create user eko identified by “33884433889” default tablespace users temporary tablespace temp;
SQL> select username account_status, defaukt_tablespace, temporary_tablespace from dba_users where username=’eko’;
ACCOUN_STATUS pode ser: LOCKED, OPEN, EXPIRED & LOCKED
SQL> alter table user [usuário] account lock; unlock;
———–||———-
Criando e Gerenciando Perfis
(data de experição, privilégios, recursos)
Privilégios:
Recursos:
Concedendo e Revogando Privilégios
Criando um perfil
SQL> create ROLE [NOME do PERFIL};
SQL> create role ROLE_TW;
SQL> select * from DBA_ROLES;
Ativando Privilégios
SQL> grant create session(privilégios) to ROLE_TW(Usuário ou Perfil)
SQL> grant create session to ROLE_TW;
Adicionando o perfil ao usuário
SQL> grant ROLE_TW to eko;
Revogando privilégios
SQL> REVOKE CREAGTE SESSION FROM ROLE_TW;
———||—————
Database Resource Manager
Ativar a área pendente do Oracle
EXEC ou EXECUTE [Nome da Store Procedure]
SQL> exec DBMS_RESOURCE_MANAGER.create_pending.ora
Grupo de Consumo
EXEC DBMS_RESOURCE_MANAGER.CREATE.CONSUMER_GROUP
(Consumer_Group => ‘Nome do Grupo !Comment=> ‘Comentario’);
Atribuindo o grupo a um usuário
SQL> EXEC DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUD_MAPPING(DBMS_RESOURCE_MANAGER.ORACLE_USER,’NOME do Usuário’,’Nome do Grupo de Consumo’);
Atribuir o Plano de Recursos
SQL> EXEC DBMS_RESOURCE_MANAGER.CREATE_PLAN (PLAN => ‘PLANOTW’, COMMENT=> ‘PLANO….’);
Criar uma Diretriz
O PLANO TW ao grupo TW com usuario eko define grupo TW usar 50% da CPU e ausente 300 segundos.
SQL> EXEC DBMS_RESOURCE_MANAGER.CREATE_PLA_DIRECIVE (PLA=>’PLANOTW’, GROUP_OR-SUBPALN=>’GRUPOTW’, COMMENT=> ‘GRUPO PARA TREINO’, CPU_P1 => 50, MAX_IDLE_TIME => 300);
Para Outros Grupos
SQL> EXEC DBMS_RESOURCE_MANAGER.GROUP_OR_SUBPAN =>’OTHERGROUPS’, COMMENT =>’Outros Grupos’, CPU_P1 => 30, MAX_IDLE_TIME => 600);
Validando os Planos
SQL> EXEC DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA();
Tornando Definitivo
SL> EXEC DBMS_RESOURCE_MANAGER.SUBMITPENDING.AREA():
Fazendo a Instancia Utilizar o Plano.
ALTER SYSTEM SET RESOURCE_MANAGER_PLAN=’Nome do Plano’;
SCHEDULE
OBJETO -> JOB
DBMS_SCHEDULER – > CREATE_JOB
Segurança
Auditora por padrão do Oracle – Diretamente no Sistema Operacional
Performace / Otimizador
DML (Data Modifying Language)
Gerando Estatísticas
DBMS_STATS
PROCEDURES:
AWR(AUTOMATIC WORKCHAD REPOSITORY)
melhorar e identificar processos que podem causar gargalos.
executar pelo arquivo
AWRRP.sql no sqlpus
STATSPACK
compara situação atual com futura
Oracle Alerts
Gerenciamento de Desempenho e Memória
Estrutura do Banco:
SQL> select name, value from v$parameter where name=’memory_target’;
Eficiência dos buffers de dados
Buffer de cache Hit Ratio quanto maior melhor
Solucionar Problemas de Objetos INválidos
ALTER_COMPILE de DBMS_DLL – DDL (Data Definition Language)
Sintaxe:
DBMS_DLL.ALTER_COMPILE(‘Tipo de Objeto’, ‘Dono’,’Nome do Objeto’);
SQL> begin
DBMS_DDL.ALTER_COMPILE(‘PROCEDUR’,’SYS’,’SCHEDULE_PROCEDURE’);
end;
/
Keep Pool
Recomendado pelo Oracle para armazenamento de pequenas tabelas acessadas constantemente
Sintaxe:
SQL> alter table[tabela] storage (buffer_pool keep);
——–||—–
Video
DBMS_MONITOR Mostra o S.O do usuário em uso
SQL> select sid, serial# from v$session where username=’usuário’;
SQL> exec DBMS_MONITOR.session_trace_enable(session_id = > 125, serial_num => 5);
——-||——
BACKUP e RESTORE
Porque?
Riscos lógicos e físicos
Maneiras de ajustar a recuperação da instância
redo.log – contém todas as instâncias realizadas – Iniciar uma instância exige STARTUP, será verificado se o redo.log está sincronizado, senão será iniciado me modo de recuperação.
Visão Geral da Área de Recuperação
Flash Recover Área (FRA)
Onde se encontra – DB_RECOVERY_FILE_DEST
SQL> select name, value from v$parameter where name=’db_recovery_file_dest’;
SQL> select name, value from v$parameter where name like ‘%recovery%’;
NAME
——————————————————————————–
VALUE
——————————————————————————–
db_recovery_file_dest
/u01/app/oracle/fast_recovery_area
db_recovery_file_dest_size
4385144832
recovery_parallelism
0
O Modo Archive Log
archivelog é uma copia do redo.log antes desse ser sobreescrito.
por padrao o archivelog vem desabilitado
SQL> select log_mode from v$database;
LOG_MODE
————
NOARCHIVELOG
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
-> subir no modo mount
SQL> startup mount
ORACLE instance started.
Total System Global Area 730714112 bytes
Fixed Size 2256832 bytes
Variable Size 478150720 bytes
Database Buffers 243269632 bytes
Redo Buffers 7036928 bytes
Database mounted.
-> Alterando para o modo archive
SQL> alter database archivelog;
Database altered.
SQL> alter database open;
Database altered.
SQL> select log_mode from v$database;
LOG_MODE
————
ARCHIVELOG
Realização de Backup
Backup:
Normal, Copia:
Onde estão:
SQL> select name from v$datafile;
NAME
——————————————————————————–
/u01/app/oracle/oradata/orcl/system01.dbf
/u01/app/oracle/oradata/orcl/sysaux01.dbf
/u01/app/oracle/oradata/orcl/undotbs01.dbf
/u01/app/oracle/oradata/orcl/users01.dbf
SQL> select member from v$logfile;
MEMBER
——————————————————————————–
/u01/app/oracle/oradata/orcl/redo03.log
/u01/app/oracle/oradata/orcl/redo02.log
/u01/app/oracle/oradata/orcl/redo01.log
SQL> select name from v$controlfile;
NAME
——————————————————————————–
/u01/app/oracle/oradata/orcl/control01.ctl
/u01/app/oracle/fast_recovery_area/orcl/control02.ctl
Backup Aberto
Colocar o banco de dados no modo ARCHIVELOG
Permitir copia dos arquivos com o banco aberto
SQL> alter database begin backup;
realizar as copias e depois…
SQL> alter database end backup;
SQL> alter database backup controlfile to ‘diretorio para backup’;
Backup Incremental
Utilizar o Recovery Manager (RMAN)
Para configurar o RMAN é necessário criar um usuário primeiro
Garantir privilégios (CONNECT, RESOURCE e RECOVERY_CATALOG_OWNER)
Execução do Backup Incrementais
Criando um backup completo com o RMAN
no console:
RMAN TARGET | CATALOG=RMAN/RAMAN
full)
run
{
backup database plus archievelog;
delete noprompt obsolete;
}
incremental}
run
{
deete noprompt obsolete;
backup archievelog all;
}
Os arquivos estão na área FLASH_RECOVERY_AREA
Automatização De Backup Do Banco De Dados
Bath(,bat) e script de banco de dados(.sql)
No Windows pode-se usar o taskmanager ou cron do Linux para agendamento de backups
Gerenciando Backups
RMAN
Backups Em Sistemas Grid
Recuperação de Banco de Dados
DRA (Data Recovery Advisor)
Disponibilizado pelo RMAN
RMAN TARGET / Catalog=rman/rman
list failure;
advise failure;
Mandatory Manual Actions
Optional Manual Actions
Automated REpair Options
RMAN> repair failure noprompt;
Recuperando Banco de Dados com o RMAN
rman target /
RMAN> restore database;
RMAN> recover database; (restaura depois da 1° linha de comando com a ajuda do redolog)
Oracle Data Pump
Import Data Pump (IMPDP)
Export Data Pump (EXPDP)
MPDP HELP=Y ( Para ajuda)
Exportando Dados com o Export Data Pump (EXPDP)
1° Criar a pasta onde o arquivo será exportado
SQL> create directory [nome do diretório] as [caminho do diretorio]
SQL> create directory backup_dir as ‘c:\app\exportando’;
2° conceder direitos….
SQL> gant read, write on directory backup_dir to system;
expdp system/oracle directory=backup_dir dumpfile=export_dados.dmpdp logfile=log_de_operacao.txt full=y
Importacao de Dados com o Import Data Pump (IMPDP)
impdp system/oracle directory=backup_dir dumpfile=export_dados.dmpdp logfile=importlog.txt full=y
Replicação de Dados
Oracle Golden Gate (vendido a parte)
Oracle Data Guard (continuidade)
Enterprise Manager – É um serviço que por padrão é desligado no serviço inicial e na inicialização;
Para iniciar digite no console:
emctl start dbconsole
na versão do Oracle 11G roda na porta 1158 e no Oracle 12C, 1155 por padrão
acesse: http://IP da máquina:1158/em