sexta-feira, 29 de novembro de 2013

Atualizando Base de Teste - PIMS C/S no Oracle


Atualização da BASE TESTE do PIMS C/S

Cenário,

Banco de Dados, PRODUCAO

Verificando a versão do Linux,

[oracle@producao dump]$ uname -a
Linux dbserver.unialco.com.br 2.6.18-194.el5 #1 SMP Mon Mar 29 22:10:29 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

Verificando a versão do Banco,

SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Release 10.2.0.5.0 - 64bit Production
PL/SQL Release 10.2.0.5.0 - Production
CORE    10.2.0.5.0      Production
TNS for Linux: Version 10.2.0.5.0 - Production
NLSRTL Version 10.2.0.5.0 - Production


Banco de Dados, TESTE

Verificando a versão do Linux,

[oracle@dbteste ~]$ uname -a
Linux dbteste.unialco.com.br 2.6.32-300.32.2.el5uek #1 SMP Tue Aug 28 10:13:43 E                                                                                        DT 2012 i686 i686 i386 GNU/Linux

Verificando a versão do Banco,

SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Prod
PL/SQL Release 10.2.0.5.0 - Production
CORE    10.2.0.5.0      Production
TNS for Linux: Version 10.2.0.5.0 - Production
NLSRTL Version 10.2.0.5.0 - Production

Temos 2 opções de fazer o export dos dados da Produção para o Teste.

1ª Exportar apenas os Owners ref. ao PIMS.
2ª Copiar os DUMP's que são gerados durante o backup e copiar para o banco teste.

Mostrarei as duas opções,

a 1ª é o seguinte,

oracle@producao /]$
export NLS_LANG="AMERICAN_AMERICA.WE8ISO8859P1"
exp USERID=SYSTEM/SENHADOBANCO@INSTANCIA BUFFER=1073741824 RECORDLENGTH=65535 STATISTICS=none OWNER=PIMSPRD,PIMSCOL FILE=/oracle/backup/exportacao/exp_PIMS-AGR_20131129_1508hrs.dmp COMPRESS=Y CONSISTENT=y LOG=/oracle/backup/exportacao/exp_PIMS-AGR_20131129_1508hrs.log

Com isso gerará o DMP no caminho passado no parâmetro FILE acima com o nome de, exp_PIMS-AGR_20131129_1508hrs.dmp

Através do comando abaixo, irá transferir o DMP do servidor de Produção para o Teste.

oracle@producao /]$ 
scp exp_PIMS-AGR_20131129_1508hrs.dmp oracle@192.168.1.222:/oracle/backup/exportacao/

a 2ª opção é jogar os DMP´s que foram gerados durante o backup no Produção para o servidor Teste.

vamos listar o conteúdo da pasta DUMP.

[oracle@producao ]$ du -ch dump/
2,8G    dump/swap
14G     dump/
14G     total

[oracle@producao ]$ cd dump/

[oracle@producao dump]$ ls -lsrt | grep .gz
438180 -rw-r--r-- 1 oracle oinstall 448251676 Nov 29 03:28 usina01.dmp.gz
373960 -rw-r--r-- 1 oracle oinstall 382552595 Nov 29 03:30 usina02.dmp.gz
477476 -rw-r--r-- 1 oracle oinstall 488449975 Nov 29 03:32 usina03.dmp.gz
334048 -rw-r--r-- 1 oracle oinstall 341723645 Nov 29 03:34 usina04.dmp.gz
399124 -rw-r--r-- 1 oracle oinstall 408295088 Nov 29 03:37 usina05.dmp.gz
338372 -rw-r--r-- 1 oracle oinstall 346145138 Nov 29 03:42 usina06.dmp.gz
326040 -rw-r--r-- 1 oracle oinstall 333529353 Nov 29 03:43 usina07.dmp.gz
302200 -rw-r--r-- 1 oracle oinstall 309145171 Nov 29 03:44 usina08.dmp.gz
289652 -rw-r--r-- 1 oracle oinstall 296305597 Nov 29 03:45 usina09.dmp.gz
282260 -rw-r--r-- 1 oracle oinstall 288746219 Nov 29 03:47 usina10.dmp.gz
285716 -rw-r--r-- 1 oracle oinstall 292278600 Nov 29 03:48 usina11.dmp.gz
285592 -rw-r--r-- 1 oracle oinstall 292155135 Nov 29 03:49 usina12.dmp.gz
303872 -rw-r--r-- 1 oracle oinstall 310851311 Nov 29 03:51 usina13.dmp.gz
280968 -rw-r--r-- 1 oracle oinstall 287424077 Nov 29 03:52 usina14.dmp.gz
329932 -rw-r--r-- 1 oracle oinstall 337510694 Nov 29 03:53 usina15.dmp.gz
317580 -rw-r--r-- 1 oracle oinstall 324877169 Nov 29 03:55 usina16.dmp.gz
308244 -rw-r--r-- 1 oracle oinstall 315324212 Nov 29 03:57 usina17.dmp.gz
411904 -rw-r--r-- 1 oracle oinstall 421370356 Nov 29 03:58 usina18.dmp.gz
365180 -rw-r--r-- 1 oracle oinstall 373567500 Nov 29 04:01 usina19.dmp.gz
354476 -rw-r--r-- 1 oracle oinstall 362618990 Nov 29 04:02 usina20.dmp.gz
465136 -rw-r--r-- 1 oracle oinstall 475824301 Nov 29 04:05 usina21.dmp.gz
529164 -rw-r--r-- 1 oracle oinstall 541326903 Nov 29 04:07 usina22.dmp.gz
468328 -rw-r--r-- 1 oracle oinstall 479090394 Nov 29 04:10 usina23.dmp.gz
974332 -rw-r--r-- 1 oracle oinstall 996735927 Nov 29 04:13 usina24.dmp.gz
374104 -rw-r--r-- 1 oracle oinstall 382697805 Nov 29 04:15 usina25.dmp.gz
312892 -rw-r--r-- 1 oracle oinstall 320081752 Nov 29 04:17 usina26.dmp.gz
400032 -rw-r--r-- 1 oracle oinstall 409224018 Nov 29 04:19 usina27.dmp.gz
362284 -rw-r--r-- 1 oracle oinstall 370607326 Nov 29 04:22 usina28.dmp.gz
111604 -rw-r--r-- 1 oracle oinstall 114162462 Nov 29 04:24 usina29.dmp.gz
[oracle@dbserver dump]$

Agora no servidor TESTE, vamos criar o local onde receberá os arquivos DUMP

[oracle@dbteste backup-producao]$ ls -lsrt
total 20
4 drwxr-xr-x 3 oracle oinstall 4096 Nov 18 10:30 18112013
4 drwxr-xr-x 3 oracle oinstall 4096 Nov 19 09:52 19112013
4 drwxr-xr-x 3 oracle oinstall 4096 Nov 20 12:18 20112013
4 drwxr-xr-x 3 oracle oinstall 4096 Nov 25 14:28 25112013
4 drwxr-xr-x 3 oracle oinstall 4096 Nov 26 09:04 26112013

[oracle@dbteste backup-producao]$ mkdir 29112013

[oracle@dbteste backup-producao]$ cd 29112013/

[oracle@dbteste 29112013]$ mkdir dump

[oracle@dbteste 29112013]$ cd dump/

[oracle@dbteste dump]$

Agora, vamos criar um arquivo ".sh" e jogar o conteúdo dos dump passando o comando do SCP para copiar de um servidor para o outro.

[oracle@dbserver dump]$ vim backup_dmp_29112013.sh

Colar

scp usina01.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina02.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina03.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina04.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina05.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina06.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina07.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina08.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina09.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina10.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina11.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina12.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina13.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina14.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina15.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina16.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina17.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina18.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina19.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina20.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina21.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina22.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina23.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina24.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina25.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina26.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina27.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina28.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp usina29.dmp.gz oracle@192.168.1.222:/backup-producao/29112013/dump/
scp expusina_Fri.log oracle@192.168.1.222:/backup-producao/29112013/dump/

Dando a permissão de "executar" para o arquivo que acabamos de criar,

[oracle@producao ]$ chmod +x backup_dmp_29112013.sh


Por fim, vamos executar o script para realizar a cópia,

[oracle@producao ]$ ./backup_dmp_29112013.sh
usina01.dmp.gz                                                                                                                      100%  427MB  26.7MB/s   00:16
usina02.dmp.gz                                                                                                                      100%  365MB  26.1MB/s   00:14
usina03.dmp.gz                                                                                                                      100%  466MB  25.9MB/s   00:18
usina04.dmp.gz                                                                                                                      100%  326MB  25.1MB/s   00:13
usina05.dmp.gz                                                                                                                      100%  389MB  26.0MB/s   00:15
usina06.dmp.gz                                                                                                                      100%  330MB  25.4MB/s   00:13
usina07.dmp.gz                                                                                                                      100%  318MB  26.5MB/s   00:12
usina08.dmp.gz                                                                                                                      100%  295MB  26.8MB/s   00:11
usina09.dmp.gz                                                                                                                      100%  283MB  25.7MB/s   00:11
usina10.dmp.gz                                                                                                                      100%  275MB  27.5MB/s   00:10
usina11.dmp.gz                                                                                                                      100%  279MB  27.9MB/s   00:10
usina12.dmp.gz                                                                                                                      100%  279MB  25.3MB/s   00:11
usina13.dmp.gz                                                                                                                      100%  296MB  24.7MB/s   00:12
usina14.dmp.gz                                                                                                                      100%  274MB  27.4MB/s   00:10
usina15.dmp.gz                                                                                                                      100%  322MB  24.8MB/s   00:13
usina16.dmp.gz                                                                                                                      100%  310MB  28.2MB/s   00:11
usina17.dmp.gz                                                                                                                      100%  301MB  27.3MB/s   00:11
usina18.dmp.gz                                                                                                                      100%  402MB  26.8MB/s   00:15
usina19.dmp.gz                                                                                                                      100%  356MB  25.5MB/s   00:14
usina20.dmp.gz                                                                                                                      100%  346MB  26.6MB/s   00:13
usina21.dmp.gz                                                                                                                      100%  454MB  26.7MB/s   00:17
usina22.dmp.gz                                                                                                                      100%  516MB  25.8MB/s   00:20
usina23.dmp.gz                                                                                                                      100%  457MB  25.4MB/s   00:18
usina24.dmp.gz                                                                                                                      100%  951MB  26.4MB/s   00:36
usina25.dmp.gz                                                                                                                      100%  365MB  26.1MB/s   00:14
usina26.dmp.gz                                                                                                                      100%  305MB  27.8MB/s   00:11
usina27.dmp.gz                                                                                                                      100%  390MB  26.0MB/s   00:15
usina28.dmp.gz                                                                                                                      100%  353MB  29.5MB/s   00:12
usina29.dmp.gz                                                                                                                      100%  109MB  21.8MB/s   00:05
expunialco_Fri.log                                                                                                                    100% 1637KB   1.6MB/s   00:00

Agora vamos conectar no ambiente de TESTE, (Atenção ambiente de teste pois rodaremos DROP´s e com isso apagará todos os dados.

SQL>

DROP USER PIMSPRD CASCADE;
DROP USER PIMSCOL CASCADE;

CREATE USER "PIMSPRD" PROFILE "DEFAULT" IDENTIFIED BY "SENHA" 
DEFAULT TABLESPACE "PIMS_DATA" 
TEMPORARY TABLESPACE "TEMP" 
ACCOUNT UNLOCK;

CREATE USER "PIMSCOL" PROFILE "DEFAULT" IDENTIFIED BY "SENHA" 
DEFAULT TABLESPACE "PIMS_DATA" 
TEMPORARY TABLESPACE "TEMP" 
ACCOUNT UNLOCK;

GRANT DBA TO PIMSPRD;
GRANT DBA TO PIMSCOL;

Agora vamos descompactar os DMPs que vieram do producao como .gz

Entrar na local onde foi jogado, os arquivos e executar o comando abaixo.

[oracle@dbteste dump]$ gzip -d *.gz

Após descompactar ou foi utilizar o DMP que foi exportado com os owners especificos abaixo terá os 2 comandos de IMP para realizar ai escolhe qual dos dois a ser feito.

-- ---------------------------
-- 3- IMPORTAÇÃO PIMS AGRICOLA DUMP ESPECIFICO
-- ---------------------------
export NLS_LANG="AMERICAN_AMERICA.WE8ISO8859P1"
imp USERID=SYSTEM/SENHA@TESTE BUFFER=1048576 FILE=/oracle/backup/exportacao/exp_PIMS-AGR_20131129_1508hrs.dmp LOG=/oracle/backup/exportacao/imp_PIMS-AGR_20131129_1700hrs.log IGNORE=Y FROMUSER=PIMSPRD,PIMSCOL TOUSER=PIMSPRD,PIMSCOL;


-- ----------------------------------
-- 3- IMPORTAÇÃO PIMS AGRICOLA VARIOS 'DMP'
-- ----------------------------------

export NLS_LANG="AMERICAN_AMERICA.WE8ISO8859P1"
imp USERID=SYSTEM/SENHA@TESTE ignore=y statistics=none FILE=/backup-producao/29112013/dump/usina01.dmp, usina02.dmp, usina03.dmp, usina04.dmp, usina05.dmp, usina06.dmp, usina07.dmp, usina08.dmp, usina09.dmp, usina10.dmp, usina11.dmp, usina12.dmp, usina13.dmp, usina14.dmp, usina15.dmp, usina16.dmp, usina17.dmp, usina18.dmp, usina19.dmp, usina20.dmp, usina21.dmp, usina22.dmp, usina23.dmp, usina24.dmp, usina25.dmp, usina26.dmp, usina27.dmp, usina28.dmp, usina29.dmp LOG=/oracle/backup/exportacao/IMP_PIMSCS_20131129_1700.log FROMUSER=PIMSPRD,PIMSCOL TOUSER=PIMSPRD,PIMSCOL;

Após acabar o Import, dependendo da configuração do seu ambiente terá que setar a COLUNA, DE_ESQUEMA da Tabela PMUSUARIOS para o nome da instancia do banco TESTE

Exemplo,

SQL> update pimsprd.pmusuarios set de_esquema ='TESTE'
       where de_esquema ='USINA'


Pessoal, espero que tenha ficado claro o processo de atualização qualquer duvida ou opinião fiquem a vontade para entrar em contato.



Nenhum comentário:

Postar um comentário