jump to navigation

Install Oracle 10g pada Windows 7 64bit December 21, 2011

Posted by indooracle in Solving problem, Tutorial, Uncategorized.
Tags: , ,
add a comment

Untuk yang ingin mencoba menginstall Oracle Database 10g pada Windows 7 64bit bisa mencoba dengan mengkuti link berikut:

Sebelumnya download terlebih dahulu installer untuk Oracle Database 10g (10204_vista_w2k8_x64_production_db.zip atau yang lebih baru jika ada) dari Oracle website, lalu pilih link “Oracle Database 10g Release 2 (10.2.0.4) for Microsoft Windows Vista x64, Microsoft Windows Server 2008 R2 x64, Windows 7 x64

Memory Notification: Library Cache Object loaded into SGA September 14, 2007

Posted by indooracle in Solving problem, Uncategorized.
1 comment so far

Jika anda menginstall Oracle Database 10g Release 2, bisa jadi anda menemukan banyak sekali warning message berikut pada bdump\alert_<instance_name>.log

Memory Notification: Library Cache Object loaded into SGA
Heap size 2294K exceeds notification threshold (2048K)

Munculnya message tersebut bukan berarti telah terjadi error pada database, melainkan menginformasikan bahwa telah terjadi process yang cukup lama untuk mengalokasikan free memory.

Oracle sendiri melalui metalink dengan note id 330239.1 telah memberikan solusi untuk menghilangkan/me-minimize munculnya pesan tersebut dengan melakukan modifikasi nilai dari _kgl_large_heap_warning_threshold (undocumented parameter) menjadi, misalkan 8192 (8192 * 1024).

Caranya yaitu login melalui SQL*Plus sebagai “/ AS SYSDBA” dan jalankan perintah berikut:

SQL> alter system set "_kgl_large_heap_warning_threshold"=8388608 scope=spfile;
SQL> shutdown immediate
SQL> startup
SQL> show parameter _kgl_large_heap_warning_threshold

NAME                                 TYPE        VALUE
------------------------------------ ----------- -------
_kgl_large_heap_warning_threshold    integer     8388608

Referensi

INBOUND_CONNECT_TIMEOUT October 11, 2006

Posted by indooracle in Solving problem, Tutorial, Uncategorized.
2 comments

Untuk yang menggunakan Oracle 10g R2, mungkin pernah mengalami hal dimana kita dapat dengan sukses connect menggunakan SQL*Plus, namun pada saat mencoba menjalankan aplikasi, kita kadang bisa connect kedatabase atau sama sekali tidak bisa terhubung dengan database.

Berikut ini mungkin bisa membantu mengatasi masalah anda.

  1. Set INBOUND_CONNECT_TIMEOUT_listener_name = 0 pada listener.ora
  2. Set SQLNET.INBOUND_CONNECT_TIMEOUT = 0 pada sqlnet.ora pada server
  3. Stop dan start database beserta dengan listernernya
  4. Test kembali aplikasi anda, apakah sudah berhasil connect ke database

Untuk melihat apakah nilai INBOUND_CONNECT_TIMEOUT pada listernet sudah berubah bisa dengan menggunakan:

LSNRCTL> show inbound_connect_timeout
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.9.11)(PORT=1521)))
LISTENER parameter "inbound_connect_timeout" set to 0
The command completed successfully

(more…)

Thrown when the IP address of a host cannot be determined June 16, 2006

Posted by indooracle in Solving problem, Uncategorized.
2 comments

Pada saat installasi Oracle Client 10g Release 1 mungkin pernah ada yang mengalami error “Thrown when the IP address of a host cannot be determined” dan process berhenti pada saat “Processing Oracle Net Configuration Assistant 10…“, hal ini terjadi pada computer yg terhubung ke jaringan dan menggunakan dynamic IP dari DHCP, sepertinya oracle installer mencoba untuk membaca ip address pada file hosts yang terdapat di folder %WINDIR%\system32\drivers\etc\. dan hanya mendapatkan entry localhost seperti terlihat sebagai berikut:

127.0.0.1    localhost

Nah solusinya yaitu dengan menambahkan entry baru berupa ip address yg didapat dari DHCP, ini dapat dilihat dengan menggunakan perintah “ipconfig /all” pada command prompt dan hasilnya akan terlihat seperti berikut:

Ethernet adapter Local Area Connection:

Connection-specific DNS Suffix: jkt.indooracle.net
  Description . . . . . . . . . : AMD PCNET Family PCI Ethernet Adapter
  Physical Address. . . . . . . : 00-0C-29-89-A6-FC
  Dhcp Enabled. . . . . . . . . : Yes
  Autoconfiguration Enabled . . : Yes
  IP Address. . . . . . . . . . : 192.168.0.86
  Subnet Mask . . . . . . . . . : 255.255.255.0
  Default Gateway . . . . . . . : 192.168.0.10
  DHCP Server . . . . . . . . . : 192.168.0.10
  DNS Servers . . . . . . . . . : 192.168.0.10
  Lease Obtained. . . . . . . . : Thursday, June 08, 2006 4:08:36 PM
  Lease Expires . . . . . . . . : Thursday, June 08, 2006 10:08:36 PM

Dari atas terlihat ip address untuk computer yg digunakan adalah 192.168.0.86, maka tambahkan ip address tersebut pada file hosts, sehingga akan terlihat seperti berikut:

127.0.0.1       localhost
192.168.0.86    vmware    vmware.jkt.indooracle.net

Sekarang process installasi Oracle Client 10g Release 1 dapat dilanjutkan kembali dengan normal tanpa error.

How to change database character set April 4, 2006

Posted by indooracle in Solving problem, Tutorial, Uncategorized.
add a comment

Catat/backup nilai dari parameter sebelum melakukan perubahan, dengan tujuan agar apabila diinginkan dapat mengembalikan nilai parameter tersebut ke nilai awalnya.

show parameters JOB_QUEUE_PROCESSES;
show parameters AQ_TM_PROCESSES;

Kemudian dilanjutkan dengan process ALTER DATABASE untuk mengubah character set.

STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET new_character_set;
SHUTDOWN IMMEDIATE; -- or SHUTDOWN NORMAL;
STARTUP;

Jika dibutuhkan kita dapat mengubah kembali nilai dari JOB_QUEUE_PROCESSES dan AQ_TM_PROCESSES.

ALTER SYSTEM SET JOB_QUEUE_PROCESSES = old_job_queue_processes_value;
ALTER SYSTEM SET AQ_TM_PROCESSES = old_aq_tm_processes_value;

Dictionary Table
– select * from v$nls_parameters

Mensetting parameter NLS_XXX December 9, 2004

Posted by indooracle in Solving problem, Tutorial, Uncategorized.
3 comments

Setting parameter NLS_

NLS_LANG parameter digunakan untuk mengatur general format dari database, seperti format tanggal, waktu, bahasa atau karakter yg digunakan, format mata uang (currency setting), kalender yg digunakan dan lain sebagainya. Yang harus di ingat adalah konfigurasi yg berlaku pada database Oracle tidak ada hubungannya dengan regional setting dari komputer yg digunakan.

Lalu hal apa yg menyebabkan pentingnya pembahasan mengenai konfigurasi format database Oracle?.

Apakah anda pernah mencoba proses insert atau update dan menemukan pesan kesalahan seperti yang terlihat pada contoh dibawah?

SQL> connect indooracle/dba@indooracle_db
Connected.
SQL> select sysdate from dual;

SYSDATE
-----------
21-SEP-2001

SQL> insert into table_contoh values ('12/12/99')

ERROR at line 1:
ORA-01843: not a valid month

Kejadian ini mungkin jarang dialami untuk anda-anda yg membangun suatu aplikasi yg tidak memperhitungkan lintas regional. Dan akan mengalaminya jika anda membangun aplikasi yg ditujukan untuk beberapa perusahaan yg berada di teority/negara yg berbeda.

sebelum lebih jauh marilah kita melihat hirarki dari NLS_ parameter.

  1. Database
  2. Instance ( berasal dari setting init.ora )
  3. Clint Side (berasal dari client environment atau setting registry )
  4. Session ( via perintah ALTER SESSION )

Lebih detail marilah kita membicarakan masing-masing tingkatan tersebut;

Parameter NLS_ pada Database

Configurasi parameter ini di tentukan dari variable environment NLS_TERRITORY pada saat pembuatan database. Dimana NLS_TERRITORY itu sendiri di turunkan dari parameter NLS_LANGUAGE. untuk AMERICA format tanggalnya adalah DD-MON-YY.

Parameter NLS_ pada Instance

Setting parameter ini ditentukan pada sebuah init.ora file, untuk mengetahui NLS yg terdapat pada init.ora melalui SQL*Plus yaitu dengan melihat melalui view NLS_INSTANCE_PARAMETERS.

SQL> select * from nls_instance_parameters;

PARAMETER                      VALUE
------------------------------ -------------
NLS_LANGUAGE                   AMERICAN
NLS_TERRITORY                  AMERICA
NLS_SORT
NLS_DATE_LANGUAGE
NLS_DATE_FORMAT
NLS_CURRENCY
NLS_NUMERIC_CHARACTERS
NLS_ISO_CURRENCY
NLS_CALENDAR
NLS_TIME_FORMAT
NLS_TIMESTAMP_FORMAT
NLS_TIME_TZ_FORMAT
NLS_TIMESTAMP_TZ_FORMAT
NLS_DUAL_CURRENCY
NLS_COMP

NLS_ pada configurasi Client

NSL parameter pada client ditentukan dalam registry dalam key HKEY_LOCAL_MACHINE\Software\Oracle (untuk aplikasi 32 Bit), sedangkan untuk aplikasi 16 Bit, setting NLS ditentukan pada oracle.ini. Yang harus diingat
adalah setting yg sebelumnya sudah didefiniskan pada Database atau Instance
akan secara otomatis ditimpa.

pada saat instalasi PC default NLS adalah NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 >> DD-MON-YY

Setting NLS instance pada init.ora ini hanya akan dipakai jika setting NLS_LANG dan NLS_DATE_FORMAT pada client tidak digunakan.

NLS_DATE_FORMAT dengan menggunakan SESSION

Untuk menimpa setting dari NLS parameter yg ada pada Database, instance
atau pun client, yaitu dengan menggunakan perintah ALTER SESSION secara
explicit.

SQL> alter session set nls_date_format='DD-MON-YYYY HH24:MI:SS';

dengan memanfaatkan NLS_SESSION_PARAMETERS kita dapat menampilkan effeknya yaitu kombinasi NLS setting dari Database, instancem, client dan session.

SQL> select * from nls_session_parameters;
PARAMETER                      VALUE
------------------------------ ------------------------------
NLS_LANGUAGE                   AMERICAN
NLS_TERRITORY                  AMERICA
NLS_CURRENCY                   $
NLS_ISO_CURRENCY               AMERICA
NLS_NUMERIC_CHARACTERS         .,
NLS_CALENDAR                   GREGORIAN
NLS_DATE_FORMAT                DD-MON-YYYY HH24:MI:SS
NLS_DATE_LANGUAGE              AMERICAN
NLS_SORT                       BINARY
NLS_TIME_FORMAT                HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT           DD-MON-YY HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZH:TZM
NLS_TIMESTAMP_TZ_FORMAT        DD-MON-YY HH.MI.SSXFF AM TZH:T
NLS_DUAL_CURRENCY              $
NLS_COMP

15 rows selected.

Menghindari masalah perbedaan setting NLS

Dari penjelasan di atas dapat disimpulkan, bahwa proses pada aplikasi yang
berjalan akan tergantung pada setting NLS. Maka muncul sebuah pertanyaan:
bagaimana untuk menghindari perbedaan setting NLS ini?, Solusinya dapat dengan menggunakan fungsi konversi TO_CHAR() atau TO_DATE().

insert into table_name values
  ( TO_DATE( sDay||'-'||sMonth||'-'||sYear,'DD-MM-YYYY') );

* Di assumsikan sDay, sMonth dan sYear masing-masing berisi:
’12’ –> tanggal
’12’ –> Bulan
‘2001’ –> Tahun

Kesimpulan

Jika kita menemukan setting NLS (misalkan NLS_DATE_FORMAT) pada
init.ora tidak berfungsi, maka yg dapat dilakukan adalah mengganti setting pada
registry yang berada pada

HKEY_LOCAL_MACHINE\Software\Oracle

atau, dengan menggunakan perintah ALTER SESSION,

SQL> alter session set nls_date_format=’DD-MON-YYYY HH24:MI:SS’;atau jika anda menggunakan Oracle 8i, release 8.1

create or replace trigger data_logon_trigger
after logon
ON DATABASE
begin
execute immediate
  'alter session set nls_date_format = ''yyyymmdd'' ';
end;
/

Ok!… sekian saja…

OS Authentication in Windows June 2, 2004

Posted by indooracle in Solving problem, Tutorial, Uncategorized.
add a comment

conn system/manager@demo
set linesize 10000
select * from v$system_parameter
where name like ‘remote%’ or
name like ‘%prefix%’ order by name;
set linesize 100

drop user “MYDOMAIN\USRTEST”;
create user “MYDOMAIN\USRTEST” identified externally;
grant connect to “MYDOMAIN\USRTEST”;
conn /@DEMO

Do you have problems with startup Oracle Database? May 18, 2004

Posted by indooracle in Solving problem, Tutorial, Uncategorized.
add a comment

If you got problems with your database like can not autmatically startup database even the windows services already started. I hope the following links can help you to solve your problem.
MS. KB 841180: Oracle database service startup process stops responding
Oracle will not start up automatically
Cannot start Oracle Instance after reboot system