Curso Oracle Completo
Instrutor: Sandro Servino
[Link]
[Link]
INSTALACAO ORACLE DATABASE
------------------------------------------------------------------------
DOWNLOAD:
Ja disponibilei para download mas se quiser baixar do site da Oracle:
Link site geral de download do Oracle
[Link]
[Link]#db_ee
Use these downloads for developing, prototyping, and testing in a non-production
environment.
If you have a commercial license for Oracle Database, you can download all
supported versions
from the Oracle Software Delivery Cloud.
RESUMINDO, PODERÁ BAIXAR PARA TESTAR MAS NAO PODE COLOCAR EM PRODUCAO.
Procure:
Oracle Database 21c for Microsoft Windows x64 (64-bit)
Clique no link ZIP (2.5 GB).
obs: Será solicitado para fazer um pequeno cadastro antes de baixar a versao de
estudo.
Esta versão não pode entrar em producao.
Clique no botao para criar sua conta.
Será aberto um formulário para vc criar sua conta para comecar o download.
Se o link não estiver mais no ar, pesquise no google "Oracle Download".
---------
PASSOS INSTALACAO:
Dentro da VM, criar as pastas:
c:\app\administrator\product\21\dbhome_1
Copiar o arquivo compactado que baixou do site da oracle para download
do seu computador e depois copiar
para area de compartilhamento e depois copiar para dentro
do download da sua VM.
Dentro da vm, descompactar o arquivo
ORACLETRIALENTERPRISESETUPWINDOWS.X64_213000_db_home
para dentro da pasta c:\app\administrator\product\21\dbhome_1 e depoIs
clicar no programa [Link] que estará na pasta
c:\app\administrator\product\21\dbhome_1
para instalar o Oracle dentro da VM, como administrador.
Outras fontes:
Requisitos: [Link]
-----------------------------------------------------------------------------------
----------------------------
INSTALANDO...
1. Execute o [Link] na
pasta c:\app\administrator\product\21\dbhome_1 como administrador.
2. Existem duas opcoes:
Create and Configure a Single Instance Database, and
Setup software only
Selecione a segunda opção somente quando estiver atualizando
seu banco de dados oracle.
Escolha a primeira opção se estiver instalando uma nova cópia do
Oracle Database.
ENTAO VAMOS SELECIONAR A 1 OPCAO.
obs:
RAC significa "Real Application Clusters" e é uma tecnologia da Oracle
que permite criar um ambiente de cluster de banco de dados altamente
disponível e escalável. Em um ambiente RAC, múltiplas instâncias
do banco de dados Oracle são executadas em diferentes servidores (nós)
que estão interconectados e compartilham o mesmo armazenamento de dados.
VAMOS VER ISTO DEPOIS.
[Link] duas opcoes:
Esta etapa decidirá com que tipo de instalação você deseja prosseguir.
Aqui você deve selecionar uma das duas classes do seu banco de dados
oracle 21c. As opções disponíveis aqui são –
Desktop class
Server Class
A classe Desktop é a configuração mínima do seu banco de dados Oracle.
Você seleciona esta opção quando está instalando
seu Oracle DB em seu desktop ou laptop.
A classe Server, como o nome sugere, é uma instalação mais avançada
do Oracle DB. Você seleciona esta opção quando está instalando
seu Oracle Database em sistemas de nível de servidor.
VAMOS SELECIONAR Server Class
4. Na proxima tela, selecione a versao enterprise.
5. Na proxima tela diz respeito ao usuario de servico que rodará
o Oracle no windows:
User Virtual Account: Essa opção refere-se a uma conta de usuário virtual
gerenciada pelo Windows.
As contas de usuário virtual são contas de serviço especiais que o Windows
cria automaticamente para executar serviços específicos.
Se você selecionar esta opção, o Oracle utilizará uma conta de usuário
virtual para executar o serviço do banco de dados. Essa conta
é geralmente criada com permissões limitadas, específicas para o
serviço, e é gerenciada pelo sistema operacional.
Use Existing Windows User: Essa opção permite que você especifique
uma conta de usuário já existente no Windows para executar o
serviço do Oracle. Se você escolher esta opção, precisará fornecer
os detalhes (nome de usuário e senha) da conta existente
para o Oracle usar como a conta de serviço.
Create New Windows User: Essa opção permitirá que você crie uma nova
conta de usuário no Windows durante o processo de
instalação do Oracle. O Oracle usará essa nova conta como a conta
de serviço para executar o banco de dados.
Use Windows Built-in Account: Essa opção permite que você use uma
conta de usuário interna do Windows para executar o
serviço do Oracle. Geralmente, essas contas internas são contas de
serviço especiais do Windows, como "LocalSystem" ou
"Network Service". Essas contas têm permissões específicas
no sistema e são gerenciadas pelo próprio Windows.
Melhores práticas:
. Se você estiver realizando uma instalação em um ambiente de produção,
é recomendável criar uma nova conta de usuário no Windows exclusivamente
para executar o serviço do Oracle. Essa conta deve ter privilégios
mínimos necessários para executar o serviço, para garantir a segurança
do ambiente.
Evite usar contas internas do Windows, como "LocalSystem", para executar
o serviço do Oracle em ambientes de produção, pois essas contas geralmente
têm privilégios excessivos e podem representar um risco de segurança.
. Se você estiver em um ambiente de desenvolvimento ou teste,
a opção de usuário virtual account pode ser suficiente, pois o Windows
criará automaticamente
uma conta virtual para executar o serviço do Oracle com permissões restritas.
Lembrando que a escolha da conta de usuário durante a instalação
do Oracle pode variar dependendo das políticas de segurança e das
necessidades
específicas do seu ambiente. Sempre siga as melhores práticas de
segurança e permissões adequadas para garantir a integridade
e segurança do seu sistema.
*** Como estamos em laboratório vamos neste momento inicial do curso,
rodar o Oracle atraves de uma conta "Use virtual account" e depois
poderemos criar uma conta
especifica no windows server para rodar o serviço Oracle.
6. Na proxima tela pode deixar a sugestao de pasta para instalacao
do oracle base
C:\app\Administrator
7. Na proxima tela pode desmarcar a opcao de criacao de base
de exemplo transacional, porque iremos criar bases proprias para o
treinamento.
8. Na proxima tela deixa as opcoes default
Durante o processo de instalação do Oracle Database, você será
solicitado a fornecer alguns detalhes importantes
sobre o banco de dados que está sendo criado. Esses detalhes incluem
o Global Database Name, o Oracle System
Identifier (SID) e o Pluggable Database Name.
Vamos entender o significado de cada um deles:
Global Database Name:
O Global Database Name é o nome completo e exclusivo do banco de dados
Oracle em todo o sistema de rede. Ele é usado para
identificar unicamente o banco de dados Oracle em um ambiente de rede
e é composto por duas partes: o nome do banco de dados
e o domínio. Por exemplo, no Global Database Name "[Link]", "ORCL"
é o nome do banco de dados, e "[Link]" é o domínio.
O Global Database Name é importante para garantir a resolução correta
de nomes de banco de dados em uma rede onde podem
existir vários bancos de dados Oracle.
Ele é usado para localizar e conectar-se ao banco de dados
em diferentes computadores e servidores na rede.
Oracle System Identifier (SID):
O Oracle System Identifier (SID) é um identificador único e exclusivo
atribuído a uma instância do banco de dados Oracle.
Uma instância é a combinação de memória e processos que representam
o funcionamento do banco de dados em um servidor específico.
O SID é usado pelo sistema operacional para identificar cada
instância do banco de dados em um servidor.
Banco de dados para o Oracle é um conjunto de arquivos fisicos
que ficam em um maquina fisica ou virtual. Pode exisir em um mesmo servidor
1 BANCO DE DADOS
OU VARIOS BANCOS DE DADOS, O QUE CHAMAMOS DE PDB (Pluggable Database Name).
Cada PDB pode ter varios users/schemas e cada um destes users/schemas
é o que conhecemos
como databases em outros SGBD como sql server, mysql e postgresql.
Pluggable Database Name:
O Pluggable Database Name é relevante apenas em ambientes multitenant
(a partir do Oracle Database 12c), onde um único banco de dados "contêiner"
(CDB - Container Database) pode conter vários bancos de dados
"plugáveis" (PDBs - Pluggable Databases).
Nesse modelo, o CDB funciona como um contêiner para PDBs, permitindo
que vários bancos de dados sejam consolidados em uma única instância
do Oracle.
Cada PDB possui um nome exclusivo, e esse nome é chamado de
Pluggable Database Name. No exemplo mencionado,
o Pluggable Database Name é "orclpdb".
Por padrão, é definido como “ORCLPDB” se você quiser, pode alterá-lo.
Esse banco de dados conectável servirá como modelo para todos o
s PDBs que você criará no futuro.
VAMOS VER DUAS ILUSTRACOES:
Arquitetura Oracle: D:\Backups\videoscursoudemyBK\ORACLE\images\ARQUITETURA
CDB E PDBS : D:\Backups\videoscursoudemyBK\ORACLE\images\CDBXPDB
9. Na proxima tela.
Em memória, aloque de 50 a 70% da memoria da VM para o Oracle
e em caracter set, selecione ISO 8859-6 latin/arabic ou pode deixar
o padrao unicode multilingua.
Na producao, em ambiente exclusivo para Oracle, este numero seria
entre 70% a 95% e irá selecionar o ISO correnspondente ao pais
da instalacao.
10. Na proxima tela o instalador sugere para colocar as bases de dados
Oracle em um disco diferente de onde foi instalado o app Oracle,
no caso, instalamos no disco c:
Em producao, certamente iriamos instalar em outro disco (ssd premium),
mas para o curso pode deixar o padrao C:\app\Administrator\oradata,
por enquanto.
11. Na proxima tela nao precisa marcar nada, porque nao iremos
gerenciar bases de dados na nuvem neste momento.
12. A proxima tela, que pede para voce definir um local para recuperar
a base de dados oracle, pode deixar desativada. Vamos ver formas
de recuperacao
de bases mais a frente.
13. Em passwords para 3 usuarios importantes para o oracle,
a melhor pratica é criar senhas diferentes, mas para o curso eu vou deixar
oracle123 para os 3 usuarios
para facilitar o nosso trabalho.
SYS: O usuário SYS é o superusuário do banco de dados, com privilégios
administrativos completos. A senha para este usuário deve ser forte,
com uma combinação de letras maiúsculas, letras minúsculas,
números e caracteres especiais. Evite usar senhas óbvias ou fáceis
de adivinhar.
SYSTEM: O usuário SYSTEM também é um usuário administrativo com
privilégios elevados, embora não possua todos os privilégios do
usuário SYS. A senha para o usuário SYSTEM também deve ser forte
e diferente da senha do usuário SYS.
PDBADMIN: O usuário PDBADMIN é utilizado para administração de um
PDB (Pluggable Database) específico, no caso do PDB que sera instalado
por padrao.
O Oracle 21c permite criar várias Pluggable Databases dentro de
um único container
de banco de dados (CDB). A senha do usuário PDBADMIN também deve ser
forte e diferente das senhas dos usuários SYS e SYSTEM.
Colocando a mesma senha, oracle123, o Oracle vai dar um alerta.
Diga yes, mas lembre-se que esta prática é só para o curso.
14. Na proxima tela o Oracle vai fazer um resumo para iniciar
a instalacao e voce poderá alterar algo.
CLIQUE NO BOTAO PARA INSTALAR E AGUARDE.
Depois que a instalação estiver concluída, vá em serviços do windows
e pesquise Oracle e veja que já existem serviços do oracle rodando
e veja no gerenciador de tarefas que o servico do Oracle
já está alocando RAM.
---------------
15. Verificar se o listener do banco está ok, pronto para receber
conexoes vindo de apps clientes, por exemplo sqldeveloper,
ou mesmo qualquer outro app.
Vc pode verificar no windows service se este servico
OracleOraDB21Home1TNSListener está running, ou no DOS digitar:
lsnrctl status
SE APARECER ESTE ERROR:
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=[Link])(PORT=1521)))
TNS-12535: TNS:operation timed out
TNS-12560: TNS:protocol adapter error
TNS-00505: Operation timed out
64-bit Windows Error: 60: Unknown error
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
64-bit Windows Error: 2: No such file or directory
TENTE FORÇAR UM START NO SERVIÇO PARA VER A MENSAGEM
lsnrctl start
VEJA O ERROR: VERIFIQUE SE NAO MUDOU O IP OU NOME DA MAQUINA
DO ORACLE DEPOIS QUE INSTALOU O ORACLE.
LSNRCTL for 64-bit Windows: Version [Link].0 - Production on 11-OCT-2023 03:27:00
Copyright (c) 1991, 2021, Oracle. All rights reserved.
Starting tnslsnr: please wait...
TNSLSNR for 64-bit Windows: Version [Link].0 - Production
System parameter file is C:\app\Administrator\homes\OraDB21Home1\network\admin\
[Link]
Log messages written to C:\app\Administrator\diag\tnslsnr\WIN-RKQ7QR32NLP\listener\
alert\[Link]
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=[Link])
(PORT=1521)))
TNS-12545: Connect failed because target host or object does not exist
TNS-12560: TNS:protocol adapter error
TNS-00515: Connect failed because target host or object does not exist
64-bit Windows Error: 49: Unknown error
RESOLUCAO:
ESte erro poderia indicar um problema de conectividade
com o host especificado no arquivo [Link]. Neste caso:
1. Abra o arquivo [Link] no caminho especificado
(C:\app\administrator\product\21\dbhome_1\network\admin\sample\[Link])
e verifique se as configurações estão corretas.
Certifique-se de que o HOST especificado é correto e se nao tem
uma regra de firewall bloquendo a porta 1521.
Para verificar o nome do HOST onde está rodando o ORACLE,
vá para o DOS e rode:
HOSTNAME
No meu caso, eu alterei o arquivo, mudando basicamente o HOST
para o nome do meu host, que no caso é o nome da VM criada:
# [Link] Network Configuration File: C:\app\Administrator\homes\OraDB21Home1\
NETWORK\ADMIN\[Link]
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\administrator\product\21\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\administrator\product\21\dbhome_1\bin\
[Link]")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = WIN-K1S9FADUUH0)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
--
SALVE O ARQUIVO E DE START NOVAMENTE NO LISTENER:
lsnrctl start
--------------
16. Vamos agora acessar o client do Oracle.
Para acessar o servidor oracle via comando sqlplus,
mesmo que o servico do listener estiver desligado conseguirá acessar.
sqlplus / as sysdba
OU
sqlplus sys as sysdba
Connected to:
Oracle Database 21c Enterprise Edition Release [Link].0 - Production
Version [Link].0
select instance_name, status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
orcl OPEN
obs: TUDO CERTO, com a instalacao do Oracle Database
(database e instancia).
OBS: Em services, podera verificar que existe um servico do listener
rodando chamado OracleOraDB21Home1TNSListener.
----------------------
17. Agora vamos instalar o sql developer da Oracle para gerenciarmos
nossos bancos de dados. Se estivesse no sql server iria instalar o SSMS,
se fosse
no PostgreSQL iria instalar o pgadmin e no MySQL iria instalar o workbench.
Ja disponibilei para download mas se quiser baixar do site da Oracle:
[Link]
Windows 64-bit with JDK 11 included
*** Pesquise no Google se o link acima não estiver mais disponivel
Coloque seu login e senha no site da Oracle e baixe o sql developer
para sua maquina local.
Depois copie para dentro da VM, pela pasta compartilhada.
Dentro da vm, copie para area de download e extraia os arquivos
compactados para uma pasta dentro da vm.
Vá no local onde foi descompactado os arquivos, no meu caso:
C:\app\
Vá para o diretorio do executavel do sqldeveloper.
C:\app\sqldeveloper\sqldeveloper\bin\
SELECIONE O ARQUIVO ABAIXO E CLIQUE BOTAO DIREITO E SELECIONE OPEN
sqldeveloper64
dica: ja percebi um bug na ultima versao com algumas versoes do windows
server. Caso ocorra na primeira
vez que abrir, deixe a janela aberta, e abra novamente o programa
em C:\app\sqldeveloper\sqldeveloper\bin\sqldeveloper64
clicando com botao direito do mouse sobre o programa e selecione
a opcao OPEN.
Já tive casos, de deixar as janelas abertas e tentar abrir novamente
e apenas na 3 tentativa abriu o sql developer no
windows server 2022.
Se está ocorrendo o mesmo com voce, dentro da sua vm:
1. Va no menu VIEW e ative a opcao Hidden Itens.
2. Vá no diretorio: C:\Users\Administrator\AppData\Roaming
3. Feche qualquer janela do sql developer ou dos erros
e Apague os 2 diretorios: SQL Developer and sqldeveloper
que estao C:\Users\Administrator\AppData\Roaming
4. Extraia novamente o compactado em um novo diretorio(ex: c:\sqldeveloper)
e realize o teste novamente de abertura do software
5. Caso de certo, poderá apagar o diretorio anterior onde tinha instalado
o sqldeveloper a primeira vez.
6. Criar um atalho do sqldeveloper no desktop ou fixar na barra do windows,
mas no mundo real
o ideal seria nao ficar acessando o sqldeveloper de dentro da vm de
producao, mas sim de uma jumpbox
ou de outro computador com segurança configurada para acessar
o servidor do Oracle com o client sqldeveloper.
AINDA, COMO LABORATÓRIO PARA O CURSO, PODERÁ INSTALAR O SQLDEVELOPER
EM SEU NOTEBOOK, FORA DA VM, PARA ACESSAR O SERVIÇO ORACLE.
NESTE CASO NÁO ACONTECERÁ O ERRO ACIMA.
------------------------
18. Conectado ao servidor Oracle pelo SQL Developer.
Clique no botao + para criarmos nossa primeira conexão com a servico Oracle
Usar usuario SYS, pass oracle123, no meu caso e selecionar role SYSDBA
No hostname, vá no seu DOS e rode hostname e pegue o nome do host.
No meu caso é WIN-K1S9FADUUH0
No SID, altere de xe para orcl que foi criado na instalacao
como padrao de server oracle. O xe eh utilizado para oracle desktop.
Faça um teste de conexao. Se funcionou, salve a conexao criada e
depois se conecte a instancia Oracle.
Rode:
select host_name,instance_name, status from v$instance;
OBS: AINDA, PODERÁ INSTALAR O CLIENT SQL DEVELOPER NO SEU NOTEBOOK
E REALIZAR A CONEXAO DE FORA DA VM.
-----------------------------------------------------------------------------------
--------------------------------------------------
19. DESLIGANDO O SERVIDOR ORACLE: SHUTDOWN
shutdown <mode>;
O modo é normal, imediato ou abortado.
normal, immediate, or abort.
Em um encerramento normal, o Oracle Database espera que todos os usuários
atualmente conectados
se desconectem e não permite novas conexões antes de encerrar.
Este é o modo padrão.
Em um encerramento imediato, o Oracle Database encerra e faz rollback
em transações ativas e não comitadas, desconecta clientes e desliga.
Em um encerramento abortado, o Oracle Database encerra transações ativas
e desconecta usuários; ele não faz rollback nas transações.
O banco de dados executa rollbacks na próxima vez que for iniciado.
Use este modo apenas em emergências porque ja tive problema com banco
de dados depois quando dei startup.
O comando "shutdown;" no Oracle é usado para encerrar o banco de dados
Oracle de forma controlada.
Quando você executa esse comando, o seguinte acontece:
"Database closed": Isso significa que todas as conexões de usuários
ao banco de dados são encerradas.
O banco de dados não aceitará mais novas conexões a partir deste momento.
"Database dismounted": O banco de dados é desmontado. Isso significa que os
arquivos de dados e de controle do banco de
dados não estão mais acessíveis para a instancia Oracle.
Os arquivos do banco de dados não estão mais em uso pelo Oracle.
"ORACLE instance shut down": A instância do Oracle
(os processos que estao na memoria em execução que controla o banco de dados )
sao encerrados. Isso significa que o banco de dados não está mais
em execução no servidor.
Em resumo, o comando "shutdown;" fecha todas as conexões,
desmonta o banco de dados e encerra a
instância do Oracle, interrompendo assim a execução do banco de dados
de forma controlada e segura.
Isso é comumente usado quando você precisa realizar manutenção no banco
de dados,
como atualizações de software, e deseja encerrá-lo antes de realizar essas
tarefas.
LAB
sqlplus / as sysdba
shutdown immediate;
shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
- fazer teste de conexao pelo sql developer
- retorne ao sqlplus e rode
startup;
ORACLE instance started.
Total System Global Area 3657431240 bytes
Fixed Size 9861320 bytes
Variable Size 939524096 bytes
Database Buffers 2701131776 bytes
Redo Buffers 6914048 bytes
Database mounted.
Database opened.
- fazer teste de conexao pelo sql developer
------------------------------------------------------------------------------
20. SEMPRE ENCERRE O ORACLE PELO SHUTDOWN E NAO APENAS DESLIGUE A VM,
PORQUE PODERA TER PROBLEMAS NO SEU ORACLE
E PARA CRIARMOS UM BACKUP DE TUDO QUE FIZEMOS ATE AGORA,
VAMOS DAR SHUTDOWN NO ORACLE, ENCERRAR O WINDOWS SERVER E VAMOS
FAZER UM CLONE DA VM CRIADA PELO VIRTUALBOX
------------------------------------------------------------------------------
21. CLONANDO NOSSA VM
-----------------------------------------------------------------------------------
-----------------------
FIM