Create DBLINK for another schema

 

create or replace procedure another_schema.dblink_another_schema as

BEGIN

EXECUTE IMMEDIATE ‘CREATE DATABASE LINK DBLINK_NAME

CONNECT TO username

IDENTIFIED BY password

USING ”TNSNAME”’;

END;

/

Exec another_schema.dblink_another_schema;

Drop procedure another_schema.dblink_another_schema;

Dengan kaitkata , ,

STEP BY STEP DEFRAG DATAFILE TABLESPACE

Tujuan : merapikan segment yang acak2an dan juga reclaim spaceūüôā. bisa impact juga ke performance pada sisi I/O

1. Cek Tablespace yang akan di defrag

–hitung selisih size datafile dikurangi size segment
select a.tablespace_name,b.datafile_size,a.segment_size,b.datafile_size-a.segment_size from(
select tablespace_name,round(sum(bytes/1024/1024/1024),2) segment_size from dba_segments group by tablespace_name) a,
(select tablespace_name,round(sum(bytes/1024/1024/1024),2) datafile_size from dba_data_files group by tablespace_name) b
where a.tablespace_name=b.tablespace_name
order by  2 desc  ;

–cek block-block yang kosong/free
select
file_id,
block_id,
block_id + blocks Р1   end_block,
owner,
segment_name,
partition_name,
segment_type
from
dba_extents
where
tablespace_name = ‘SOURCE_TABLESPACE’
union all
select
file_id,
block_id,
block_id + blocks Р1   end_block,
‘free’¬†¬†¬†¬†¬†¬†¬†¬†¬† owner,
‘free’¬†¬†¬†¬†¬†¬†¬†¬†¬† segment_name,
null            partition_name,
null            segment_type
from
dba_free_space
where
tablespace_name = ‘SOURCE_TABLESPACE’
order by
1,2

2. Create Penampungan data tablespace yang akan didefrag
– bisa create tablespace baru atau
– ke existing tablespace yang masih mempunyai free space yang cukup
##create tablespace
–select location datafile
select * from dba_data_files where tablespace_name like ‘SOURCE_TABLESPACE’
–create tablespace
create tablespace DATA_DEST_TABLESPACE datafile ‘/u01/EISDB11/DATA_DEST_TABLESPACE_01.DBF’ size 10m autoextend on next 100m maxsize unlimited;
create tablespace INDEX_DEST_TABLESPACE datafile ‘/u01/EISDB11/INDEX_DEST_TABLESPACE_01.DBF’ size 10m autoextend on next 100m maxsize unlimited;

3. Generate script defragment
–defragment untuk table
select ‘alter table ‘||owner||’.”‘||segment_name|| ‘” move tablespace DATA_DEST_TABLESPACE;’¬† from dba_segments where tablespace_name like ‘SOURCE_TABLESPACE’ and segment_type like ‘TABLE’;

–defragment untuk index
select ‘alter index ‘||owner||’.’||segment_name|| ‘ rebuild tablespace INDEX_DEST_TABLESPACE;’ from dba_segments where tablespace_name like ‘SOURCE_TABLESPACE’ and segment_type like ‘INDEX’

4. Generate script 4 resize datafile
select ‘alter database datafile ”’||file_name||”’ resize 2m;’ from dba_data_files where tablespace_name= ‘SOURCE_TABLESPACE’;

5. Drop old tablespace
–cek apakah masih ada object atau tidak
select count(0) from dba_segments where tablespace_name like ‘SOURCE_TABLESPACE’
–jika sudah tidak ada object maka tablespace dapat didrop
DROP TABLESPACE SOURCE_TABLESPACE INCLUDING CONTENTS AND DATAFILES;

6. Rename Tablespace
–untuk konsistensi dan kerapian, nama tablespace dapat diubah / disesuaikan
alter TABLESPACE nama_awal rename to nama_baru;

#issue yang mungkin muncul
– recycle bin
SELECT * FROM RECYCLEBIN;

SELECT * FROM USER_RECYCLEBIN;
–solution : purge table yang bersangkutan
select ‘purge table ‘||owner||’.”‘||segment_name||'”;’ from dba_segments where tablespace_name like ‘COL_STG_DATA’ and segment_type like ‘TABLE’;
atau
PURGE RECYCLEBIN;
– CLOB BLOB object

Dengan kaitkata , , , , , ,

Merubah Nama/Direktori Datafile pada Oracle Data Guard

Ketika kita merubah nama datafile pada primary database , perubahan tersebut tidak akan otomatis dilakukan di standby database. Oleh karena itu, jika kita ingin merubah nama datafile pada database primary kita harus merubah juga di standby dengan nama datafile yang sama perubahan di primary. Hal ini harus tetap kita lakukan meskipun parameter STANDBY_FILE_MANAGEMENT bernilai AUTO.

*untuk perubahan directory tanpa disertai dengan perubahan nama file maka tidak akan menimbulkan error pada standby database.

Berikut adalah langkah-langkah yang diperlukan merubah nama datafile di primary database dan juga standby database.

  1. To rename the datafile in the primary database, take the tablespace offline:

SQL> ALTER TABLESPACE EKOESDATA OFFLINE;

  1. Exit from the SQL prompt and issue an operating system command, such as the following UNIX cp command, to copy the datafile on the primary system:

$cp /u01/oracle/data/EKOESDATA03.dbf /u07/oracle/data/EKOESDATA03x.dbf

$cp /u01/oracle/data/EKOESDATA04.dbf /u07/oracle/data/EKOESDATA04x.dbf

  1. Rename the datafile in the primary database and bring the tablespace back online:

SQL> alter tablespace EKOESDATA

rename datafile ‘/u01/oracle/data/EKOESDATA03.dbf’ to ‘/u07/oracle/data/EKOESDATA03x.dbf’;

SQL> alter tablespace EKOESDATA

rename datafile ‘/u01/oracle/data/EKOESDATA04.dbf’ to ‘/u07/oracle/data/EKOESDATA04x.dbf’;

SQL> ALTER TABLESPACE EKOESDATA ONLINE;

  1. Connect to the standby database, query the V$ARCHIVED_LOG view to verify all of the archived redo log files are applied, and then stop Redo Apply:

SQL> SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

SEQUENCE# APP

——— —

8 YES

9 YES

10 YES

11 YES

4 rows selected.

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

  1. Shut down the standby database:

SQL> SHUTDOWN IMMEDIATE;

  1. Rename the datafile at the standby site using an operating system command, such as the UNIX cp command:

$cp /u01/oracle/data/EKOESDATA03.dbf /u05/oracle/data/EKOESDATA03x.dbf

$cp /u01/oracle/data/EKOESDATA04.dbf /u05/oracle/data/EKOESDATA04x.dbf

  1. Start and mount the standby database:

SQL> STARTUP MOUNT;

  1. Rename the datafile in the standby control file. Note that the STANDBY_FILE_MANAGEMENT initialization parameter must be set to MANUAL.

SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=MANUAL

SQL> ALTER DATABASE RENAME FILE ‘/u01/oracle/data/EKOESDATA03.dbf’ to ‘/u05/oracle/data/EKOESDATA03x.dbf’;

SQL> ALTER DATABASE RENAME FILE ‘/u01/oracle/data/EKOESDATA04.dbf’ to ‘/u05/oracle/data/EKOESDATA04x.dbf’;

SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO

  1. On the standby database, restart Redo Apply:

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE

DISCONNECT FROM SESSION;

 

*note : karena pada step 2 dan 6 menggunakan cp file maka ketika rename datafile sudah selesai jangan lupa untuk menghapus file source-nya

Dengan kaitkata , , , , , , ,

Estimasi, Perkiraan, Peramalan

Melihat apa yang terjadi di masa yang akan datang dengan menganalisis apa yang telah terjadi di masa lalu dan apa yang sedang terjadi di masa sekarang.

Mengarahkan apa yang akan terjadi di masa depan dengan melakukan sesuatu dari masa sekarang sampai pada peristiwa yang diinginkan terjadi.

Ada dua hal dalam bayang-membayangkan yang terjadi di masa depan. Yang pertama adalah perkirakan yang akan terjadi di masa depan, sedangkan yang kedua adalah keinginan agar suatu peristiwa terjadi di masa depan. Dalam hal lihat-melihat masa depan, tidak diperlukan bantuan makhluk dari alam gaib,  karena sebenarnya yang kita anggap makhluk gaib itu bukan makhluk gaib, mengapa? Karena mereka jelas-jelas ada.

Nah, mari Kita kembalikan masalah gaip pada pengertian gaib itu sendiri.

Masa depan adalah salah satu hal yang gaib karena belum diketahui apa yang akan terjadi di masa depan. Yang bisa dilakukan hanya memperkirakan, meramalkan, apa yang akan terjadi di masa depan. Dan semua perkiraan ataupun peramalan, variabel dari tingkat kepercayaan atau kepastiannya tidak akan ada yang mencapai 100 persen. Baca lebih lanjut

Dengan kaitkata , , , , , , , , ,

Membuat Trigger untuk audit DDL yang dilakukan User (Oracle Database)

Trigger ini berguna untuk mengetahui DDL yang dilakukan oleh user.

Berikut list DDL yang akan tercatat ketika user eksekusi DDL :
BEFORE / AFTER ANALYZE
BEFORE / AFTER ASSOCIATE STATISTICS
BEFORE / AFTER AUDIT
BEFORE / AFTER COMMENT
BEFORE / AFTER CREATE
BEFORE / AFTER DDL
BEFORE / AFTER DISASSOCIATE STATISTICS
BEFORE / AFTER DROP
BEFORE / AFTER GRANT
BEFORE / AFTER NOAUDIT
BEFORE / AFTER RENAME
BEFORE / AFTER REVOKE
BEFORE / AFTER TRUNCATE
AFTER SUSPEND 

details :

1. create tabel untuk menyimpan log hasil audit 
Create Table ddl_log
CREATE TABLE ddl_log (
operation   VARCHAR2(30),
obj_owner   VARCHAR2(30),
object_name VARCHAR2(30),
sql_text    VARCHAR2(64),
attempt_by  VARCHAR2(30),
attempt_dt  DATE); 

2. Create Trigger DDL
CREATE OR REPLACE TRIGGER EKOES.ddl_trigger
AFTER DDL
ON SCHEMA
DECLARE

Baca lebih lanjut

Dengan kaitkata , , , , , , , ,

Koneksi Antar Database Menggunakan Database Link

Persiapan sebelum membuat suatu database link adalah melakukan pengecekkan konektifitas antar server database. gunakan ping untuk mengetahui apakah server A dapat berkomunikasi dengan server B. dan gunakan telnet untuk mengetahui apakah port yang digunakan (1521) sudah dibuka atau belum.

misal server database  asal dengan hostname myoracle01 dengan IP 10.22.11.10 dan server database tujuan dengan hostname myoracle02 dengan IP 10.22.11.11

oracle@myoracle01:~> ping 10.22.11.11
 PING 10.22.11.11 (10.22.11.11) 56(84) bytes of data.
 64 bytes from 10.22.11.11: icmp_seq=1 ttl=253 time=3.66 ms
 64 bytes from 10.22.11.11: icmp_seq=2 ttl=253 time=0.940 ms
 ^C
 --- 10.22.11.11 ping statistics ---
 2 packets transmitted, 2 received, 0% packet loss, time 2004ms
 rtt min/avg/max/mdev = 0.940/1.932/3.660/1.226 ms
 oracle@myoracle01:~> telnet 10.22.11.11 1521
 Trying 10.22.11.11...
 Connected to 10.22.11.11.
 Escape character is '^]'.
^C
 Connection closed by foreign host.
 oracle@myoracle01:~>

Baca lebih lanjut

Dengan kaitkata , , , , , , ,

DML ( Data Manipulation Language)

Data Manipulation Language

Data Manipulation Language (DML) merupakan bahasa basis data yang berguna untuk melakukan modifikasi dan pengambilan data pada suatu basis data.

Modifikasi data terdiri dari: penambahan (insert), pembaruan (update) dan penghapusan (delete).

Penambahan data (Insert) pada sebuah tabel:

Syntax:

INSERT INTO <namaTabel> [(field1, field2, … fieldn)] VALUES  <ListValues>

<ListValues> bisa berbentuk nilai tunggal atau berbentuk SQL query. Syarat dari <ListValues>, jumlah, urutan dan jenis datanya harus sama.

Pembaruan data (Update) pada sebuah tabel:

Syntax:

UPDATE <NamaTabel> SET <field1>=<nilai1> [,<field2>=<nilai2>, … <fieldn>=<nilain>]

Penghapusan data (delete) pada sebuah tabel:

Syntax:

DELETE FROM <NamaTabel> [WHERE <kondisi>]

[Where <kondisi>] sama seperti where yang dipelajari pada SQL.


Dengan kaitkata , , , , , , , , ,

Database Oracle

Database Oracle adalah Database relasional yang terdiri dari kumpulan data dalam suatu sistem manajemen Database RDBMS. Perusahaan Software Oracle memasarkan jenis Database ini untuk bermacam-macam aplikasi yang bisa berjalan pada banyak jenis dan merk perangkat keras komputer (platform).

Database Oracle ini pertama kali dikembangkan oleh Larry Ellison, Bob Miner dan Ed Oates lewat perusahaan konsultasinya bernama Software Development Laboratories (SDL) pada tahun 1977. Pada tahun 1983, perusahaan ini berubah nama menjadi Oracle Corporation sampai sekarang. (wikipedia indonesia)

Database Oracle terdiri dari beberapa komponen berikut ini :

  • Software Oracle
  • Database, yang tersimpan dalam bentuk file pada satu disk atau lebih.
  • Instance Oracle, terdiri dari background process dan shared memory area
  • Server process, yang meng-handle user dan aplikasi yang telah terhubung dengan Database, dan juga mengatur memori dan temporary storage yang digunakan process tersebut.
  • Oracle Net, yang memungkinkan komunikasi antara client application dengan Database oracle pada sebuah jaringan.

Kerjaan DBA pada umumnya sebagai berikut :

  • Menginstal Software oracle
  • Meng-create database oracle
  • Upgrade database dan software oracle
  • Menyalakan dan mematikan Database oracle
  • Me-manage storage database
  • Me-manage user dan security database
  • Mengelola object Database seperti table, index, views, dll
  • Backup dan recovery
  • Monitoring dan tuning database
  • Diagnosis dan reporting error-error yang kritikal

Tools yang biasa digunakan pada Database oracle

  • Oracle Universal Installer :¬†Digunakan untuk instalasi software oracle, dan dapat juga digunakan untuk menjalankan Oracle database configuration assistant untuk menginstal sebuah database
  • Oracle Database Configuration Assistant :¬†Digunakan untuk meng-create database dari template yang dibuat oleh oracle, atau kita dapat membuat database sendiri sesuai keinginan kita
  • Database Upgrade Assistant :¬†Tools yang membantu kita dalam melakukan upgrade database.
  • Net Configuration Assistant :¬†Digunakan untuk konfigurasi listener dan naming methods, yang merupakan komponen penting dalam oracle database network
  • Oracle Enterprise Manager Database Control :¬†Tools yang digunakan untuk me¬≠-manage oracle database interface yang berbasis web.

Dengan kaitkata , , , , , , ,

Termasuk Syirik: Memakai Gelang, Benang dan Sejenisnya Sebagai Penangkal Mara Bahaya

oleh : Syaikh Muhammad bin Abdul Wahhab


Firman Allah Ta’ala:
“Katakanlah (Muhammad kepada kaum musyrikin): Terangkanlah kepadaku tentang apa-apa yang kamu seru selain Allah. Jika Allah menghendaki untuk menimpakan suatu bahaya kepadaku, apakah mereka mampu menghilangkan bahaya itu. Atau jika Allah menghendaki untuk melimpahkan suatu rahmat kepadaku, apakah mereka mampu menahan rahmat-Nya? Katakanlah: Cukuplah Allah bagiku, hanya kepadaNya-lah bertawakal orang-orang yang berserah diri.” (Az-Zumar: 38)

Imran bin Husein radhiyallahu ‘anhu, menuturkan bahwa Nabi Shallallahu ‘alaihi wa sallam melihat seorang laki-laki terdapat ditangannya gelang kuningan, maka beliau bertanya: ‘Apakah ini?’ Orang itu menjawab: ‘Penangkal sakit.’ Nabipun bersabda: ‘Lepaskan itu, karena dia hanya akan menambah kelemahan pada dirimu; sebab jika kamu mati sedang gelang itu masih ada pada tubuhmu, kamu tidak akan beruntung selama-lamanya.’ (HR Imam Ahmad dengan sanad yang bisa diterima) Baca lebih lanjut

Dengan kaitkata , , ,