- Este tópico contém 17 respostas, 7 vozes e foi atualizado pela última vez 16 anos, 5 meses atrás por
vieri.
-
AutorPosts
-
23 de setembro de 2009 às 8:27 pm #89866
jspaulonci
ParticipanteBoa tarde pessoal, estou vindo do banheiro onde eu estava escovando meus dentes e encontro o nosso administrador Unix / Storage, e ele me fez uma pergunta na qual eu não soube responder, gostaria da ajuda de vocês.
Ele me perguntou o seguinte:
Qual é a forma mais rápida e segura de pegarmos os dados que estão em RAW DEVICES (ASM) e levarmos para outro Storage ?O que vocês fariam ?
Abraços
Spaulonci23 de setembro de 2009 às 10:01 pm #89870vieri
ParticipanteRMAN ou ASMCMD.
A storage também possui mecanismos de rebuild.
Mas é vc quem devia perguntar isso a ele.
23 de setembro de 2009 às 10:03 pm #89871jspaulonci
ParticipanteVieri, mas como assim pelo ASMCMD ?
23 de setembro de 2009 às 11:08 pm #89873vieri
ParticipanteImagino que no asmcmd do 11G já tenha algum recurso para isso.
E se ele não tiver acredito que deve ter uma maneira de copiar com algu tipo de mapeamento entre row devices,
pois ele já possui o comando cp.No 10G acho que teria que usar a package dbms_file_transfer:
Copy Oracle’s Automatic Storage Management files with DBMS_FILE_TRANSFER
By Bob Watkins, TechRepublic | 2007/08/02 11:15:01Tags: 10g, asm, automatic, management, oracle, storage
Change the text size: a | A* Print this
* E-mail this
* Leave a comment
* Clip this
* del.icio.us Digg Reddit Slashdot StumbleUpon DZoneClose
Please login or sign up to clip this article.
E-mail
Password
Remember meLogin
Log in | Sign up | Why join Builder AU’s community? See the benefits.Please login or sign up to clip this article.
E-mail
Password
Remember me LoginOracle’s Automatic Storage Management (ASM), introduced in Oracle 10g, provides an alternative to raw disk devices for storing Oracle-related files.
Like raw disks, ASM volumes (called diskgroups) have no filesystem and cannot be browsed directly at the operating system level. This makes maintenance a challenge because you cannot use the normal commands to copy and delete files (cp and rm in UNIX, copy and del in Windows).You can use RMAN to back up and restore ASM files and, in 10gR2, you can use ASMCMD to view and manipulate the directory structure. The DBMS_FILE_TRANSFER package in Oracle 10g is yet another way to work with ASM.
DBMS_FILE_TRANSFER copies files on the same Oracle server or between two Oracle servers. It uses directory objects to specify the source and destination directories and, because directory objects support ASM pathnames, so does DBMS_FILE_TRANSFER. This makes it an easy way to move files to and from ASM storage from a regular filesystem.
DBMS_FILE_TRANSFER can copy any kind of file to and from regular filesystem storage, but it can only transfer Oracle files to and from ASM diskgroups. Datafiles, logfiles (including archivelogs), and controlfiles can be copied, but you can’t put a copy of your init.ora there (for example).
Suppose you use an ASM diskgroup to store archivelogs, and you need to extract some of the archivelogs to send to a Data Guard standby server. Listing A shows two CREATE DIRECTORY commands that define the archive directory on the ASM diskgroup (+DG1) on my server and a temporary directory (C:Temp) in a filesystem.
Listing A
SQL> col name format a50
SQL> SELECT sequence#, name
2 FROM v$archived_log
3 ORDER BY sequence#;SEQUENCE# NAME
———- ————————————————–
12 +DG1/orcl/arch/arc00012_0578762891.001
13 +DG1/orcl/arch/arc00013_0578762891.001
14 +DG1/orcl/arch/arc00014_0578762891.001SQL> CREATE DIRECTORY archdir AS ‘+DG1/orcl/arch’;
Directory created.
SQL> CREATE DIRECTORY tempdir AS ‘C:Temp’;
Directory created.
SQL>
Listing B shows the use of DBMS_FILE_TRANSFER’s COPY_FILE procedure to copy the logs.
Listing B
set serverout on
DECLARE
v_archivedir VARCHAR2(30) := ‘ARCHDIR’;
v_tempdir VARCHAR2(30) := ‘TEMPDIR’;v_asm_logname VARCHAR2(100);
v_win_logname VARCHAR2(100);v_first_log_seq NUMBER := 12;
v_last_log_seq NUMBER := 14;
v_log_seq VARCHAR2(5);CURSOR c_logs IS
SELECT name
FROM v$archived_log
WHERE sequence# BETWEEN v_first_log_seq AND v_last_log_seq
ORDER BY sequence#;BEGIN
FOR i IN c_logs LOOP
v_asm_logname := SUBSTR(i.name, 16);
v_log_seq := SUBSTR(v_asm_logname,4,5);
v_win_logname := ‘orcl_arc’||v_log_seq||’.log’;DBMS_FILE_TRANSFER.COPY_FILE(v_archivedir,
v_asm_logname,
v_tempdir,
v_win_logname);DBMS_OUTPUT.PUT_LINE(v_asm_logname||’ copied to ‘||
v_win_logname||’.’);END LOOP;
END;
/SQL> @copyasm_b
arc00012_0578762891.001 copied to orcl_arc00012.log.
arc00013_0578762891.001 copied to orcl_arc00013.log.
arc00014_0578762891.001 copied to orcl_arc00014.log.PL/SQL procedure successfully completed.
SQL>
A cursor loops through the log names, selected from the V$ARCHIVED_LOG dynamic performance view. The filename portion and sequence number are extracted via SUBSTR, and then a new filename is built. Finally, DBMS_FILE_TRANSFER is called to perform the copy.
You can also transfer to and from other servers using the GET_FILE and PUT_FILE procedures in the package.
23 de setembro de 2009 às 11:21 pm #89874vieri
ParticipantePara fazer ftp entre servidores ASM seria o método abaixo
utilizando Oracle XML Database (Oracle XML DB) feature.Acho que essa seria a resposta mais correta
para o administrador de redes…
heheheAcho que vale a pena estudar a dbms_file_transfer e o ftp via ORACLE XML DB . Eu mesmo não as conhecia… mas sabia que existia algo deste genêro….
Se alguem já tiver usado poste ai pra gente pois tem muito pouco material na internet sobre isso e é raro utilizar, mas pode ser muito útil
basta usar a criatividade..Segue o how to abaixo.
FTP and HTTP Access
Because ASM is not a regular file system, you can’t use the standard FTP and HTTP services to access these files. To access them, you can use the file mapping functionalities provided by the Oracle XML Database (Oracle XML DB) feature.
To set up the FTP access, you must first set up the Oracle XML DB access to the ASM folders. I can do this by executing the catxdbdbca.sql script, found in the $ORACLE_HOME/rdbms/admin directory. The script takes two parameters: the port numbers for the FTP and HTTP services, respectively.
@catxdbdbca 7777 8080
Now you can connect to the created Oracle XML DB FTP service using a database username and password:
ftp myserverhost 7777
ASM disk groups are available outside the database via a virtual file system: /sys/asm. From there, you can navigate ASM storgae. For example:
ftp> cd /sys/asm
ftp> ls
USERDG5
USERDG4
USERDG3
USERDG2
USERDG1
ftp> cd USERDG2
250 CWD Command successful
ftp> ls
emrep
DBA102
ftp> cd DBA102
ftp> ls
DATAFILE
system01.dbf
system01.dbf
sysaux01.dbf
undotbs01.dbf
users01.dbf
CONTROLFILE
control01.ctl
…
You can then switch to binary mode and download any datafile:
ftp> bin
ftp> get users01.db
For HTTP access, open the browser on the following URL:
The browser connects to Oracle XML DB via HTTP. Click on the hyperlink sys and then asm; you will then see all the disk groups from where you can download any datafile.
26 de setembro de 2009 às 12:03 am #89918Rodrigo Almeida
ParticipanteEU UTILIZARIA O RMAN!
É uma forma simples, segura e prática.
Abraços,
26 de setembro de 2009 às 12:21 am #89924Marcio68Almeida
ParticipanteA maioria das storages, pelo que eu sei, possui um aplicativo de replicação de dados que é, certamente a forma mais eficiente de transferir um pacote muito grande de dados.
Concordo com o Vieri, quem teria que responder este tipo de informação seria o pessoal de infra.27 de setembro de 2009 às 6:58 am #89933CleitonHanzen
ParticipanteOpá…..
Apesar de existir ferramentas em nível de hardware que podem fazer este trabalho, eu utilizaria o RMAN pois vc estaria utilizando o próprio software Oracle para “validar” os dados no storage novo (Fazer restore e conseguir abrir o banco, vc tem certeza que está tudo íntegro). Esse negócio de replicação via storage não sei não, já ouvi algumas pessoas reclamando q o “buraco é mais embaixo” e q não funciona como os fornecedores prometem.
28 de setembro de 2009 às 3:58 pm #89936paleo
ParticipanteA maneira mais simples e rapida e uma replicação via storage. Num clariion , voce colocaria dois storages na mesma rede SAN , com as mesmas LUNS existentes em um , no outro e utilizqaria o flashcopy.
Pela SAN voce copia 2Gb / segundo de dados. Ou voce monta o segundo storage como BCV , faz o BCV incremental , e quando os discos apresentarem sincronização total , voce faz split dos mesmos e disponibiliza em outro host.
Normalmente para grande volume de dados (acima dos 500Gb) este é o metodo utilizado.
28 de setembro de 2009 às 4:17 pm #89937jspaulonci
ParticipanteBom dia Paleo, como seria os procedimentos na camada de banco e faço a cópia dos dados ?
abraços
Spaulonci
28 de setembro de 2009 às 4:29 pm #89940paleo
ParticipanteVou detalhar somente o BCV.
Neste caso , o pessoal de storage faz um mapa entre os storages , indicando para cada LUN existente no storage de produção , uma LUN montanda como BCV , de mesmo tipo e tamanho , no storage BCV. Apos inicia-se um processo chamado syncronazy , que vai sincronizar todos as LUNS. Via SAN , voce vai verificando esta sincronização , e quando a mesma ternima , voe coloca o banco de dados em begin backup , e faz o split. Apos o split voce retorna o banco para end backup.O split quebra a sincronização. Apos esta quebra , voce tem o storage montado como BCV , uma replica do banco existente.
Disponibilizando estas luns num host qualquer , voce abre o banco normalmente.
O processo de sincronização , para 4T , num highend , EMC 3000 , para outro EMC3000 , leva normalmente 2 dias. Veja que enquanto sicronização , não é necessario fazer nada no banco origem. Inclusive o mesmo pode ser shutado e startado quantas vezes forem necessario , pois a sincronização é de disco.
O Flashcopy da EMC funciona quase igual ao BCV
28 de setembro de 2009 às 7:06 pm #89946David Siqueira
ParticipanteFico com o RMAN!!!
28 de setembro de 2009 às 10:39 pm #89963Rodrigo Almeida
ParticipanteOlá,
Realmente a replica por software de storage pode ganhar tempo na movimentação de grandes volumes de dados, no caso o BCV (mirror) ou até mesmo nos novos storages estão usando o SnapShot de bloco de dados.
Como se fosse uma garantia para backup, copia um bloco de dados de um host e aplica no outro host. EMC que faz isso com os novos storages EVA.
O maior problema que pode ocorrer entre essas replicas de a nível de storage é justamente a MALDITA sincronização. N configurações podem afetar esse desempenho, desde a configuração do PowerPath (Exemplo) até as configurações de LUNs/HBAs/Switches e etc.
Isso para o storage e SO, é coisa “fácil” de fazer. O problema é para o banco ficar 100% íntegro! Mas
Mas está explanada as possíveis soluções.
Abraços,
28 de setembro de 2009 às 11:49 pm #89968paleo
ParticipanteIsso nois garante dilon
28 de setembro de 2009 às 11:56 pm #89969Rodrigo Almeida
ParticipanteIsso é verdade Paulão… garantia na unha!!! hehehehehe…
LAGARTO! (DW)
SAP!
Aff… nem me lembra… heheheh..
Ainda mais quando puxaram os cabos da HBA da Lagarto… heheheheheh…
Abraços,
-
AutorPosts
- Você deve fazer login para responder a este tópico.