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:
Vejamos quais são os passos necessários…
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.
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.