tag:blogger.com,1999:blog-57277383295487356762024-03-04T23:05:32.374-08:00OraMDQNotas de interes de mi experiencia usando bases de datos OraclePablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.comBlogger86125tag:blogger.com,1999:blog-5727738329548735676.post-64028607433553007262016-02-11T09:46:00.000-08:002016-02-11T09:46:01.858-08:00Tratamiento del evento enq: TM - contention (por Alejandro Aguirrez)<h2>
<span lang="ES">Introducción<o:p></o:p></span></h2>
<div class="MsoNormal">
<span lang="ES">El evento "enq:
TM - contention" es un tipo de contención provocada indirectamente
mediante constraint asociadas a las tablas a las cuales se desea
modificar/agregar/borrar datos. Esta tipo de contención se produce cuando entre
dos tablas TA y TB existe una FK que las asocia
y en ellas se ejecuta una dml en el mismo periodo de tiempo basicamente.<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES">Para minimizar
esta espera las columnas de las FK se recomienda que esten indexadas (Es una
buena practica). En el siguiente ejemplo proporcionado por METALINK se denotara
el comportamiento con y sin indices de sentencias del tipo DML y como funciona
el mecanismo de lockeo para mantener la integridad de los datos.<o:p></o:p></span></div>
<h2>
<span lang="EN-US">Marco Teórico de Lock:<o:p></o:p></span></h2>
<div class="MsoNormal">
<span lang="EN-US">- RS = Row Share wait - also known as
sub-share table lock (SS)<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US">- RX = Row Exclusive wait - also known as
sub-exclusive table lock (SX)<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US">- S = Share mode wait.<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US">- SRX = Share Row Exclusive wait - also
known as share-subexclusive table lock (SSX)<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES">- X = eXclusive
mode wait<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES">Ejemplo<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES">1 - Genero las
dos tablas en el esquema SCOTT<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">CREATE TABLE
DEPT<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;"> (<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;"> deptno NUMBER CONSTRAINT pk_dept PRIMARY
KEY,<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;"> dname
VARCHAR2(10)<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;"> );<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">CREATE TABLE
EMP<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;"> (<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;"> deptno NUMBER(2) CONSTRAINT fk_deptno
REFERENCES dept(deptno),<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;"> </span><span lang="ES" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%; mso-ansi-language: ES;">ename VARCHAR2(20)<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="ES" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%; mso-ansi-language: ES;"> );<o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES">Generamos un
Foreing Key en la tabla EMP que apunta a la tabla DEPT <o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div class="MsoNormal">
<span lang="EN-US">EMP=Child Table (object_id= 13035)<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US">DEPT=Parent Table (object_id= 13033)<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES">2 - Sin Indices
en la columma de la FK<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div class="MsoNormal">
<span lang="EN-US">a) DML sobre la Child Table (EMP):<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 0cm;">
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 0cm; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;">SQL> INSERT INTO DEPT VALUES (1, 'COSTCENTER');<o:p></o:p></span></pre>
<div class="MsoNormal" style="border: none; margin-bottom: 0.0001pt; padding: 0cm;">
<span lang="EN-US" style="font-family: 'Courier New'; font-size: 6pt;">SQL>
COMMIT; <o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: 0.0001pt; padding: 0cm;">
<span lang="EN-US" style="font-family: 'Courier New'; font-size: 6pt;">SQL>
INSERT INTO EMP VALUES (1, 'SCOTT'); <o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: 0.0001pt; padding: 0cm;">
<span lang="EN-US" style="font-family: 'Courier New'; font-size: 6pt;">SQL>
SELECT sid, type, id1,
id2,<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: 0.0001pt; padding: 0cm;">
<span lang="EN-US" style="font-family: 'Courier New'; font-size: 6pt;"> lmode,
request, block<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: 0.0001pt; padding: 0cm;">
<span lang="EN-US" style="font-family: 'Courier New'; font-size: 6pt;">FROM
v$lock<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: 0.0001pt; padding: 0cm;">
<span lang="EN-US" style="font-family: 'Courier New'; font-size: 6pt;">WHERE sid
IN<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: 0.0001pt; padding: 0cm;">
<span lang="EN-US" style="font-family: 'Courier New'; font-size: 6pt;"> (SELECT sid FROM v$session WHERE audsid =
userenv('SESSIONID')<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: 0.0001pt; padding: 0cm;">
<span lang="EN-US" style="font-family: 'Courier New'; font-size: 6pt;"> );<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: 0.0001pt; padding: 0cm;">
<br /></div>
<div class="MsoNormal" style="border: none; margin-bottom: 0.0001pt; padding: 0cm;">
<span lang="EN-US" style="font-family: 'Courier New'; font-size: 6pt;">SID TY ID1 ID2 LMODE REQUEST
BLOCK <o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: 0.0001pt; padding: 0cm;">
<span lang="ES" style="font-family: 'Courier New'; font-size: 6pt;">----------
-- ---------- ---------- ---------- ---------- ---------- <o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: 0.0001pt; padding: 0cm;">
<span lang="ES" style="font-family: 'Courier New'; font-size: 6pt;"> 15 TX 589839
56552 6 0 0<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: 0.0001pt; padding: 0cm;">
<span lang="ES" style="font-family: 'Courier New'; font-size: 6pt;"> 15 TM 13035 0 3
0 0<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: 0.0001pt; padding: 0cm;">
<span lang="ES" style="font-family: 'Courier New'; font-size: 6pt;"> 15 TM 13033 0 3 0 0<o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES">Un lockeo del
tipo "row exclusive" (LMODE=3) es necesario en ambas tablas.<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US">b) DML sobre la Parent Table (DEPT):<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;">SQL> update dept set deptno = 1; <<o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;">SQL> SELECT SID,TYPE,ID1,ID2,LMODE,REQUEST,BLOCK FROM v$LOCK <o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;">where sid in (select sid from v$session where audsid = userenv('SESSIONID')); <o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;">SID TY ID1 ID2 LMODE REQUEST BLOCK<o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="ES" style="font-size: 6pt;">---------- -- ---------- ---------- ---------- ---------- ----------<o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="ES" style="font-size: 6pt;"> 15 TX 589839 56552 6 0 0<o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="ES" style="font-size: 6pt;"> 15 TM 13033 0 3 0 0<o:p></o:p></span></pre>
</div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES">Un lockeo
"Row Exclusive" (LMODE=3) es necesario en la parent table solamente.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="ES">3 - Con Indices en la columma de la FK en la
Child Table<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;">SQL> create index ind_emp on emp (deptno, ename); <o:p></o:p></span></pre>
</div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div class="MsoNormal">
<span lang="EN-US">a) DML sobre la Child Table (EMP):<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;">SQL> insert into DEPT values (1, 'COSTCENTER'); <o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;">SQL> commit; <o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;">SQL> insert into EMP values (1, 'SCOTT'); <o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;"> </span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;">SQL> SELECT SID,TYPE,ID1,ID2,LMODE,REQUEST,BLOCK FROM v$LOCK<o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;">where sid in (select sid from v$session where audsid = userenv('SESSIONID'));<o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;"> </span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;"> SID TY ID1 ID2 LMODE REQUEST BLOCK <o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="ES" style="font-size: 6pt;">---------- -- ---------- ---------- ---------- ---------- ---------- <o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="ES" style="font-size: 6pt;"> 15 TX 393232 54853 6 0 0 <o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="ES" style="font-size: 6pt;"> 15 TM 13035 0 3 0 0<o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="ES" style="font-size: 6pt;"> 15 TM 13033 0 2 0 0<o:p></o:p></span></pre>
</div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES">Un lockeo del
tipo "row share"(LMODE=2) es requerido en la parent table mientras
que un lockeo "row exclusive" (LMODE=3)es necesario en la Child Table.<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US">b) DML sobre la Parent Table (DEPT):<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;">SQL> update DEPT set deptno = 1; <o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;"> </span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;">1 row updated. <o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;"> </span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;">SQL> SELECT SID,TYPE,ID1,ID2,LMODE,REQUEST,BLOCK FROM v$LOCK<o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;">where sid in (select sid from v$session where audsid = userenv('SESSIONID'));<o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;"> </span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="EN-US" style="font-size: 6pt;">SID TY ID1 ID2 LMODE REQUEST BLOCK<o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="ES" style="font-size: 6pt;">---------- -- ---------- ---------- ---------- ---------- ----------<o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="ES" style="font-size: 6pt;"> 15 TX 589839 56552 6 0 0 <o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="ES" style="font-size: 6pt;"> 15 TM 13035 0 2 0 0 <o:p></o:p></span></pre>
<pre style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;"><span lang="ES" style="font-size: 6pt;"> 15 TM 13033 0 3 0 0<o:p></o:p></span></pre>
</div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES">Un lockeo
"Row Exclusive" (LMODE=3) es necesario en la parent table mientras
que en la child tables es necesario un lockeo del tipo "row shared".<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="ES">Como se observa
el mecanismo de lockeo es mas laxo con indices .<o:p></o:p></span></div>
<h2>
<span lang="ES">Conclusiones/Observaciones<o:p></o:p></span></h2>
<div class="MsoNormal">
<span lang="ES">Ahora bien la teoría
y las buenas prácticas no siempre son aplicables segun cada negacio. Por
ejemplo en alguna aplicaciones donde me toco trabajar crear los indices en
todas las FK implicaba hacer crecer el storage de la base un 150% y con esto
caeriamos en lo que llamamos "SobreIndexacion". </span>Entonces debemos
o no aplicar esta recomendación (las columnas de la FK deben estar
indexadas)? Si ,pero siempre y cuando
sea viable.</div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES">En las tablas
Core de consultas y donde se ralizan DML online (sentencias cortas y con muchas
ejecuciones por hora) se debe cumplir con la recomendación de Oracle de generar los
indices sobre las FK. Por que pensemos el caso de validación de la
constraint en un insert sobre la tabla
child debe bloquear la tabla PARENT y si
la tabla PARENT esta siendo actualizada en el campo a validar tenemos que esperar
que esta ultima haga commit/rollback para poder continuar por que necesita
mantener la integridad configurada por la FK . Imaginemos esto en un ambiente
donde se empiecen a encolar rapidamente las sentencias mas atomicas (10ms >
Tiempos de ejecucion >1 ms y mas de 300 mil ejecuciones por hora ) esto
provocaria un encolamiento acumulativo que provocara una degradacion de la
aplicacion<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES">Bueno habiendo
dado esta contextualizacion de la nota les comparto script que modifique para chequear los
posibles lockeos por enq:TM - Contention.<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div class="MsoNormal">
<span lang="EN-US">script<o:p></o:p></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 1.0pt 1.0pt 1.0pt;">
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">SET ECHO off
<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM NAME:
TFSFKCHLK.SQL <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM
USAGE:"@path/tfsfkchk" <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM
-------------------------------------------------------------------------- <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM
REQUIREMENTS: <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM None --
checks only the USER_ views <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM
-------------------------------------------------------------------------- <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM This
file checks the current users Foreign Keys to make sure of the <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM
following: <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM 1) All
the FK columns are have indexes to prevent a possible locking <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM problem
that can slow down the database. <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM 2)
Checks the ORDER OF THE INDEXED COLUMNS. To prevent the locking <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM problem
the columns MUST be index in the same order as the FK is <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM defined.
<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM 3) If
the script finds and miss match the script reports the correct <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM order of
columns that need to be added to prevent the locking <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM problem.
<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM
------------------------------------------------------------------------- <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">REM Main
text of script follows: <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">drop table
ck_log; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">create table
ck_log ( <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">LineNum
number, <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">LineMsg
varchar2(2000)); <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">declare <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">t_CONSTRAINT_TYPE
user_constraints.CONSTRAINT_TYPE%type; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">t_CONSTRAINT_NAME
USER_CONSTRAINTS.CONSTRAINT_NAME%type; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">t_TABLE_NAME
USER_CONSTRAINTS.TABLE_NAME%type; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">t_R_CONSTRAINT_NAME
USER_CONSTRAINTS.R_CONSTRAINT_NAME%type; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tt_CONSTRAINT_NAME
USER_CONS_COLUMNS.CONSTRAINT_NAME%type; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tt_TABLE_NAME
USER_CONS_COLUMNS.TABLE_NAME%type; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tt_COLUMN_NAME
USER_CONS_COLUMNS.COLUMN_NAME%type; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tt_POSITION
USER_CONS_COLUMNS.POSITION%type; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tt_Dummy
number; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tt_dummyChar
varchar2(2000); <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">l_Cons_Found_Flag
VarChar2(1); <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">Err_TABLE_NAME
USER_CONSTRAINTS.TABLE_NAME%type; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">Err_COLUMN_NAME
USER_CONS_COLUMNS.COLUMN_NAME%type; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">Err_POSITION
USER_CONS_COLUMNS.POSITION%type; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tLineNum
number; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">cursor UserTabs
is <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">select
table_name <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">from
dba_tables where owner='SCOTT' <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">--and
table_name not in
('ADEADMS','ADEAMX_DEFINITION','ASIGNA_PERSONERIA_TIPO')<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">order by
table_name; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">cursor
TableCons is <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">select
CONSTRAINT_TYPE, <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">CONSTRAINT_NAME,
<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">R_CONSTRAINT_NAME
<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">from
dba_constraints <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">where OWNER
= 'SCOTT' <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">and
table_name = t_Table_Name <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">and
CONSTRAINT_TYPE = 'R' <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">order by
TABLE_NAME, CONSTRAINT_NAME; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">cursor
ConColumns is <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">select
CONSTRAINT_NAME, <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">TABLE_NAME, <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">COLUMN_NAME,
<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">POSITION <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">from
dba_cons_columns <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">where OWNER
= 'SCOTT' <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">and
CONSTRAINT_NAME = t_CONSTRAINT_NAME <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">order by
POSITION; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">cursor
IndexColumns is <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">select
TABLE_NAME, <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">COLUMN_NAME,
<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">POSITION <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">from
dba_cons_columns <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">where OWNER
= 'SCOTT' <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">and
CONSTRAINT_NAME = t_CONSTRAINT_NAME <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">order by
POSITION; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">DebugLevel
number := 99; -- >>> 99 = dump all info` <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">DebugFlag
varchar(1) := 'N'; -- Turn Debugging on <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">t_Error_Found
varchar(1); <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">begin <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tLineNum :=
1000; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">open
UserTabs; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">LOOP <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">Fetch
UserTabs into t_TABLE_NAME; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">t_Error_Found
:= 'N'; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">exit when
UserTabs%NOTFOUND; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">-- Log
current table <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tLineNum :=
tLineNum + 1; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">insert into
ck_log ( LineNum, LineMsg ) values <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">( tLineNum,
NULL ); <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tLineNum :=
tLineNum + 1; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">insert into
ck_log ( LineNum, LineMsg ) values <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">( tLineNum,
'Checking Table '||t_Table_Name); <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">l_Cons_Found_Flag
:= 'N'; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">open
TableCons; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">LOOP <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">FETCH
TableCons INTO t_CONSTRAINT_TYPE, <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">t_CONSTRAINT_NAME,
<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">t_R_CONSTRAINT_NAME;
<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">exit when
TableCons%NOTFOUND; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">if (
DebugFlag = 'Y' and DebugLevel >= 99 ) <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">then <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">begin <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tLineNum :=
tLineNum + 1; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">insert into
ck_log ( LineNum, LineMsg ) values <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">( tLineNum,
'Found CONSTRAINT_NAME = '|| t_CONSTRAINT_NAME); <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tLineNum :=
tLineNum + 1; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">insert into
ck_log ( LineNum, LineMsg ) values <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">( tLineNum,
'Found CONSTRAINT_TYPE = '|| t_CONSTRAINT_TYPE); <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tLineNum := tLineNum
+ 1; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">insert into
ck_log ( LineNum, LineMsg ) values <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">( tLineNum,
'Found R_CONSTRAINT_NAME = '|| t_R_CONSTRAINT_NAME); <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">commit; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">end; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">end if; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">open
ConColumns; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">LOOP <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">FETCH
ConColumns INTO <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tt_CONSTRAINT_NAME,
<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tt_TABLE_NAME,
<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tt_COLUMN_NAME,
<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tt_POSITION;
<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">exit when
ConColumns%NOTFOUND; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">if (
DebugFlag = 'Y' and DebugLevel >= 99 ) <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">then <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">begin <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tLineNum :=
tLineNum + 1; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">insert into
ck_log ( LineNum, LineMsg ) values <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">( tLineNum,
NULL ); <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tLineNum :=
tLineNum + 1; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">insert into
ck_log ( LineNum, LineMsg ) values <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">( tLineNum,
'Found CONSTRAINT_NAME = '|| tt_CONSTRAINT_NAME); <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tLineNum :=
tLineNum + 1; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">insert into
ck_log ( LineNum, LineMsg ) values <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">( tLineNum,
'Found TABLE_NAME = '|| tt_TABLE_NAME); <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tLineNum :=
tLineNum + 1; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">insert into ck_log
( LineNum, LineMsg ) values <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">( tLineNum,
'Found COLUMN_NAME = '|| tt_COLUMN_NAME); <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tLineNum :=
tLineNum + 1; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">insert into
ck_log ( LineNum, LineMsg ) values <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">( tLineNum,
'Found POSITION = '|| tt_POSITION); <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">commit; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">end; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">end if; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">begin <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">select 1
into tt_Dummy <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">from
dba_ind_columns <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">where
TABLE_NAME = tt_TABLE_NAME <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">and
COLUMN_NAME = tt_COLUMN_NAME <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">and
COLUMN_POSITION = tt_POSITION and table_owner='SCOTT'; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">if (
DebugFlag = 'Y' and DebugLevel >= 99 ) <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">then <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">begin <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tLineNum :=
tLineNum + 1; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">insert into
ck_log ( LineNum, LineMsg ) values <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">( tLineNum,
'Row Has matching Index' ); <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">end; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">end if; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">exception <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">when
Too_Many_Rows then <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">if (
DebugFlag = 'Y' and DebugLevel >= 99 ) <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">then <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">begin <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tLineNum :=
tLineNum + 1; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">insert into
ck_log ( LineNum, LineMsg ) values <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">( tLineNum,
'Row Has matching Index' ); <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">end; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">end if; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">when
no_data_found then <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">if (
DebugFlag = 'Y' and DebugLevel >= 99 ) <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">then <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">begin <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tLineNum :=
tLineNum + 1; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">insert into
ck_log ( LineNum, LineMsg ) values <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">( tLineNum,
'NO MATCH FOUND' ); <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">commit; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">end; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">end if; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">t_Error_Found
:= 'Y'; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">select
distinct TABLE_NAME <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">into
tt_dummyChar <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">from
dba_cons_columns <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">where OWNER
= 'SCOTT' <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">and
CONSTRAINT_NAME = t_R_CONSTRAINT_NAME; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tLineNum :=
tLineNum + 1;<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">insert into
ck_log ( LineNum, LineMsg ) values<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">( tLineNum,
'Changing data in table '||tt_dummyChar<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">||' will
lock table ' ||tt_TABLE_NAME);<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">commit; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tLineNum :=
tLineNum + 1; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">insert into
ck_log ( LineNum, LineMsg ) values<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">(
tLineNum,'Create an index on table '||tt_TABLE_NAME<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">||' with the
following columns to remove lock problem');<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">open
IndexColumns ; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">loop <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">Fetch
IndexColumns into Err_TABLE_NAME, <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">Err_COLUMN_NAME,
<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">Err_POSITION;
<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">exit when
IndexColumns%NotFound; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tLineNum :=
tLineNum + 1; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">insert into
ck_log ( LineNum, LineMsg ) values <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">(
tLineNum,'Column = '||Err_COLUMN_NAME||' ('||Err_POSITION||')'); <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">end loop; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">close
IndexColumns; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">end; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">end loop; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">commit; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">close
ConColumns; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">end loop; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">if (
t_Error_Found = 'N' ) <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">then <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">begin <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">tLineNum :=
tLineNum + 1; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">insert into
ck_log ( LineNum, LineMsg ) values <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">(
tLineNum,'No foreign key errors found'); <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">end; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">end if; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">commit; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">close
TableCons; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="ES" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%; mso-ansi-language: ES;">end loop; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="ES" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%; mso-ansi-language: ES;">commit; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="ES" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%; mso-ansi-language: ES;">end; <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="ES" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%; mso-ansi-language: ES;">/<o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES">Se debe
reemplazar el esquema 'SCOTT' por el que se quiera analizar<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES">La salida del
mismo puede chequearse con la siguiente sentencia<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">select
linenum,LineMsg<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">from ck_log<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">where
LineMsg NOT LIKE 'Checking%' AND<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">LineMsg NOT
LIKE 'No foreign key%'<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="ES" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%; mso-ansi-language: ES;">order by LineNum</span><span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;"><o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="ES">Para relevar cual
es el objeto con mayores esperas por enq:TM - Contention ejecutar lo siguiente.<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">select nvl(event,'ON
CPU'),sql_id,object_name,object_type, count(*)
total_wait_time,round((count(*))/(sum(count(*)) over() ) *100,2)
pct,sql_plan_hash_value<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">from
DBA_HIST_active_sess_history a,dba_objects o<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">where
a.sample_time >= to_date('01/01/2015 07:30','DD/MM/YYYY HH24:MI')<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">and
a.sample_time >= to_date('25/01/2016 18:30','DD/MM/YYYY HH24:MI') <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">and event
like 'enq:%TM%'<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">and
o.object_id=a.current_obj#<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">group by
event,sql_id,sql_plan_hash_value,object_name,object_type<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 6.0pt; line-height: 115%;">order by
total_wait_time desc;<o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="ES">En base a la
salida de la consulta anterior podemos tener el objeto que mas contencion del
tipo TM esta generando para luego buscarlo en la salida del script (recomiendo
tener la salida del script en un excel para facilitar la busqueda).<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="ES">Espero que la
nota les haya sido de utilidad .<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<br />
<div class="MsoNormal">
<br /></div>
Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com0tag:blogger.com,1999:blog-5727738329548735676.post-5239712577045726092015-11-17T06:25:00.002-08:002015-11-17T06:25:46.219-08:00SIMULAR ACTIVE SESSION HISTORY- SASH - para Oracle Standard Edition (por Alejandro Aguirrez)<br />
<div class="MsoNormal">
<span lang="ES">Durante mis a</span><span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;">ños como
trabajando como dba ORACLE en muchas oportunidades he necesitado indicadores y métricas con mayor granularidad
que los snapshops cada 1 hora o , en ambientes mas críticos, cada 30 minutos para poder diagnosticar y
aislar un problema . Oracle presento una solución con la
aparicion de ASH (Active Session History ) a partir de la versión 10g en
adelante. Desafortunadamente ASH solo está disponible en las versión Enterprise
(EE) y con el Diagnostic Pack
licenciado. Es decir que en versiones "Standard Edition" (SE)y
"Standard One" (SO) si bien la vista existe los datos no son colectados.<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;"><br /></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;">Como todos sabemos el costo de las licencias para EE muy
superior al de SE y SO. Por esta razon muchas empresas optan por las verisones
Standard que se ajusten a las prestaciones que necesita. Sin embargo como
sabemos a nivel diagnostico y Performance deja a los dba sin AWR ni ASH . <o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;"><br /></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;">Buscando llegue un blog Kyle Hailey donde presentaba SASH
(Simulated ASH). Esta herramienta simulaba el collect de ASH mediante jobs y
emulaba un catalogo de ASH. La idea me pareció excelente asi que empece a
realizarle mejoras para poder (desde el
2010 que no se actualizaba el blog) ya que como toda version inicial tenía
varios bugs. <o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;">Ahora con la version 2.1 considero que esta lo suficiente
madura para poder compartirla e ir mejorandola con las experiencias de los que
la utilicen. <o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;"><br /></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;"><br /></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;"><b><u>Prerequisitos</u></b><o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;"><br /></span></div>
<div class="MsoNormal">
</div>
<ol>
<li><span style="font-family: Arial, sans-serif;">Versión de base
de datos 10.2 en adelante (versiones anteriores a esta no fue probado por ende
no estaría homologado pero no quiere decir que no funcione)</span></li>
<li><span style="font-family: Arial, sans-serif;">Tablespace Temporal TEMP . En caso de necesitar usar
otro tablespace temporal</span><span style="font-family: Arial, sans-serif;"> </span><span style="font-family: Arial, sans-serif;">se debe
modificar el script repo_0_user.sql con el nombre del tablespace temporal
desado.</span></li>
<li><span style="font-family: Arial, sans-serif;">Tablespace de Datos dedicado para el repositorio de
SASH.</span></li>
<li><span style="font-family: Arial, sans-serif;">Acceso como SYS a la base de datos.</span></li>
</ol>
<div>
<span style="font-family: Arial, sans-serif;"><br /></span></div>
<span style="font-family: Arial, sans-serif;"><b><u>Caracteristicas</u></b></span><br /><div>
<span style="font-family: Arial, sans-serif;"><br /></span></div>
<ol>
<li><span style="font-family: Arial, sans-serif;">Muestras en tiempo real con un intervalo configurable (
En mis pruebas la configuración ideal es cada 5 segundos ).</span></li>
<li><span style="font-family: Arial, sans-serif;">Los datos se visualizan el vista
SASH.V$ACTIVE_SESSION_HISTORY</span></li>
<li><span style="font-family: Arial, sans-serif;">Los planes de ejecución se pueden visualizar en la
tabla SASH.SASH_SQLPLANS</span></li>
</ol>
<br />
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;"><u><b>Instalación</b></u><o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;"><br /></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;">Los pasos están en el archivo Manual_SASH.<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;"><br /></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;">Sentencias Básicas para utilizar la herramienta:<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;"><br /></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;">1 - Sentencias más consumidoras en un intervalo de tiempo
<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;"><br /></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<div class="MsoNormalCxSpMiddle" style="border: none; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-margin-bottom-alt: auto; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">select sql_id as hash_value,sqlid,SQL_PLAN_HASH_VALUE,COUNT(*)*2
AS total_wait_time, round((count(*)*2)/(sum(count(*)*2) over() ) *100,2) pct <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-margin-bottom-alt: auto; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">from sash.V$active_session_history a<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-margin-bottom-alt: auto; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">where a.sample_time >= to_date('03/02/2015
12:30','DD/MM/YYYY HH24:MI')<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-margin-bottom-alt: auto; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">and a.sample_time <= to_date('03/02/2015
15:30','DD/MM/YYYY HH24:MI')<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">and
sql_id!=0<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-margin-bottom-alt: auto; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">group by a.sql_id ,a.sqlid,a.SQL_PLAN_HASH_VALUE<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-margin-bottom-alt: auto; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">order by total_wait_time desc;<o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;"><br /></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;"><br /></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;">2 - Sentencias mas consumidoras en un intervalo de tiempo
con sus evento asociado<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;"><br /></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">select
NVL(a.event, 'ON CPU') AS event,sql_id hash_value,sqlid,SQL_PLAN_HASH_VALUE,<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">COUNT(*)*2
AS total_wait_time, round((count(*)*2)/(sum(count(*)*2) over() ) *100,2) pct <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">from
sash.V$active_session_history a<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">where
a.sample_time >= to_date('03/02/2015 12:30','DD/MM/YYYY HH24:MI')<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">and
a.sample_time <= to_date('03/02/2015 15:30','DD/MM/YYYY HH24:MI')<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">and
sql_id!=0<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">group
by a.event,a.sql_id ,a.sqlid,a.SQL_PLAN_HASH_VALUE<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">order by
total_wait_time desc;<o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;"><br /></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;">3 - Eventos en un intervalo de tiempo<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;"><br /></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">select NVL(a.event, 'ON CPU') AS event<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">COUNT(*)*2
AS total_wait_time, round((count(*)*2)/(sum(count(*)*2) over() ) *100,2) pct <o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">from
sash.V$active_session_history a<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">where
a.sample_time >= to_date('03/02/2015 12:30','DD/MM/YYYY HH24:MI')<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">and
a.sample_time <= to_date('03/02/2015 15:30','DD/MM/YYYY HH24:MI')<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">group
by a.event<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">order
by total_wait_time desc;<o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<span lang="EN-US" style="font-family: "Arial",sans-serif;"><br /></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="EN-US" style="font-family: "Arial",sans-serif;">4 -
obtener planes de ejecución<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US" style="font-family: "Arial",sans-serif;"><br /></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 1.0pt 1.0pt 1.0pt;">
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">SELECT '| Operation | PHV/Object Name | Rows |
Bytes| Cost |'<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">as "Optimizer Plan:"<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">FROM dual<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">UNION ALL<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">SELECT * FROM (SELECT<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">rpad('|'||substr(lpad(' ',1*(depth-1))||operation||<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">--rpad('|'||substr(lpad(' ',1)||operation||<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">decode(options, null,'',' '||options), 1, 32), 33,
' ')||'|'||<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">rpad(decode(id, 0, '----- '||to_char(hash_value)||'
[' ||']-----'<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">, substr(decode(substr(object_name, 1, 7),
'SYS_LE_', null,<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">object_name)<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">||' ',1, 20)), 21, ' ')||'|'||<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">lpad(decode(cardinality,null,' ',<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">decode(sign(cardinality-1000), -1, cardinality||'
',<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">decode(sign(cardinality-1000000), -1,
trunc(cardinality/1000)||'K',<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">decode(sign(cardinality-1000000000), -1,
trunc(cardinality/1000000)||'M',<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">trunc(cardinality/1000000000)||'G')))), 7, ' ') ||
'|' ||<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">lpad(decode(bytes,null,' ',<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">decode(sign(bytes-1024), -1, bytes||' ',<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">decode(sign(bytes-1048576), -1,
trunc(bytes/1024)||'K',<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">decode(sign(bytes-1073741824), -1,
trunc(bytes/1048576)||'M',<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">trunc(bytes/1073741824)||'G')))), 6, ' ') || '|' ||<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">lpad(decode(cost,null,' ',<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">decode(sign(cost-10000000), -1, cost||' ',<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">decode(sign(cost-1000000000), -1,
trunc(cost/1000000)||'M',<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">trunc(cost/1000000000)||'G'))), 8, ' ') || '|' as
"Explain plan"<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">FROM sash.SASH_SQLPLANS<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">WHERE
hash_value =PLAN_HASH_VALUE<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="border: none; margin-bottom: 6.0pt; mso-add-space: auto; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 1.0pt 1.0pt 1.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">ORDER BY hash_value,id);<o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<span lang="EN-US" style="font-family: "Arial",sans-serif;"><br /></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;">5 - Obtener el texto de una sentencia (en RAC puede
aparecer dos veces)<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;"><br /></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<div class="MsoNormalCxSpMiddle" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial Narrow",sans-serif; mso-bidi-font-family: Arial;">select
* from SASH.SASH_SQLTXT where sql_id=HASH_VALUE_SENTENCIA order by
ADDRESS,PIECE;<o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<br />
<div class="MsoNormal">
<span lang="ES" style="font-family: "Arial",sans-serif; mso-ansi-language: ES;">Espero que les sea de utilidad!! :)<o:p></o:p></span></div>
Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com4tag:blogger.com,1999:blog-5727738329548735676.post-82766571357988145932015-09-17T07:09:00.000-07:002015-09-17T07:09:43.315-07:00Como aplicar hints en sentencias sin necesidad de modificarlas desde la aplicación usando SQL-BASELINES (por Alejandro Aguirrez) <br />
<br />
<div class="MsoNormal">
<span lang="ES"> Durante mi
experiencia como DBA me he encontrado con incontables problemas de performace
sobre sentencias que eran ejecutadas desde aplicaciones donde el código de las sentencias
no puede ser modificado. </span></div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES"> En versiones
anteriores a 11g debias generar outlines y editarlas para que la sentencia
elija el PATH optimo para resolver la consulta en el menor tiempo . En 11g
disponemos de una nueva feature que nos permite manejar la estabilidad de los
planes de ejecucion SQL BASELINES.<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES"> En el siguiente
documento se detallará el procedimiento para cargar una baseline generada a
partir de la sentencia original (generada por la aplicación) con la adición de
un hint/s que produce la obtención del plan optimo para esta sentencia .<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES"><b>Nomenclatura
utilizada</b><o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES">ORIGINAL_SQL_ID =
SQL_ID de la sentencia original sin HINTS a la cual le queremos fijar un plan
optimo aplicando HINTS<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES">1 - (Opcional si
no fue realizado antes )</span></div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES">Capturar la sentencia de la sentencia original sin
HINTS. El siguiente código solo cargara la baseline si la misma está
actualmente en memoria.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;">BEGIN<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;"> dbms_spm.load_plans_from_cursor_cache(sql_id
=> '&original_sql_id', plan_hash_value =>
&original_plan_hash_value );<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="ES" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%; mso-ansi-language: ES;">END;<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="ES" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%; mso-ansi-language: ES;">/<o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="ES">2 - Ejecutar el
SQL con el HINT necesario para generar un plan de ejecución optimo<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES">3 - Identificar
el sql_id y plan de ejecuion de la
sentencia con HINTS de la vista V$SQL.<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<div class="MsoNormal" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;">select
* from table(dbms_xplan.display_cursor('&hinted_SQL_ID'));<o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES">4 - Verificar que
la baseline generada en el paso 1 exista. </span><span lang="EN-US">Extraer el
campo SQL_HANDLE<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<div class="MsoNormal" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;">SELECT
* FROM dba_sql_plan_baselines WHERE signature IN (SELECT
force_matching_signature FROM dba_hist_sqlstat WHERE
sql_id='&original_sql_id')<o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES">5 - Asociar el
plan de ejecución de la sentencia con hints con la sentencia original<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;">var
res number<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;">exec
:res := dbms_spm.load_plans_from_cursor_cache( -<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;">sql_id
=> '&hinted_SQL_ID', -<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;">plan_hash_value
=> &hinted_plan_hash_value, -<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;">sql_handle
=> '&sql_handle_for_original');<o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="ES">6 - Verificar que
la baseline fue agregada<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<div class="MsoNormal" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;">SELECT
* FROM dba_sql_plan_baselines WHERE signature IN (SELECT
force_matching_signature FROM dba_hist_sqlstat WHERE
sql_id='&original_sql_id')<o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES">7 - Dropear o
deshabilitar el plan de ejecución original de la sentencia sin hints<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<div class="MsoNormal" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;">exec
:res :=DBMS_SPM.DROP_SQL_PLAN_BASELINE
('&original_sql_handle','&original_plan_name');<o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES">8 - (OPCIONAL)
Sacar la sentencia de la shared pool solo en caso que siga tomando el plan
original<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;">DECLARE<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;"> name varchar2(50);<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;"> version varchar2(3);<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;">BEGIN<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;"> select regexp_replace(version,'\..*') into
version from v$instance;<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;"> if version = '10' then<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;"> execute immediate <o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;"> q'[alter session set events '5614566
trace name context forever']'; -- bug fix for 10.2.0.4 backport<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;"> end if;<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;"> select address||','||hash_value into name<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;"> from v$sqlarea <o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;"> where sql_id like '&original_sql_id';<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;"> sys.dbms_shared_pool.purge(name,'C',1);<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<br /></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="ES" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%; mso-ansi-language: ES;">END;<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="ES" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%; mso-ansi-language: ES;">/<o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="ES">9 - Ejecutar la
sentencia desde la aplicación<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div class="MsoNormal">
<span lang="EN-US">10 - verificar que tome la baseline<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<div class="MsoNormal" style="border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;">select
SQL_ID,SQL_PROFILE,SQL_PLAN_BASELINE,PLAN_HASH_VALUE,EXECUTIONS,ELAPSED_TIME,ELAPSED_TIME/1000000/EXECUTIONS,DISK_READS,OPTIMIZER_COST from V$sql where sql_id='&original_sql_id';<o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div class="MsoNormal">
<span lang="ES">11 - (OPCIONAL)
Si se considera que el plan con hints es el plan mas optimo modificar el la
baseline para que este FIXED (no seguira capturando baselines para esta
sentencia particular, en oportunidades cierto tipo de sentencias capturan
demasiados planes lo cual no es recomendado. Por esta razon en ocaciones he
tenido que deshabilitar la captura de nuevos planes para el sql_handle
asociados al sql_id original).<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="ES"><br /></span></div>
<div style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;">DECLARE<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;"> l_plans_altered PLS_INTEGER;<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;">BEGIN<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;"> l_plans_altered :=
DBMS_SPM.alter_sql_plan_baseline(<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;"> sql_handle => '&sql_handle_for_original'',<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;"> plan_name => '& hinted_plan_name'',<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;"> attribute_name => 'fixed',<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;"> attribute_value => 'YES');<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;"> DBMS_OUTPUT.put_line('Plans Altered: ' ||
l_plans_altered);<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;">END;<o:p></o:p></span></div>
<div class="MsoNormal" style="border: none; margin-bottom: .0001pt; margin-bottom: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; padding: 0cm;">
<span lang="EN-US" style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 115%;">/<o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="EN-US"><b>Referencias:</b><o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><b><br /></b></span></div>
<div class="MsoNormal">
<span lang="EN-US">Loading Hinted Execution Plans into SQL
Plan Baseline. </span><span lang="ES">(Doc ID 787692.1)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<br />
<div class="MsoNormal">
<br /></div>
Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com0tag:blogger.com,1999:blog-5727738329548735676.post-27064104419027709252015-05-11T08:07:00.005-07:002015-05-11T08:07:52.208-07:00Separar un string en filas de una tabla usando un separador Hay varias formas de separar un string en varias partes (tokens) usando un separador determinado. En este caso voy a compartir una forma para hacerlo usando una sentencia sql. Dicha sentencia se podria usar en forma aislada o insertarla en un cursor para poder iterar la lista generada en un bloque PL/SQL.<br />
<br />
La siguiente query transforma una lista de nombres separados por / en filas de una tabla:<br />
<br />
with t as (select 'Pablo/Juan/Pedro/Anibal' as str from dual)<br />
select DISTINCT REGEXP_SUBSTR (str, '[^/]+', 1, level) as nombre<br />
from t<br />
connect by level <= length(regexp_replace(str,'[^/]+'))+1 <br />
<br />
NOMBRE<br />
<br />
Pedro<br />
Pablo<br />
Juan<br />
Anibal<br />
<br />
Esta forma usa solo una sentencia sql con expresiones regulares y subquery factoring (claúsula with) y no requiere de crear paquetes para separar el string o usar por ejemplo funciones como APEX_UTIL.STRING_TO_TABLE que necesita tener las utilidades APEX instaladas.Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com1tag:blogger.com,1999:blog-5727738329548735676.post-1487177838196016092014-10-02T10:49:00.001-07:002014-10-03T05:24:42.402-07:00In-Database Archiving en 12c<div>
<br /></div>
<div>
Este nuevo feature llamó mi atención por la simplicidad de implementación y la utilidad que tiene cuando necesitamos eliminar filas de una tabla en forma lógica, es decir, sin eliminar la fila en forma física o permanente. </div>
<div>
<br /></div>
<div>
Si bien el procedimiento para "ocultar" filas se puede realizar agregando una columna extra de visibilidad como flag, esta nueva columna es parte del modelado y de alguna forma "ensucia" el modelo lógico, aunque a partir de 11g se puede ser mas prolijo y agregar la columna de marca de borrado como oculta. Luego que la columna se agrega o se puede programar en la aplicación para que considere siempre las filas que cumplen por ej: BORRADA = 'N' o en forma mas transparente usando políticas de seguridad (ej: VPD)</div>
<div>
<br /></div>
<div>
En esta nota voy a mostrar con un simple ejemplo como usar el archiving interno a nivel de tabla para implementar borrados lógicos:</div>
<div>
<br /></div>
<div>
Voy a crear un tabla T con dos columnas:</div>
<div>
<br /></div>
<div>
<div>
<pre style="background-color: #f2f1f2; border: 1px solid rgb(224, 224, 224); font-size: 13px; padding: 10px;"><div style="font-family: 'Times New Roman'; font-size: medium; white-space: normal;">
SQL> create table t (x int, y varchar2(10));</div>
<div style="font-family: 'Times New Roman'; font-size: medium; white-space: normal;">
Table created.</div>
</pre>
</div>
<div>
<br /></div>
<div>
Habilito el archiving en la tabla recién creada:</div>
<div>
<br />
<pre style="background-color: #f2f1f2; border: 1px solid rgb(224, 224, 224); font-size: 13px; padding: 10px;"><div style="font-family: 'Times New Roman'; font-size: medium; white-space: normal;">
<div>
<div>
SQL> alter table t row archival;</div>
<div>
</div>
<div>
Table altered.</div>
</div>
</div>
</pre>
<br /></div>
<div>
Inserto 100 filas:</div>
</div>
<div>
<br />
<div style="background-color: #f2f1f2;">
<div>
SQL> insert into t </div>
<div>
2 select rownum,dbms_random.string('a',10)</div>
<div>
3 from dual</div>
<div>
4 connect by rownum <= 100;</div>
<div>
</div>
<div>
100 rows created.</div>
<div>
</div>
<div>
<br />
SQL> commit;</div>
<div>
Commit complete.</div>
</div>
<br /></div>
<div>
Cuento la cantidad de filas insertadas:</div>
<div>
<br />
<div style="background-color: #f2f1f2;">
<div>
SQL> select count(1) from t;</div>
<div>
</div>
<div>
<br />
COUNT(1)</div>
<div>
----------</div>
<div>
100</div>
</div>
<br /></div>
<div>
<div>
Realizo el borrado lógico de 10 filas cualquiera:</div>
<div>
<br />
<pre style="background-color: #f2f1f2; border: 1px solid rgb(224, 224, 224); font-size: 13px; padding: 10px;"><div style="font-family: 'Times New Roman'; font-size: medium; white-space: normal;">
<div>
SQL> update t set ora_archive_state = '1' where rownum <= 10;</div>
<div>
</div>
<div>
10 rows updated.<br />
</div>
<div>
</div>
<div>
SQL> commit;</div>
<div>
</div>
Commit complete.</div>
</pre>
</div>
<div>
<br /></div>
<div>
Verifico que no estén visibles la filas borradas enteriormente:</div>
<div>
<br />
<br />
<div style="-webkit-text-stroke-width: 0px; color: black; font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
</div>
<br />
<div style="-webkit-text-stroke-width: 0px; color: black; font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
<pre style="background-color: #f2f1f2; border: 1px solid rgb(224, 224, 224); font-size: 13px; margin: 0px; padding: 10px;"><div style="font-family: 'Times New Roman'; font-size: medium; white-space: normal;">
<div>
SQL> select count(1) from t;</div>
<div>
</div>
<div>
<br />
COUNT(1)</div>
<div>
----------</div>
<div>
90</div>
</div>
</pre>
</div>
</div>
<div>
<br /></div>
<div>
Si se quiere tener visibilidad de todas las filas, incluidas las eliminadas, hay que setear el siguiente parámetro a nivel sesión:</div>
<div>
<br />
<pre style="background-color: #f2f1f2; border: 1px solid rgb(224, 224, 224); font-size: 13px; padding: 10px;"><div style="font-family: 'Times New Roman'; font-size: medium; white-space: normal;">
<div>
SQL> ALTER SESSION SET ROW ARCHIVAL VISIBILITY = ALL;</div>
<div>
</div>
<div>
Session altered.</div>
<div>
</div>
<div>
<br />
SQL> select count(1) from t;</div>
<div>
</div>
<div>
COUNT(1)</div>
<div>
----------</div>
<div>
100</div>
</div>
</pre>
</div>
<div>
<br /></div>
<div>
Como se observa con el count(*) se suman también las filas ocultas.</div>
<div>
<br /></div>
<div>
Para volver a hacer invisibles las filas:</div>
<div>
<br />
<pre style="background-color: #f2f1f2; border: 1px solid rgb(224, 224, 224); font-size: 13px; padding: 10px;"><div style="font-family: 'Times New Roman'; font-size: medium; white-space: normal;">
ALTER SESSION SET ROW ARCHIVAL VISIBILITY = ACTIVE;</div>
</pre>
</div>
<div>
<br /></div>
</div>
<div>
Si, por ejemplo, se eliminaron mas filas que las necesarias, simplemente hay que realizar un update sobre la pseudocolumna ora_archive_state en 0, que es el valor default.</div>
<div>
<br /></div>
<div>
Para desactivar el row archiving:<br />
<br /></div>
<div>
<pre style="background-color: #f2f1f2; border: 1px solid rgb(224, 224, 224); font-size: 13px; padding: 10px;"><div style="font-family: 'Times New Roman'; font-size: medium; white-space: normal;">
<div style="-webkit-text-stroke-width: 0px; color: black; font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
<div>
<div style="margin: 0px;">
SQL> alter table t no row archival;</div>
</div>
<div>
<div style="margin: 0px;">
</div>
</div>
<div>
<div style="margin: 0px;">
Table altered.</div>
</div>
</div>
</div>
</pre>
</div>
<div>
<div>
<br /></div>
</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com0tag:blogger.com,1999:blog-5727738329548735676.post-68644521897961098612014-07-16T10:36:00.001-07:002014-07-18T14:51:25.342-07:00Migración de Base de Datos Oracle desde AIX, HP-UX o Solaris hacia Linux con mínima indisponibilidad de servicio<div style="background-color: white; border-bottom-color: rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; margin: 30px 0px 0px; padding: 0px;">
<span style="line-height: 19.5px;"> Cuando se requiere migrar una base hacia una plataforma con distinto endian (ej: desde Solaris SPARC a Linux X64) la única alternativa es usar XTTS (Transportable Tablespaces con conversión). Para realizar dicho procedimiento se necesita tener los tablespaces en modo read only durante la transferencia de los datafiles al nuevo servidor. Esto provoca una indisponibilidad parcial, ya que se pueden realizar consultas pero no cambios sobre los tablespaces involucrados. El tiempo de indisponibilidad será directamente proporcional al volumen a copiar y este tiempo en muchos casos es inviable para el negocio.</span><br />
<span style="line-height: 19.5px;"><br /></span>
<span style="line-height: 19.5px;"> A partir de 11.2.0.4 y en adelante se puede usar backups incrementales con conversión de endian para reducir el tiempo de indisponibilidad al mínimo posible. El procedimiento es un tanto mas complejo que el tradicional pero Oracle provee los scripts para realizarlo en forma mas sencilla. </span><br />
<span style="line-height: 19.5px;"><br /></span>
<span style="line-height: 19.5px;"> Es importante aclarar que este procedimiento es recomendable solo para migraciones hacia distinto endian, y en general se da cuando se quiere pasar a Linux desde AIX, Solaris y HP-UX. Es el método elegido para migrar a Exadata. Cuando no se requiere conversión en la migración el método sugerido es DATA GUARD.</span><br />
<span style="line-height: 19.5px;"><br /></span>
<br />
<h4>
<span style="line-height: 19.5px;">Pasos para migrar usando el método Tradicional</span></h4>
<div>
<span style="line-height: 19.5px;">Los pasos son en general los siguientes:</span></div>
<div>
<ol>
<li><span style="line-height: 19.5px;">Setear los tablespaces en origen en READ ONLY</span></li>
<li><span style="line-height: 19.5px;">Transferir los datafiles de los tablespaces puesto en RO al nuevo servidor</span></li>
<li><span style="line-height: 19.5px;">Convertir los datafiles en destino al nuevo endian (también puede convertir a nivel tablespace en origen).</span></li>
<li><span style="line-height: 19.5px;">Exportar la metadata de los tablespaces en la base de datos origen (expdp)</span></li>
<li><span style="line-height: 19.5px;">Importar la metadata de los tablespaces en la base destino (impdp)</span></li>
<li><span style="line-height: 19.5px;">Setear los tablespaces en origen en READ WRITE</span></li>
</ol>
</div>
<h4>
<span style="line-height: 19.5px;">Pasos para migrar usando XTTS con backups incrementales</span></h4>
<span style="line-height: 19.5px;"><b>Fase de Preparación</b></span><br />
<ol>
<li><span style="line-height: 19.5px;"> Transferir los datafiles a destino</span></li>
<li><span style="line-height: 19.5px;"> Convertir los datafiles al endian del servidor destino</span></li>
</ol>
<br />
<span style="line-height: 19.5px;"><b>Fase de Roll-Forward </b>(repetir los pasos de esta fase tantas veces sea necesario para mantener los datafiles actualizados respecto a los originales)</span><br />
<ol>
<li><span style="line-height: 19.5px;"> Crear backup incrementales en origen</span></li>
<li><span style="line-height: 19.5px;"> Transferir los backups incrementales a destino</span></li>
<li><span style="line-height: 19.5px;"> Convertir los backups incrementales al endian de destino y aplicar el backup </span><span style="line-height: 19.5px;">los </span><span style="line-height: 19.5px;"> datafiles en destino</span></li>
</ol>
<br />
<span style="line-height: 19.5px;"><b>Fase de Transporte</b></span><br />
<ol>
<li><b style="line-height: 19.5px;"> </b><span style="line-height: 19.5px;">Setear los tablespaces en orgen como READ ONLY</span></li>
<li><span style="line-height: 19.5px;"> Repetir la fase de Roll-Forward por ultima vez.</span></li>
<li><span style="line-height: 19.5px;"> </span><span style="line-height: 19.5px;">Exportar la metadata de los tablespaces en la base de datos origen (expdp)</span></li>
<li><span style="line-height: 19.5px;"> Importar la metadata de los tablespaces en la base destino (impdp)</span></li>
<li><span style="line-height: 19.5px;"> Setear los tablespaces en origen en READ WRITE</span></li>
</ol>
<br />
Ahora voy a mostrar un ejemplo paso a paso de como realizar la migración. En los procesos tomo en cuenta que puedan existir datafiles con el mismo nombre (con distinto path) y por lo tanto agrego algunos pasos extra (creación de links simbolicos, cambio temporal de nombres de datafiles para hacerlos únicos, etc)</div>
<h2 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-DescripcióndelPasoaPaso" style="background-color: white; border-bottom-color: rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-weight: normal; line-height: 1.5; margin: 30px 0px 0px; padding: 0px;">
<span style="font-size: large;">
Descripción del Paso a Paso</span></h2>
<h3 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-Etapa1:Preparación" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 1.5; margin: 10px 0px 0px; padding: 0px;">
<span style="font-size: small;">
Etapa 1: Preparación</span></h3>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-1.1GenerarScriptparaCrearloslinksimbólicostemporales" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 10px 0px 0px; padding: 0px;">
1 .1 Generar Script para Crear los link simbólicos temporales </h4>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
Genera el script que deberá ejecutarse como etapa de preparación para poder realizar la aplicación de cambios incrementales. Es necesario dado que el script perl que realiza la generación y aplicación de backup incrementales solo puede definir un solo directorio.</div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter sql" id="highlighter_897434" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">SQL@ROPHOST1> </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">select</code> <code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'ln -s '</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">|| file_name ||</code><code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">' /ROP/lnks/'</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">|| </code><br />
<code class="sql color2" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">replace</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">(ltrim(file_name,</code><code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'/ROP/'</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">),</code><code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'/'</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">,</code><code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'_'</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">) </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">from</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">dba_data_files</code></div>
<div class="line number2 index1 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">where</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">tablespace_name </code><code class="sql color1" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(128, 128, 128) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">in </code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: #333333; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">(</code><code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'TS_DATA'</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: #333333; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">,</code><code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'TS_INDEX'</code><span style="background-color: initial; color: #333333;">)</span></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; font-family: Arial, sans-serif; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: #333333;">El script generado es: </span><span style="color: blue;">crear_links.sh </span><span style="color: #333333;">que deberá ejecutarse desde shell en el sitio origen para que se creen los links de soporte a la migración</span></div>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-1.2Verificarquelostablespacesatransferiresténautocontenidos" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 20px 0px 0px; padding: 0px;">
1.2 Verificar que los tablespaces a transferir estén autocontenidos</h4>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
Ejecutar el siguiente sp:</div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter sql" id="highlighter_906363" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">SQL@ROPHOST1> </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">begin</code></div>
<div class="line number2 index1 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql spaces" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">dbms_tts.transport_set_check(</code><code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'TS_DATA'</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: #333333; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">,</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: #333333; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><span style="background-color: initial; color: #003366;">'TS_INDEX'</span>,</code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">true</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: #333333; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">,</code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">true</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: #333333; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">);</code></div>
<div class="line number4 index3 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql spaces" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">end</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">;</code></div>
<div class="line number5 index4 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql spaces" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
Chequear si hubieron inconsistencias o invalidaciones:</div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter sql" id="highlighter_108236" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">SQL@ROPHOST1> </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">SELECT</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">* </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">FROM</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">transport_set_violations;</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-1.3ConfiguracióndeobjetosDIRECTORYydatabaselink" style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 20px; margin: 20px 0px 0px; padding: 0px;">
1.3 Configuración de objetos DIRECTORY y database link</h4>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
En base origen</div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter sql" id="highlighter_950305" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">SQL@ROPHOST1> </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">create</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">directory sourcedir </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">as</code> <code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'/ROP/lnks'</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: black;">En base destino</span></div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter sql" id="highlighter_900882" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">SQL@ROPHOST2> </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">create</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">directory destdir </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">as</code> <code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'/ROP/lnks'</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">;</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
En base destino crear un dblink</div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter sql" id="highlighter_25220" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">SQL@ROPHOST2> </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">create</code> <code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">public</code> <code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">database</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">link ttslink </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">connect</code> <code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">to</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">system </code><br />
<code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">identified </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">by</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><</code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">password</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">> using </code><code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'ROP.WORLD'</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">;</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-1.4Descomprimiren$ORACLE_HOME/xttelarchivorman-xttconvert.zipenorigenydestino" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 20px 0px 0px; padding: 0px;">
<span style="color: black;">1.4 Descomprimir en $ORACLE_HOME/xtt el archivo rman-xttconvert.zip en origen y destino</span></h4>
<div class="aui-message hint shadowed information-macro" style="-webkit-box-shadow: none; background: rgb(252, 252, 252); border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; border-top-left-radius: 5px; border-top-right-radius: 5px; border: 1px solid rgb(170, 184, 198); box-shadow: none; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px 0px; padding: 10px 10px 10px 36px; position: relative;">
<span class="aui-icon icon-hint" style="background-image: url(data:image/png; background-position: 50% 50%; background-repeat: no-repeat; border: none; display: inline-block; height: 16px; left: 10px; margin: 0px; padding: 0px; position: absolute; text-indent: -999em; top: 12px; vertical-align: text-bottom; width: 16px;">Icon</span><br />
<div class="message-content" style="margin: 0px; padding: 0px;">
<div style="padding: 0px;">
[oracle@<span style="background-color: white; color: black; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; line-height: 20px; white-space: nowrap;">ROPHOST1</span> xtt]$ unzip rman_xttconvert_1.4.zip</div>
<div style="margin-top: 10px; padding: 0px;">
Archive: rman_xttconvert_1.4.zip<br />
inflating: xttcnvrtbkupdest.sql<br />
inflating: xttdbopen.sql<br />
inflating: <a class="external-link" href="http://xttdriver.pl/" rel="nofollow" style="color: #3b73af; text-decoration: none;">xttdriver.pl</a><br />
inflating: xttprep.tmpl<br />
inflating: xtt.properties<br />
inflating: xttstartupnomount.sql</div>
<div style="margin-top: 10px; padding: 0px;">
[oracle@<span style="background-color: white; color: black; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; line-height: 20px; white-space: nowrap;">ROPHOST1</span> xtt]$pwd</div>
<div style="margin-top: 10px; padding: 0px;">
/home/oracle/xtt</div>
</div>
</div>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-1.5Creardirectoriosdealmacenamientotemporalenorigenydestino" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 20px 0px 0px; padding: 0px;">
<span style="color: black;">1.5 Crear directorios de almacenamiento temporal en origen y destino</span></h4>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter bash" id="highlighter_868203" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">[oracle@ROPHOST1]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">mkdir</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/tmp</code></div>
<div class="line number2 index1 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">[oracle@ROPHOST1]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">set</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">TMPDIR=</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/tmp</code></div>
<div class="line number3 index2 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">[oracle@ROPHOST2]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">mkdir</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/tmp</code></div>
<div class="line number4 index3 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">[oracle@ROPHOST2]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">export</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">TMPDIR=</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/tmp</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-1.6Configurarelarchivodepropiedadesenelsitioorigenydestino" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 20px 0px 0px; padding: 0px;">
<span style="color: black;">1.6 Configurar el archivo de propiedades en el sitio origen y destino</span></h4>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: black;">Editar el archivo de propiedades xtt.properties en el sitio origen y cambiar las siguientes lineas:</span></div>
<div style="background-color: white; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: black;">El archivo xtt.properties, luego de editarlo y adecuar los valores para ROP es: </span><span style="color: blue;">xtt.properties</span><span style="color: #333333;"> </span></div>
<div class="aui-message hint shadowed information-macro" style="-webkit-box-shadow: none; background: rgb(252, 252, 252); border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; border-top-left-radius: 5px; border-top-right-radius: 5px; border: 1px solid rgb(170, 184, 198); box-shadow: none; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px 0px; padding: 10px 10px 10px 36px; position: relative;">
<span class="aui-icon icon-hint" style="background-image: url(data:image/png; background-position: 50% 50%; background-repeat: no-repeat; border: none; display: inline-block; height: 16px; left: 10px; margin: 0px; padding: 0px; position: absolute; text-indent: -999em; top: 12px; vertical-align: text-bottom; width: 16px;">Icon</span><br />
<div class="message-content" style="margin: 0px; padding: 0px;">
<div style="padding: 0px;">
<br />
Linea 35:<br />
tablespaces=<code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 13.63636302947998px; height: auto !important; left: auto !important; line-height: 20px; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap; width: auto !important;">TS_DATA,</code><span style="background-color: initial; color: #003366; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13.63636302947998px; line-height: 20px; white-space: nowrap;">TS_INDEX</span></div>
<div style="padding: 0px;">
<br />
Linea 44:<br />
## El id 6 corresponde a plataforma Solaris 64 (origen)<br />
platformid=2<br />
<br />
Linea 54:<br />
srcdir=SOURCEDIR<br />
<br />
Linea 60:<br />
dstdir=DESTDIR<br />
<br />
Linea 67:<br />
srclink=TTSLINK<br />
<br />
Linea 94:<br />
## Path donde se alojaran los backups incrementales<br />
backupformat=/RESTORE/RMANINC/ROP</div>
<div style="margin-top: 10px; padding: 0px;">
Linea 115:<br />
## Path donde se alojaran los backups incrementales para ser convertidos en destino<br />
stageondest=/RESTORE/RMANINC/ROP<br />
<br />
Linea 134:<br />
## Path donde se<br />
backupondest=/RESTORE/RMANINC/ROP</div>
<div style="margin-top: 10px; padding: 0px;">
<br /></div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: black;"><br /></span></div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: black;">Copiar el archivo de propiedades al sitio destino</span></div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter bash" id="highlighter_526596" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">[oracle@ROPHOST1]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">scp</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/xtt</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">.properties ROPHOST2:</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">.</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-1.7Crearlosdirectoriosquedeberáncontenerlosbackupsincrementalesintermediosenorigen(stage_orig)ydestino(stage_dest)" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 20px 0px 0px; padding: 0px;">
<span style="color: black;">1.7 Crear los directorios que deberán contener los backups incrementales intermedios en origen (stage_orig) y destino (stage_dest)</span></h4>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter bash" id="highlighter_453226" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">[oracle@ROPHOST1]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">mkdir</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/RESTORE/RMANINC/ROP</code></div>
<div class="line number2 index1 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
</div>
<div class="line number3 index2 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">[oracle@ROPHOST2]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">mkdir</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/RESTORE/RMANINC/ROP</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<h3 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-Etapa2:PasajedeDatosInicial" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 1.5; margin: 30px 0px 0px; padding: 0px;">
<span style="font-size: small;">
Etapa 2: Pasaje de Datos Inicial</span></h3>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-2.1VerificaciónyPreparaciónenbaseorigen" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 10px 0px 0px; padding: 0px;">
<span style="color: black;">2.1 Verificación y Preparación en base origen</span></h4>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: black;">En este paso se verifica que los tablespaces a transportar (indicados en el archivo de propiedades) estén en modo READ WRITE y que no tengan datafiles offline. </span></div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter bash" id="highlighter_772895" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">[oracle@ROPHOST1]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">cd</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt</code></div>
<div class="line number2 index1 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">[oracle@ROPHOST1]$ perl xttdriver.pl -S</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: black;">La salida para transportar los tablespaces debe ser similar a la siguiente:</span></div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<div class="aui-message hint shadowed information-macro" style="-webkit-box-shadow: none; background: rgb(252, 252, 252); border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; border-top-left-radius: 5px; border-top-right-radius: 5px; border: 1px solid rgb(170, 184, 198); box-shadow: none; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px 0px; padding: 10px 10px 10px 36px; position: relative;">
<span class="aui-icon icon-hint" style="background-image: url(data:image/png; background-position: 50% 50%; background-repeat: no-repeat; border: none; display: inline-block; height: 16px; left: 10px; margin: 0px; padding: 0px; position: absolute; text-indent: -999em; top: 12px; vertical-align: text-bottom; width: 16px;">Icon</span><br />
<div class="message-content" style="margin: 0px; padding: 0px;">
<div style="padding: 0px;">
Prepare source for Tablespaces:<br />
'<code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 13.63636302947998px; height: auto !important; left: auto !important; line-height: 20px; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap; width: auto !important;">TS_DATA','</code><span style="background-color: initial; color: #003366; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13.63636302947998px; line-height: 20px; white-space: nowrap;">TS_INDEX'</span>/RESTORE/RMANINC/ROP<br />
xttpreparesrc.sql for '<code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 13.63636302947998px; height: auto !important; left: auto !important; line-height: 20px; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap; width: auto !important;">TS_DATA','</code><span style="background-color: initial; color: #003366; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13.63636302947998px; line-height: 20px; white-space: nowrap;">TS_INDEX'</span>started at Wed Jul 9 14:15:49 2014<br />
<br />
<br />
[oracle@host1 xtt]$</div>
<div style="margin-top: 10px; padding: 0px;">
<br /></div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: black;">Una vez finalizado el comando se generan los siguientes archivos en el directorio definido por la variable de entorno TMPDIR</span></div>
<ul style="background-color: white; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px 0px;">
<li><span style="color: blue;">xttnewdatafiles.txt</span></li>
<li><span style="color: blue;">getfile.sql</span></li>
<li><span style="color: blue;">xttplan.txt</span></li>
<li><div style="padding: 0px;">
<span style="color: blue;">xttprepare.cmd</span></div>
</li>
</ul>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-2.2Copiarlosarchivosxttnewdatafiles.txtygetfile.sqlcreadosenlaetapaanterior" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 20px 0px 0px; padding: 0px;">
2.2 Copiar los archivos <span class="kmfixedwidthfont" style="color: black;">xttnewdatafiles.txt</span><span style="color: black;"> y </span><span class="kmfixedwidthfont" style="color: black;">getfile.sql</span><span style="color: black;"> creados en la etapa anterior</span></h4>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter bash" id="highlighter_112141" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">[oracle@ROPHOST2]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">scp</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">oracle@ROPHOST1:</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/tmp/xttnewdatafiles</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">.txt </code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/tmp</code></div>
<div class="line number2 index1 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">[oracle@ROPHOST2]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">scp</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">oracle@ROPHOST1:</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/tmp/getfile</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">.sql </code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/tmp</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-2.3Adecuarlosarchivoxttnewdatafiles.txtygetfile.sqlparaquefuncioneconunsolodirectorioorigenydestino" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 20px 0px 0px; padding: 0px;">
2.3 Adecuar los archivo <span class="kmfixedwidthfont" style="color: black;">xttnewdatafiles.txt</span><span style="color: black;"> y </span><span class="kmfixedwidthfont" style="color: black;">getfile.sql </span>para que funcione con un solo directorio origen y destino</h4>
<div style="background-color: white; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: #333333;">Copiar en /home/oracle/xtt y ejecutar en sqlplus en base origen el siguiente .sql: </span><span style="color: blue;">gen_replace_df_lnk_getfile.sql</span><span style="color: #333333;"> cuyo código se muestra a continuación:</span></div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeHeader panelHeader pdl" style="background: rgb(245, 245, 245); border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; margin: 0px; overflow: hidden; padding: 5px 15px; position: relative;">
<b>gen_replace_df_lnk_getfile.sql</b></div>
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter sql" id="highlighter_292002" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">set</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">pagesize 9999</code></div>
<div class="line number2 index1 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">set</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">line 150</code></div>
<div class="line number3 index2 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">set</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">heading </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">off</code></div>
<div class="line number4 index3 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">set</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">feedback </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">off</code></div>
<div class="line number5 index4 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">set</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">term </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">off</code></div>
<div class="line number6 index5 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">spool /home/oracle/xtt/replace_df_lnks.sh</code></div>
<div class="line number7 index6 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">select</code> <code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'sed -i '</code><code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'s/'</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">|| regexp_substr(file_name,</code><code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'[^/]*$'</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">) || </code><code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'/'</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">|| </code><code class="sql color2" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">replace</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">(ltrim(file_name,</code><code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'/ROP/'</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">),</code><code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'/'</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">,</code><code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'_'</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">)||</code><code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'/g'</code><code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">' getfile.sql'</code> <code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">from</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">dba_data_files</code></div>
<div class="line number8 index7 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">where</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">tablespace_name </code><code class="sql color1" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(128, 128, 128) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">in</code></div>
<div class="line number9 index8 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">(</code><code class="sql string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'TS_DATA'</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: #333333; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">,</code></div>
<div class="line number19 index18 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><span style="background-color: initial; color: #003366;">'TS_INDEX'</span>)</code></div>
<div class="line number20 index19 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/</code></div>
<div class="line number21 index20 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">spool </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">off</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<div style="background-color: white; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: #333333;">Hacer lo mismo para el archivo xttnewdatafiles.txt usando el sql: </span><span style="color: blue;">replace_df_lnks_xttnewdf.sh</span></div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<div style="background-color: white; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: #333333;">La ejecución del .sql anterior en origen permite adecuar la copia inicial de datafiles a destino permitiendo usar los links simbolicos. El resultado es spooleado en el archivo: </span><span style="color: blue;">replace_df_lnks.sh</span></div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter sql" id="highlighter_604515" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">SQL@ROPHOST1>@/home/oracle/xtt/gen_replace_df_lnks_ROP.sql</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<div style="background-color: white; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: #333333;">Copiar a destino el shell generado en el paso anterior. Dicho .sh adecuará el </span><span style="color: blue;">getfile.sql</span><a href="https://conocimientocg.atlassian.net/wiki/download/attachments/18251840/getfile.sql?version=3&modificationDate=1395336045418&api=v2" style="color: #3b73af; text-decoration: none;"> (original)</a><span style="color: #333333;"> copiado</span></div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter bash" id="highlighter_245978" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">[oracle@ROPHOST2]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">scp</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">oracle@ROPHOST1:</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/replace_df_lnks</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">.sh </code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
Por ultimo ejecutar el shell para que realice el reemplazo para que agregue el sufijo de directorio a los archivos que se alojaran temporalmente en /ROP/lnks del sitio destino</div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter bash" id="highlighter_809065" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">[oracle@ROPHOST2]$</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/replace_df_lnks</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">.sh</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: #333333;">La ejecución anterior dejará un </span><span style="color: blue;">getfile,sql (adecuado)</span><span style="color: #333333;"> que se usará para el próximo paso.</span></div>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-2.4TransferiryConvertirlosdatafiles" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 20px 0px 0px; padding: 0px;">
2.4 Transferir y Convertir los datafiles</h4>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter bash" id="highlighter_866890" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">oracle@ROPHOST2]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">cd</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt</code></div>
<div class="line number2 index1 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">oracle@ROPHOST2]$ perl xttdriver.pl -G</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: black;"> </span><span style="color: black;">Una vez ejecutado el comando anterior deberían estar pasados y convertidos los datafiles en el directorio temporal /ROP/lnks.</span><span style="color: black;"> </span></div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: black;">Si se requiere reprocesar, los datafiles no deben existir en destino, de lo contrario el comando fallará. También podría ser necesario eliminar el siguiente archivo /home/oracle/xtt/tmp/TESTFAILED.</span></div>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-2.5Verificarquesehayarealizadolatransferenciadetodoslosdatafiles" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 20px 0px 0px; padding: 0px;">
2.5 Verificar que se haya realizado la transferencia de todos los datafiles</h4>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
Verificar que no exista el archivo que se genera cuando hay errores</div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter bash" id="highlighter_766282" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">oracle@ROPHOST2]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">ls</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">-l </code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/tmp/TESTFAILED</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
Chequear que se haya pasado todos los datafiles</div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter bash" id="highlighter_496762" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">oracle@ROPHOST2]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">ls</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/ROP/lnks</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">| </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">wc</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">-l</code></div>
<div class="line number2 index1 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
</div>
<div class="line number3 index2 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">[oracle@ROPHOST1]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">ls</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/ROP/lnks</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">| </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">wc</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">-l</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
Las dos salidas deben retornar el mismo número (326). </div>
<h3 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-FASE3:AplicaciónIncrementaldeCambios" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 1.5; margin: 30px 0px 0px; padding: 0px;">
<span style="color: black; font-size: small;">FASE 3: Aplicación Incremental de Cambios</span></h3>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-3.1Crearelbackupincrementaldelostablespacestransportados" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 10px 0px 0px; padding: 0px;">
<span style="color: black;">3.1 Crear el backup incremental de los tablespaces transportados</span></h4>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: black;"><br /></span></div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter bash" id="highlighter_324184" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">[oracle@ROPHOST1]$ perl xttdriver.pl -i</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: black;">El comando crea los siguientes archivos, con información de lo que se tiene que aplicar</span></div>
<ul style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px 0px;">
<li><span class="kmfixedwidthfont">tsbkupmap.txt</span></li>
<li><span class="kmfixedwidthfont">incrbackups.txt</span></li>
</ul>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-3.2Transferirelbackupincrementaladestino" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 20px 0px 0px; padding: 0px;">
<span style="color: black;">3.2 Transferir el backup incremental a destino</span></h4>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
Se copian los archivos de backup incremental generado con RMAN al ejecutar el comando de 3.1</div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter bash" id="highlighter_751263" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">[oracle@ROPHOST1]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">scp</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">`</code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">cat</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/tmp/incrbackups</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">.txt` oracle@ROPHOST2:</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/RESTORE/RMANINC/ROP</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-3.3Convertirlosbackupincrementalesyaplicarloscambiosalosdatafilescopiadosenelsitiodestino" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 20px 0px 0px; padding: 0px;">
<span style="color: black;">3.3 Convertir los backup incrementales y aplicar los cambios a los datafiles copiados en el sitio destino</span></h4>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter bash" id="highlighter_703938" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">oracle@ROPHOST2]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">scp</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">oracle@ROPHOST1:</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/tmp/xttplan</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">.txt </code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/tmp</code></div>
<div class="line number2 index1 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">oracle@ROPHOST2]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">scp</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">oracle@ROPHOST1:</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/tmp/tsbkupmap</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">.txt </code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/tmp</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter bash" id="highlighter_190257" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">oracle@ROPHOST2]$ perl xttdriver.pl -r</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
La salida esperada del comando debería ser similar a la siguiente:</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<div class="aui-message hint shadowed information-macro" style="-webkit-box-shadow: none; background: rgb(252, 252, 252); border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; border-top-left-radius: 5px; border-top-right-radius: 5px; border: 1px solid rgb(170, 184, 198); box-shadow: none; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px 0px; padding: 10px 10px 10px 36px; position: relative;">
<span class="aui-icon icon-hint" style="background-image: url(data:image/png; background-position: 50% 50%; background-repeat: no-repeat; border: none; display: inline-block; height: 16px; left: 10px; margin: 0px; padding: 0px; position: absolute; text-indent: -999em; top: 12px; vertical-align: text-bottom; width: 16px;">Icon</span><br />
<div class="message-content" style="margin: 0px; padding: 0px;">
Start rollforward<br />
End of rollforward phase</div>
</div>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-3.4DeterminarelnuevoSCNparausarenFROM_SCNregistradoenelarchivoxttplan.txt" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 20px 0px 0px; padding: 0px;">
<span style="color: black;">3.4 Determinar el nuevo SCN para usar en FROM_SCN registrado en el archivo xttplan.txt</span></h4>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
En el sitio origen obtener el próximo SCN para saber desde donde aplicar los nuevos cambios </div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter bash" id="highlighter_572074" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">[oracle@ROPHOST1]$ perl xttdriver.pl -s</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-3.5RepetirlaFase3opasardirectamentealaFase4" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 20px 0px 0px; padding: 0px;">
3.5 Repetir la Fase 3 o pasar directamente a la Fase 4</h4>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
Si se quiere mantener los datafiles copiados en destino lo mas cercano a los datafiles originales se pueden repetir los pasos anteriores (desde 3.1 en adelante), de lo contrario se puede pasar a la ultima etapa (Fase 4)</div>
<h3 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-FASE4:FasedeTransporte" style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 16px; line-height: 1.5; margin: 30px 0px 0px; padding: 0px;">
FASE 4: Fase de Transporte</h3>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-4.1Setearensololectura(READONLY)lostablespacesamigrar" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 10px 0px 0px; padding: 0px;">
4.1 Setear en solo lectura (READ ONLY) los tablespaces a migrar </h4>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter sql" id="highlighter_438099" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">SQL@ROPHOST1> </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">alter</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">tablespace TS_DATA </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">read</code> <code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">only</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">;</code></div>
<div class="line number2 index1 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">SQL@ROPHOST1> </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">alter</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">tablespace TS_INDEX </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">read</code> <code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">only</code><code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">;</code></div>
<div class="line number3 index2 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<br /></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-4.2Crearelbackupincrementalfinal,transferir,convertiryaplicarendestino" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 20px 0px 0px; padding: 0px;">
4.2 Crear el backup incremental final, transferir, convertir y aplicar en destino</h4>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter bash" id="highlighter_471133" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">[oracle@ROPHOST1]$ perl xttdriver.pl -i</code></div>
<div class="line number2 index1 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
</div>
<div class="line number3 index2 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">[oracle@ROPHOST1]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">scp</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">`</code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">cat</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">incrbackups.txt` oracle@ROPHOST1:</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/RESTORE/RMANINC/ROP</code></div>
<div class="line number4 index3 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
</div>
<div class="line number5 index4 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">oracle@ROPHOST2]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">scp</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">oracle@ROPHOST1:</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/tmp/xttplan</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">.txt </code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/tmp</code></div>
<div class="line number6 index5 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">oracle@ROPHOST2]$ </code><code class="bash functions" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">scp</code> <code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">oracle@ROPHOST1:</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/tmp/tsbkupmap</code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">.txt </code><code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/home/oracle/xtt/tmp</code></div>
<div class="line number7 index6 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
</div>
<div class="line number8 index7 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">oracle@ROPHOST2]$ perl xttdriver.pl -r</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-4.3Importarlametadataenlabasedestino" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 20px 0px 0px; padding: 0px;">
4.3 Importar la metadata en la base destino</h4>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: black;">En el sitio destino conectado con oracle ejecutar:</span></div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter bash" id="highlighter_87423" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">oracle@ROPHOST2]$ perl xttdriver.pl -e</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
El comando genera el archivo <span style="color: black;"> </span><span class="kmfixedwidthfont" style="color: black;">xttplugin.txt</span><span style="color: black;"> con el comando para importar los datos desde origen usando el dblink creado en al Fase 1 (ttslink) usando el modo network_link de Oracle Data Pump</span></div>
<div style="background-color: white; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: black;">Luego ejecutar copiar el siguiente sh en el destino (</span><span style="color: black; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; line-height: 20px; white-space: nowrap;">ROPHOST2</span><span style="color: black;">) en la carpeta /home/oracle/xtts/tmp/ </span><span style="color: blue;"> rename_final_dest.sh</span><span style="color: #333333;"> . El mismo realiza el renombrado de los datafiles a su ruta final y también adecua el archivo </span><span class="kmfixedwidthfont" style="color: #333333;">xttplugin.txt</span><span style="color: #333333;"> .</span></div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter java" id="highlighter_513229" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">#directorio base a partir del cual se mueven los archivos</code></div>
<div class="line number2 index1 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">BASE_PATH=/ROP</code></div>
<div class="line number3 index2 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">#directorio donde están los dbf convertidos</code></div>
<div class="line number4 index3 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">SOURCE_PATH=/ROP/lnks</code></div>
<div class="line number5 index4 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">#SH_FILE=change_impdp_xttplugin.sh</code></div>
<div class="line number6 index5 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">###MAIN</code></div>
<div class="line number7 index6 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">#>change_impdp_xttplugin.sh</code></div>
<div class="line number8 index7 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="java keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">for</code> <code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">i in `ls $SOURCE_PATH | grep dbf`</code></div>
<div class="line number9 index8 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="java keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">do</code></div>
<div class="line number10 index9 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="java spaces" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">DIR=`echo $i | sed </code><code class="java string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'s/_/ /1'</code> <code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">| awk </code><code class="java string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'{ print $1 }'</code><code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">`</code></div>
<div class="line number11 index10 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="java spaces" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">DBNAME=`echo $i | sed </code><code class="java string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'s/_/ /1'</code> <code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">| awk </code><code class="java string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'{ print $2 }'</code><code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">`</code></div>
<div class="line number12 index11 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="java spaces" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">echo </code><code class="java string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">"cp -p $SOURCE_PATH/$i $BASE_PATH/$DIR/$DBNAME"</code></div>
<div class="line number13 index12 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="java spaces" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">cp -p $SOURCE_PATH/$i $BASE_PATH/$DIR/$DBNAME</code></div>
<div class="line number14 index13 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="java spaces" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">echo </code><code class="java string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">"sed -i 's?${SOURCE_PATH}/${DBNAME}?${BASE_PATH}/$DIR/$DBNAME?g' xttplugin.txt"</code></div>
<div class="line number15 index14 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="java spaces" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">sed -i </code><code class="java string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'s?'</code><code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">${SOURCE_PATH}</code><code class="java string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'/'</code><code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">${DBNAME}</code><code class="java string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'?'</code><code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">${BASE_PATH}</code><code class="java string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'/'</code><code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">$DIR</code><code class="java string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'/'</code><code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">$DBNAME</code><code class="java string" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 51, 102) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'?g'</code> <code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">xttplugin.txt</code></div>
<div class="line number16 index15 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="java plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">done</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<span style="color: black;">Luego de esto ejecutar el import dentro del archivo <span class="kmfixedwidthfont">xttplugin.txt</span> </span></div>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-" style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 20px; margin: 20px 0px 0px; padding: 0px;">
<span style="color: black;"><br /></span></h4>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-4.4SetearenREADWRITElostablespaceenREADONLYenOrigen" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 10px 0px 0px; padding: 0px;">
<span style="color: black;">4.4 Setear en READ WRITE los tablespace en READ ONLY en Origen</span></h4>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter sql" id="highlighter_985825" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">SQL@ROPHOST1> </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">alter</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">tablespace TS_DATA </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">read</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">write;</code></div>
<div class="line number2 index1 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">SQL@ROPHOST1> </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">alter</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">tablespace TS_INDEX </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">read</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">write;</code></div>
<div class="line number3 index2 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<br /></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<h4 id="MigracióndeRIO15aplataformaLinux(PasoaPasoconNuevaEstrategiadeMínimaIndisponibilidad)-4.5ValidarlosdatostransportadosySetearenREADWRITElostablespacesendestino(lostablespacesmigrados)" style="background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin: 20px 0px 0px; padding: 0px;">
4.5 Validar los datos transportados y Setear en READ WRITE los tablespaces en destino (los tablespaces migrados)</h4>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter bash" id="highlighter_115735" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1396.3636474609375px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1381.3636474609375px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="bash plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">RMAN@ROPHOST2> validate tablespace TS_DATA, TS_INDEX check logical</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
<div class="code panel pdl" style="background-color: white; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin: 10px 0px; overflow: auto; padding: 0px;">
<div class="codeContent panelContent pdl" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; line-height: 20px; margin: 0px; overflow: hidden; padding: 0px;">
<div style="margin: 0px; padding: 0px;">
<div class="syntaxhighlighter nogutter sql" id="highlighter_874972" style="font-size: 1em !important; margin: 0px !important; overflow: auto !important; padding: 0px; position: relative !important; width: 1129.54541015625px;">
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 14px !important; height: auto !important; left: auto !important; line-height: 20px !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1129.0909423828125px;"><tbody style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="code" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 0px 15px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 1114.0909423828125px;"><div class="container" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 15px 0px 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 0px 15px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre-wrap !important; width: auto !important;" title="Hint: double-click to select code">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">SQL@ROPHOST2> </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">alter</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">tablespace TS_DATA </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">read</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">write;</code></div>
<div class="line number2 index1 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">SQL@ROPHOST2> </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">alter</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">tablespace TS_INDEX </code><code class="sql keyword" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(51, 102, 153) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">read</code> <code class="sql plain" style="background: none !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">write;</code></div>
<div class="line number3 index2 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em 0px 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: nowrap !important; width: auto !important;">
<br /></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13.63636302947998px; line-height: 18.18181800842285px; margin-top: 10px; padding: 0px;">
<br /></div>
Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com2tag:blogger.com,1999:blog-5727738329548735676.post-86743946551255319542014-04-10T06:16:00.000-07:002014-04-10T06:16:49.752-07:00Paso a Paso para Crear y Configurar Physical Oracle Data Guard<div style="background-color: white; border: 0px; color: #333333; font-family: Arial, sans-serif; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Si uno busca en la web acerca de como crear un entorno de alta disponibilidad usando Oracle Data Guard (también llamado Oracle Standby) va a encontrar cientos de sitios que muestran el paso a paso. Algunos sitios son muy claros y precisos y otros no tanto. Yo siempre recomiendo empezar para la documentación oficial. En esta oportunidad no solo voy a mostrar el paso a paso sino que además pretendo mostrar como activar Switchover, Failover, repasar los modos de protección disponibles, como monitorear y también algo de troubleshooting básico.<br /><span style="font-family: inherit;"><span id="more-742" style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"></span></span><br />Ahora voy a compartir el Paso a Paso para armar un entorno de replicación desde desde cero. La base primaria se llama ROP y la base standby se llamará ROPDG</div>
<div style="background-color: white; border: 0px; color: #333333; font-family: Arial, sans-serif; font-size: 1.2em; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: 20px; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Configuración Inicial de Oracle Data Guard Físico (PODG)</strong></div>
<div style="background-color: white; border: 0px; color: #333333; font-family: Arial, sans-serif; font-size: 1.2em; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: 16px; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Configuración de la base Primaria</strong></div>
<div style="background-color: white; border: 0px; color: #333333; font-family: Arial, sans-serif; font-size: 1.2em; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">1. Preparar la base primaria (ROP)</strong></div>
<div style="background-color: white; border: 0px; color: #333333; font-family: Arial, sans-serif; font-size: 1.2em; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">1.1 Habilitar la base para que funcione con archivelog</strong></div>
<blockquote style="background-color: white; border: 0px; color: #333333; font-family: Arial, sans-serif; font-size: 10px; line-height: 10px; margin: 0px; padding: 0px; quotes: none; vertical-align: baseline;">
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Para revisar si la base esta en modo archivelog</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> SELECT log_mode FROM v$database;</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Si el resultado es NOARCHIVELOG, bajar la base y seguir los siguientes pasos:</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> STARTUP MOUNT</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> ALTER DATABASE ARCHIVELOG</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> ALTER DATABASE OPEN;</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Para chequear como quedó configurado:</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> ARCHIVE LOG LIST;</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">1.2 Crear password file (si es que no existe)</strong></div>
<blockquote style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; quotes: none; vertical-align: baseline;">
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
$ orapwd file=filename password=password entries=max_users</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">1.3 Forzar el logueo de las operaciones</strong></div>
<blockquote style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; quotes: none; vertical-align: baseline;">
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> ALTER DATABASE FORCE LOGGING;</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">1.4 Setear los parámetros</strong></div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Para Setear el modo de protección Maximum Availability</div>
<blockquote style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; quotes: none; vertical-align: baseline;">
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(ROP,ROPDG)';</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2 = 'SERVICE=ROPDG SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ROPDG' SCOPE=BOTH;</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY;</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES = 30 SCOPE=BOTH;</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;</div>
</blockquote>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">1.5 Crear los standby redo (que se usaran en Switchover)</strong></div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">2. Configurar el servicio en ambos servidores</strong></div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Crear las entradas en los tns de ambos equipos, una entrada para primaria y otra para standby</div>
<blockquote style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; quotes: none; vertical-align: baseline;">
<pre style="border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 2px solid rgb(237, 237, 237); font-size: 1.4em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; margin-bottom: 18px; overflow: auto; padding: 10px 30px; vertical-align: baseline;">ROP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = host-primario)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ROP)
)
)
ROPDG =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = host-standby)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ROPDG)
)
)</pre>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">3. Bajar la base y tomar un backup en frio (datafiles y logfiles)</strong></div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">4. Montar la base y crear el standby controlfile</strong></div>
<blockquote style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; quotes: none; vertical-align: baseline;">
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> STARTUP MOUNT<br />SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/ctlROP2.ctl';</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">5. Preparar el init para la base standby</strong></div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">5.1</strong><br />En la base primaria crear un pfile desde el spfile (si la base no tiene spfile simplemente copiar el pfile en /tmp)</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> CREATE PFILE='/tmp/initROP.ora' FROM SPFILE;</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">5.2</strong><br />Editar el archivo de inicio recién creado (/tmp/initROP.ora) y cambiar los parámetros necesarios para que sirva con init de la base standby. La mayoría de los parámetros son iguales. Los que pueden cambiar son los siguientes:</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
DB_NAME=ROP<br />DB_UNIQUE_NAME=ROPDG</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: 16px; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Configuración de la base Standby (Manual)</strong></div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">6. Transferir los archivos del backup, el initROPDG.ora y el pfile al servidor standby</strong></div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">7. Levantar el listener</strong></div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">8. Crear los standby redo</strong><br />Los redo standby son requerimiento para poder usar real time apply:</div>
<blockquote style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; quotes: none; vertical-align: baseline;">
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oradata/rop/stdby_redo01.log') SIZE 50M;<br />SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oradata/rop/stdby_redo02.log') SIZE 50M;<br />SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oradata/rop/stdby_redo03.log') SIZE 50M;<br />SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oradata/rop/stdby_redo04.log') SIZE 50M;</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">9. Activar la aplicación de Redo en Standby</strong></div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Para activar la aplicación en Real-Time</div>
<blockquote style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; quotes: none; vertical-align: baseline;">
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Con la base montada ejecutar:<br />SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Para activar la aplicación sin Real-Time</div>
<blockquote style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; quotes: none; vertical-align: baseline;">
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Con la base montada ejecutar:<br />SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Para Cancelar la aplicación de Redo</div>
<blockquote style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; quotes: none; vertical-align: baseline;">
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: 20px; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Failover</strong></div>
</blockquote>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Si la base de datos primaria no esta disponible y la falla no tiene pronta solución (una falla critica en el hardware del equipo donde se aloja la base) será necesario activar la standby como base primaria. Luego de convertirla a primaria se recomiendo tomar un backup full</div>
<blockquote style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; quotes: none; vertical-align: baseline;">
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;<br />SQL> ALTER DATABASE ACTIVATE STANDBY DATABASE;</div>
</blockquote>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
La base primaria original luego podrá pasar a ser la standby. Si se usa flashback database es podrá restaurar al momento anterior a la falla y convertirla en standby rapidamente, si no se usa flashback database habrá que realizar el setup de cero.</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: 20px; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Switchover (Switchback)</strong></div>
</blockquote>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Para Convertir la base Primaria en Standby</div>
<blockquote style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; quotes: none; vertical-align: baseline;">
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> CONNECT / AS SYSDBA<br />SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO STANDBY;<br />SQL> SHUTDOWN IMMEDIATE;<br />SQL> STARTUP NOMOUNT;<br />SQL> ALTER DATABASE MOUNT STANDBY DATABASE;<br />SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;</div>
</blockquote>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Para Convertir la base Standby en Primaria</div>
<blockquote style="border: 0px; font-family: inherit; font-size: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; quotes: none; vertical-align: baseline;">
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> CONNECT / AS SYSDBA<br />SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;<br />SQL> SHUTDOWN IMMEDIATE;<br />SQL> STARTUP;</div>
</blockquote>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
El switchover puede ser útil por ejemplo para aplicar parches sin tener que cortar el servicio (garantizando la continuidad de negocio). Es recomendable realizar pruebas de switchover, también probando que el transporte y aplicación de redos funciona correctamente y luego volver a realizar un switchover para dejar la base primaria en el servidor original, este proceso se llama Switchover.</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: 20px; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Active DataGuard</strong></div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Las bases standby pueden levantarse en modo read only, lo cual puede ser usado para ejecutar reportes y de esa forma descargar la base productiva o también podría usarse para tomar backup lógicos. Mientras la base esta en read only no se puede aplicar cambios, aunque los cambios se siguen transportando no se aplican y por lo tanto la base standby va quedando cada vez mas desincronizada con la base primaria. En 11g se puede configurar la base standby como activa con lo cual la base si bien sigue estando en read only aplica lo cambios que van llegando desde la primaria.</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Este feature es muy interesante aunque tiene un costo extra y se tiene que licenciar por separado. Hay que tener cuidado en activarlo porque técnicamente es muy sencillo de hacer y queda registrado (chequear en DBA_FEATURE_USAGE_STATISTICS) el uso del feature con lo cual una auditoria podría constatarlo fácilmente.</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Ahora voy a mostrar como activar la replica en modo activa:</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> SHUTDOWN IMMEDIATE;<br />SQL> STARTUP MOUNT;<br />SQL> ALTER DATABASE OPEN READ ONLY;<br />SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Notar que si se activa el recover con la base en modo read only en lugar de solo montada se activa el Active DataGuard.</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-size: 20px; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Monitorear Oracle Data Guard Físico (PODG)</strong></div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Para chequear datos referentes a tipo y nivel de protección, rol de la base de datos y status del swithover</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> SELECT DATABASE_ROLE,DB_UNIQUE_NAME,OPEN_MODE,PROTECTION_MODE,<br />PROTECTION_LEVEL,SWITCHOVER_STATUS<br />FROM V$DATABASE</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Para ver los archivelog que fueron aplicados:</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> SELECT MAX(SEQUENCE#) LAST_APPLIED_LOG FROM V$LOG_HISTORY</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Para chequear el redo apply y el redo transport en el sitio standby:</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> SELECT PROCESS,STATUS,SEQUENCE#,BLOCK#,BLOCKS<br />FROM V$MANAGED_STANDBY</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
Para revisar eventos que disparan mensajes en el alert tanto en primaria como en standby:</div>
<div style="border: 0px; font-family: inherit; font-size: 1.2em; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: 1.8em; padding: 0px 0px 1.8em; vertical-align: baseline;">
SQL> SELECT MESSAGE FROM V$DATAGUARD_STATUS;</div>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com2tag:blogger.com,1999:blog-5727738329548735676.post-26867276023048355482013-10-24T06:39:00.000-07:002014-04-10T06:39:56.825-07:00Renombrar/Realocar datafiles online<div align="justify" style="color: #333333; font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">
En 12c se puede renombrar o realocar datafiles sin necesidad de pasarlos a offline ni tener que hacerlo con la base montada. Esta nueva posibilidad es muy interesante ya que no tenemos que esperar a realizar este tipo de tareas, que suelen ser bastante frecuentes, fuera de horario ni en ventanas de mantenimiento.</div>
<div style="color: #333333; font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">
<img alt="" class="mce-wp-more mceItemNoResize" data-mce-src="http://www.oramdq.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" src="http://www.oramdq.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" style="background-image: url(http://www.oramdq.com/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/more_bug.gif); background-position: 100% 0%; background-repeat: no-repeat no-repeat; border-top-color: rgb(204, 204, 204); border-top-style: dotted; border-width: 1px 0px 0px; cursor: default; display: block; height: 12px; margin: 15px auto 0px; width: 792.296875px;" title="More..." /><br />
Algunas consideraciones a tener en cuenta:</div>
<ul style="color: #333333; font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"><ul>
<li>Se puede realocar desde y hacia distintos tipos tipos de storage (por ejemplo desde ASM hacia FS o visceversa)</li>
<li>En arquitecturas con Bases Standby se deber realizar el realocado/renombrado en forma separado en primaria y standby.</li>
<li>La realocación en entornos Windows, deja el datafile original y deber ser borrado explicatamente luego de completada la operación</li>
<li>No aplica a temporary files</li>
<li>En CDB (Container DB) no se pueden mover datafiles que pertenecen a PDC (Pluggable DB)</li>
</ul>
</ul>
<div style="color: #333333; font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">
Comparto un ejemplo para mostrarles el nuevo feature en acción:</div>
<div style="color: #333333; font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">
Primero voy a intentar mover un datafile en 11g:</div>
<div style="color: #333333; font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">
<br /></div>
<pre lang="sql" style="color: #333333; font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
/u01/app/oradata/rop/users01.dbf
/u01/app/oradata/rop/undotbs01.dbf
/u01/app/oradata/rop/sysaux01.dbf
/u01/app/oradata/rop/system01.dbf
SQL> alter tablespace users rename datafile '/u01/app/oradata/rop/users01.dbf'
2 to '/u01/app/oradata/users01.dbf';
alter tablespace users rename datafile '/u01/app/oradata/rop/users01.dbf'
*
ERROR at line 1:
ORA-01525: error in renaming data files
ORA-01121: cannot rename database file 4 - file is in use or recovery
ORA-01110: data file 4: '/u01/app/oradata/rop/users01.dbf'</pre>
<div style="color: #333333; font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">
Como se observa no se puede renombrar un datafile que esta ONLINE</div>
<div style="color: #333333; font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">
Veamos que pasa en 12c:</div>
<div align="justify" style="color: #333333; font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">
Lo primero que uno prueba si solo escuchó que en 12c, y no se tomó el tiempo para leer el manual, se puede renombrar datafiles online, es usar la sintaxis que se usa para renombrar datafiles offline en versiones 11g e inferiores:</div>
<pre lang="sql" style="color: #333333; font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">SQL> select banner from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
PL/SQL Release 12.1.0.1.0 - Production
CORE 12.1.0.1.0 Production
TNS for Linux: Version 12.1.0.1.0 - Production
NLSRTL Version 12.1.0.1.0 - Production
SQL> alter tablespace users rename datafile '/u01/app/oradata/rop/users01.dbf'
2 to '/u01/app/oradata/users01.dbf';
alter tablespace users rename datafile '/u01/app/oradata/rop/users01.dbf'
*
ERROR at line 1:
ORA-01525: error in renaming data files
ORA-01121: cannot rename database file 4 - file is in use or recovery
ORA-01110: data file 4: '/u01/app/oradata/rop/users01.dbf'</pre>
<div style="color: #333333; font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">
El error es el mismo. El tema es que para realocar datafiles se agregó una nueva sintaxis:</div>
<pre style="color: #333333; font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;"><strong>ALTER DATABASE MOVE DATAFILE ( 'filename' | 'ASM_filename' | file_number )
[ TO ( 'filename' | 'ASM_filename' ) ]
[ REUSE ] [ KEEP ]</strong></pre>
<div style="color: #333333; font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">
Ahora probemos de renombrar usando la nueva sintaxis:</div>
<pre lang="sql" style="color: #333333; font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">SQL> alter database move datafile '/u01/app/oradata/ropusers01.dbf'
2 to '/u01/app/oradata/ropusers02.dbf';
Database altered.
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
/u01/app/oradata/rop/users02dbf
/u01/app/oradata/rop/undotbs01.dbf
/u01/app/oradata/rop/sysaux01.dbf
/u01/app/oradata/rop/system01.dbf</pre>
<pre lang="sql" style="color: #333333; font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;"></pre>
<div style="color: #333333; font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">
El datafile se renombró online !!!</div>
Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com1tag:blogger.com,1999:blog-5727738329548735676.post-7683010909388091912013-06-20T08:37:00.000-07:002013-06-20T08:37:18.827-07:00Como, Cuándo y Por qué se invalidan objetos de bases de datos Oracle<div style="text-align: justify;">
La invalidación de objetos de bases de datos pueden ser de dos tipos: 1) invalidaciones por error de sintaxis o de alcance, es decir por un error en la escritura de código sql o pl/sql o por falta de permisos sobre objetos referenciados en otros esquemas y 2) invalidaciones por dependencias. Esta nota se va a centrar principalmente en el segundo tipo ya que estas invalidaciones son mas complicadas de anticipar y suelen ocasionar cancelaciones de procesos batch o errores en aplicativos en forma imprevista.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
El primer tipo de invalidación se da cuando, por ejemplo, un objeto de código pl/sql (function, procedure, package, type o trigger) compila con errores, ya sea porque hay errores de escritura o porque un objeto que se referencia no existe o no se tiene alcance al mismo, es decir faltan privilegios. Hay que recordar que los privilegios deben ser otorgados en forma directa, y no mediante roles, ya que por definición los roles se deshabilitan en tiempo de ejecución de las unidades de código. En el caso de las vistas, que se definen en base a una sentencia sql, los errores mas comunes son referencias a columnas que no existen, ya sea porque se escribieron mal cuando se armó la vista o por cambios de definición en la tablas subyacentes. Oracle 11g permite tener una dependencia de granularidad mas fina que minimiza estos tipos de errores.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
En el segundo tipo de invalidación, Oracle maneja las dependencias locales, y algunas remotas, automáticamente, si un objeto A que depende de otro objeto B y el objeto B se invalida, el objeto A, al ser dependiente, se invalidará. Una vez que el objeto B se valide el objeto B no se validará hasta su próxima ejecución. Este enfoque evita recompilaciones innecesarias, ya que en el transcurso de un despliegue un objeto podría requerir multiples recompilaciones, pero por otro lado hay que ser muy cuidadoso en sistemas de alta transaccionabilidad (OLTP) ya que si se deja que el objeto se valide automáticamente al referenciarse por primera vez, y si esta invocación ocurre durante un pico de actividad de la base se podría ocasionar un lockeo en memoria (latch). </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Las invalidaciones por dependencias mas problematicas son las que se dan por dependencias remotas, es decir las que se producen sobre objetos que referencian objetos remotos via dblinks. Dichas dependencias estan gobernadas por el parámetro remote_dependencies_mode que puede tener los siguientes valores: TIMESTAMP (default) y SIGNATURE. Es importante aclarar que Oracle solo maneja dependencias entre objetos de código, por ejemplo, Si un procedure Px en BD1 referencia una tabla remota T1 en B2 y la tabla se elimina, Px nunca se invalida (en vista dba_objects la columna status siempre será VALID para Px), por otro lado, si un procedure Px en BD1 referencia un procedure Py en BD2 y Py se invalida, entoces Px se invalidará en la próxima ejecución. </div>
<div style="text-align: justify;">
</div>
<br />
<b>Modo Timestamp</b><br />
<br />
<ul>
<li style="text-align: justify;">Cada vez que un procedimiento local llama a un procedimiento remoto, Oracle compara el timestamp que el primero local tiene del segundo y lo compara con el timestamp corriente del procedimiento remoto. Si los dos timestamp coinciden, ambos procedimientos se ejecutan.</li>
<li style="text-align: justify;">Si los timestamps no coinciden, el procedimiento local se invalida y se retorna un error al entorno que lo invocó.</li>
<li style="text-align: justify;">Cuando se compila un objeto dependiente se registra el timestamp de todos los procedimientos referenciados.</li>
<li style="text-align: justify;">El procedimiento local se invalida recién cuando se invoca el procedimiento remoto inválido por lo cual las sentencias que precedieron a la llamada corren normalmente.</li>
<li style="text-align: justify;">Las DML ‘s que precedieron la llamada que invalida al procedimiento local solo se “rollbackean” si están en el mismo bloque pl. </li>
</ul>
<div>
<b> </b></div>
<div>
<b>Modo Signature</b></div>
<div>
<br /></div>
<br />
<div>
Un RPC Signature cambia cuando al menos uno de los siguientes cambios son efecuados:</div>
<div>
<div>
<ul>
<li>Nombre</li>
<li>Número de parámetros</li>
<li>Tipo de datos de los parámetros</li>
<li>Modo de cada parámetro</li>
<li>Tipo de datos de valor de retorno (en funciones)</li>
</ul>
<div>
<b> </b></div>
<div>
<b>Para minimizar errores por dependencias remotas</b></div>
</div>
</div>
<div>
<ol>
<li>No abusar del uso de dblinks</li>
<li>Declarar los registros con el atributo %ROWTYPE</li>
<li>Declarar las variables con el atributo %TYPE</li>
<li>Incluir la lista de columnas en los INSERT y SELECT</li>
<li>Paquetizar los procedimientos y funciones</li>
<li>Evitar realizar compilaciones en la ventana online</li>
<li>Agregar nuevos procedimientos/funciones al final del paquete.</li>
<li>Recompilar dependencias de primer y segundo nivel luego de cada nuevo desplique en BD.</li>
</ol>
<div>
<b> </b></div>
<div>
<b>Tipificación de Invalidaciones por Dependencias</b></div>
<div>
<b><br /></b></div>
<div>
El siguiente cuadro muestra los distintos escenarios de dependencias entre objetos y como Oracle resuelve cada uno:</div>
<div>
<br /></div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWoNcS6htTgwJsteFCp8KBt_fLfHfez-1cffdDbUgafIcvccoNjFZ4hoKz74CQ0teQeQhIZSw4cH87xs7K3wolbxPmBloI7U9MADevFM84l8unUWOD1I688zwi9dG9b0ItKDTtrkIvul4/s1600/Casos+de+Invalidaciones.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="249" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWoNcS6htTgwJsteFCp8KBt_fLfHfez-1cffdDbUgafIcvccoNjFZ4hoKz74CQ0teQeQhIZSw4cH87xs7K3wolbxPmBloI7U9MADevFM84l8unUWOD1I688zwi9dG9b0ItKDTtrkIvul4/s640/Casos+de+Invalidaciones.gif" width="640" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
Claramente el caso 4 es el mas complicado. Este tipo de error se puede dar cuando, por ejemplo, una implementación nocturna sobre una base ocasiona errores al día siguiente sobre otra base que tiene objetos que referencian a objetos implementados o dependendientes localmente de los implementados, y al ejecutarse por primera vez se invalida y queda en ese estado hasta que un dba realice una compilación manual. Hay que tener en cuenta que Oracle no invalida objetos remotos hasta que se ejecutan, lo cual hace difícil medir el impacto que tendrá la nueva implementación sobre objetos dependientes. Para clarificar voy a mostrar un ejemplo de este caso:<br />
<br />
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none; mso-border-alt: solid black .5pt; mso-border-insideh: .5pt solid black; mso-border-insidev: .5pt solid black; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="border: solid black 1.0pt; mso-border-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 18.9pt;" valign="top" width="25">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
<td style="border-left: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 195.9pt;" valign="top" width="261">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR">Sesion 1 BD1</span></div>
</td>
<td style="border-left: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 122.0pt;" valign="top" width="163">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR">Sesion 2 BD2</span></div>
</td>
<td style="border-left: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 115.9pt;" valign="top" width="155">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR">Descripción</span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 18.9pt;" valign="top" width="25">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">T0<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 195.9pt;" valign="top" width="261">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">create or replace procedure
sp_bd1<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">is<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;"> begin<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;"> sp_bd2@testinv;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;"> end;<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 122.0pt;" valign="top" width="163">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">create or replace procedure
sp_bd2<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;"> is<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;"> cnt int;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;"> begin<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;"> select count(1) into cnt from t;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;"> end;<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 115.9pt;" valign="top" width="155">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 18.9pt;" valign="top" width="25">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">T1<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 195.9pt;" valign="top" width="261">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">VALID <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14 14:41:44 <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14:14:41:44<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 122.0pt;" valign="top" width="163">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">VALID <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14 14:35:23 <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14:14:35:23<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 115.9pt;" valign="top" width="155">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 18.9pt;" valign="top" width="25">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">T2<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 195.9pt;" valign="top" width="261">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 122.0pt;" valign="top" width="163">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">alter table t rename to u;<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 115.9pt;" valign="top" width="155">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">Se renombra la tabla
referenciada por sp_bd2 para que se invalide<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 18.9pt;" valign="top" width="25">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">T3<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 195.9pt;" valign="top" width="261">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">VALID <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14 14:41:44 <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14:14:41:44<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 122.0pt;" valign="top" width="163">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<b><span lang="ES-AR" style="font-size: 9.0pt;">INVALID <o:p></o:p></span></b></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14 14:35:23 <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14:14:35:23<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 115.9pt;" valign="top" width="155">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 18.9pt;" valign="top" width="25">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">T4<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 195.9pt;" valign="top" width="261">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">SQL> exec sp_bd1;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">BEGIN sp_bd1; END;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">*<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">ERROR en linea 1:<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">ORA-04063: procedure
"ROP.SP_BD2" tiene errores<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">ORA-06512: en
"ROP.SP_BD1", linea 4<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">ORA-06512: en linea 1<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 122.0pt;" valign="top" width="163">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 115.9pt;" valign="top" width="155">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">Falla la ejecución de sp_bd1
porque el objeto remoto referenciado esta invalido<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 18.9pt;" valign="top" width="25">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<b><span lang="ES-AR" style="font-size: 9.0pt;">T5<o:p></o:p></span></b></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 195.9pt;" valign="top" width="261">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<b><span lang="ES-AR" style="font-size: 9.0pt;">INVALID <o:p></o:p></span></b></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14 14:41:44 <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14:14:41:44<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 122.0pt;" valign="top" width="163">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<b><span lang="ES-AR" style="font-size: 9.0pt;">INVALID <o:p></o:p></span></b></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14 14:38:50 <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14:14:38:50<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 115.9pt;" valign="top" width="155">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">Con la ejecución de sp_bd1
cambió el last_ddl y el timestamp del sp referenciado en sp_bd2 y se invalidó
sp_bd1<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 18.9pt;" valign="top" width="25">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">T6<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 195.9pt;" valign="top" width="261">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">SQL> exec sp_bd1;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">BEGIN sp_bd1; END;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;"> *<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">ERROR en linea 1:<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">ORA-06550: linea 1, columna
7:<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">PLS-00905: el objeto
ROP.SP_BD1 no es valido<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">ORA-06550: linea 1, columna
7:<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">PL/SQL: Statement ignored<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 122.0pt;" valign="top" width="163">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 115.9pt;" valign="top" width="155">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">Al ejecutar la segunda vez
cambia el mensaje de error ya que el objeto ahora esta invalido.<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 18.9pt;" valign="top" width="25">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">T7<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 195.9pt;" valign="top" width="261">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">INVALID <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14 14:49:50 <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14:14:49:50<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 122.0pt;" valign="top" width="163">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<b><span lang="ES-AR" style="font-size: 9.0pt;">INVALID <o:p></o:p></span></b></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14 14:38:50 <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14:14:38:50<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 115.9pt;" valign="top" width="155">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">Cambió el last_dd y el
timestamp de sp_bd1 y no el de sp_bd2<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 18.9pt;" valign="top" width="25">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">T8<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 195.9pt;" valign="top" width="261">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 122.0pt;" valign="top" width="163">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">alter table u rename to t<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 115.9pt;" valign="top" width="155">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">Se renombra la tabla a
su nombre original, que es el usado en
sp_bd2<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 18.9pt;" valign="top" width="25">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">T9<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 195.9pt;" valign="top" width="261">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">INVALID <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14 14:49:50 <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14:14:49:50<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 122.0pt;" valign="top" width="163">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<b><span lang="ES-AR" style="font-size: 9.0pt;">INVALID <o:p></o:p></span></b></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14 14:38:50 <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14:14:38:50<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 115.9pt;" valign="top" width="155">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">Si bien ahora no hay errores
ni el sp local ni el remoto detectaron el cambio y siguen invalidos con los
mismas fechas<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 18.9pt;" valign="top" width="25">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">T10<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 195.9pt;" valign="top" width="261">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 122.0pt;" valign="top" width="163">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<b><span lang="ES-AR" style="font-size: 9.0pt;">SQL> exec sp_bd2;<o:p></o:p></span></b></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 115.9pt;" valign="top" width="155">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">Se ejecuta el sp_bd2 y no da
errores<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 18.9pt;" valign="top" width="25">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">T11<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 195.9pt;" valign="top" width="261">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">INVALID <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14 14:49:50 <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14:14:49:50<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 122.0pt;" valign="top" width="163">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">VALID <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14 14:49:20 <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14:14:49:20<b><o:p></o:p></b></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 115.9pt;" valign="top" width="155">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">Al ejecutarse y no tener mas
errores el sp se compila automáticamente con la primera invocación.
(validación local transparente). El sp_bd1 sigue invalido<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 18.9pt;" valign="top" width="25">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">T12<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 195.9pt;" valign="top" width="261">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">SQL> exec sp_bd1;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">BEGIN sp_bd1; END;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;"> *<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">ERROR en linea 1:<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">ORA-06550: linea 1, columna
7:<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">PLS-00905: el objeto
ROP.SP_BD1 no es valido<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">ORA-06550: linea 1, columna
7:<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">PL/SQL: Statement ignored<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 122.0pt;" valign="top" width="163">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 115.9pt;" valign="top" width="155">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">Se ejecuta el sp_bd1 y da
error porque esta invalido y no se valida automáticamente, aunque se vuelva a
ejecutar mas de una vez<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 18.9pt;" valign="top" width="25">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">T13<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 195.9pt;" valign="top" width="261">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">INVALID <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14 14:49:50 <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14:14:49:50<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 122.0pt;" valign="top" width="163">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 115.9pt;" valign="top" width="155">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 18.9pt;" valign="top" width="25">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">T14<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 195.9pt;" valign="top" width="261">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">alter procedure sp_bd1
compile;<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 122.0pt;" valign="top" width="163">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 115.9pt;" valign="top" width="155">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">Se compila manualmente sp_bd1<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 18.9pt;" valign="top" width="25">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">T15<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 195.9pt;" valign="top" width="261">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<b><span lang="ES-AR" style="font-size: 9.0pt;">VALID <o:p></o:p></span></b></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14 15:00:22 <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">2012-11-14:15:00:22<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 122.0pt;" valign="top" width="163">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 115.9pt;" valign="top" width="155">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="ES-AR" style="font-size: 9.0pt;">El procedimiento requirió
compilación manual para validarse.<o:p></o:p></span></div>
</td>
</tr>
</tbody></table>
<br />Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com0tag:blogger.com,1999:blog-5727738329548735676.post-42304164450729875242012-12-28T05:51:00.000-08:002012-12-28T05:51:04.758-08:00La tecnología FLASHBACK DATABASE para acelerar los procesos de Testing y Homologación de Aplicaciones, Modulos o Procesos<br />
<div style="text-align: justify;">
La tecnología flashback fue introducida en 9i y siguió evolucionando para proporcionar nuevas caracteristicas y funcionalidades en las subsiguientes versiones. </div>
<div style="text-align: justify;">
En esta nota voy a mostrar una de las caracteristicas mas interesantes, disponible a partir de 10g, que es el flashback de la base de datos completa que utiliza el mecanismo de recover de bloque y va guardando el bloque anterior de cada cambio en un archivo del so. El flashback es simplemente ir restaurando los bloques anteriores ajustando con los archives hasta llegar al instante definido en el comando de flashback.</div>
<div style="text-align: justify;">
Esta operación resulta muy util para realizar testing ya que se puede "rebobinar" los cambios a una cierta fecha y hora en el pasado, a un scn o a un checkpoint previamente definido. </div>
<div style="text-align: justify;">
Cuando se necesita repetir un determinado proceso de prueba o si hubo un cancelación por un error, se aplica el flashback para retroceder al instante anterior a la prueba que se quiere repetir o en el caso de que se hubiera producido una cancelación se corrige el problema y se relanza nuevamente. </div>
<br />
A continuación un listado de los features Flashback a través de las versiones de Oracle:<br />
<br />
FLASHBACK QUERY (9i)<br />
FLASHBACK VERSIONS QUERY (9i) <br />
FLASHBACK TABLE (10g)<br />
FLASHBACK DROP (10g)<br />
FLASHBACK QUERY (10g)<br />
FLASHBACK DATABASE (10g)<br />
FLASHBACK TRANSACTION QUERY (10g)<br />
FLASHBACK TRANSACTION (11g)<br />
FLASHBACK DATA ARCHIVE (Oracle Total Recall) (11g)<br />
<br />
<b><u>Parametros Relacionados con FRA</u></b><br />
<br />
Para una base de datos llamada ROP los parametros a definir son los siguientes:<br />
<br />
ALTER SYSTEM SET db_recovery_file_dest_size=50g scope=both;<br />
<br />
ALTER SYSTEM SET db_recovery_file_dest='/flashbackROP' scope=both;<br />
<br />
ALTER SYSTEM SET DB_FLASHBACK_RETENTION_TARGET=10080 scope=both; -- 1 semana, en minutos<br />
<br />
<br />
<b><u>Como activar FLASHBACK DATABASE</u></b><br />
<br />
SHUTDOWN IMMEDIATE;<br />
<br />
STARTUP MOUNT EXCLUSIVE;<br />
<br />
ALTER DATABASE ARCHIVELOG -- Es requisito para activar flashback que la base este en modo archivelog<br />
<br />
ALTER DATABASE FLASHBACK ON;<br />
<br />
ALTER DATABASE OPEN;<br />
<br />
<br />
<u><b>Como desactivar FLASHBACK DATABASE</b></u><br />
<br />
SHUTDOWN IMMEDIATE;<br />
<br />
STARTUP MOUNT EXCLUSIVE;<br />
<br />
ALTER DATABASE NOARCHIVELOG <br />
<br />
ALTER DATABASE FLASHBACK OFF;<br />
<br />
ALTER DATABASE OPEN;<br />
<br />
<br />
<u><b>Para Monitorear FRA </b></u><br />
<br />
<br />
-- Para ver status de flashback logs<br />
select * from v$flashback_database_log<br />
<br />
-- Para ver detalle de archivos f logs generados<br />
select * from v$flashback_database_logfile order by first_time desc<br />
<br />
-- Para ver los archive logs<br />
select * from v$archived_log order by completion_time desc<br />
<br />
-- Para ver como esta alocada la FRA por tipo de archivo<br />
Select file_type, percent_space_used as used,percent_space_reclaimable as reclaimable,<br />
number_of_files as "number" from v$flash_recovery_area_usage;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
-- Para ver consumo de flashback logs por dia <span class="Apple-tab-span" style="white-space: pre;"> </span><br />
select to_char(first_time,'YYYYMMDD'),round(sum(bytes)/1024/1024/1024,2) Size_Gb,count(1)<br />
from v$flashback_database_logfile<br />
group by to_char(first_time,'YYYYMMDD')<br />
order by 1<br />
<br />
-- Para ver consumo de archives por dia<br />
select to_char(completion_time,'YYYYMMDD'),sum(block_size*blocks)/1024/1024/1024 Size_Gb,count(1)<br />
from v$archived_log<br />
group by to_char(completion_time,'YYYYMMDD')<br />
order by 1<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
-- Para ver FRA a nivel global<br />
<br />
select name,<br />
round(space_limit/1024/1024/1024,2) as Total_size ,<br />
round(space_used/1024/1024/1024,2) as Used,<br />
round(SPACE_RECLAIMABLE/1024/1024/1024,2) as reclaimable ,<br />
NUMBER_OF_FILES as "number"<br />
from V$RECOVERY_FILE_DEST; <span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<br />
-- Para ver estado de flashback<br />
select * from v$flashback_database_stat<br />
<br />
<b><u>Para hacer FLASHBACK DATABASE a una fecha y hora dada</u></b><br />
<br />
SQLPLUS> shutdown immediate;<br />
<br />
SQLPLUS> startup mount;<br />
<br />
SQLPLUS> flashback database to timestamp TO_TIMESTAMP('2012-12-08 08:00:00','YYYY-MM-DD HH24:MI:SS'); <br />
<br />
SQLPLUS> alter database open resetlogs;<br />
<br />
<div style="text-align: justify;">
Si no se esta seguro de la fecha a retroceder, se puede levantar la base en modo readonly y volver a hacer flasback. Tambien se puede volver al momento actual usando RECOVER.</div>
<div style="text-align: justify;">
Es importante mencionar, que como punto debil de esta tecnologia, en procesos que generen importantes cambios en los datos, la generación de flashback logs sumado a los archives es intensa y si no esta bien dimensionado el area de flashback se puede llegar al limite de FRA o incluso llenarse el disco, ocasionado que la base quede "freezada" hasta que no se libere el espacio con RMAN o se aumente el espacio de FRA.</div>
<div style="text-align: justify;">
<br /></div>
Para levantar la base en modo lectura:<br />
SQLPLUS> alter database open read only;<br />
<br />
Para hacer recover al presente:<br />
SQLPLUS> recover database;<br />
Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com0tag:blogger.com,1999:blog-5727738329548735676.post-36159850318804846472011-07-31T06:11:00.000-07:002011-08-01T05:39:03.676-07:00Consideraciones importantes antes de cambiar tablas a modo nologging<div style="text-align: justify;"> Las tablas en una base Oracle por default registran en redo todos los cambios (transacciones) que se le fueron aplicando. Esto sirve para recuperar, ante una caida abrupta de la base de datos, aplicando un procedimiento denominado rolling forward, las transacciones confirmadas que no llegaron a impactarse en los datafiles. El grabado en redo es sincronico y muchas veces es causante de demoras generales en la base de datos, en especial en bases OLTP con alta concurrencia y alta tasa transaccionabilidad, uno de los eventos de espera mas comunes es el log file sync. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Cuando en un reporte AWR o statspack vemos entre los TOp 5 events este tipo de eventos y buscamos en manuales, metalink o en foros, las dos recomendaciones principales son: a) bajar la transaccionabilidad, esto es minimizar los commits, y/o rollbacks, todo lo que sea posible sin afectar las reglas de negocio modeladas ó b) optimizar la escritura en redo, usando por ejemplo discos mas rápidos, recordemos que la escritura en redos, al contrario de la escritura en datafiles, es escritura secuencial, ideal es poner los redos sobre discos de estado solido, por la muy baja latencia y tambien verificar que no esten alojados sobre raid 5, siempre se recomienda raid 1 para estos archivos.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Otra opción interesante es pensar en generar la minima cantidad de redo sin modificar ninguno de los dos puntos tratados en el parrafo anterior. Cambiar a un tabla a nologging permite minimizar el redo generado para ciertas operaciones. Un mito muy común es poner todas las tablas en nologging y pensar que esto impide la registración de cambios en redo, nada mas lejos. La anulación de redo es imposible, ya que es un mecanismo fundamental del funcionamiento de la base de datos, lo que si se logra es reducir bastante la cantidad de redo, con la consecuencia que esto implica, que es ni mas ni menos que ante una falla de la instancia la operacion realizada en modo nologging no se puede recuperar, la unica opción es reprocesar. Las siguientes operaciones son las unicas disponibles para usar nologging:</div><div style="text-align: justify;"><ol><li><span class="Apple-style-span" style="border-collapse: collapse; font-family: 'Times New Roman'; font-size: medium; "> </span><span class="Apple-style-span" style="border-collapse: collapse; font-family: 'Times New Roman'; font-size: medium; ">create table...as select</span></li><li><span class="Apple-style-span" style="border-collapse: collapse; font-family: 'Times New Roman'; font-size: medium; "> create index</span></li><li><span class="Apple-style-span" style="border-collapse: collapse; font-family: 'Times New Roman'; font-size: medium; "> direct load con SQL*Loader</span></li><li><span class="Apple-style-span" style="border-collapse: collapse; font-family: 'Times New Roman'; font-size: medium; "> direct load INSERT (usando el hint APPEND)</span><span class="Apple-style-span" style="border-collapse: collapse; font-family: 'Times New Roman'; font-size: medium; "> </span></li><li><span class="Apple-style-span" style="border-collapse: collapse; font-family: 'Times New Roman'; font-size: medium; "> alter table...move partition</span></li><li><span class="Apple-style-span" style="border-collapse: collapse; font-family: 'Times New Roman'; font-size: medium; "> alter table...split partition</span></li><li><span class="Apple-style-span" style="border-collapse: collapse; font-family: 'Times New Roman'; font-size: medium; "> alter index...split partition</span></li><li><span class="Apple-style-span" style="border-collapse: collapse; font-family: 'Times New Roman'; font-size: medium; "> alter index...rebuild</span></li><li><span class="Apple-style-span" style="border-collapse: collapse; font-family: 'Times New Roman'; font-size: medium; "> alter index...rebuild partition</span></li></ol></div><div style="text-align: justify;"><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; ">Ahora, como siempre, comprobemos las operaciones que registran, y las que no, los cambios sobre redo:</span></span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; "><br /></span></span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; ">Voy a crear una tabla en modo logging (default) y luego voy a a ver el redo que consumió dicha operación.</span></span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; "></span></span><pre><span class="Apple-style-span"></span></pre></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; "><br /></span></span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; ">SQLPLUS> create table t as select * from dba_tables</span></span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; "><br /></span></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-size: large; font-family: 'Times New Roman'; ">SQLPLUS>@myredosize.sql</span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; "><br /></span></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-size: large; font-family: 'Times New Roman'; ">SQLPLUS> 1610k</span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-size: large; font-family: 'Times New Roman'; "></span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse;">La cantidad de redo fue de 1610k, veamos que sucede si creamos la tabla en modo nologging:</span></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-size: large; font-family: 'Times New Roman'; "><pre></pre></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-size: large; font-family: 'Times New Roman'; ">SQLPLUS> create table t nologging as select * from dba_tables</span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-size: large; font-family: 'Times New Roman'; "><br /></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-size: large; font-family: 'Times New Roman'; ">SQLPLUS>@myredosize.sql</span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-size: large; font-family: 'Times New Roman'; "><br /></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-size: large; font-family: 'Times New Roman'; ">SQLPLUS> 100k<span class="Apple-tab-span" style="white-space:pre"> </span></span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse;"></span></span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse;">El redo usado no fue nulo pero si mucho menor, en el caso aproximadamente 16 veces inferior al de crear la tabla en modo logging.</span></span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse;"><br /></span></span></div><div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; ">En el siguiente ejemplo vamos a comparar el redo insumido en una operacion de insert convencional con un insert en modo directo, ambos sobre una tabla nologging:</span></span></div></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; "><br /></span></span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; "></span></span><pre><span class="Apple-style-span"></span></pre></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse;">SQLPLUS> create table t nologging as select * from dba_tables where 1=0</span></span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; "><br /></span></span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; ">SQLPLUS> insert into t select * from dba_tables <span class="Apple-tab-span" style="white-space:pre"> </span></span></span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; "><br /></span></span></div><div><div><span class="Apple-style-span" style="border-collapse: collapse; font-size: large; font-family: 'Times New Roman'; ">SQLPLUS>@myredosize.sql</span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-size: large; font-family: 'Times New Roman'; "><br /></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-size: large; font-family: 'Times New Roman'; ">SQLPLUS> 1497k<span class="Apple-tab-span" style="white-space: pre; "> </span></span></div></div><div><br /></div><div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; ">SQLPLUS> insert into t select /*+ APPEND */ * from dba_tables <span class="Apple-tab-span" style="white-space: pre; "> </span></span></span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; "><br /></span></span></div><div><div><span class="Apple-style-span" style="border-collapse: collapse; font-size: large; font-family: 'Times New Roman'; ">SQLPLUS>@myredosize.sql</span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-size: large; font-family: 'Times New Roman'; "><br /></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-size: large; font-family: 'Times New Roman'; ">SQLPLUS> 34k<span class="Apple-tab-span" style="white-space: pre; "> </span></span></div></div></div><div><br /></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; "></span></span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; ">Lo que se puede observar es que en el primer caso, el consumo de redo fue similar al del create table del ejemplo anterior en modo logging. Esto muestra claramente que no todas las operaciones inhiben el redo, en el caso del insert convencional sobre una tabla en nologging no hay diferencia de hacerlo sobre una tabla logging. La diferencia se ve en el insert directo, que justamente es una de las pocas tipos de sentencias que aprovechan el nologging.</span></span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; "><br /></span></span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; ">Como siempre, es recomendable leer la documentación detenidamente para ver si tal funcionalidad o tal caracteristica es beneficiosa para lo que queremos hacer. Si por el contrario no entendemos bien cierto funcionamiento, tal vez, como es en el caso descripto en esta nota, tendemos a setear todas las tablas que podamos en nologging sin reducir como esperabamos el redo. Además hay que saber evaluar las consecuencias negativas que podría ocasionar tener tablas en nologging y perder la información al no estar sustentada con los redo's.</span></span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; "><br /></span></span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="border-collapse: collapse; "><span class="Apple-style-span"><br /></span></span></span></div></div><div style="text-align: justify;"><br /></div><div><br /></div><div> </div>Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com1tag:blogger.com,1999:blog-5727738329548735676.post-84788807277977538492011-03-23T08:23:00.000-07:002011-03-29T07:59:51.005-07:00Como cambiar el umbral de tolerancia de cambios para recolección estadística en 11g (STALE_TOLERANCE)<div style="text-align: justify;">En varios articulos escribí sobre las estadisticas y su importancia para el correcto funcionamiento del optimizador por costos (CBO). Mantener las estadisticas al dia es a veces una tarea bastante compleja y tediosa, en especial en entornos con gran volumen de datos y alta tasa de cambios. Asegurar que en cada ejecución de sentencias se cuente con estadisticas "frescas" es todo un desafio para los arquitectos y dba's. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">A partir de 10g se automatizó bastante dicha tarea, ya que uno de los procesos que corren durante la ventana de mantenimiento, es justamente la recolección estadistica. Para optimizar la recolección solo se actualizan las tablas cuya tasa de cambio sea mayor al 10%. Se puede consultar que tablas estan desactualizadas consultando la vista de catálogo DBA_TAB_STATISTICS, en donde hay un campo llamado STALE_STATS que puede tomar dos valores YES (la tabla necesita nuevas estadisticas) o NO (la tabla no necesita nuevas estadisticas). El umbral es fijo en 10g y no puede modificarse. Ya que la ventana de mantenimiento esta configurada para activarse durante la noche por default, si por ejemplo, un proceso de cambio masivo sobre una tabla genera cambios por mas del 10% no tendremos estadisticas frescas hasta el otro dia. En esos casos se recomienda recolectar estadisticas manualmente inmediatamente despues de la operatoria de cambio sobre las tablas involucradas. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">En 11g se puede cambiar el umbral a nivel de tabla, esquema o de la base completa, con lo cual se puede hacer tan sensible la toma de estadisticas como se requiera. En la práctica he usado dicho feature solo con granularidad de tabla en casos donde se detectaron cambios de planes de sentencias que referencian ciertas tablas con cambios menores al 10%. A continuación voy a mostrar como usar el nuevo procedure SET_TABLE_PREFS del paquete DBMS_STATS para cambiar el umbral.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Repasando, en 11g se agregaron los siguiente procedimientos al paquete DBMS_STATS</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">SET_TABLE_PREFS</div><div style="text-align: justify;">SET_SCHEMA_PREFS</div><div style="text-align: justify;">SET_DATABASE_PREFS</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Con los sp's listados arriba se puede realizar las siguientes 3 nuevas configuraciones:</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">STALE_PERCENT: Para cambiar el umbral que determina cuando una tabla no tiene sus estadisticas al dia.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">INCREMENTAL: Para optimizar la recolección sobre tablas particionadas (ver articulo xxx)</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">PUBLISH: Para testea un nuevo set de estadisticas antes de publicarlas</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Voy a mostrar un ejemplo para cambiar el STALE_PERCENT de una tabla, consultando sobre el catalogo para que se vea como se van registrando los cambios:</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Primero voy a crear una tabla y luego tomo le tomo las estadisticas manualmente.</div><div style="text-align: justify;"><pre></pre></div><div style="text-align: justify;"><div style="text-align: justify;"><pre></pre></div><div style="text-align: justify;">create table t as select * from dba_objects</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">select count(1) from t</div><div style="text-align: justify;"> </div><div style="text-align: justify;">begin</div><div style="text-align: justify;"> dbms_stats.gather_table_stats(ownname = user; tabname = 'T');</div><div style="text-align: justify;">end;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">select num_rows,stale_stats from user_tab_statistics where table_name = 'T'</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">NUM_ROWS : 88538</div><div style="text-align: justify;">STALE_STATS: NO</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"></div><div style="text-align: justify;">La columna STALE_STATS nos permite determinar si las estadisticas estan frescas o no. Una práctica común que he visto muchas veces, es mirar la columna LAST_ANALYZED de la vista USER_TABLES. Claramente este valor puede ser engañoso, ya que se tiende a inferir que cuanto mas vieja haya sido la ultima toma mas desactualizada estará la tabla, pero... si la tabla no tuvo cambios importantes desde la ultima recolección?, en ese caso el campo STALE_STATS estará en NO y el LAST_ANALYZED podría tener varios dias o incluso meses. Esto ultimo no implica en absoluto que las stats de la tabla estén desactualizadas. Como regla, siempre recomiendo mirar la columna STALE_STATS para determinar si una tabla tiene las estadisticas correctas, y solo ver el LAST_ANALYZED como un dato adicional.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Ahora voy a generar cambios de tipos diversos a la tabla, de forma tal de generar mas del 10% de cambios, recordar que es el umbral de tolerancia default (STALE_TOLERANCE)</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><pre></pre></div><div style="text-align: justify;"><div style="text-align: justify;">update t set object_id = rownum</div><div style="text-align: justify;">where rownum <= 3000</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">delete t </div><div style="text-align: justify;">where rownum <= 3000</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">insert into t</div><div style="text-align: justify;">select * from dba_objects</div><div style="text-align: justify;">where rownum <= 3000</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"></div><div style="text-align: justify;">Voy a usar la vista USER_TAB_MODIFICATIONS que muestra la cantidad de DML´s por cada tabla desde la ultima toma de estadisticas. Pueden usar la info de dicha tabla, para conocer la tasa de cambios y el tipo de operaciones, lo cual resulta de mucha utilidad para conocer mas acerca de la operatoria en la base de datos. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><pre></pre></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><div style="text-align: justify; ">SQL> select inserts,updates,deletes from user_tab_modifications where table_name = 'T';</div><div style="text-align: justify; "><br /></div><div style="text-align: justify; ">no rows selected</div><div></div><div>No hay registros para la tabla, que raro, no?, si recien habia realizado cambios importantes. En realidad no es raro, el tema es que los cambios primero se almacenan en memoria y son "flusheados" a disco cada 30'. Para forzar el flush hacemos:</div><div><br /></div><div><pre></pre></div></div><div style="text-align: justify;"><div style="text-align: justify;">begin</div><div style="text-align: justify;"> dbms_stats.flush_database_monitoring_info;</div><div style="text-align: justify;">end;</div></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><div style="text-align: justify;">SQL> select inserts,updates,deletes from user_tab_modifications where table_name = 'T';</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"> INSERTS UPDATES DELETES</div><div style="text-align: justify;">---------- ---------- ----------</div><div style="text-align: justify;"> 3000 3000 3000</div><div><br /></div><div></div><div>Ahora si aparecen los cambios, tal cual se esperaba. Chequeamos si las estadisticas se marcan como "viejas":</div><div><pre></pre></div><div><div style="text-align: justify; ">select num_rows,stale_stats from user_tab_statistics where table_name = 'T'</div><div style="text-align: justify; "><br /></div><div style="text-align: justify; ">NUM_ROWS : 88538</div><div style="text-align: justify; ">STALE_STATS: YES</div></div><div><br /></div><div></div><div>Justamente, una vez impactados los cambios en el catalogo tambien se actualizó la columna STALE_STATS y pasó de NO a YES.</div><div><br /></div><div>Con la intro que realicé mas arriba, ahora puedo mostrarles como cambiar el umbral para la tabla T, para que ahora en lugar de tomar el umbral global default, utilice un umbral mayor: </div></div></div><div style="text-align: justify;"><div style="text-align: justify; "><pre></pre></div></div><div style="text-align: justify;"><div style="text-align: justify;">begin</div><div style="text-align: justify;"> dbms_stats.set_table_prefs(user,'T','STALE_PERCENT','15'); </div><div style="text-align: justify;">end;</div><div style="text-align: justify;"></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Vuelvo a realizar los inserts, updates y deletes anteriores, realizo flush de cache para actualizar el catálogo y reviso si las estadísticas de la tabla están marcadas como STALE:</div></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><pre></pre></div><div style="text-align: justify;"><div style="text-align: justify; ">update t set object_id = rownum</div><div style="text-align: justify; ">where rownum <= 3000</div><div style="text-align: justify; "><br /></div><div style="text-align: justify; ">delete t </div><div style="text-align: justify; ">where rownum <= 3000</div><div style="text-align: justify; "><br /></div><div style="text-align: justify; ">insert into t</div><div style="text-align: justify; ">select * from dba_objects</div><div style="text-align: justify; ">where rownum <= 3000</div><div style="text-align: justify; "><br /></div><div style="text-align: justify; "><div style="text-align: justify; ">begin</div><div style="text-align: justify; "> dbms_stats.flush_database_monitoring_info;</div><div style="text-align: justify; ">end;</div><div><br /></div></div></div><div style="text-align: justify;"><div style="text-align: justify; ">select num_rows,stale_stats from user_tab_statistics where table_name = 'T'</div><div style="text-align: justify; "><br /></div><div style="text-align: justify; ">NUM_ROWS : 88538</div><div style="text-align: justify; ">STALE_STATS: NO</div></div><div style="text-align: justify;"></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Como es observa, ahora las estadísticas no estan desactualizadas para Oracle y por lo tanto no se recolectarán las estadisticas para la tabla en la próxima ventana de mantenimiento. Este nuevo feature permite mayor granularidad para determinar cuando una tabla necesita estadisticas y cuando no se requieren, con lo cual se minimizan los tiempos de recolección, adecuando con mayor precisión dicho proceso a las necesidades particulares de cada tabla, esquema o base de datos. </div></div><div style="text-align: justify;"><span class="Apple-style-span"><p class="style9" style="margin-left: 40px; "></p><p class="style9" style="margin-left: 40px; "><br /></p></span></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div>Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com4tag:blogger.com,1999:blog-5727738329548735676.post-86311185707729811752011-02-18T04:04:00.000-08:002011-02-21T14:48:30.941-08:00Factorial de n usando una sentencia SQL simple.<div style="text-align: justify;">Quizás alguna vez se han preguntado porque no existe una función de agregación PROD, que obtenga el producto de una columna numerica o expresión de una tabla, me parece que no, verdad?. Muy probablemente a la mayoria, nunca se le ha generado esa inquietud, porque de hecho, no tiene, a priori, demasiada utilidad en los sistemas reales. De todas formas, la idea de la nota es mostrarles que tan simple y elegante puede ser una solución usando solo una simple sentencia SELECT, independientemente si le encuentran alguna utilidad o no.<br /></div><br /><div style="text-align: justify;">Como una breve introducción, voy a repasar las funciones de agregación, que son variadas. Las mas conocidas y usadas mas frecuentemente son:<br /></div><br />SUM: Retorna la suma de una columna o expresión<br />AVG: Retorna el promedio de una columa o expresión<br />MIN: Retorna el valor mínimo<br />MAX: Retorna el valor máximo<br /><br /><div style="text-align: justify;">Otras funciones, son las estadisticas, que suelo usar cuando necesito analizar tendencias y patrones, y son:<br /></div><br />STDDEV : Retorna la desviación standard de una columna o expresión<br />VARIANCE : Retorna la varianza de una columna o expresión<br />MEDIAN : Retorna la mediana de una columna o expresión<br /><br />existen muchas mas funciones de agregación para usar, ver detalle en el manual oficial para la versión de BD que necesiten, por ejemplo para 11g R2: <a style="color: rgb(255, 0, 0); font-weight: bold;" href="http://download.oracle.com/docs/cd/E11882_01/server.112/e17118/functions003.htm#i89203" type="text/css" rel="stylesheet"> SQL Reference 11.2 R2 (Funciones de Agregación)</a><br /><br /><div style="text-align: justify;">En esta oportunidad, voy a mostrar como simular la función PROD usando algunas reglas matematicas simples, y por ultimo, usar dicha función para obtener el factorial de un número dado:<br /></div><br />Para comenzar, voy a definir las dos funciones que voy a utilizar:<br /><br />ln(n) = Retorna el logarimo natural de n<br /><br />y su función inversa:<br /><br />exp(n) = Retorna <span style="font-size:130%;">e</span> elevado a la n<br /><br />Ahora, partiendo de la siguiente propiedad matematica de los logaritmos:<br /><br />ln(a) + Ln(b) = ln(a * b)<br /><br />Elevando e con cada lado de la ecuación anterior:<br /><br />exp(ln(a)+ln(b)) = exp(ln(a*b))<br /><br /><div style="text-align: justify;">Dado que exp y ln son funciones inversas, entonces se anulan y nos queda a multiplicado por b:<br /></div><br />exp(ln(a*b)) = a*b<br /><br />En este punto, ya tenemos definida y explicada la regla. Ahora voy a mostrar un ejemplo de uso, para obtener el factorial:<br /><br />La sentencia SQL para obtener el factorial de N tiene la siguiente forma:<br /><br /><span style="font-weight:bold;">select exp(sum(ln(rownum))) from dual<br />connect by rownum <= N ; </span><br /><br />Un ejemplo usando como consola sqlplus:<br /><pre><br />rop@DESA10G> variable n number<br />rop@DESA10G> exec :n := 3;<br /><br />Procedimiento PL/SQL terminado correctamente.<br /><br /><br />rop@DESA10G> select exp(sum(ln(rownum))) from dual<br />2 connect by rownum <= :n ; <br /><br />EXP(SUM(LN(ROWNUM)))<br />-------------------- <br /><span style="font-weight:bold;">6</span> <br /><br />rop@DESA10G> exec :n := 6;<br /><br />Procedimiento PL/SQL terminado correctamente.<br /><br />rop@DESA10G> select exp(sum(ln(rownum)))<br /> from dual<br />2 connect by rownum <= :n ; <br /><br />EXP(SUM(LN(ROWNUM)))<br />-------------------- <br /><span style="font-weight:bold;">720 </span> </pre><br />Como se ve, se puede obtener el factorial de cualquier número con una simple sentencia. También se podria usar para multiplicar las columnas de una tabla, multiplicar expresiones, etc.Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com3tag:blogger.com,1999:blog-5727738329548735676.post-63352009809908625852011-01-31T04:38:00.000-08:002011-02-02T03:44:34.328-08:00Row Prefetching en Oracle<div style="text-align: justify;"> Cada vez que una aplicación necesita obtener datos desde la base de datos, se lo solicita al driver y este ejecuta una cierta sentencia que retorna el resultado fila por fila, o mejor aún, retorna un conjunto de filas que son almacenadas del lado del cliente (caching de aplicación) y procesadas posteriormente.<br /><br />El mecánismo de retornar un conjunto de filas a vez se denomina "row prefetching" y sirve principalmente para minimizar las idas y vueltas a la base (round trips); los datos serán almacenados en la memoria y consumidos desde allí por la aplicación con la consiguiente mejora de rendimiento ya que se minimiza la comunicación con la base de datos. En esta nota tambien voy a mostrar ejemplos usando PL/SQL, Java y C#.<br /></div><div style="text-align: justify;"><br />Voy a realizar una comparativa usando bloques PL/SQL para implementar cursores para procesar los datos de una tabla T con 100,000 registros y creada de la siguiente manera:<br /></div><br /><pre><br />create table t (id int, pad varchar2(200));<br /><br />insert into t<br />select rownum,dbms_random.string('a',200)<br />from dual<br />connect by rownum <= 100000; </pre><br /><div style="text-align: justify;">Con la tabla creada, ahora voy a ejecutar el bloque que obtiene los datos a procesar con un cursor explicito, y voy a activar el trace para ver la cantidad de fetches que se requieren:<br /></div><pre><br />declare<br />cursor cur1 is select * from t;<br />l_rec t%ROWTYPE;<br />begin<br />open cur1;<br /><br />loop<br /> fetch cur1 into l_rec;<br /> exit when cur1%notfound;<br /> null;<br />end loop;<br />close cur1;<br />end;<br /><br /><br />SELECT *<br />FROM<br />T<br /><br /><br />call count cpu elapsed disk query current rows<br />------- ------ -------- ---------- ---------- ---------- ---------- ----------<br />Parse 1 0.00 0.00 0 1 0 0<br />Execute 1 0.00 0.00 0 0 0 0<br />Fetch <span style="font-weight: bold;">100001</span> 0.99 0.76 0 100016 0 100000<br />------- ------ -------- ---------- ---------- ---------- ---------- ----------<br />total 100003 0.99 0.76 0 100017 0 100000<br /></pre><br /><div style="text-align: justify;">Se observa desde la salida del trace (previamente procesada con tkprof) que la cantidad de fetches es igual a la cantidad de registros,es decir, se realizó un fetch por cada fila. Probemos realizar la misma operatoria pero ahora usando cursores implicitos:<br /></div><br /><pre><br />begin<br />for i in (select * from t)<br />loop<br />null;<br />end loop;<br />end;<br /><br /><br />SELECT *<br />FROM<br />T<br /><br /><br />call count cpu elapsed disk query current rows<br />------- ------ -------- ---------- ---------- ---------- ---------- ----------<br />Parse 1 0.00 0.00 0 0 0 0<br />Execute 1 0.00 0.00 0 0 0 0<br />Fetch <span style="font-weight: bold;">1001</span> 0.23 0.22 0 3899 0 100000<br />------- ------ -------- ---------- ---------- ---------- ---------- ----------<br />total 1003 0.23 0.22 0 3899 0 100000<br /></pre><br /><div style="text-align: justify;">Con cursores implicitos se necesitaron 1001, por lo cual haciendo una simple cuenta podemos afirmar que el prefetch fue de 100 filas, valor fijo y siempre y cuando el parametro plsql_optimize_level sea 2 (default a partir de 10g R2). Además notar que las lecturas lógicas y el tiempo de procesamiento total es menor cuando se usa prefetch.<br /><br />Esta podría ser una de las tantas justificaciones para tentarlos a usar cursores implicitos, no?. En general yo suelo usar cursores implicitos (CI), ya que escribo menos, y además he probado que son mas eficientes que los cursores explicitos (CE). Claro, que en casos particulares no nos queda otra opción que usar CE cuando queremos tener mas control de todos las etapas (declare,open,fetch y close). Sin embargo con la introducción de BULK COLLECT podemos mejorar la performance con CE de forma tal de paralelizar. Tambien con bulk collect podemos definir facilmente el tamaño del fetch. Ahi va un ejemplo:<br /></div><br /><pre><br />declare<br />cursor cur1 is select * from t;<br />type t_type is table of t%ROWTYPE;<br />l_t t_type;<br />begin<br />open cur1;<br />loop<br /> fetch cur1 BULK COLLECT into l_t LIMIT 100;<br /> exit when cur1%notfound;<br /> for i in l_t.first..l_t.last<br /> loop<br /> null;<br /> end loop;<br />end loop;<br />close cur1;<br />end;<br /><br /><br />call count cpu elapsed disk query current rows<br />------- ------ -------- ---------- ---------- ---------- ---------- ----------<br />Parse 1 0.00 0.00 0 0 0 0<br />Execute 1 0.00 0.00 0 0 0 0<br />Fetch <span style="font-weight: bold;">1001</span> 0.25 0.24 0 3899 0 100000<br />------- ------ -------- ---------- ---------- ---------- ---------- ----------<br />total 1003 0.25 0.24 0 3899 0 100000<br /></pre><br /><div style="text-align: justify;">En el ejemplo anterior definí un tamaño de prefetch de 100, tal cual se puede verificar en la salida del trace. Definamos ahora un tambaño de fetch mayor (1000):<br /></div><pre><br />declare<br />cursor cur1 is select * from t;<br />type t_type is table of t%ROWTYPE;<br />l_t t_type;<br />begin<br />open cur1;<br />loop<br /> fetch cur1 BULK COLLECT into l_t LIMIT 1000;<br /> exit when cur1%notfound;<br /> for i in l_t.first..l_t.last<br /> loop<br /> null;<br /> end loop;<br />end loop;<br />close cur1;<br />end;<br /><br /><br />call count cpu elapsed disk query current rows<br />------- ------ -------- ---------- ---------- ---------- ---------- ----------<br />Parse 1 0.00 0.00 0 0 0 0<br />Execute 1 0.00 0.00 0 0 0 0<br />Fetch <span style="font-weight: bold;">101</span> 0.24 0.24 0 3052 0 100000<br />------- ------ -------- ---------- ---------- ---------- ---------- ----------<br />total 103 0.24 0.24 0 3052 0 100000<br /></pre><br /><div style="text-align: justify;">Hicieron falta 101 llamadas a la base, cada una retornó 1000 filas al cliente. Dichas filas quedan almacenadas en la memoria del cliente para su posterior utilización.<br /><br />Por ultimo, voy a mostrar como se define el tamaño del fetch en java y C#:<br /><br />Porción de Código java para usar prefetch:<br /></div><pre><br />try<br />{<br />sql = "select id, pad from t";<br />statement = connection.prepareStatement(sql);<br />statement.setFetchSize(100);<br /><span style="font-weight: bold;"> resultset = statement.executeQuery();</span><br />while (resultset.next())<br />{<br />id = resultset.getLong("id");<br />pad = resultset.getString("pad");<br />// Implementación de la lógica en el cuerpo del bucle<br />}<br />resultset.close();<br />statement.close();<br />}<br />catch (SQLException e)<br />{<br />throw new Exception("Error : " + e.getMessage());<br />}<br /></pre><br /><div style="text-align: justify;">Porción de Código C# (.NET) para usar prefetch:<br /></div><pre><br />sql = "select id, pad from t";<br />command = new OracleCommand(sql, connection);<br />command.AddToStatementCache = false;<br />reader = command.ExecuteReader();<br /><span style="font-weight: bold;"> reader.FetchSize = command.RowSize * 100;</span><br />while (reader.Read())<br />{<br /> id = reader.GetDecimal(0);<br /> pad = reader.GetString(1);<br /> // Implementación de la lógica en el cuerpo del buclejavascript:void(0)<br />}<br />reader.Close();<br /></pre><br />Para ver mas sobre este tema y sobre otros temas de performance, recomiendo la lectura del excelente libro de Christian Antognini:<a style="color: rgb(255, 0, 0); font-weight: bold;" href="http://www.amazon.com/Troubleshooting-Oracle-Performance-Christian-Antognini/dp/1590599179" type="text/css" rel="stylesheet"> Troubleshooting Oracle Performance (by Christian-Antognini)</a>Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com0tag:blogger.com,1999:blog-5727738329548735676.post-77234143344684683302011-01-27T05:43:00.000-08:002011-01-31T04:07:05.732-08:00Nueva funcionalidad para el SELECT FOR UPDATE (SKIP LOCKED)<div style="text-align: justify;">En muchas ocasiones tuve la oportunidad de revisar código pl/sql en donde se programa, entre otras cosas, la "marcación" de registros por medio de un flag. Estas marcas, en general se implementan modificando una columna (ej: estado) donde se denota en que etapa del procesamiento se encuentra la sesión y así evitar solapamientos con otras sesiones paralelas que esten haciendo lo mismo.<br /><br />La forma mas común que yo he visto para realizar la operatoria descripta es usando "SELECT ... FOR UPDATE NOWAIT" del registro de la tabla maestra para asegurar que las demás sesiones no puedan procesar dicho registro. Una vez que el registro se procesó, las otras sesiones podrán tomar el siguiente registro disponible para procesar. Si no se requiere un orden para procesar, este enfoque atenta contra el paralelismo real. Esto se da porque mientras una sesión este procesando un registro las otras deberan esperar a que se commitee para poder procesar el siguiente registro. Esto sucede porque Oracle no lockea los selects, entonces aunque el proceso este procesando un registro dado, no se puede "saltear" y tomar el siguiente, sino que se devuelve un error de que el recurso esta siendo usado (ORA-00054 recurso ocupado y obtenido con NOWAIT). <br /><br />A partir de 11g se documentó una opción (por lo que pude probar existe desde 9i pero no estaba documentada) muy interesante para lidiar con este tipo de procesamiento, que en realidad es una extensión de la sintaxis del for update para permitir, justamente, para poder procesar con mucho mayor grado de paralelismo y asi posibilitar que cada sesion "saltee" el registro en procesamiento y tome el próximo disponible para procesar. Esto mejora sensiblemente los tiempos de procesamiento general, ya que se podrán levantar n sesiones en paralelo minimizando la interdependencia entre ellas.<br /><br />Abajo les muestro un ejemplo:<br /></div><br /><br />Creo una tabla T y le inserto 100 registros: <br /><pre><br />create table t (id int,<br /> estado char(1),<br /> fecha date,<br /> importe number(8,2))<br /><br /><br />insert into t<br />select rownum,<br /> 'C',<br /> sysdate+dbms_random.value(-50,50),<br /> dbms_random.value(1,1000000)<br />from dual<br />connect by rownum <= 100 <br /></pre><br /><br />Cambio el estado de 10 filas, elegidas al aleatoriamente. Dichas filas quedarán en estado 'P', suponiendo que el estado 'P' es disponibles para procesar.<br /><pre><br />create view t_v as <br />select id<br />from t <br />order by dbms_random.value <br /><br />update t<br />set estado = 'P'<br />where id in (select id from t_v) <br />and rownum <= 10 <br /><br /><br />select * from t where estado = 'P'; <br /><br /> ID E FECHA IMPORTE<br />---------- - --------- ----------<br /> 1 P 20-DIC-10 888292.36<br /> 27 P 09-MAR-11 845864.47<br /> 39 P 19-ENE-11 583901.49<br /> 52 P 23-FEB-11 157817.12<br /> 62 P 05-ENE-11 680744.2<br /> 63 P 19-ENE-11 679375.69<br /> 73 P 20-ENE-11 750069.3<br /> 87 P 26-FEB-11 783555.02<br /> 96 P 13-DIC-10 973668.87<br /> 100 P 28-FEB-11 756671.07<br /></pre><br /><br />En una consola ejecutamos el siguiente bloque pl, para tomar el siguiente registro a procesar (Sesion 1)<br /><pre><br />declare<br /> cursor l_cur is<br /> select *<br /> from t<br /> where estado = 'P'<br /> for update nowait skip locked;<br /> l_rec l_cur%rowtype;<br />begin<br /> open l_cur;<br /> fetch l_cur into l_rec; <br /> -- <aca va el código que implementa la reglas de negocio><br /> dbms_output.put_line (l_rec.id);<br />end;<br /><br /><span style="font-weight:bold;">Resultado: 1</span><br /></pre><br /><br />En otra sesion (Sesion 2) ejecutamos el mismo bloque pl:<br /><br /><pre><br />declare<br /> cursor l_cur is<br /> select *<br /> from t<br /> where estado = 'P'<br /> for update nowait skip locked;<br /> l_rec l_cur%rowtype;<br />begin<br /> open l_cur;<br /> fetch l_cur into l_rec; <br /> -- <aca va el código que implementa la reglas de negocio><br /> dbms_output.put_line (l_rec.id);<br />end;<br /><br /><span style="font-weight:bold;">Resultado: 27</span><br /></pre> <br /><br />La sesión 1 tomó el registro con id=1 y la sesión 2 tomó el registro con id=27, que son el primero y segundo respectivamente en el listado de mas arriba. Claramente no se commiteo nada y sin embargo la sesion 2 pudo tomar un nuevo registro para procesar mientras la sesión 1 estaba procesando. Con el select for update convencional la sesión 2 hubiese fallado y por código se deberia volver a intentar hasta que la sesión 1 libere el registro (commit/rollback) con id=1 y asi permitir pasar al siguiente.Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com7tag:blogger.com,1999:blog-5727738329548735676.post-28925953034325400442011-01-17T04:15:00.000-08:002011-01-21T04:06:35.882-08:00Un ejemplo de como realizar calculos con fechas con sqlHace unos dias me llegó un mail de esos tipicos mails cadena que supuestamente traen suerte si se lo envias a 20 personas mas. Claramente estos mails no tienen sustento real en general y actuan por ingenieria social como mecanismo de generación de tráfico basura. Rara vez alcanzo a leer mas de 2 lineas antes de borrarlos, pero en este caso me llamó la atención y despertó mi curiosidad, ya que probar su veracidad con una consulta sql seria muy facil. Claramente esto no tiene ninguna utilidad mas que mostrarles como resolver cuestiones y relaciones de fechas usando, en este caso Oracle, como una<br />calculadora extremadamente costosa.<br /><br />El mail decia algo asi: "Este año el mes de julio tiene 5 viernes, 5 sabados y 5 domingos, esto se da cada 823 años, esto se denomina saco de dinero, envia esto a 20 amigos... bla bla bla". Cuando lo leí, me dí cuenta que no podia ser real ya que tener esa periodicidad tan exacta y extensa, tratandose de fechas, no era posible. Para probarlo prolijamente, realicé una consulta de forma tal de generar fechas automaticamente, comenzando desde una fecha bien lejana (500000 años hacia atrás) y sumando cada vez que el mes fuera Julio (07) los dias viernes, sabado y domingo (6,7,1). Si la suma es 15 entonces en ese año se da que lo que reza el mail en cuestión. A continuación les muestro la consulta y el resultado: <br /><br /><pre><br />select to_char(dt,'YYYY') dt,count(1)<br />from (select sysdate-500000+rownum dt<br /> from dual<br /> connect by rownum <= 500000)<br />where to_char(dt,'MM') = '07' <br /> and to_char(dt,'d') in (6,7,1)<br />group by to_char(dt,'YYYY')<br />having count(1) > 14<br />order by to_number(dt) desc<br /><br /> 1 2005 15<br /> 2 1994 15<br /> 3 1988 15<br /> 4 1983 15<br /> 5 1977 15<br /> 6 1966 15<br /> 7 1960 15<br /> 8 1955 15<br /> 9 1949 15<br />10 1938 15<br />11 1932 15<br />12 1927 15<br />13 1921 15<br />14 1910 15<br />15 1904 15<br />16 1898 15<br />17 1892 15<br />18 1887 15<br />19 1881 15<br />20 1870 15<br /></pre><br />Como se ve, en el 2005 se dió por ultima vez la relación citada, pasaron solo 6 años para que se repita y no 823!!!.Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com1tag:blogger.com,1999:blog-5727738329548735676.post-86808282948255329822011-01-14T07:32:00.000-08:002011-01-19T03:35:49.902-08:00Análisis de consumo de espacio REDO global, por cada sesión y por cada sentencia<div style="text-align: justify;">El consumo de espacio de redo (redo consumption) es algo inevitable, aunque es posible minimizarlo en ciertos casos y con ciertas operaciones, no se puede cancelar por completo. El redo es necesario para asegurar que ante una caida imprevista de la base, los datos en los bloques modificados, commiteados y todavia no persistidos en disco (dirty blocks), puedan recuperarse al levantar nuevamente la base con un proceso automatico denominado "rolling forward".<br /><br />Si la base esta en modo archivelog, cada redo log se copia aparte para que no se sobreescriba y asi permitir, cuando se lo requiera, por ejemplo, poder realizar backup con la base online, ir a un estado anterior de la base, recuperar una base usando el ultimo backup full y aplicando los archives, etc.<br /><br />Si el consumo de redo es importante, la I/O se va a ver comprometida y podría afectar el rendimiento general de la base. Recordar que la escritura en redo es secuencial, distinta a la escritura en datafiles. Siempre alojar los redo sobre raid 1 o similares y separados de los datafiles. Además, tambien tener en cuenta que con cada commit se debe escribir en redo en forma sincronica. Esto significa serializar, y por lo tanto debe ser lo mas eficiente posible.<br /><br />Para que puedan medir el consumo de redo, y en consecuencia cantidad de archives generados, en sus bases, les paso una serie de metodos y consultas que uso habitualmente. Las consultas permiten obtener lo siguiente:<br /></div><br /><ul><li>Consumo de Redo de la ultima hora</li><li>Consumo de Redo por sesión</li><li>Consumo de Redo por Consultas (*)</li></ul><br /><div style="text-align: justify;">(*) El consumo por sentencia no se puede obtener en forma directa, entonces armé un procedimiento para ir guardando espacio por sqlid. Esta forma puede no ser muy precisa en ciertas ocasiones. Tiene que usarse teniendo ciertos requisitos y consideraciones. Puede ser muy util para testear el consumo de redo de una aplicación antes de la puesta en producción.<br /></div><br /><span><span style="font-weight: bold; "><span class="Apple-style-span" style="font-size: 130%;">Para obtener consumo de redo global de la ultima hora (desde el ultimo snapshot de AWR) </span><span class="Apple-style-span">(redo consumption by DB)</span></span><br /></span><br />Ejecutar la siguiente consulta que da el consumo de la base de datos desde el ultimo snapshot, es decir desde la ultima hora exacta. Es decir si lo ejecutamos a las 16:30, nos dará el consumo desde las 16hs para toda la base<br /><br /><pre><br />select round((t1.value-t2.value)/1024/1024,2) "Consumo_Redo(MB)"<br />from<br />(select value from v$sysstat where name = 'redo size') t1,<br />(select value from dba_hist_sysstat<br />where stat_name = 'redo size'<br />and snap_id = (select max(snap_id) from dba_hist_sysstat)) t2<br /></pre><br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Para obtener consumo de redo por sesión </span></span><span class="Apple-style-span" style="font-weight: bold; "><span class="Apple-style-span">(redo consumption by session)</span></span><br /><br />Ejecutar la siguiente consulta, que da el consumo de redo por sesión. Considerar que el acumulado es desde que la sesión se abre<br /><pre><br />select se.INST_ID,<br /> se.SID,<br /> se.USERNAME,<br /> se.OSUSER,<br /> se.TERMINAL,<br /> se.PROGRAM,<br /> round(ss.value/1024/1024,2) "Redo Size(Mb)"<br />from gv$session se,<br />gv$sesstat ss,<br />v$statname sn<br />where se.SID = ss.SID<br />and ss.STATISTIC# = sn.STATISTIC#<br />and sn.NAME = 'redo size'<br />and username is not null<br />order by "Redo Size(Mb)" desc<br /></pre><br /><span><span style="font-weight: bold; "><span class="Apple-style-span" style="font-size: 130%;">Para obtener consumo de redo por sentencia </span><span class="Apple-style-span">(redo consumption by sqlid/sentence)</span></span></span><br /><br />Primero realizar el setup copiado a continuación (copiar el contenido en un archivo .sql y ejecutarlo desde sqlplus en el usuario elegido como repositorio) :<br /><br /><pre><br /><pre>Rem<br />Rem setup_redo_usage.sql (Redo Usage by Sentence/SQLID)<br />Rem<br />Rem NOMBRE<br />Rem setup_redo_usage.sql<br />Rem<br />Rem DESCRIPCION<br />Rem Configura la programacion de un job para recolectar <br />Rem información de uso de espacio de redo por sqlid.<br />Rem<br />Rem NOTAS - REQUISITOS DE INSTALACION<br />Rem El usuario que ejecute el script debera tener quota<br />Rem suficiente sobre un tablespace auxiliar (ej:TOOLS)<br />Rem para poder almacenar la informacion de monitoreo generada<br />Rem cada 5".<br />Rem Es necesario otorgar privilegios de SELECT sobre las<br />Rem vistas dinamicas:<br />Rem<br />Rem Conectado con sys hacer:<br />Rem<br />Rem grant select on gv_$sesstat to <usuario>;<br />Rem grant select on v_$statname to <usuario>;<br />Rem grant select on gv_$session to <usuario>;<br />Rem grant select on gv_$sqlarea to <usuario>;<br />Rem <br />Rem<br />Rem MODIFICADO (DD/MM/YY)<br />Rem<br />Rem<br />Rem Pablo A. Rovedo 06/01/11 -- Creado v 1.0<br />Rem<br /><br />-- Borra la tabla TBL_REDO_USAGE si existe<br /><br />drop table tmp$redo_usage<br />/<br /><br />-- Crea la tabla de repositorio TBL_REDO_USAGE<br /><br />create table tmp$redo_usage<br />(<br />USERNAME VARCHAR2(30),<br />OSUSER VARCHAR2(30),<br />TERMINAL VARCHAR2(30),<br />PROGRAM VARCHAR2(48),<br />SQL_ID VARCHAR2(13),<br />SQL_FULLTEXT CLOB,<br />REDO_SIZE NUMBER,<br />SNAP DATE,<br />INST_ID NUMBER(1)<br />)<br />pctfree 0<br />nologging<br />/<br /><br /><br />-- Crea el procedimiento que recolecta la información de Alocación de<br />-- espacio de redo<br /><br />create or replace procedure p_get_redo_usage<br />is<br />begin<br />insert /*+ append */ into tmp$redo_usage<br />select s.USERNAME,<br /> s.OSUSER,<br /> s.terminal,<br /> s.PROGRAM,<br /> s.SQL_ID,<br /> sa.SQL_FULLTEXT,<br /> round(ss.VALUE/1024/1024) redo_size,<br /> sysdate,<br /> s.inst_id<br />from gv$sesstat ss,<br /> v$statname sn,<br /> gv$session s,<br /> gv$sqlarea sa<br />where s.sid = ss.sid<br /> and s.inst_id = ss.inst_id<br /> and sn.STATISTIC# = ss.STATISTIC#<br /> and s.sql_id = sa.SQL_ID<br /> and s.inst_id = sa.inst_id<br /> and sn.name = 'redo size'<br /> and s.username not in ('SYS','SYSTEM');<br />commit;<br />end;<br />/<br /><br />-- Borra el job si ya existe<br /><br />begin<br />dbms_scheduler.drop_job(job_name => 'J_SAVE_REDO_USAGE',<br /> force => true);<br />end;<br />/<br /><br />-- Crea un nuevo job<br /><br />begin<br />dbms_scheduler.create_job(<br />job_name => 'J_SAVE_REDO_USAGE'<br />,job_type => 'PLSQL_BLOCK'<br />,job_action => 'begin p_get_redo_usage; end;'<br />,start_date => sysdate<br />,end_date => sysdate+1/24 -- Recolecta durante 1 hora<br />,repeat_interval => 'FREQ=SECONDLY;BYSECOND=0,5,10,15,20,25,30,35,40,45,50,55'<br />,enabled => TRUE<br />,comments => 'Almacena Informacion de Alocación de espacio de redo');<br />end;<br />/<br /></usuario></usuario></usuario></usuario></pre><br /></pre><div style="text-align: justify;">Luego de terminada la recolección (en el script se definió un intervalo<br />de monitoreo de 1 hora) se puede ejecutar la siguiente consulta para ver<br />los resultados:<br /></div><pre><pre><br />select sql_id,sum(redo_size) "redo_size(Mb)"<br />from (select unique sql_id,<br /> redo_size-lead(redo_size) over (partition by sql_id order by snap desc) redo_size<br />from tmp$redo_usage)<br />where redo_size is not null<br />group by sql_id<br />order by "redo_size(Mb)" desc<br /></pre><br /></pre>Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com0tag:blogger.com,1999:blog-5727738329548735676.post-84540610382332339632010-12-22T06:07:00.000-08:002010-12-24T05:18:22.681-08:00Comparacion de Métodos y Tipos de joins en Oracle<div style="text-align: justify;"> Para armar el plan de ejecución el optimizador debe realizar las siguientes acciones básicas:<br /><br /></div><ol style="text-align: justify;"><li> Determinar el orden de evaluación de las tablas. </li><li> Determinar el método de join.</li><li>Determinar los tipos de accesos (access path, ej: full scan, rowid, index range, etc).</li><li> Determinar el orden de filtrado. </li></ol><div style="text-align: justify;"><br />Los 3 primeros forman la estructura de árbol que da soporte al plan de ejecución. El 4to define el caudal de datos que "fluye" por el árbol. En esta oportunidad solo voy a concentrarme en el punto 2, dejando los otros para futuras notas.<br /><br />Los joins se realizan siempre entre dos set de datos, si la sentencias tuviera mas de dos tablas se determinan la dos primeras tablas a joinear y el resultado se joinea con la siguiente tabla, ese resultado se joinea con la siguiente tabla y asi siguiendo.<br /><br />Los métodos de join mas comunes son:<br /><br /></div><ul style="text-align: justify;"><li> NESTED LOOP JOIN</li><li> SORT MERGE JOIN</li><li> HASH JOIN</li><li> CARTESIAN JOIN</li></ul><div style="text-align: justify;"><br /><span style="font-weight: bold;">Descripción de NESTED LOOP JOIN</span><br /><br />Los dos set de datos procesados por nested loop (NL) se llaman outer loop e inner loop. El outer loop es ejecutado una sola vez y el inner loop una vez por cada registro retornado por el outer loop. Las principales caracteristicas de NL son:<br /><br /></div><ul style="text-align: justify;"><li>Son la mejor opción cuando se requiere obtener la primera fila lo antes posible, de esta forma no es necesario tener que procesar todos los datos para comenzar a retornar resultados. Esto es muy performante, por ejemplo, para aplicaciones front-end que usan paginación.</li><li>Permiten aprovechar los filtros y condiciones de joins usando los indices disponibles.</li><li>Se pueden usar con cualquier tipo de joins. </li></ul><div style="text-align: justify;"><br /><span style="font-weight: bold;">Descripción de HASH JOIN</span><br /><br />Los dos set de datos procesados por hash join (HJ) son build input y probe input. Con el build input se construye en memoria (o en tablespace temporal si no hubiera suficiente memoria fisica disponible) una tabla de hash. Una vez que se construyó la build input se comienza a procesar usando para cada registro de la probe input la tabla de hash de modo de comparar si se satisface o no la condición de join. Las principales caracteristicas de HJ son:<br /><br /></div><ul style="text-align: justify;"><li>La tabla de hash usualmente es contruida usando el set de datos mas pequeño.</li><li>No todos los tipos de joins pueden usarse, por ejemplo los theta joins y cross joins no son soportados.</li><li>Para que se comiencen a retornar las filas la tabla de hash debe estar creada y procesada.</li><li>HJ no puede aplicar condiciones de joins usando indices.</li></ul><div style="text-align: justify;"><span style="font-weight: bold;"></span><br /><span style="font-weight: bold;">Descripción de SORT MERGE JOIN</span><br /><br />Los dos set de datos procesado por el merge join (MJ) son leidos y ordenados de acuerdo a las columnas referenciadas en la condición de join. Una vez que los dos set estan ordenados son mezclados (merge). El ordenamiento se realiza en memoria siempre y cuando la memoria fisica sea suficiente, sino alcanza la memoria (pga) se deberá usar espacio temporal como soporte lo cual, como es esperable, ralentizará las operaciones. Las principales caracteristicas de MJ son:<br /><br /></div><ul style="text-align: justify;"><li>Ambos data set deben ser ordenados antes del merge</li><li>La primera fila del result set recien es retornada cuando comienza el merge. </li><li>Todos los tipos de joins son soportados.</li></ul><div style="text-align: justify;"><span style="font-size:130%;"><span style="font-weight: bold;"></span></span><br /><span style="font-size:130%;"><span style="font-weight: bold;">Tipos de Joins</span></span><br /><br />Existen dos sintaxis posibles para usar con joins:<br /><br /> SQL-ANSI-86<br /> SQL-ANSI-92<br /><br />La primera es la que uso en general, y es la mas común, la segunda es mas nueva y es standard para otros motores de base de datos, es mas común para la nuevas generaciones de desarrolladores y dbas o para los que vengan de usar sql server . Es, además mas clara porque separa los filtros de los joins, lo cual es mas sencillo para leer e interpretar. Ahora voy a hacer un breve repaso de los tipos de joins con ejemplos en la dos notaciones:<br /><br /><br /><span style="font-weight: bold;">Cross Join</span><br /><br />Tambien llamado producto cartesiano. En general se usa cuando no se especifican los joins para algunas tablas. Tambien lo he visto en ciertos planes particulares donde es la mejor opción , aunque es muy raro<br /><pre><br />select emp.ename,dept.dname<br />from emp, dept<br /><br />select emp.ename,dept.dname<br />from emp CROSS JOIN dept<br /></pre><br /><br /><span style="font-weight: bold;">Theta Join </span><br /><br />Tambien llamados inner join, y retorna solo las filas que satisfacen una condición de join<br /><pre><br />select emp.enam, salgrade.grade<br />from emp, salgrade<br />where emp.sal between salgrade.local and salgrade.hisal<br /><br />select emp.ename, salgrade.grade<br />from emp INNER JOIN salgrade on emp.sal between salgrade.losal and salgrade.hisal<br /></pre><br /><br /><span style="font-weight: bold;">Equi Join</span><br /></div><br /><div style="text-align: justify;">Tambien llamado natural join, es un caso especial de theta join donde solo se usan operadores<br />de igualdad para las condiciones de join<br /><pre><br />select emp.ename, dept.dname<br />from emp, dept<br />where emp.deptno = dept.deptno<br /><br />select emp.ename, dept.dname<br />from emp NATURAL JOIN dept on emp.deptno = dept.deptno<br /></pre><br /><br /><span style="font-weight: bold;">Self Join </span><br /><br />Son un caso especial de theta join donde la tabla joineada es la misma.<br /><pre><br />select emp.ename,mgr.ename<br />from emp, emp mgr<br />where emp.mgr = mgr.empno<br /><br /><br />select emp.ename, mgr.ename<br />from emp JOIN emp mgr on emp.mgr = mgr.empno<br /></pre><br /><br /><span style="font-weight: bold;">Outer Join</span><br /><br />Los outer join extienden el result set de los theta joins. Con este tipo de join todas las filas de una de la tablas involucradas son retornadas aunque no matcheen con las columnas de join de la otra tabla, retornando NULL en las columnas de los registros de la tabla que no matchea. Oracle usa una sintaxis propia pero lo recomendable es usar la sintaxis ansi-92 ya que es portable a otros motores de base de datos.<br /><br />Por ejemplo, para ver la cantidad de empleados por departamento, considerando tambien los departamentos que no tienen ningun empleado:<br /><pre><br />select dept.dname,count(emp.ename)<br />from emp, dept<br />where dept.deptno = emp.DEPTNO (+)<br />group by dept.dname<br /><br />select dept.dname,count(emp.ename)<br />from dept LEFT OUTER JOIN emp on (dept.deptno = emp.DEPTNO)<br />group by dept.dname<br /></pre><br />Con la nueva sintaxis tambien se puede usar RIGHT OUTER JOIN y FULL OUTER JOIN.<br /><br />A partir de Oracle 10g es posible usar un nuevo tipo de join ( o subtipo) llamado partitioned outer join. Este tipo de join a priori pareceria estar relacionado con tablas particionadas pero no, en este caso, el concepto de particionado es que los datos se dividen en subset durante la ejecución<br /><pre><br />select dept.dname, count(emp.empno)<br />from dept LEFT JOIN emp PARTITION BY (emp.job) ON emp.deptno = dept.deptno<br />group by dept.dname<br /></pre><br /><br /><span style="font-weight: bold;">Semi Join</span><br /><br />Este tipo de join entre dos tablas retorna solo las filas de una de las tablas cuyas columas de join existen en la otra tabla.<br /><br />Por ejemplo para ver que empleados tienen bonus:<br /><pre><br />select *<br />from scott.emp emp<br />where exists (select null from scott.bonus bon<br /> where emp.EMPNO = bon.ename)<br /> <br />select *<br />from scott.emp emp<br />where empno in (select empno from scott.bonus bon)<br /></pre><br /><br /><br /><span style="font-weight: bold;">Anti Join</span><br /><br />Este tipo de join entre dos tablas retorna solo las filas de una de las tablas cuyas columnas de join NO existen en la otra tabla<br /><br />Por ejemplo para consultar los empleados que no tienen bonus:<br /><pre><br />select *<br />from scott.emp emp<br />where not exists (select null from scott.bonus bon<br /> where emp.EMPNO = bon.ename)<br /> <br />select *<br />from scott.emp emp<br />where empno not in (select empno from scott.bonus bon)<br /></pre><br /><br />Una vez repasados los tipos de joins retomemos los métodos de joins y veamos con algunos ejemplos como se arman los planes según cada método:<br /><br />Como siempre voy a crear el entorno para poder probar y si alguien quiere testearlo en su propio ambiente puede hacerlo:<br /><pre><br />-- Creo tabla T1<br />create table t1<br />as<br />select rownum c1,<br /> trunc(dbms_random.value(1,100)) c2,<br /> dbms_random.string('a',100) c3<br />from dual<br />connect by rownum <= 1000000 -- Creo tabla T2 create table t2 as select rownum c1, trunc(dbms_random.value(1,100000)) c2, dbms_random.string('a',100) c3 from dual connect by rownum <= 2000000 -- Creo un indice para la tabla T2 create index t2_idx on t2(c2) -- Recolecto estadisticas para los segmentos creados: begin dbms_stats.gather_table_stats(ownname => user,tabname => 'T1',cascade => true);<br /> dbms_stats.gather_table_stats(ownname => user,tabname => 'T2',cascade => true);<br />end;<br /></pre><br /><br />Ahora voy a mostrar cada método de join, obviamente lo voy a forzar con hints para hacerlo mas sencillo:<br /><br />Forzamos para que se use NESTED LOOP JOIN:<br /><pre><br />select /*+ leading(t1) use_nl(t2) index(t2) */ count(1)<br />from t1, t2<br />where t1.c2 = t2.c2<br />and t1.c3 > 'zzz'<br /><br />Plan hash value: 3705558160<br /><br />------------------------------------------------------------------------------<br />| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |<br />------------------------------------------------------------------------------<br />| 0 | SELECT STATEMENT | | 1 | 109 | 3602 (1)| 00:01:19 |<br />| 1 | SORT AGGREGATE | | 1 | 109 | | |<br />| 2 | NESTED LOOPS | | 21 | 2289 | 3602 (1)| 00:01:19 |<br />|* 3 | TABLE ACCESS FULL| T1 | 1 | 104 | 3600 (1)| 00:01:19 |<br /><span style="font-weight: bold;">|* 4 | INDEX RANGE SCAN | T2_IDX | 21 | 105 | 2 (0)| 00:00:01 |</span><br />------------------------------------------------------------------------------<br /><br />Predicate Information (identified by operation id):<br />---------------------------------------------------<br /><br /> 3 - filter("T1"."C3">'zzz')<br /> 4 - access("T1"."C2"="T2"."C2")<br /></pre><br /><br />Forzamos para que se use MERGE JOIN:<br /><pre><br /><br />select /*+ ordered use_merge(t2) */ count(1)<br />from t1, t2<br />where t1.c2 = t2.c2<br />and t1.c3 > 'zzz'<br /><br />Plan hash value: 1164406001<br /><br />------------------------------------------------------------------------------------------<br />| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |<br />------------------------------------------------------------------------------------------<br />| 0 | SELECT STATEMENT | | 1 | 109 | | 10796 (2)| 00:03:55 |<br />| 1 | SORT AGGREGATE | | 1 | 109 | | | |<br />| 2 | MERGE JOIN | | 21 | 2289 | | 10796 (2)| 00:03:55 |<br />| 3 | SORT JOIN | | 1 | 104 | | 3601 (1)| 00:01:19 |<br />|* 4 | TABLE ACCESS FULL | T1 | 1 | 104 | | 3600 (1)| 00:01:19 |<br />|* 5 | SORT JOIN | | 1997K| 9754K| 45M| 7195 (2)| 00:02:37 |<br />|<span style="font-weight: bold;"> 6 | INDEX FAST FULL SCAN| T2_IDX | 1997K| 9754K| | 1007 (2)| 00:00:22 |</span><br />------------------------------------------------------------------------------------------<br /><br />Predicate Information (identified by operation id):<br />---------------------------------------------------<br /><br /> 4 - filter("T1"."C3">'zzz')<br /> 5 - access("T1"."C2"="T2"."C2")<br /> filter("T1"."C2"="T2"."C2")<br /></pre><br /><br />Forzamos para que se use HASH JOIN:<br /><pre><br /><br />select /*+ leading(t1) use_hash(t2) */ t1.*<br />from t1, t2<br />where t1.c2 = t2.c2<br />and t1.c3 > 'zzz'<br /><br /><br />Plan hash value: 442409572<br /><br />---------------------------------------------------------------------------------<br />| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |<br />---------------------------------------------------------------------------------<br />| 0 | SELECT STATEMENT | | 1 | 109 | 4620 (2)| 00:01:41 |<br />| 1 | SORT AGGREGATE | | 1 | 109 | | |<br />|* 2 | HASH JOIN | | 21 | 2289 | 4620 (2)| 00:01:41 |<br />|* 3 | TABLE ACCESS FULL | T1 | 1 | 104 | 3600 (1)| 00:01:19 |<br /><span style="font-weight: bold;">| 4 | INDEX FAST FULL SCAN| T2_IDX | 1997K| 9754K| 1007 (2)| 00:00:22 |</span><br />---------------------------------------------------------------------------------<br /><br />Predicate Information (identified by operation id):<br />---------------------------------------------------<br /><br /> 2 - access("T1"."C2"="T2"."C2")<br /> 3 - filter("T1"."C3">'zzz')<br /></pre><br /><br />Comparando los 3 planes para cada método se ve que solo con NL usa index range en lugar de usar un full scan por el indice. Los tiempos de NL son los mejores según la estimación del plan. Ejecutando cada uno de los 3 queries se puede ver que dicha estimación coincide con la realidad y que NL es el mas rapido. Esto se da porque tanto con HJ como con MJ no se puede usar el indice para buscar las coincidencias sobre la tabla T2 basado en los valores retornados por la tabla T1. Con NL se aprovecha dicha información para acceder mas puntualmente, via el indice. Cuanto menor sea la selectividad (o mas fuerte) el método NL tendrá mayor ventaja sobre los otros dos.<br /></div>Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com3tag:blogger.com,1999:blog-5727738329548735676.post-34731822385470466152010-12-15T04:31:00.001-08:002010-12-15T08:49:13.870-08:00Cuando una consulta utiliza un indice, pero no el mejor indice posible<div style="text-align: justify;">Muchas veces me preguntaron por que una consulta no responde en un tiempo adecuado cuando el plan de ejecución muestra que se esta utilizando un indice. La respuesta en ciertos casos es muy sencilla y se debea a que el indice no es lo mas selectivo posible, no filtra todo lo que podria filtrar. Decir que una consulta usa un plan que accede por un indice no es suficiente para asegurar que se haya encontrado el camino mas eficiente. Para mostrarles un poco de que estoy hablando voy a armar un caso, un tanto trivial pero no por eso menos ilustrativo, para que se entienda la idea.<br /><br />Voy a crear una tabla T con 3 columnas. La columna COL1 va a tener 1000 valores distintos y la columna COL2 va a tener 10 valores posibles. Además agrego la columna COL3 de relleno<br /></div><br /><br /><pre><br />create table t<span style="font-family:monospace;"><br /></span>as <br />select mod(rownum,1000) col1,<span style="font-family:monospace;"><br /></span> mod(rownum,100000) col2, <br /> dbms_random.string('a',50) col3<br />from dual<br />connect by rownum <= 1000000<br /><div style="text-align: justify;"></pre><br /><br />Una vez creada la tabla voy a crear un indice por COL1 y recolecto las estadisticas para la tabla y para el indice:<br /></div><pre><br />create index t_idx on t (col1)<br /><br />begin<br />dbms_stats.gather_table_stats(ownname => user,tabname => 'T',cascade => true);<br />end;<br /><br /></pre><br /><div style="text-align: justify;">Ejecuto la siguiente consulta y extraigo el plan usando DBMS_XPLAN.DISPLAY_CURSOR para que el plan sea mas detallado (en una nota futura voy a usar el mismo método para mostrar como ver como se "confunde" el optimizador cuando no se dispone de las estadisticas adecuadas):<br /></div><br /><pre><br />select /*+ gather_plan_statistics */ * from t<br />where col1 = 9<br />and col2 = 9<br /><br />select * from table (dbms_xplan.display_cursor(null,null,'ALLSTATS LAST'));<br /><br />PLAN_TABLE_OUTPUT<br />----------------------------------------------------------------------------------------------------<br />SQL_ID 25p2md7bszhj6, child number 0<br />-------------------------------------<br />select /*+ gather_plan_statistics */ * from t where col1 = 9 and col2<br />= 9<br /><br />Plan hash value: 1020776977<br /><br />-----------------------------------------------------------------------------------------------<br />| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |<br />-----------------------------------------------------------------------------------------------<br />| 0 | SELECT STATEMENT | | 1 | | 10 |00:00:00.01 | 1006 |<br />|* 1 | TABLE ACCESS BY INDEX ROWID| T | 1 | 1 | 10 |00:00:00.01 | 1006 |<br />|* 2 | INDEX RANGE SCAN | T_IDX | 1 | 1000 | 1000 |00:00:00.01 | 6 |<br />-----------------------------------------------------------------------------------------------<br /><br />Predicate Information (identified by operation id):<br />---------------------------------------------------<br /><br />1 - filter("COL2"=9)<br />2 - access("COL1"=9)<br /></pre><br /><div style="text-align: justify;">En el paso 2 del plan se observa que la estimación fue buena (E-Rows=A-Rows) pero la cantidad filtrada fue 1ooo filas, cuando realmente se deberian haber filtrado 10, como se ve en el paso 1 (A-Rows)<br /><br />(Aclaración: A-Rows es la cantidad de filas reales y E-Rows es la cantidad de filas estimada)<br /><br />Ahora voy a eliminar el indice T_IDX y voy a crear otro con el mismo nombre pero indexando por COL1 y COL2. Veamos el nuevo plan:<br /></div><pre><br />drop index t_idx<br /><br />create index t_idx on t (col1,col2)<br /><br />select /*+ gather_plan_statistics 2 */ * from t<br />where col1 = 9<br />and col2 = 9<br /><br />select * from table (dbms_xplan.display_cursor(null,null,'ALLSTATS LAST'));<br /><br />PLAN_TABLE_OUTPUT<br />----------------------------------------------------------------------------------------------------<br />SQL_ID 25p2md7bszhj6, child number 0<br />-------------------------------------<br />select /*+ gather_plan_statistics */ * from t where col1 = 9 and col2<br />= 9<br /><br />Plan hash value: 1020776977<br /><br />-----------------------------------------------------------------------------------------------<br />| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |<br />-----------------------------------------------------------------------------------------------<br />| 0 | SELECT STATEMENT | | 1 | | 10 |00:00:00.01 | 14 |<br />| 1 | TABLE ACCESS BY INDEX ROWID| T | 1 | 10 | 10 |00:00:00.01 | 14 |<br />|* 2 | INDEX RANGE SCAN | T_IDX | 1 | 10 | 10 |00:00:00.01 | 4 |<br />-----------------------------------------------------------------------------------------------<br /><br />Predicate Information (identified by operation id):<br />---------------------------------------------------<br /><br />2 - access("COL1"=9 AND "COL2"=9)<br /></pre><br /><div style="text-align: justify;">Ahora el paso 2 retorna al paso 1 solo 10 filas, que es la cantidad de filas total retornada por la consulta. Observar que la cantidad de buffers utilizado es bastante inferior al caso anterior.<br />Esto demuestra que el nuevo indice fue 100 veces mas selectivo y por lo tanto se necesitaron menos recursos, en consecuencia menos tiempo de procesamiento, para obtener la misma salida.<br /><br />La moraleja es que nunca hay que conformarse con solo verificar que la sentencia accede por un indice y profundizar en el análisis sobre el esquema actual de indexación comprobando si es el mejor indice posible o si se puede buscar alguna otra combinación mas eficiente.<br /></div>Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com0tag:blogger.com,1999:blog-5727738329548735676.post-28974472776317801782010-11-24T09:53:00.000-08:002010-12-01T03:55:47.959-08:00Como realizar update/delete masivos en forma efectiva<div style="text-align: justify;"> En esta nota voy a mostrarles un método efectivo para modificar o eliminar una gran cantidad de filas sobre una tabla grande. En general las tablas voluminosas se encuentran particionadas para lograr escalar en forma natural. El particionamiento principalmente provee 3 tipos de beneficios: 1) mejora la performance, 2) facilita la administración y mantenimiento y 3) incrementa la disponibilidad de los datos. Resolver una consulta usando como tabla subyacente particionada puede verse de la misma forma que resolver un problema dividiendolo en partes. La conocida premisa: divide y conquistaras es el principal objetivo detrás de particionar.<br /><br />Desde que se introdujo el feature de partitioning (Oracle 8) se ha ampliado notablemente el set de operaciones posibles sobre tablas e indices para dar soporte y manejar las tablas/indices particionados. Con cada nuevo release se fueron agregando distintas opciones, métodos de particionado y operaciones para manipulación de segmentos. Los distintos features introducidas en cada release son:<br /></div><br /><br /><span style="font-weight: bold;font-family:arial;font-size:100%;" ><span>Oracle 8 (1997)</span></span><br /><ul><li>Partition Pruning (*)</li><li>Range Partitioning (incluye operaciones ADD, DROP, RENAME, TRUNCATE, MODIFY, MOVE, SPLIT y EXCHANGE)</li></ul><pre><pre><br /><span style="font-weight: bold;font-family:arial;font-size:100%;" ><span>Oracle 8i (1999)</span></span><br /></pre></pre><ul><li> Particionamiento Hash<br /></li><li>Particionamiento compuesto: range/hash<br /></li><li> Se agregó la operación MERGE</li></ul><span style="font-weight: bold;"></span><br /><span style="font-weight: bold;font-size:100%;" ><span style="font-family:arial;">Oracle 9i R2 (2002)</span></span><br /><ul><li>List Partitioning</li><li>Particionamiento compuesto: Range/List<br /></li><li>Cláusula UPDATE GLOBAL INDEXES<br /></li></ul><pre><pre><span style="font-weight: bold;font-family:arial;font-size:130%;" ><span><br /></span></span><span style="font-weight: bold;font-family:arial;font-size:100%;" >Oracle 10g R1 (2004)</span><br /></pre></pre><ul><li> Indices globales particionados por Hash y List<br /></li></ul><span style="font-weight: bold;"><br /></span><span style="font-weight: bold;font-family:arial;" >Oracle 10g R2 (2005)</span><br /><ul><li> Se incremento el limite de particiones/subparticiones de 65k a 4M</li></ul><br /><span style="font-weight: bold;font-family:arial;" >Oracle 11g R1 (2007)</span><br /><br /><ul><li>Particionamiento compuesto: range-range, list-range, list-list y list-hash. </li><li>Se agregó particionamiento por intervalo, por referencia y de sistema.</li></ul><br /><span style="font-weight: bold;font-family:arial;" >Oracle 11g R2 (2009)</span><br /><br /><ul><li>Columnas virtuales como primary key para tablas particionadas referenciadas.</li><li>Indices particionados por sistema para tablas particionadas por lista.</li></ul><br /><br /><div style="text-align: justify;">Como se puede ver, practicamente en cada nuevo release hubo algún agregado de nueva funcionalidad. Sin embargo, a mi entender, el principal feature existe desde el primer release con partitioning (1997). Me refiero al partition pruning o poda de partición, que posibilita que el optimizador (siempre hablando de CBO) elija en forma automática, precisa y transparente la partición o particiones donde se encuentra los datos requeridos. Esto permite segmentar los datos y solo procesar los que nos interesan, sin tener que agregar ninguna inteligencia adicional en el código de aplicación.<br /><br />Con respecto a las operaciones, la gran mayoria existen desde Oracle 8, solo se agregó tiempo después el MERGE. Una operación muy interensante es EXCHANGE, con la cual se puede intercambiar una tabla sin particionar con una partición. Justamente es esta la operación que voy a usar para proponer una alternativa rapida para cambiar o borrar gran cantidad de filas sobre tablas particionadas. A continuación, somo suelo hacer, voy a mostrar los pasos en detalle y comparar los tiempos y uso de recursos:<br /></div><br />Voy a crear una tabla T particionada por lista con 3 particiones<br /><pre><br />create table t(c1 int,c2 varchar2(10),<br /><pre>c3 date,<br />c4 char(1))<br />partition by list (c4)<br />(<br />partition t_a values ('A') ,<br />partition t_b values ('B') ,<br />partition t_c values ('C')<br />);<br /></pre><br /></pre><div style="text-align: justify;">Ahora voy a insertar 10M de filas distribuidas en forma arbitraria sobre las particiones:<br /></div><pre><pre><br />insert into t<br />select rownum,<br />dbms_random.string('a',10),<br />sysdate-dbms_random.value(-100,100),<br />chr(trunc(dbms_random.value(65,68)))<br />from dual<br />connect by rownum <= 10000000; </pre><br /></pre><div style="text-align: justify;">Inserto 5M de filas sobre la partición en la que voy a trabajar para tener mas filas:<br /></div><pre><pre><br />insert into t<br />select rownum+10000000, <br />dbms_random.string('a',10),<br />sysdate-dbms_random.value(-100,100),<br />'A' from dual<br />connect by rownum <= 5000000; </pre><br /></pre><div style="text-align: justify;">Luego de cargados todos los valores se confirman (commit) y luego se recolectan estadisticas.<br />Veamos el plan para una consulta que cuenta filas sobre la partición 1 (t_a):<br /></div><pre><pre><br />explain plan for<br />select count(1)<br />from t where c2 > 'R' and c4 = 'A';<br /><br />select * from table(dbms_xplan.display);<br /><br />PLAN_TABLE_OUTPUT<br />---------------------------------------------------------------------------------------------------<br />Plan hash value: 2901716037<br /><br />-----------------------------------------------------------------------------------------------<br />| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |<br />-----------------------------------------------------------------------------------------------<br />| 0 | SELECT STATEMENT | | 1 | 13 | 8455 (3)| 00:03:04 | | |<br />| 1 | SORT AGGREGATE | | 1 | 13 | | | | |<br />| 2 | PARTITION LIST SINGLE| | 5588K| 69M| 8455 (3)| 00:03:04 | 1 | 1 |<br />|* 3 | TABLE ACCESS FULL | T | 5588K| 69M| 8455 (3)| 00:03:04 | 1 | 1 |<br />-----------------------------------------------------------------------------------------------<br /></pre><br /></pre><div style="text-align: justify;">Claramente se observa que el optimizador solo accedió la partición 1. Ejecutando la consulta vemos que la estimación del optimizador fue buena:<br /></div><pre><br /><pre><br />select count(1)<br />from t<br />where c4 = 'A' and c2 > 'R';<br /><br /><br /><br />COUNT(1)<br />----------<br />5610297<br /></pre><br /></pre><div style="text-align: justify;">El total de filas de la partición es:<br /></div><pre><pre><br />select count(1)<br />from t<br />where c4 = 'A' ;<br /><br />COUNT(1)<br />----------<br />8333946<br /></pre><br /></pre><div style="text-align: justify;">En este punto, ya tenemos una partición con mas de 8.3M de filas de las cuales vamos a modificar 5.6M, lo cual es mas del 67%.<br />Primero voy a testear un update normal sobre la tabla T para luego realizar la comparativa con la misma modificación pero usando otro enfoque mas eficiente.<br /></div><pre><br /><pre><br />update t<br />set c3 = c3+1<br />where c4 = 'A'<br />and c2 > 'R'<br /><br />5610297 filas actualizadas.<br /><br /><span style="font-weight: bold;">Transcurrido: 00:04:45.37</span><br /></pre><br /></pre><div style="text-align: justify;">La modificación demoró 4' 45". Pensemos que la base de datos debe mantener la consistencia para garantizar la lectura consistente (mediante el UNDO) y persistir los cambios para poder recuperarse si un evento de falla ocurre durante la modificación (REDO). Estos mecanismos provocan que los tiempos se incrementen y se genere información adicional.<br /><br />Revisemos cuanto espacio de UNDO y REDO se necesitó para realizar el update:<br /></div><pre><pre><br /><pre>select 'REDO_SIZE',<br />round(ms.value/1024/1024) value<br />from v$mystat ms,<br />v$statname sn<br />where ms.STATISTIC# = sn.STATISTIC#<br />and sn.NAME = 'redo size'<br />union all<br />SELECT 'UNDO_SIZE',<br />t.used_ublk*8/1024 value<br />FROM v$transaction t, v$session s<br />WHERE t.addr = s.taddr<br />AND s.audsid = userenv('sessionid')<br /></pre><br /><span style="font-weight: bold;">REDO_SIZE 2489 Mb</span><br /><span style="font-weight: bold;">UNDO_SIZE 885 Mb</span><br /></pre><br /></pre><div style="text-align: justify;"><div style="text-align: justify;">Para modificar 5.3M se necesitaron 2489Mb de redo y 885Mb de undo!!!. En el ejemplo, la tabla no tiene indices. Si tuviera indices y la columna modificada sea parte de las columnas de indexación se generaría mas redo y undo, y además la sentencia tendría que actualizar los indices por cada fila modificada lo cual provocaría que el update demore bastante mas. Si el procesamiento masivo fuera un delete en lugar de un update, se generará mas undo (el delete es la operación dml que mas undo genera) y se tendrá que mantener balanceados los indices, lo cual implica mas tiempo de procesamiento.<br /></div><br />Existe una forma mas sencilla de realizar el update usando la operación estrella de partitioning: EXCHANGE. Antes de usar el exchange tenemos que crear una tabla auxiliar (T_A) y para acelerar la creación configuro la tabla como nologging e inserto en forma directa usando el hint APPEND.<br /></div><pre><pre>create table t_a_aux nologging as<br />select /*+ APPEND */<br />c1,<br />c2,<br />case when (c2>'R') then c3+1<br />else c3 end c3,<br />c4<br />from t<br />where c4 = 'A'<br /><br /><span style="font-weight: bold;">Transcurrido: 00:00:22.04</span><br /></pre><br /></pre><div style="text-align: justify;">Solo se necesitaron 22" para insertar la filas en la tabla auxiliar. Con la función DECODE o CASE realizo el cambio simulando el update. Ahora solo resta realizar el intercambio entre la tabla auxiliar y la partición t_a con la operación EXCHANGE:<br /></div><pre><pre><pre><br />ALTER TABLE t<br />EXCHANGE PARTITION t_a<br />WITH table t_a_aux ;<br /><br /><span style="font-weight: bold;">Transcurrido: 00:00:11.46</span><br /></pre><br /></pre></pre><div style="text-align: justify;">El exchange se realizó en casi 12". Sumando la creación de la tabla auxiliar y el exchange, todo demoró solo 44"!!!, es decir mas de 6 veces mas rapido que el update tradicional.<br />Ejecutando la consulta para obtener el espacio de redo y undo generado se obtiene:<br /><pre><span style="font-weight: bold;">REDO_SIZE 1 Mb</span><br /><span style="font-weight: bold;">UNDO_SIZE 0 Mb</span><br /></pre>Practicamente no hubo alocación de undo/redo. Por lo cual, para ciertos casos resulta muy util usar este metodo para actualizar dado que los tiempos de procesamiento se reducen sensiblemente y ademas los requerimientos de undo y redo son minimizados casi por completo.<br /></div><pre><pre><br /></pre></pre><div style="text-align: justify;">Para eliminar (delete) en forma masiva, la creación de la tabla auxiliar solo deberá llenarse con las filas que no se borran. Si se necesitara borrar muchas filas de una tabla no particionada se podrá utilizar el mismo enfoque, es decir reemplazar el delete por un insert en una tabla nueva, recrear los indices y renombrar.<br /></div><pre><pre></pre><br /></pre>Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com8tag:blogger.com,1999:blog-5727738329548735676.post-44433754751723526602010-11-17T10:42:00.000-08:002010-11-18T11:23:00.029-08:00Reportes de Métricas de Carga y Tiempos de Respuesta de la Base de Datos (10g+)A partir de 10g se agregaron vistas dinamicas e información historica para poder entender mejor y en forma mas rapida la actividad de la base de datos. Si bien los reportes de statspack y AWR tienen la información, estos se basan de los snapshots como referencia para analizar un intervalo. Generalmente los intervalos son de 1 hora (automatico y default en 10g+) y muchas veces hay que esperar al próximo snapshot para tener una idea de la actividad actual.<br /><br />Con las nuevas vistas dinamicas se puede saber casi en tiempo real cual es la actividad de la base consultando las siguientes vistas dinamicas:<br /><br /><span style="font-weight: bold;">V$SYSMETRIC</span> : Metricas mas recientes y menos recientes del ultimo minuto<br /> (una muestra cada 15").<br /><span style="font-weight: bold;">V$SYSMETRIC_HISTORY</span> : Ultima hora de todas las muestras (elige una muestra por<br /> minuto).<br /><span style="font-weight: bold;">V$SYSMETRIC_SUMMARY</span> : Resumen de la actividad de la ultima hora (maximos, minimos,<br /> promedios y desviación standard).<br /><br /><br />y las vistas historias que persisten parte de la información de las vistas dinamicas<br />de la ultima hora (el proceso MMON se encarga de copiar parte de la información mas relevante de las vistas V$ a disco) y se externaliza el resultado con las siguientes vistas:<br /><br /><span style="font-weight: bold;">DBA_HIST_SYSMETRIC_HISTORY</span><br /><span style="font-weight: bold;">DBA_HIST_SYSMETRIC_SUMMARY</span><br /><br />Con esta información a disposición se obtiene una idea muy detallada de la actividad y el perfil de carga. Veamos una query que usa la vista sumarizada y retorna entre otros, los mismos datos que encontramos en los reportes statspack/awr en la parte "Load Profile" en la columa tabulada por segundo:<br /><pre><br />select metric_name,<br /> case (metric_id)<br /> when 2016 then round(minval/1024/1024,2)<br /> when 2058 then round(minval/1024/1024,2)<br /> else round(minval,2) end Min,<br /> case (metric_id)<br /> when 2016 then round(maxval/1024/1024,2)<br /> when 2058 then round(maxval/1024/1024,2)<br /> else round(maxval,2) end Max,<br /> case (metric_id)<br /> when 2016 then round(average/1024/1024,2)<br /> when 2058 then round(average/1024/1024,2)<br /> else round(average,2) end Avg,<br /> case (metric_id)<br /> when 2016 then round(standard_deviation/1024/1024,2)<br /> when 2058 then round(standard_deviation/1024/1024,2)<br /> else round(standard_deviation,2) end STDDEV,<br /> case (metric_id)<br /> when 2016 then 'Mbytes Per Second'<br /> when 2058 then 'Mbytes Per Second'<br /> else metric_unit end metric_unit<br />from v$sysmetric_summary<br />where metric_id in (2003,2026.2004,2006,2016,2018,2030,<br /> 2044,2046,2058,2071,2075,2081,2123)<br />order by metric_id<br /></pre><br /><br /><pre><br /><span style="font-size:85%;">METRIC_NAME MIN MAX AVG STDDEV METRIC_UNIT<br />---------------------------------------------------------------- ---------- ---------- ---------- ---------- ----------------------------------------------------------------<br />User Transaction Per Sec 0 28.75 24.4 1.64 Transactions Per Second<br />Physical Writes Per Sec 0 29.63 21.91 2.25 Writes Per Second<br />Redo Generated Per Sec 0 .06 .05 0 Mbytes Per Second<br />Logons Per Sec 0 1.18 .93 .08 Logons Per Second<br />Logical Reads Per Sec 0 1015.72 592.05 75.19 Reads Per Second<br />Total Parse Count Per Sec 0 52.75 28.29 4.33 Parses Per Second<br />Hard Parse Count Per Sec 0 7.24 1.29 .88 Parses Per Second<br />Network Traffic Volume Per Sec 0 .03 .02 0 Mbytes Per Second<br />DB Block Changes Per Sec 0 339.75 287.39 19.15 Blocks Per Second<br />CPU Usage Per Sec 0 11.27 9.88 .51 CentiSeconds Per Second<br />User Rollback UndoRec Applied Per Sec 0 .3 .03 .07 Records Per Second<br />Database Time Per Sec 0 72.48 26.67 8.1 CentiSeconds Per Second</span><br /></pre><br /><br />Los datos anteriores se pueden obtener por transacción si se llegara a necesitar.<br /><br />Ahora voy a mostrar como obtener las metricas basadas en percentiles, con ratios y porcentajes de las ultimas dos muestras del ultimo minuto. La mas reciente es de a lo sumo 15 segundos y la mas antigua es de a lo sumo 60 segundos.<br /><br /><pre><br />select metric_name,<br /> round(value,2) value,<br /> metric_unit<br />from v$sysmetric<br />where metric_name like '%\%%' escape '\'<br />or metric_name like '%Percent%'<br />or metric_name like '%Ratio%'<br /><br /><br /><span style="font-size:85%;">METRIC_NAME VALUE METRIC_UNIT<br />---------------------------------------------------------------- ---------- ----------------------------------------------------------------<br />Buffer Cache Hit Ratio 95.75 % (LogRead - PhyRead)/LogRead<br />Memory Sorts Ratio 100 % MemSort/(MemSort + DiskSort)<br />Redo Allocation Hit Ratio 100 % (#Redo - RedoSpaceReq)/#Redo<br />User Commits Percentage 100 % (UserCommit/TotalUserTxn)<br />User Rollbacks Percentage 0 % (UserRollback/TotalUserTxn)<br />Cursor Cache Hit Ratio 232.71 % CursorCacheHit/SoftParse<br />Execute Without Parse Ratio 63.74 % (ExecWOParse/TotalExec)<br />Soft Parse Ratio 96.05 % SoftParses/TotalParses<br />User Calls Ratio 33.48 % UserCalls/AllCalls<br />Host CPU Utilization (%) 4.63 % Busy/(Idle+Busy)<br />PX downgraded 1 to 25% Per Sec 0 PX Operations Per Second<br />PX downgraded 25 to 50% Per Sec 0 PX Operations Per Second<br />PX downgraded 50 to 75% Per Sec 0 PX Operations Per Second<br />PX downgraded 75 to 99% Per Sec 0 PX Operations Per Second<br />User Limit % 0 % Sessions/License_Limit<br />Database Wait Time Ratio 42.12 % Wait/DB_Time<br />Database CPU Time Ratio 57.88 % Cpu/DB_Time<br />Row Cache Hit Ratio 99.75 % Hits/Gets<br />Row Cache Miss Ratio .25 % Misses/Gets<br />Library Cache Hit Ratio 98.1 % Hits/Pins<br />Library Cache Miss Ratio 1.9 % Misses/Gets<br />Shared Pool Free % 91.27 % Free/Total<br />PGA Cache Hit % 99.89 % Bytes/TotalBytes<br />Process Limit % 24.7 % Processes/Limit<br />Session Limit % 16.86 % Sessions/Limit<br />Streams Pool Usage Percentage 0 % Memory allocated / Size of Streams pool<br />Buffer Cache Hit Ratio 96.18 % (LogRead - PhyRead)/LogRead<br />Memory Sorts Ratio 100 % MemSort/(MemSort + DiskSort)<br />Execute Without Parse Ratio 64.59 % (ExecWOParse/TotalExec)<br />Soft Parse Ratio 95.72 % SoftParses/TotalParses<br />Host CPU Utilization (%) 4.39 % Busy/(Idle+Busy)<br />Database CPU Time Ratio 15.8 % Cpu/DB_Time<br />Library Cache Hit Ratio 97.64 % Hits/Pins<br />Shared Pool Free % 91.28 % Free/Total</span><br /></pre><br />Otra consulta que suelo usar es mas simple y solo me retorna el tiempo de respuesta general y el tiempo de respuesta por transacción, ambos en segundos, y asi se puede analizar rapidamente y detectar si algo esta pasando con la base. Yo tengo idea de los tiempos razonables para cada base y si veo algo que se dispara me doy cuenta mirando solo esos dos valores. Abajo muestro como es la consulta que utilizo y la salida de la misma.<br /><br />select end_time,<br /> round(max(decode(metric_id,2106,value/100,null)),4) "SQLRTime",<br /> round(max(decode(metric_id,2109,value/100,null)),4) "RTime/Trx"<br />from v$sysmetric_history<br />where metric_id in (2106,2109)<br />and end_time > sysdate-10/24/60<br />group by end_time<br />order by end_time desc<br /><br /><pre><br />END_TIME SQLRTime RTime/Trx<br />18/11/2010 12:15:34 p.m. 0.0013 0.0172<br />18/11/2010 12:14:33 p.m. 0.0063 0.0843<br />18/11/2010 12:13:33 p.m. 0.0087 0.1101<br />18/11/2010 12:12:33 p.m. 0.0039 0.1147<br />18/11/2010 12:11:34 p.m. 0.009 0.1214<br />18/11/2010 12:10:34 p.m. 0.0062 0.1145<br />18/11/2010 12:09:34 p.m. 0.0079 0.1102<br />18/11/2010 12:08:34 p.m. 0.0081 0.1167<br />18/11/2010 12:07:34 p.m. 0.0085 0.1112<br />18/11/2010 12:06:34 p.m. 0.0078 0.1141<br /></pre><br /><br />Si quisiera ver la historia mas antigua o necesito armar un reporte historico sumarizado y/o agrupado por hora, dia, semana o mes se puede usar una vista historica (DBA_HIST_xxx).Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com2tag:blogger.com,1999:blog-5727738329548735676.post-61226666732424034332010-11-17T04:35:00.000-08:002010-11-17T05:03:45.791-08:00Aplicación de Parche 11.2.0.2 (no tan parche)La semana pasada tuve que aplicar el parche 11.2.0.2 sobre un equipo de desarrollo. Cuando entré a metalink y busqué el parche que aplicaba a mi SO (Solaris SPARC) me llamó la atención el tamaño del parche. Los ultimos parches que instalé recuerdo que no pesaban mucho mas de 1Gb. El parche de 11.2.0.2 sobre la plataforma que necesitaba pesa 5.1Gb!, y para AIX mas de 6Gb. Recien una vez que leí la documentación entendí el porque. El tema es que Oracle cambió la politica de aplicación de parches a partir de 11.2.0.2. Ahora no son mas incrementales, sino totales y ademas contienen todo el bundle, es decir el server, cliente, gateway, grid, etc. <br /><br />Recuerdo que en 9i venia todo junto, si querias instalar solo un cliente necesitabas bajarte 3 archivos que contenian todo, lo cual resultaba engorroso. En 10g independizaron las instalaciones de cliente, server, grid, etc. Ahora parece que nuevamente hay que bajar todo y luego elegir en la instalación lo que necesitamos. <br /> Es obligatorio usar un home separado para la instalación, al ser total no se puede parchear sobre el home actual. En mi caso ese nuevo requisito no me molesta ya que siempre considero como una buena practica instalar los parches sobre una copia en un home nuevo, para minimizar riesgos por si el parche falla a la mitad de la instalación y la vuelta atrás requiere respaldar los binarios anteriores. Si estan muy cortos de espacio, se complica un poco crear un home separado asi que en ese caso habrá que bajar las bases, respaldar los binarios, borrarlos e instalar el nuevo home.<br /><br />La instalación sobre Solaris SPARC no tuvo contratiempos. Tuve que upgradear un Oracle 11g R1 (11.1.0.7) y un Oracle 11g R2 (11.2.0.1). Ambas actualizaciones se realizaron perfectamente y sin ningun contratiempo.Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com0tag:blogger.com,1999:blog-5727738329548735676.post-52303084521880304692010-10-08T11:37:00.001-07:002010-10-26T05:02:43.593-07:00Inserción Directa en Oracle (DIRECT INSERT)La inserción directa de registros en tablas se realiza con las sentencias INSERT y MERGE (la parte de inserción) o desde una aplicación que utilice la interface directa de OCI (ej sqlloader). Cuando se necesita insertar un gran vólumen de filas en un tiempo óptimo, es necesario sacrificar cierta funcionalidad a expensas de velocidad. La mejora de rendimiento en la inserción no es gratis y hay ciertos requisitos que se deben cumplir y ciertas consecuencias a considerar antes de utilizarla. La inserción directa se activa de dos formas posibles:<br /><br />- Agregando el hint /*+ APPEND */ en la sentencia INSERT INTO... SELECT ..<br />- Agregando el hint /*+ APPEND */ para INSERT INTO .. VALUES .. (en 11g R1)<br />- Agregando el hint /*+ APPEND_VALUES */ para INSERT INTO .. VALUES .. (en 11g R2)<br />- Ejecutando el insert en paralelo<br /><br />En los siguientes casos no se puede utilizar la inserción directa<br /><br />- La tabla a modificar tiene un trigger activo que se dispara con los inserts.<br />- La tabla a modificar tiene una foreign key habilitada.<br />- La tabla a modificar es una tabla indexada.<br />- La tabla a modificar esta almacenada en un cluster.<br />- La tabla a modificar contiene columna del tipo object type.<br /><br /><br />A continuación voy a comparar el insert normal con el directo poniendo foco en el espacio de redo y undo consumido en cada caso. Tambien voy a mostrar como el modo directo "saltea" el buffer cache. Justamente esto ultimo es la clave para acelerar los inserts, ya que se arman los bloques nuevos en memoria y se agregan a la tabla en forma directa sin necesidad de usar el cache. Durante la inserciòn no se incrementa el HWM y solo se actualiza al commitear la transacción. Por este motivo no se puede realizar ninguna operación adicional sobre la tabla modificada hasta tanto no se haya confirmado la transacciòn de insert directo. Si intentamos ejecutar cualquier sentencia que referencie a tabla luego de insertar en modo directo Oracle genera el error: "ORA-12838: No se puede leer/modificar un objeto despues de modificarlo en paralelo". <br /><br />Para el ejemplo voy a crear una tabla T con dos columnas. Voy a usar una columna CHAR(500) para que se utilicen mas bloques sin tener que cargar tantas filas.<br /><pre><br />drop table t<br /><br />create table t (x int,y char(500))<br /><br /></pre><br />Ahora se insertaran 100000 registros en forma normal:<br /><pre><br />INSERT CONVENCIONAL<br />-------------------<br /><br />insert into t <br />select rownum,dbms_random.string('a',20)<br />from dual<br />connect by rownum <= 100000<br /><br />El insert demoró: 10.8 segundos.<br /><br />select round(ms.value/1024/1024) redo_size<br />from v$mystat ms,<br /> v$statname sn<br />where ms.STATISTIC# = sn.STATISTIC# <br /> and sn.NAME = 'redo size'<br /><br />La cantidad de redo usado fue de: 53Mb<br /><br /> <br />SELECT t.used_ublk*8 undo_size<br />FROM v$transaction t, v$session s<br />WHERE t.addr = s.taddr<br />AND s.audsid = userenv('sessionid') <br /><br />1104k<br /><br />La cantidad de undo usado fue de: 1104Kb<br /></pre><br />Con la siguiente consulta chequeamos si se utilizo el buffer para el insert:<br /><pre><br />select count(1)<br />from v$bh bh,<br /> user_objects ob<br />where bh.OBJD = ob.data_object_id<br /> and ob.object_name = 'T'<br /> and bh.STATUS != 'free'<br /> and bh.CLASS# = 1<br /><br />7174 bloques<br /></pre><br />Se cargaron todos los bloques en cache para la inserción.<br /><br />Veamos que sucede con el insert en modo directo:<br /><pre><br />INSERT DIRECTO<br />--------------<br /><br />insert /*+ APPEND */ into t <br />select rownum,dbms_random.string('a',20)<br />from dual<br />connect by rownum <= 100000<br /><br />10.3s<br /></pre><br />Demoró solo .5 segundos menos que el insert convencional. Esto puede llegar a desalentarnos de usar el modo directo, ya que no se ve tanta mejora, pero es importante aclarar que la diferencia de tiempos se va a notar mas cuando trabajemos con una cantidad de registros mas importante, yo diria del orden de los millones.<br /><pre><br />select round(ms.value/1024/1024) redo_size<br />from v$mystat ms,<br /> v$statname sn<br />where ms.STATISTIC# = sn.STATISTIC# <br /> and sn.NAME = 'redo size'<br /><br />56Gb<br /></pre><br />Ahora consumió un poco mas de redo, pero veamos el undo:<br /><br /><pre><br />SELECT t.used_ublk*8 undo_size<br />FROM v$transaction t, v$session s<br />WHERE t.addr = s.taddr<br />AND s.audsid = userenv('sessionid') <br /><br />8kb<br /></pre><br />Con el insert directo solo se consumieron 8k de undo, es decir 138 veces menos que con la el insert convencional.<br /><br /><pre><br />select count(1)<br />from v$bh bh,<br /> user_objects ob<br />where bh.OBJD = ob.data_object_id<br /> and ob.object_name = 'T'<br /> and bh.STATUS != 'free'<br /> and bh.CLASS# = 1<br /> <br />0 Bloques<br /></pre><br />No se usaron bloques de cache, justamente esto era esperable ya que como comenté mas arriba el insert directo no utiliza memoria intermedia.<br />Como se vio con el insert directo se redujo notablemente el espacio de undo. Para reducir tambien el redo debemos realizar el insert sobre una tabla que tenga desactivado el logging, es decir que este en nologging (si la base esta en noarchivelog ya tiene desactivado el logging para la tablas cdo se inserta en modo directo).<br /><pre><br />INSERT DIRECTO CON NOLOGGING<br />--------------------------------- <br /><br />insert /*+ APPEND */ into t <br />select rownum,dbms_random.string('a',20)<br />from dual<br />connect by rownum <= 100000<br /><br />9.6s<br /></pre><br />Se redujo el tiempo de inserción, ahora fue de 9.6s<br /><pre><br />select round(ms.value/1024/1024) redo_size<br />from v$mystat ms,<br /> v$statname sn<br />where ms.STATISTIC# = sn.STATISTIC# <br /> and sn.NAME = 'redo size'<br /><br />0<br /></pre><br />El consumo de redo fue nulo. Si bien esto parece muy bueno hay que tener en cuenta que deshabilitar el logging (en realidad se minimiza, ya que operaciones internas como correr el HWM o agregar extent generan redo y undo) provoca que ante un evento de falla no podamos realizar recovery de los datos recien insertados. Es recomendable realizar un backup lógico de las tablas o un backup incremental con RMAN inmediatamente luego de la carga directa. No es posible "bypassear" el redo para las tablas alojadas en tablespaces con force logging. <br /><pre><br />select round(ms.value/1024/1024) redo_size<br />from v$mystat ms,<br /> v$statname sn<br />where ms.STATISTIC# = sn.STATISTIC# <br /> and sn.NAME = 'redo size'<br /><br />8 kb<br /></pre><br />El undo se mantuvo exactamente igual que la prueba anterior.<br /><pre><br />select round(ms.value/1024/1024) redo_size<br />from v$mystat ms,<br /> v$statname sn<br />where ms.STATISTIC# = sn.STATISTIC# <br /> and sn.NAME = 'redo size'<br /><br />0 bloques<br /></pre><br /><br />y tampoco se cargaron bloques en memoria.<br /><br />Recordemos que para las 3 pruebas anteriores utilizamos una tabla sin indices. Veamos que pasa cuando se le agrega un indice a la tabla T<br /><br /><pre><br />create index t_idx on t (x)<br /><br />insert /*+ APPEND */ into t <br />select rownum,dbms_random.string('a',20)<br />from dual<br />connect by rownum <= 100000<br /><br />11.2.s<br /></pre><br />Claramente el insert demoró mas, ya que tuvo que mantener el indice actualizado durante las inserciones.<br /><pre><br />select round(ms.value/1024/1024) redo_size<br />from v$mystat ms,<br /> v$statname sn<br />where ms.STATISTIC# = sn.STATISTIC# <br /> and sn.NAME = 'redo size'<br /><br />7<br /></pre><br />El espacio consumido de redo ahora no fue 0, sigue siendo poco pero ahora es de 7kb, ya que tuvo que guardar información de redo para el indice.<br /><pre><br />SELECT t.used_ublk*8 undo_size<br />FROM v$transaction t, v$session s<br />WHERE t.addr = s.taddr<br />AND s.audsid = userenv('sessionid') <br /><br />1600 kb<br /></pre><br />El consumo de undo tambien se incremento dado que se guardaron registros de undo para el nuevo indice<br /><br />La siguiente tablita resume el resultado de las pruebas:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDMLmcZstNTXrGX14XQHipQGG0hYb_TykrwLWarl1tJsNoQufItAM-WAto_OZSD0j7pmyQ9cl7VxTamwbxOLY86imwXG8xpz7q1BDnIHqJgjHgh6yKJGhBpT1VThA-Vj1srX_w8Di07_o/s1600/Inserts.bmp"><img style="cursor:pointer; cursor:hand;width: 400px; height: 69px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDMLmcZstNTXrGX14XQHipQGG0hYb_TykrwLWarl1tJsNoQufItAM-WAto_OZSD0j7pmyQ9cl7VxTamwbxOLY86imwXG8xpz7q1BDnIHqJgjHgh6yKJGhBpT1VThA-Vj1srX_w8Di07_o/s400/Inserts.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5530955075632801234" /></a><br /><br /><br />Como resumen, recomiendo utilizar siempre que sea posible el modo directo sobre todo cuando se necesita realizar una carga masiva (procesos ETL) y la performance en la carga es el principal objetivo. Tambien, en lo posible, y teniendo conciencia de lo que implica usar nologging, tambien recomiendo configurar la tabla receptoras en nologging. Por ultimo, es recomendable deshabilitar los indices (ponerlos en unusables) ya que como vimos en el ultimo caso, el mantenimiento de los indices durante la inserción genera mas undo/redo y ralentiza la carga general. Luego de la inserción habrá que reconstruir los indices inutilizados.Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com3tag:blogger.com,1999:blog-5727738329548735676.post-8715654388535927862010-09-22T11:29:00.000-07:002011-01-25T05:53:37.567-08:00Como realizar una estimación de capacidad y escalabilidad de CPU y I/O (Capacity Planning)En esta nota les voy a mostrar como realizar un Capacity Planning (CP) de CPU y I/O en forma sencilla usando matemática simple. Para hacer un CP efectivo es importante determinar los subsistemas a modelar. Los subsistemas tipicos son CPU, I/O o discos, memoria y red. Existen productos comerciales que permiten realizar un CP global, sin tener que modelar por subsistema, pero yo prefiero analizar cada subsistema por separado ya que me parece que los resultados obtenidos serán mas precisos y claros. La CPU y I/O son claramente los mas importantes y son los subsistemas en los que vamos a ahondar en esta nota.<br /><br />Seguramente alguna vez su gerente les ha consultado si la cantidad de procesadores o la velocidad de los discos es adecuada para garantizar que el sistema permanezca estable. Ante esta pregunta uno puede simplemente tener confianza y contestar que todo va a funcionar bien o uno puede ser mas profesional y realizar un CP y saber con exactitud en donde estará el punto de quiebre, es decir no solo contestar si el HW soporta la carga actual sino tambien, teniendo la proyección de crecimiento transacccional anual, saber hasta donde nos alcanza nuestro HW y preveer con tiempo la compra o upgrade de HW.<br /><br />Ahora vayamos directamente a ver como se modela un subsistema de cpu y un subsistema de i/o. Para realizar CP mas sofisticado es necesario tener cierto conocimiento de Teoria de Colas (función Erlang C, Notación de Kendall, etc). En esta nota simplemente alcanza con un poco de criterio. En el gráfico A) se modela el subsistema de CPU. Este consta de una sola cola y N servers (cpu's). Esto quiere decir que cada petición puede ser atendida arbitrariamente por cualquier server o cpu y se van encolando cuando todas las cpu estan ocupadas (runqueue en terminos de SO). En el gráfico B) se modela el subsistema de I/O donde tenemos una cola por server o device. En este caso cada petición debe ser atendida por un device determinado.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTks3TIJXjFsCdyVdAJq4dmQEImjGecxO1ln3hWs8qwcX5FQux0ItRaFPqP7avNbhaSmS9R8C-XkkyrzdX-xvqf2veLZc3HEBDviFYTHNApmgj2xD5HrngjJcKJ2GqILXTQLLadYzxsTA/s1600/CPU_IO_CP.bmp"><img style="cursor: pointer; width: 400px; height: 141px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTks3TIJXjFsCdyVdAJq4dmQEImjGecxO1ln3hWs8qwcX5FQux0ItRaFPqP7avNbhaSmS9R8C-XkkyrzdX-xvqf2veLZc3HEBDviFYTHNApmgj2xD5HrngjJcKJ2GqILXTQLLadYzxsTA/s400/CPU_IO_CP.bmp" alt="" id="BLOGGER_PHOTO_ID_5519821274873985170" border="0" /></a><br /><br />Los dos modelos mencionados se representan infinidad de veces en la vida cotidiana, cuando vamos al banco, cuando estamos esperando en la estación de peaje, cuando esperamos para abordar un vuelo, cuando vamos a hacer nuestro pedido en un restaurant de comida rapida, etc. <br /><br />Ahora vamos a definir las variables que necesitamos usar para realizar el CP:<br /><pre><br />Uc= User Calls<br />trx= transacción<br />λ= tasa de arribo (ej: trx/ms ó Uc/ms)<br />St= Tiempo de Servicio (ej: s/trx ó s/Uc)<br />Qt= Tiempo de Espera o Tiempo de espera (ej: s/trx)<br />Rt= Tiempo de Respuesta (ej: s/trx)<br />Q= Encolamiento (ej: Nro de trx's)<br />U= porcentaje de carga (porcentaje de utlización del recurso)<br />M= nro de servers (cantidad de CPU's o cantidad de IO devices)<br /><br />y las formulas:<br /><br />Rt = St + Qt<br /><br />U = St * λ / M<br /><br />Q = λ * Qt<br /><br />Rt(cpu) = St / (1-U^M)<br /><br />Rt(io) = St / (1-U)<br /><br /></pre><br />El objetivo es conseguir graficar el tiempo de respuesta vs tasa de arribo. El gráfico debería ser tipo exponencial con una curvatura o punto de quiebre que muestre a que tasa de arribo (eje X) se produce dicho quiebre.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO48tniokaI9MVs8wcdTgRXXujMun7hSfbpXrNcHh57tyM5_KmsHstLE34HF10NSd-1MK4-069Sd4Ylk2eCHntepBmxpvyZIC8ObmmKjT0FxosrP7eCDLOKZObO8hBDZPEzAPRQWH_wfo/s1600/arrival_vs_rt.jpg"><img style="cursor: pointer; width: 274px; height: 184px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO48tniokaI9MVs8wcdTgRXXujMun7hSfbpXrNcHh57tyM5_KmsHstLE34HF10NSd-1MK4-069Sd4Ylk2eCHntepBmxpvyZIC8ObmmKjT0FxosrP7eCDLOKZObO8hBDZPEzAPRQWH_wfo/s400/arrival_vs_rt.jpg" alt="" id="BLOGGER_PHOTO_ID_5520457189556394626" border="0" /></a><br /><br />Voy a explicar un poco mas en detalle que significa cada cosa:<br /><br />1) λ (Tasa de Arribo): Esta se puede definir con métricas de Oracle tales como: Uc/s o Trs/s, o usar una métrica funcional, por ejemplo: carga de ordenes de compra por minuto o por hora.<br /><br />2) M (Cantidad de CPU´s y I/O Devices): Es la cantidad de cpu's o I/O Devices. Para obtener este valor podemos usar utilitarios de SO y/o consultar vistas de Oracle.<br /><br />3) U (Porcentaje de Carga): Es el porcentaje de carga de cpu o I/O. Esto se puede obtener usando utilitarios de SO como sar, iostat.<br /><br />4) St (Tiempo de servicio): Es el tiempo en el que la petición esta siendo atendida por la cpu o por el dispositivo de i/o.<br /><br />5) Qt (Tiempo de Espera en la Cola): Es el tiempo que una petición tiene que esperar en la cola porque los servers estan ocupados.<br /><br />6) Q (Largo de la Cola): Es la cantidad de peticiones encoladas (esperando ser atendidas)<br /><br />7) Rt (Tiempo de respuesta): El tiempo de respuesta es la suma de St (service time) y Qt (tiempo de espera o encolado). Una petición o esta esperando o esta siendo atendido.<br /><br />En este punto, donde creo haber definido todo, les voy a mostrar un ejemplo:<br /><br /><br /><span style="font-weight:bold;">Ejemplo (Capacity Planning de CPU)</span><br /><br />Supongamos nos piden estimar el impacto que se producirá si se incrementan los usuarios de una aplicación X en un 20%. Lo que se quiere determinar es si se necesitará agregar mas procesadores o con lo que hay es suficiente para soportar la carga adicional.<br /><br />Lo primero que tenemos que hacer es recolectar información en un periodo representativo. Cuanto mas datos recolectemos mas precisa será nuestro CP, luego debemos caracterizar la carga, esto significa definir si vamos a usar valores promedio, maximos, que vamos a usar como tasa de arribo, etc. En el ejemplo yo voy a tomar valores picos en un intervalo de maxima carga y como tasa de arribo usaré Trx/s.<br /><br />λ= 20 trx/s (20 transacciones por segundo, se puede obtener desde statspack o AWR)<br />U= 0,40 (40% de utilización de cpu, esto se puede recolectar con sar -u)<br />M= 8 (hay 8 procedores, se obtiene desde el parametro de la base: cpu_count)<br /><br />Ya tengo los 3 parametros escenciales, ahora solo tengo que aplicar las formulas y graficar:<br /><span style="font-family:monospace;"><br /></span>U = St * λ / M, depejando para obtener St,<br /><br /> St = U * M / λ = 0.40 * 8 / 20 = 0,16 s/trx<br /><br /> Ahora que tenemos St podemos aplicar la formula para cpu:<br /><span style="font-family:monospace;"></span><br /> Rt(cpu) = St / (1-U^M) = 0,16 / (1-0.40^8) = 0,16 s/trx<br /><br /> Como se observa el tiempo de respuesta es igual al tiempo de servicio. Esto se da porque el sistema esta holgado en cpu para la carga actual y no se producen encolamientos, es decir hay que esperar para ser atendido por las cpu's. Ahora lo que voy a hacer es una tabla en excel para proyectar el crecimiento y graficar la curva de manera de ver donde se produce el quiebre.<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivn3m1UgDtB7d-MdJ8h4U8uTeHF5XfkFjvVuA-Z-iheqM8q1O6lqtNGG6j7d447gWs6BgsXqjZ78WzpdO8ytmnR7aqf1e23asJU6zt3aJSjdiIux42O8Pw2d5NE2OtG-t5YYsGjPXu2U8/s1600/cpu_cp.bmp"><img style="cursor:pointer; cursor:hand;width: 400px; height: 361px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivn3m1UgDtB7d-MdJ8h4U8uTeHF5XfkFjvVuA-Z-iheqM8q1O6lqtNGG6j7d447gWs6BgsXqjZ78WzpdO8ytmnR7aqf1e23asJU6zt3aJSjdiIux42O8Pw2d5NE2OtG-t5YYsGjPXu2U8/s400/cpu_cp.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5566120562923392162" /></a><br /><br /><br />Vemos que el punto de quiebre esta alrededor del 30-35% (>), pensemos además que estamos partiendo de un workload pico y por lo tanto podemos pensar que la mayoria del tiempo va a estar bastante por debajo. De acuerdo al CP podemos asegurar que el sistema amortiguará bien la carga adicional del 20%, comenzando a degradarse rapidamente a partir del 25%.<br /><br /><br /><span style="font-weight:bold;">Ejemplo 2 (Capacity Planning de I/O)</span><br /><br />Como analizamos en el ejemplo 1, no tendriamos mayores problemas con la cpu al incrementar en un 30% la carga. Ahora veamos que ocurre con los discos.<br /><br />λ= 5Mb/ms (5 Mb de transferencia por milisegundo, se puede obtener con sar -d o iostat)<br />U= 0,60 (60% de utilización de i/o)<br />M= 50 (hay 50 devices)<br /><br />St = U * M / λ = 50 * 0.60 / 5 = 6 ms/Mb<br /><br />Reemplazando en la formula de i/o:<br /><br />Rt(io) = St / (1-U) = 6 / (1-0.60) = 15ms/Mb<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ_kYKM_ajmwrhfMJBqP7xVdxmDdLBzYpyKzxMGteKV26g36WhF4JMpd1LCuCBTOy8ba4f4fblHaKWzxtE1HGv_tW9fuG7if7zeN_fS32elVEPsHXAznTURH0NQMV5ww8NY1utQJFNfxE/s1600/CP_io.bmp"><img style="cursor:pointer; cursor:hand;width: 351px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ_kYKM_ajmwrhfMJBqP7xVdxmDdLBzYpyKzxMGteKV26g36WhF4JMpd1LCuCBTOy8ba4f4fblHaKWzxtE1HGv_tW9fuG7if7zeN_fS32elVEPsHXAznTURH0NQMV5ww8NY1utQJFNfxE/s400/CP_io.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5520541931718113906" /></a><br /><br /><br />Como se ve en el gráfico, el sistema podría soportar hasta un 50% (7.5Mb/ms) de crecimiento, una vez que llega al 60% de destabiliza. <br /><br />Como resumen podemos inferir que nuestro Hardware esta bien a nivel cpu no tanto a nivel i/o ya que no escalará a largo plazo. <br /><br />En esta nota mi idea fue mostrar como realizar un capacity planning de cpu y i/o en forma sencilla. Con este metodo tendremos una buena estimación de como escalará nuestro HW. De acuerdo a cada caso existen otros enfoque para modelar tales como el metodo basado en ratios, Teoria de Colas y metodo de regresión lineal. <br /><br />Lo mas importante para obtener estimaciones precisas es obtener una buena muestra, que sea representativa sumado a una buena caracterización de la carga de trabajo a evaluar. Cuanto mas información hayamos recolectado mejor será nuestro pronóstico.<br /><br />Usando esta metodologia se puede realizar simulaciones y proyectar a futuro, por ejemplo: que pasaría si agregamos o sacamos cpu's, como impacta el agregado de dispositivos de i/o mas rapidos, con mayor throughput y menor latencia, cuantos usuarios se podrian agregar para que operen con la aplicación sin poner en riesgo la estabilidad del sistema, etc.<br /><br />Para los que le interesen temas de Capacity Planning en Oracle les recomiendo: <br /><span style="color: rgb(255, 0, 0); font-weight: bold;"> </span><a style="color: rgb(255, 0, 0); font-weight: bold;" href="http://www.amazon.com/Forecasting-Oracle-Performance-Craig-Shallahamer/dp/1590598024" rel="stylesheet">"Forecasting Oracle Performance"</a>. Este libro escrito por Craig Shallahamer, un verdadero gurú en el tema, me pareció excelente y lo usé como referencia para escribir la nota.Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com1tag:blogger.com,1999:blog-5727738329548735676.post-23239037233894805402010-09-20T12:39:00.000-07:002010-09-21T11:51:14.063-07:00Optimizando la recolección estadística sobre tablas particionadasOracle 10g utiliza un algoritmo de dos pasadas para recolectar estadisticas sobre tablas particionadas:<br /><br />1. Una pasada por sobre toda la tabla para actualizar las estadisticas globales.<br />2. Una segunda pasada para recolectar estadisticas en cada una de las particiones.<br /><br />Este enfoque tiene el inconveniente que si se realizan cambios en algunas pocas particiones que las hagan elegibles para la recolección automática en la ventana de mantenimiento, además de refrescar la información estadistica propia de las particiones en cuestión, se deberá realizar la actualización global de la tabla. Para esto ultimo se recorre toda la tabla, incluso las particiones que no tuvieron cambio alguno. Esto puede realizar muy pesado dependiendo del tamaño de la tabla.<br /><br />A partir de Oracle 11g se adopta una algoritmo de una sola pasada, de manera de que en lugar de realizar una pasada por toda la tabla para actualizar la información global, se realiza una actualización incremental infiriendo los cambios desde las particiones modificadas. Algunas de las estadisticas pueden ser derivadas facilmente desde las estadisticas de las particiones (por ejemplo el número de filas), pero otras estadisticas, tal como el número de valores distintos de una columna no. Para resolver esto Oracle usa una nueva estructura llamada sinopsis para cada columna a nivel de la partición de forma tal que el numero de valores distintos (NDV) a nivel global pueda ser derivado haciendo merge de las sinopsis de las particiones analizadas.<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1CzFBQlNNOvNxOmpWRCFTgUGHxBRYB4j5Ogw-b1M8eIcreVBqBpMJ2hAc4nmyqcByLW0rpHAUFl6LH2J_jsypnB-fjFXr9QwRiT3LO6hz_gOvlt1QN-IgHbon4fG6MbUxYlD3sTZDO94/s1600/incremental_stats_gathering.jpg"><img style="cursor: pointer; width: 400px; height: 298px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1CzFBQlNNOvNxOmpWRCFTgUGHxBRYB4j5Ogw-b1M8eIcreVBqBpMJ2hAc4nmyqcByLW0rpHAUFl6LH2J_jsypnB-fjFXr9QwRiT3LO6hz_gOvlt1QN-IgHbon4fG6MbUxYlD3sTZDO94/s400/incremental_stats_gathering.jpg" alt="" id="BLOGGER_PHOTO_ID_5519352393412450098" border="0" /></a><br /><br /><br /><br />Si bien esto es un feature de 11g R1, en Oracle 10g R2, mas precisamente en 10.2.0.4 existe una opción para simular la recolección incremental mediante un nuevo valor 'APPROX_GLOBAL AND PARTITION' para el parametro GRANULARITY en el procedimiento GATHER_TABLE_STATS. Su comportamiento es igual al de 11g excepto para<br />los NDV de las columna no particionadas y para el número de claves distintas del indice a nivel global.<br /><br />El mantenimiento incremental esta deshabilitado por default y se puede habilitar a nivel tabla, esquema, incluso a nivel de la base de datos.<br /><br />A continuación les paso el resultado de mis pruebas usando Oracle 11g R1 (11.1.0.7):<br /><br />Voy a usar una tabla particionada por rango de fechas con 3 particiones. La tabla es pequeña (alrededor de 5M de filas) pero servirá para ejemplificar:<br /><pre><br />select partition_name,num_rows<br />from user_tab_partitions where table_name = 'T';<br /><br />PARTITION_NAME NUM_ROWS<br />------------------------------ ----------<br />P0710 1332466<br />P0810 2583379<br />P0910 1084155<br />PMAX 0<br /></pre><br /><br />Voy a eliminar 100,000 registros de una de las particiones:<br /><pre><br />delete from t partition (p0910)<br />where rownum <= 100000; 100000 filas suprimidas. </pre><br />Actualizo las estadisticas, usando el default, es decir sin recolección incremental:<br /><pre><br />begin<br />dbms_stats.gather_table_stats(ownname => user,tabname => 'T');<br />end;<br /><br />Procedimiento PL/SQL terminado correctamente.<br />Transcurrido: <span style="font-weight: bold;">00:00:11.71</span><br /></pre><br />Demoró casi 12 segundos.<br /><pre><br />select dbms_stats.get_prefs('INCREMENTAL', tabname=>'T') from dual;<br /><br />FALSE<br /></pre><br />Con la consulta de arriba verificamos que se hizo la recolección convencional<br /><br />Ahora voy a activar la recolección sobre la tabla T y voy eliminar filas y voy a volver a recolectar las estadisticas:<br /><pre><br />begin<br />dbms_stats.set_table_prefs(ownname => user,tabname => 'T',<br /> pname => 'INCREMENTAL',pvalue => 'TRUE');<br />end;<br /></pre><br />Verificamos que efectivamente esta activado el modo incremental sobre la tabla T:<br /><pre><br />select dbms_stats.get_prefs('INCREMENTAL', tabname=>'T') from dual;<br /><br />TRUE<br /><br /><br />begin <br />dbms_stats.gather_table_stats(ownname => user,tabname => 'T');<br />end;<br /><br />Transcurrido: <span style="font-weight: bold;">00:00:04.71</span><br /></pre><br />Ahora demoró 4s. En lugar de recorrer toda la tabla solo analizó la partición que cambió y luego derivó las estadisticas globales en base a los cambios efectuados y usando la sinapsis de la partición.<br /><br />Hay que tomar en cuenta que los histogramas globales no se preservan luego de ejecutar la recolección incremental (ver Bug 8686932 en Metalink).<br /><br />Si bien este método usado por Oracle para hacer mas efectiva la recolección se viene estudiando en ambitos academicos y de laboratorio hace ya tiempo, es Oracle el primer motor de base relacional en implementarlo.Pablo A. Rovedohttp://www.blogger.com/profile/02924687287216878757noreply@blogger.com0