CREATE PUBLIC DATABASE LINK TESTING CONNECT TO dbaname IDENTIFIED BY “dbconn” USING ‘@ORA’;
Untuk mengetahui database link tersebut sudah berhasil atau belum adalah sebagai berikut:
Select * from [TABLE NAME]@[DATABASE LINK]; CREATE SNAPSHOT [TABLE ALIAS NAME] NOLOGGING AS SELECT * FROM [TABLE NAME]@[DATABASE LINK];
Sample:
CREATE SNAPSHOT snapName NOLOGGING AS SELECT * FROM tblname@TESTING ; Refresh group berfungsi untuk mengontrol schedule Replikasi terhadap banyak.
Untuk membuat Refresh group dapat dilakukan dengan menggunakan perintah seperti dibawah ini:
BEGIN
DBMS_REFRESH.MAKE(
Name => ‘”[REFRESH GROUP NAME]”’,
list => '',
Next_date => SYSDATE,
Interval => ‘sysdate + [menit]/1440’
)
END;
/
List adalah bagian-bagian refresh group, yaitu terdiri dari banyak SNAPSHOT.
Sample:
BEGIN
DBMS_REFRESH.MAKE(
name => '"snapshot_name"',
list => '',
next_date => SYSDATE,
interval => '/*30:minutes*/ sysdate + 30/1440 ');
END;
/ --** select to_char(add_months(sysdate,-1),'monthyear') from dual // buat itung interval dalam (hari,bulan,tahun) CREATE OR REPLACE function DATEDIFF (
dateFrom in date,
dateTo in date,
interval in char
)
return number
AS
result number;
begin
--
select
case lower(interval)
when 'm' then round(MONTHS_BETWEEN(dateTo, dateFrom))
when 'd' then round(dateTo - dateFrom)
when 'y' then round(MONTHS_BETWEEN(dateTo, dateFrom)/12)
else 0
end into result
from dual;
--
return(result);
--
end DATEDIFF;
/ **************************************************************************** Fungsi : Itung jumlah bulan **************************************************************************** CREATE OR REPLACE FUNCTION BRITRUST.datediff (
p_what IN VARCHAR2,
p_d1 IN DATE,
p_d2 IN DATE
)
RETURN NUMBER
IS
l_result NUMBER;
BEGIN
SELECT DECODE (UPPER (p_what),
'SS', (p_d2 - p_d1) * 24 * 60 * 60,
'MI', (p_d2 - p_d1) * 24 * 60,
'HH', (p_d2 - p_d1) * 24,
'DD', TRUNC ( TO_NUMBER (TO_CHAR (TO_DATE (p_d2,
'DD-MON-YYYY'
),
'j'
)
)
- TO_NUMBER (TO_CHAR (TO_DATE (p_d1,
'DD-MON-YYYY'
),
'j'
)
)
),
'MM', TRUNC
(MONTHS_BETWEEN (TO_DATE (TO_CHAR (p_d2,
'DD-MON-YYYY'
),
'DD-MON-YYYY'
),
TO_DATE (TO_CHAR (p_d1,
'DD-MON-YYYY'
),
'DD-MON-YYYY'
)
)
),
'YY', TRUNC
( MONTHS_BETWEEN
(TO_DATE (TO_CHAR (p_d2,
'DD-MON-YYYY'
),
'DD-MON-YYYY'
),
TO_DATE (TO_CHAR (p_d1,
'DD-MON-YYYY'
),
'DD-MON-YYYY'
)
)
/ 12
),
NULL
)
INTO l_result
FROM DUAL;
RETURN (l_result);
END datediff;
/
Agustus 28, 2008 at 10:05 am
ok de man
nie awalnya buat inget’s ja c man :d