Pular para o conteúdo
Visualizando 15 posts - 1 até 15 (de 18 do total)
  • Autor
    Posts
  • #89866
    jspaulonci
    Participante

      Boa 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
      Spaulonci

      #89870
      vieri
      Participante

        RMAN ou ASMCMD.

        A storage também possui mecanismos de rebuild.

        Mas é vc quem devia perguntar isso a ele.

        #89871
        jspaulonci
        Participante

          Vieri, mas como assim pelo ASMCMD ?

          #89873
          vieri
          Participante

            Imagino 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:01

            Tags: 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 DZone

            Close

            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 Login

            Oracle’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.001

            SQL> 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.

            #89874
            vieri
            Participante

              Para 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…
              hehehe

              Acho 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:

              http://myserverhost:8080

              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.

              #89918
              Rodrigo Almeida
              Participante

                EU UTILIZARIA O RMAN!

                É uma forma simples, segura e prática.

                Abraços,

                #89924
                Marcio68Almeida
                Participante

                  A 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.

                  #89933
                  CleitonHanzen
                  Participante

                    Opá…..

                    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.

                    #89936
                    paleo
                    Participante

                      A 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.

                      #89937
                      jspaulonci
                      Participante

                        Bom dia Paleo, como seria os procedimentos na camada de banco e faço a cópia dos dados ?

                        abraços

                        Spaulonci

                        #89940
                        paleo
                        Participante

                          Vou 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

                          #89946
                          David Siqueira
                          Participante

                            Fico com o RMAN!!!

                            #89963
                            Rodrigo Almeida
                            Participante

                              Olá,

                              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,

                              #89968
                              paleo
                              Participante

                                Isso nois garante dilon

                                #89969
                                Rodrigo Almeida
                                Participante

                                  Isso é 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,

                                Visualizando 15 posts - 1 até 15 (de 18 do total)
                                • Você deve fazer login para responder a este tópico.