Siglas e Termos:
MER -> Modelo Entidade Relacionamento
NDA -> Non Disclausure Agrement – Compromisso de Sigilo
SLA -> Service Level Agrement – Acordo de Nivel de Serviço – ANS
GRID -> Alinhamento as capacidades de tecnologia de hardware existentes e futura
RAC -> Real Aplication Cluster
ASM -> Automatic Storage Manager
ULDF -> Ultra Large Data File
OUI -> Oracle Universal Instaler
DBCA -> Database Configuration Assistant
DB_Block_Size -> Bloco de memória determinado pelo parâmetro DB_BLOCK_BUFFES
SGA -> System Global Area
PGA -> Program Global Area
OEM -> Oracle Enterprise Manager
RMAN -> Recovery Manager
DBUA -> Database Upgrade Assistant
OFA -> Optimal Flexible Architecture
—-||—
INSTÂNCIA -> Conjunto de processos na memória – Uma instância se comunica com um único banco de dados.
Banco de Dados -> Conjunto de arquivos de log, dados e de controle
SID -> Identifica a Instancia na instalacao do Banco de Dados
Tablespaces – São os diretórios lógicos que contém os arquivos de dados do banco
Arquivos de Dados -> criados no filesystem do sistema operacional
Grupo de Redo Logs -> logs de transações do banco, arquivos de logs
Dicionários de Dados -> Conjunto de dados que informa sobre outros dados
Server Parameter File -> spfile, pfile
Spfile
Pfile
sqlplus usuário/senha@host:porta serviço
Usuários SYSTEM e SYS são os administradores do Banco
sqlplus / as sysdba
# Na inicialização do banco, o arquivo binário spfile será carregado,
# caso o banco não o encontre, então será carregado o pfile.
# Pode-se renomear o a rquivo spfile para uso do pfile ou
# criar um novo spfile através do pfile….
# mostrar parâmetros do spfile
SQL> show parameter spfile;
# Com o banco em shutdown, criar um arquivo init{banco}.ora (pfile)
SQL> create pfile from spfile;
# Com o banco em shutdown, criar um arquivo do spfile de um pfile com o primeiro renomeado anteriormente
SQL> create spfile from pfile;
# para editar/renomear arquivo efetuar um shutdown no banco
# isto ira finalizar o banco de modo correto com todos os processos fechados
# poderá demorar dependendo da capacidade e uso
SQL> shutdown immediate
# O processo de finalização do banco de dados pode ser:
# Iniciar um banco de dados
splplus / as sysdba
startup
-> Oracle instance started
-> Database mounted
-> Database Opened
## PS:
# Para uso do banco, é necessário que o mesmo esteja montado e aberto
# Erros de arquivos de logs e de espaço em disco, normalmente impedem
# a abertura do banco ocasionando erros do tipo:
# Fix for ORA-03113: end-of-file on communication channel e
# ORA-00257: archiver error. Connect internal only
# Logs
# Arquivos de Alerta
SQL> select name, value from v$parameter where name like ‘background_dump%’;
-> background_dump_dest
/u01/app/oracle/diag/rdbms/(nome do banco)/trace/
-> o arquivo ALERT_SID trará as informações das atividades do banco
# Arquivos de Rastreamento
-> Para rastreamento dos processos secundários, para report de erros
-> Utilizam-se quatro views (visões dinâmincas de dados) –
Os três primeiros tipos de visões são parecidos e divergem apenas na abrangência dos dados selecionados.
Ex: A visão OBJECTS fornece informações sobre todos os OBJETOS criados no banco de dados (tabelas, procedures, views…).
SQL > desc [nome do objeto]
DBA_Objects
SQL> desc dba_objects;
Name Null? Type
—————————————– ——– —————————-
OWNER VARCHAR2(30)
OBJECT_NAME VARCHAR2(128)
SUBOBJECT_NAME VARCHAR2(30)
OBJECT_ID NUMBER
DATA_OBJECT_ID NUMBER
OBJECT_TYPE VARCHAR2(19)
CREATED DATE
LAST_DDL_TIME DATE
TIMESTAMP VARCHAR2(19)
STATUS VARCHAR2(7)
TEMPORARY VARCHAR2(1)
GENERATED VARCHAR2(1)
SECONDARY VARCHAR2(1)
NAMESPACE NUMBER
EDITION_NAME VARCHAR2(30)
ALL_Objects
SQL> desc all_objects;
Name Null? Type
—————————————– ——– —————————-
OWNER NOT NULL VARCHAR2(30)
OBJECT_NAME NOT NULL VARCHAR2(30)
SUBOBJECT_NAME VARCHAR2(30)
OBJECT_ID NOT NULL NUMBER
DATA_OBJECT_ID NUMBER
OBJECT_TYPE VARCHAR2(19)
CREATED NOT NULL DATE
LAST_DDL_TIME NOT NULL DATE
TIMESTAMP VARCHAR2(19)
STATUS VARCHAR2(7)
TEMPORARY VARCHAR2(1)
GENERATED VARCHAR2(1)
SECONDARY VARCHAR2(1)
NAMESPACE NOT NULL NUMBER
EDITION_NAME
USER_Objects
SQL> desc user_objects;
Name Null? Type
—————————————– ——– —————————-
OBJECT_NAME VARCHAR2(128)
SUBOBJECT_NAME VARCHAR2(30)
OBJECT_ID NUMBER
DATA_OBJECT_ID NUMBER
OBJECT_TYPE VARCHAR2(19)
CREATED DATE
LAST_DDL_TIME DATE
TIMESTAMP VARCHAR2(19)
STATUS VARCHAR2(7)
TEMPORARY VARCHAR2(1)
GENERATED VARCHAR2(1)
SECONDARY VARCHAR2(1)
NAMESPACE NUMBER
EDITION_NAME VARCHAR2(30)
V$
SQL> desc v$instance;
Name Null? Type
—————————————– ——– —————————-
INSTANCE_NUMBER NUMBER
INSTANCE_NAME VARCHAR2(16)
HOST_NAME VARCHAR2(64)
VERSION VARCHAR2(17)
STARTUP_TIME DATE
STATUS VARCHAR2(12)
PARALLEL VARCHAR2(3)
THREAD# NUMBER
ARCHIVER VARCHAR2(7)
LOG_SWITCH_WAIT VARCHAR2(15)
LOGINS VARCHAR2(10)
SHUTDOWN_PENDING VARCHAR2(3)
DATABASE_STATUS VARCHAR2(17)
INSTANCE_ROLE VARCHAR2(18)
ACTIVE_STATE VARCHAR2(9)
BLOCKED VARCHAR2(3)
Existem dezenas de visoes… As mais comuns são:
DBA_USERS;
DBA_DATA_FILES;
DBA_TABLESPACES;
V$INSTANCE;
V$SESSION;
V$PARAMETER;
…
———- ||——————
NETCA -> Net Configurator Assistant – Configuração do LISTNER para conexão ao banco
Oracle Client
TNSNAME -> Transparent Network Substract
TNSPING –> envia um comando do tipo ping para teste de conexão – tnsping “instancia”
TABLESPACE – Responsável por fazer a abstração entre a localização de um objeto de banco dentro de um arquivo no file system.
SQL> desc dba_tablespaces; — (view)
SQL> select tablespace_name,status from dba_tablespaces;
# verificando espaco livre em cada tablespace…
col “Tablespace” for a22
col “Used MB” for 99,999,999
col “Free MB” for 99,999,999
col “Total MB” for 99,999,999
select df.tablespace_name “Tablespace”,
totalusedspace “Used MB”,
(df.totalspace – tu.totalusedspace) “Free MB”,
df.totalspace “Total MB”,
round(100 * ( (df.totalspace – tu.totalusedspace)/ df.totalspace))
“Pct. Free”
from
(select tablespace_name,
round(sum(bytes) / 1048576) TotalSpace
from dba_data_files
group by tablespace_name) df,
(select round(sum(bytes)/(1024*1024)) totalusedspace, tablespace_name
from dba_segments
group by tablespace_name) tu
where df.tablespace_name = tu.tablespace_name ;
-> Localizando arquivos de dados
SQL> select file_name from dba_data_files where tablespace_name=’SYSTEM’;
FILE_NAME
——————————————————————————–
/u01/app/oracle/oradata/{BASE}/system01.dbf
-> adicionando um arquivo de dados a tablespace SYSTEM
SQL> alter tablespace system add datafile ‘/u01/app/oracle/oradata/{BASE}/SYSTEM02.DBF’ size 100M;
Tablespace altered.
-> Criando uma Tablespace para arquivos grandes (bgifiles – blocos maiores que 8K (padrão))
-> Para blocos de 8K o arquivo de dados pode ter no máximo 32GB, para blocos de 32K chega 128GB
SQL> CREATE BIGFILE TABLESPACE BIGTABLESPACE DATAFILE ‘/u01/app/oracle/oradata/{BASE}/bigtablespace.dbf’ size 5G;
Tablespace created.
Verificando
[oracle@localhost ~]$ ll /u01/app/oracle/oradata/{BASE}/
total 6999792
-rw-rw—- 1 oracle oracle 5368717312 Set 5 16:27 bigtablespace.dbf
-rw-r—– 1 oracle oracle 10043392 Set 5 16:27 control01.ctl
-rw-r—– 1 oracle oracle 52429312 Set 5 15:20 redo01.log
-rw-r—– 1 oracle oracle 52429312 Set 5 15:20 redo02.log
-rw-r—– 1 oracle oracle 52429312 Set 5 16:27 redo03.log
-rw-r—– 1 oracle oracle 639639552 Set 5 16:27 sysaux01.dbf
-rw-r—– 1 oracle oracle 817897472 Set 5 16:27 system01.dbf
-rw-rw—- 1 oracle oracle 104865792 Set 5 16:21 system02.dbf
-rw-r—– 1 oracle oracle 62922752 Set 5 15:30 temp01.dbf
-rw-r—– 1 oracle oracle 62922752 Set 5 16:27 undotbs01.dbf
-rw-r—– 1 oracle oracle 5251072 Set 5 15:20 users01.dbf
[oracle@localhost ~]$
SQL> select tablespace_name,bigfile from dba_tablespaces;
TABLESPACE_NAME BIG
—————————— —
SYSTEM NO
SYSAUX NO
UNDOTBS1 NO
TEMP NO
USERS NO
BIGTABLESPACE YES
-> DROP de uma tablespace
SQL> DROP TABLESPACE BIGTABLESPACE INCLUDING CONTENTS CASCADE CONSTRAINTS;
Tablespace dropped.
________
# Criar um usuário SW, senha SW, tablespace user, quota de 100M
# garantia de privilegios de sessao e criacao de tabelas;
sqlplus usuário/senha@host:porta serviço
sqlplus / as sysdba
SQL> create user SW identified by SW default tablespace users quota 100M on users;
SQL> grant create session, create tables to SW;
SQL> select sid from v$session where username=”SW”;
Efetuar a instalção cliente para os usuários e verificar os parametros do tnsname.ora
testar a conexão com o tnsping.
Continua->