Oracle Cloud: Passo a passo para criar e configurar um Oracle Database Cloud Service - Virtual Image (Parte II)

Por Sebastián D'Alessandro, Joel Pérez & Franky Weber Faust
Publicado en Julho 2017

Nesta segunda parte do artigo veremos como adicionar mais espaço à VM provisionada durante o processo de criação do serviço.

Já temos nossa máquina virtual preparada, porém antes de instalar os binários do Oracle Database e criar novos bancos de dados, vamos adicionar mais espaço à VM e configurar posteriormente no sistema operacional.

Vamos utilizar este espaço adicional no nosso exemplo para instalação e também para armazenar os arquivos físicos do banco de dados. Como veremos mais adiante, o processo de instalação é diferente do método de instalação tradicional do Oracle.

Vamos adicionar três novos discos à VM com as seguintes características:

  • 20GB para a instalação;
  • 20GB para os dados (arquivos do banco de dados);
  • 20GB para a FRA.

Vejamos quais são os passos necessários…

Adicionar espaço à VM

Primeiro adicionamos uma nova área de armazenamento à VM da seguinte maneira:

No console “Oracle Database Cloud Services” clicamos sobre o nome do nosso serviço “testdb-vi).

Na sessão “Resources” clicamos no ícone do menu e selecionamos a opção “Scale Up/Down”.

Um janela é aberta e nos permite adicionar mais espaço de armazenamento, indicamos no campo “Additional Storage (GB)” o tamanho desejado para o novo disco, no nosso caso 20GB, e então confirmamos clicando em “Yes, Scale Up/Down Service”.

Enquanto o novo disco está sendo adicionado, vamos ver o console “Oracle Database Cloud Service”. Um sinal de alerta fica exposto sobre o ícone e a mensagem “Scale Up/Down in progress…” é exibida na seção “Overview”, bem como o status “Maintenance”, assim indicando a adição do novo disco.

Também podemos observar a legenda “Databsae Service scale up/down request is accepted.” indicando que a solicitação de adição de armazenamento foi aceita.

Ao finalizar o processo, o status volta a “Running” e vemos que o tamanho indicado na seção “Summary” reflete o espaço total após a adição do novo disco.

Repetimos a mesma operação para os demais discos que queremos adicionar.

Como podemos ver, inicialmente nossa VM tinha 32GB de armazenamento provisionado e ao adicionarmos 3 discos de 20GB vemos um total de 92GB.

Já temos os discos adicionados à VM, então agora é o momento de configurá-los no sistema operacional.

Nos conectamos à VM via SSH com o usuário “opc” (o usuário do Oracle Public Cloud), este usuário possui privilégios de “sudo”.

Obs: No nosso caso faremos “sudo su -” e acessamos diretamente o usuário root para melhor exemplificar o processo, porém o mais correto seria utilizar o usuário “ocp” e fazer uso dos seus privilégios de root com o comando “sudo”. Por exemplo “sudo fdisk -l”.

Por padrão, as partições já criadas na VM são: /dev/xvdb1, /dev/xvdb2, /dev/xvdb3.

Ao executar o comando “fdisk -l” vemos mais três discos de 20GB: xvdc, xvdd, xvde. Estes são os discos que adicionamos e que utilizaremos para nosso banco de dados.



[root@testdb-vi ~]# fdisk -l  
Disk /dev/xvdb: 34.4 GB, 34359738368 bytes
255 heads, 63 sectors/track, 4177 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes 
I/O size (minimum/optimal): 512 bytes / 512 bytes  
Disk identifier: 0x000ab289  

Device Boot      Start         End      Blocks   Id  System
/dev/xvdb1   *           1          64      512000   83  Linux 
Partition 1 does not end on cylinder boundary. 
/dev/xvdb2              64         587     4194304   82  Linux swap / Solaris 
Partition 2 does not end on cylinder boundary.  
/dev/xvdb3             587        3917    26748672   83  Linux   


Disk /dev/xvdc: 21.5 GB, 21474836480 bytes 
255 heads, 63 sectors/track, 2610 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes  
Sector size (logical/physical): 512 bytes / 512 bytes 
I/O size (minimum/optimal): 512 bytes / 512 bytes  	
Disk identifier: 0x00000000      


Disk /dev/xvdd: 21.5 GB, 21474836480 bytes 
255 heads, 63 sectors/track, 2610 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes 
I/O size (minimum/optimal): 512 bytes / 512 bytes 
Disk identifier: 0x00000000      

Disk /dev/xvde: 21.5 GB, 21474836480 bytes  
255 heads, 63 sectors/track, 2610 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes  
Sector size (logical/physical): 512 bytes / 512 bytes  
I/O size (minimum/optimal): 512 bytes / 512 bytes  
Disk identifier: 0x00000000    

[root@testdb-vi ~]# lsblk 
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT  
xvdb    202:16   0   32G  0 disk  
--xvdb1 202:17   0  500M  0 part /boot 
--xvdb2 202:18   0    4G  0 part [SWAP] 
--xvdb3 202:19   0 25.5G  0 part / 


xvdc    202:32   0   20G  0 disk xvdd    202:48   0   20G  0 disk xvde    202:64   0   20G  0 disk

[root@testdb-vi ~]# ls -lrt /dev/xvd* brw-rw---- 
1 root disk 202, 64 Jan 14 09:46 /dev/xvde brw-rw----
1 root disk 202, 48 Jan 14 09:46 /dev/xvdd brw-rw----
1 root disk 202, 32 Jan 14 09:46 /dev/xvdc
brw-rw---- 1 root disk 202, 16 Jan 14 09:46 /dev/xvdb
brw-rw---- 1 root disk 202, 18 Jan 14 09:46 /dev/xvdb2
brw-rw---- 1 root disk 202, 19 Jan 14 09:46 /dev/xvdb3
brw-rw---- 1 root disk 202, 17 Jan 14 09:46 /dev/xvdb1


Agora vamos particionar os discos, para isso vamos executar o fdisk em cada um deles:

A sequência de comandos é a seguinte:




1-  c eu para configurar o fdisk;  
2-  n para criar uma nova partição; 
3-  opçãop para indicar partição primária; 
4-  1 para indicar o número da partição; 
5-  Confirmamos compara o default do primeiro e último bloco;
6-  Com o comandop verificamos a partição;
7-  E por fim o comandowefetuamos a gravação na tabela de partições.  

[root@testdb-vi ~]# fdisk /dev/xvdc 
Device contains neither a valid DOS partition table, nor Sun, SGI or 
OSF disklabel Building a new DOS disklabel with disk identifier 0x20ce3991. 
Changes will remain in memory only, until you decide to write them. 
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected 
by w(rite)  WARNING: DOS-compatible mode is deprecated. 
It's strongly recommended to        
switch off the mode (command 'c') and change display units to 
sectors (command 'u').  Command (m for help): c DOS Compatibility flag is not set
Command (m for help): u Changing display/entry units to sectors
Command (m for help): n Command action 
e   extended    p 
primary partition (1-4)
p Partition number (1-4): 1 
First sector (2048-41943039, default 2048):< enter> Using default value 2048 Last sector,
+sectors or +size{K,M,G} (2048-41943039, default 41943039):< enter>
Using default value 41943039  Command (m for help): p 
Disk /dev/xvdc: 21.5 GB, 21474836480 bytes 255 heads,
63 sectors/track, 2610 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x20ce3991      
Device Boot    
Start       
End     
Blocks
Id  System /dev/xvdc1    
2048    41943039    20970496   83 
Linux  Command (m for help): w The partition table has been altered!
Calling ioctl() to re-read partition table. 
Syncing disks.  
Repetimos a operação nos demais discos:  
[root@testdb-vi ~]# fdisk /dev/xvdd 
[root@testdb-vi ~]# fdisk /dev/xvde  
Executamos o comando “partprobe” 
para reler a tabela de partições: 
[root@testdb-vi ~]# partprobe 
Warning: WARNING: the kernel failed to 
re-read the partition table  on /dev/xvdb (Device or resource busy).
As a result, it may not  reflect all of your changes until after reboot. 
Executamos novamente o “fdisk -l”
para ver como ficaram configuradas  novas partições.
A saída do comando é a seguinte: 
[root@testdb-vi ~]# fdisk -l  
Disk /dev/xvdb: 34.4 GB, 34359738368 bytes 255 heads, 63 sectors/track, 
4177 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes 
Disk identifier: 0x000ab289      Device Boot      Start         End      Blocks  
Id  System /dev/xvdb1   *           1          64      512000   83  
Linux Partition 1 does not end on cylinder boundary. 
/dev/xvdb2              64         587     4194304   82  Linux swap  
/ Solaris Partition 2 does not end on cylinder boundary. 
/dev/xvdb3             587        3917    26748672   83  Linux  
Disk /dev/xvdc: 21.5 GB, 21474836480 bytes 213 heads, 34 sectors/track, 
5791 cylinders Units = cylinders of 7242 * 512 = 3707904 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes 
I/O size (minimum/optimal): 512 bytes / 512 bytes 
Disk identifier: 0x20ce3991     
Device Boot     
Start        
End     
Blocks   
Id  System /dev/xvdc1               1        5792    20970496   83  Linux 
Disk /dev/xvdd: 21.5 GB, 21474836480 bytes 213 heads, 34 sectors/track, 
5791 cylinders Units = cylinders of 7242 * 512 = 3707904 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes 
Disk identifier: 0xa36d13ce     
Device Boot   
Start     
End      
Blocks   
Id  System /dev/xvdd1               1        5792    20970496   83  
Linux  Disk /dev/xvde: 21.5 GB, 21474836480 bytes 213 heads, 34 sectors/track,
5791 cylinders Units = cylinders of 7242 * 512 = 3707904 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes 
I/O size (minimum/optimal): 512 bytes / 512 bytes 
Disk identifier: 0x87f81643    
Device Boot     
Start    
End  
Blocks   
Id  System /dev/xvde1               1        5792    20970496   83  
Linux   Como podemos ver, as partições foram criadas corretamente. 
Vamos verificar também no diretório de devices “/dev” as partições  criadas:  
[root@testdb-vi ~]# ls -lrt /dev/xvd* brw-rw---- 1 root disk 202, 18 Jan 14 09:46 
/dev/xvdb2 brw-rw---- 1 root disk 202, 19 Jan 14 09:46 
/dev/xvdb3 brw-rw---- 1 root disk 202, 17 Jan 14 09:46 
/dev/xvdb1 brw-rw---- 1 root disk 202, 32 Jan 14 11:19 
/dev/xvdc brw-rw---- 1 root disk 202, 48 Jan 14 11:19 
/dev/xvdd brw-rw---- 1 root disk 202, 64 Jan 14 11:19
/dev/xvde brw-rw---- 1 root disk 202, 33 Jan 14 11:19
/dev/xvdc1 brw-rw---- 1 root disk 202, 49 Jan 14 11:19 
/dev/xvdd1 brw-rw---- 1 root disk 202, 65 Jan 14 11:19
/dev/xvde1 brw-rw---- 1 root disk 202, 16 Jan 14 11:19 
/dev/xvdb   Agora que já temos as partições sobre os novos discos,
vamos criar  os filesystems. 
Executamos o utilitário “mkfs” 
para criar um filesystem do tipo “ext4” 
sobre cada uma das partições: 
[root@testdb-vi ~]# mkfs.ext4 /dev/xvdc1 mke2fs 1.43-WIP (20-Jun-2013)
Filesystem label= OS type: Linux Block size=4096 (log=2) 
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks 1310720 inodes, 
5242624 blocks 262131 blocks (5.00%) reserved for the super
user First data block=0 Maximum filesystem blocks=4294967296 160 block
groups 32768 blocks per group, 32768 fragments per group 8192 inodes per
group Superblock backups stored on blocks:  
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632,  
2654208, 4096000 
Allocating group tables: done Writing inode tables: 
done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information:
done  
[root@testdb-vi ~]# mkfs.ext4 
/dev/xvdd1 mke2fs 1.43-WIP (20-Jun-2013) 
Filesystem label= OS type: Linux Block size=4096 
(log=2) Fragment size=4096 (log=2) Stride=0 blocks,
Stripe width=0 blocks 1310720 inodes, 
5242624 blocks 262131 blocks (5.00%) 
reserved for the super user First data block=0 
Maximum filesystem blocks=4294967296 160 
block groups 32768 blocks per group,
32768 fragments per group 8192 inodes
per group Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 
2654208,         4096000  
Allocating group tables: done Writing inode tables: done 
Creating journal (32768 blocks): done Writing superblocks 
and filesystem accounting information: done  
[root@testdb-vi ~]# mkfs.ext4 /dev/xvde1 mke2fs 1.43-WIP (20-Jun-2013)
Filesystem label= OS type: Linux Block size=4096 (log=2) 
Fragment size=4096 (log=2) Stride=0 blocks,
Stripe width=0 blocks 1310720 inodes, 5242624 blocks 262131 blocks (5.00%) 
reserved for the super user First data block=0 
Maximum filesystem blocks=4294967296 160 block groups 32768 blocks per group,
32768 fragments per group 8192 inodes per group 
Superblock backups stored on blocks:         32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632,          2654208,        
4096000  Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done 
Writing superblocks and filesystem accounting information: done 
Criamos os pontos de montagem:  
[root@testdb-vi ~]# mkdir /u01 
[root@testdb-vi ~]# mkdir /u02 
[root@testdb-vi ~]# mkdir /u03  
Montamos os filesystems nos pontos de montagem criados:  
[root@testdb-vi ~]# mount /dev/xvdc1 /u01 
[root@testdb-vi ~]# mount /dev/xvdd1 /u02 
[root@testdb-vi ~]# mount /dev/xvde1 /u03   
Verificamos se estão efetivamente montados:  
[root@testdb-vi ~]# df -h Filesystem      
Size  Used Avail Use% Mounted on /dev/xvdb3   
25G   12G   13G  47% / tmpfs       
3.6G     0  3.6G   0% 
/dev/shm /dev/xvdb1      477M  148M  300M  34% 
/boot /dev/xvdc1       20G   44M   19G   1% 
/u01 /dev/xvdd1       20G   44M   19G   1% 
/u02 /dev/xvde1       20G   44M   19G   1% 
/u03    [root@testdb-vi ~]# ls -lrt 
/|grep u0 drwxr-xr-x    3 root root     4096 Jan 14 11:39 u02 
drwxr-xr-x    3 root root     4096 Jan 14 11:39 u01 
drwxr-xr-x    3 root root     4096 Jan 14 11:39 u03   
Alteramos o dono e as permissões:  
[root@testdb-vi ~]# chown -R oracle:oinstall 
/u01 [root@testdb-vi ~]# chmod –R 755 
/u01  [root@testdb-vi ~]# chown -R oracle:oinstall 
/u02 [root@testdb-vi ~]# chmod –R 755 /u02  
[root@testdb-vi ~]# chown -R oracle:oinstall 
/u03 [root@testdb-vi ~]# chmod -R 755 /u03   
Verificamosnovamente para conferir as permissões:  
[root@testdb-vi ~]#  ls -lrt /|grep u0 drwxr-xr-x    
3 oracleoinstall     4096 Jan 14 11:39 u01 drwxr-xr-x   
3 oracleoinstall     4096 Jan 14 11:39 u02 drwxr-xr-x  
3 oracleoinstall     4096 Jan 14 11:39 u03    
[root@testdb-vi ~]# lsblk NAME    
MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT xvdb    202:16   0   32G  0 
disk --xvdb1 202:17   0  500M  0 part /boot --xvdb2 202:18   0    4G  0 part [SWAP] 
--xvdb3 202:19   0 25.5G  0 part / xvdc    202:32   0   20G  0 disk 
--xvdc1 202:33   0   20G  0 part /u01 xvdd    202:48   0   20G  0 disk 
--xvdd1 202:49   0   20G  0 part /u02 xvde    202:64   0   20G  0 disk 
--xvde1 202:65   0   20G  0 part /u03   
Como tarefa final vamos configurar os filesystems para que sejam  montados automaticamente no boot do sistema operacional.  
Para isso, com o comando “lsblk” 
obtemos os UUID dos discos:  
[root@testdb-vi ~]# lsblk -o NAME,UUID,MOUNTPOINT,FSTYPE NAME    UUID                                 MOUNTPOINT FSTYPE xvdb 
--xvdb1 947fa69d-3925-4738-a6c0-27d00f5c4f96 /boot      ext4 
--xvdb2 d24de279-f4f1-46ae-aa3b-5297bd258dcc [SWAP]     swap 
--xvdb3 ac69bdf3-37be-47f2-9d59-6d4c672f98cc /          ext4 xvdc 
--xvdc1 2b60984d-d9e4-4531-b74c-fa04c0a3c568 /u01       ext4 xvdd 
--xvdd1 4670b496-c472-4054-8a9d-ee27aaeeb784 /u02       ext4 xvde 
--xvde1 0a0022a4-08a8-4248-aec2-5db68c2a55e9 /u03       ext4   
Então, modificamos o arquivo fstab e adicionamos as novas entradas  utilizando o UUID que obtivemos do comando anterior:  
[root@testdb-vi ~]# cat /etc/fstab  
# # /etc/fstab # Created by anaconda on Wed Apr 15 18:13:53 2015 
# # Accessible filesystems, by reference, are maintained under '/dev/disk' 
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info 
# UUID=ac69bdf3-37be-47f2-9d59-6d4c672f98cc /                        ext4    defaults        1 1 
UUID=947fa69d-3925-4738-a6c0-27d00f5c4f96 /boot                    ext4    defaults        1 2 
UUID=d24de279-f4f1-46ae-aa3b-5297bd258dcc swap                     swap    defaults        0 0 tmpfs                  
/dev/shmtmpfs   defaults        0 0 devpts                  
/dev/pts                devptsgid=5,mode=620  0 0 sysfs                   
/sys                    sysfs   defaults      0 0 proc                    
/procproc    defaults        0 0 UUID=2b60984d-d9e4-4531-b74c-fa04c0a3c568
/u01                   ext4    defaults        0 0 UUID=4670b496-c472-4054-8a9d-ee27aaeeb784 
/u02                   ext4    defaults        0 0 UUID=0a0022a4-08a8-4248-aec2-5db68c2a55e9 
/u03                   ext4    defaults        0 0   Por último reiniciamos a máquina virtual:
[root@testdb-vi ~]# reboot  Broadcast message from opc@testdb-vi         (/dev/pts/0) at 12:22 ...  
The system is going down for reboot NOW! 
Assim que a VM subir, acessamos via SSH e validamos que os filesystems 
estão montados:  login as: opc Authenticating with public key "rsa-key-20170114" 
[opc@testdb-vi ~]$ df -h Filesystem   
Size  Used Avail Use% Mounted on /dev/xvdb3   
25G   12G   13G  47% / tmpfs       
3.6G     0  3.6G   0% /dev/shm /dev/xvdb1   
477M  148M  300M  34% /boot /dev/xvdc1    
20G   44M   19G   1% /u01 /dev/xvdd1     
20G   44M   19G   1% /u02 /dev/xvde1     
20G   44M   19G   1% /u03

Nesta parte do artigo vimos como adicionar novos discos à VM provisionada através de um serviço “Oracle Database Cloud Service - Virtual Image”. Este espaço adicional utilizaremos para instalar e criar nossos bancos de dados.

Aqui neste artigo modificamos os recursos inicialmente provisionados adicionando três novos discos de 20GB, formatamos e configuramos no sistema operacional.

Convidamos para que leiam a parte III desta série, onde veremos como instalar o Oracle Database e como criar bancos de dados sobre estes novos filesystems.

Oracle Cloud: Passo a passo para criar e configurar um Oracle Database Cloud Service - Virtual Image (Parte III)

Sebastián D'Alessandro é um Senior DBA com mais de 15 anos de experiência real trablhando com a tecnologia Oracle. Ele tem foco principal na administração de banco de dados, projetar soluções de alta disponibilidade e disaster recovery, análise de desempenho, segurança, virtualização e cloud.Atualmente trabalha na área de banco de dados de uma grande empresa multinacional. Sebastian também participa como palestrante em vários eventos de tecnologia e publica freqüentemente em seu blog pessoal http://sdalessandro.blogspot.com. Você também pode segui-lo no Twitter https://twitter.com/sebdalessandro"

Joel Pérez é um DBA (Oracle ACE Director, MaximumAvailability OCM, OCM Cloud Admin. & OCM12c/11g) Especialista com mais de 16 anos de experiência real no mundo da tecnologia Oracle, especializada na concepção e implementação de soluções: Nuvem, alta disponibilida de, recuperação de desastres, Upgrades, replicação e toda a área relacionada com bancos de dados Oracle. Joel serve como "Chief Technologist & MAA, Cloud Architect" para www.Enmotech.com Yunhe ENMO (Beijing) Technology Co. Ltd. Beijing, China. OCM Perfil Joel Perez: http://education.oracle.com/education/otn/JoelPerez.htm

Franky Weber Faust atua como administrador de banco de dados Oracle e MySQL no PagSeguro, tem 26 anos, é graduado em Tecnologia em Bancos de Dados e iniciou sua carreira trabalhando num projeto internacional da Volkswagen com os bancos de dados DB2 da IBM, SQL Server da Microsoft e também com o Oracle e desde o início direcionou seus estudos para as tecnologias Oracle. É especialista em tecnologias de Alta Disponibilidade como RAC, Dataguard e GoldenGate e compartilha seus conhecimentos no blog loredata.com.br. Possui as certificações OCE SQL, OCA 11g, OCP 12c, OCS RAC 12c e OCS Linux 6.

Este artigo foi revisto pela equipe de produtos Oracle e está em conformidade com as normas e práticas para o uso de produtos Oracle.