Sabtu, 13 Desember 2008

Membuat Oracle Data Guard

Seperti yang saya janjikan, bahwa setelah menulis artikel pembuatan Data Guard pada Oracle Standart Edition.. saya
akan menulis artikel cara membuat Oracle Data Guard di Enterprise Edition, kali ini saya akan akan membuat
Physical Standby Database.
(Data Guard memiliki 2 buah metode : Physical Standby Database dan Logical Standby Database).

Skenario :

Ada 2 buah server Database, dimana 1 sebagai primary database dan 1 sebagai standby database

1. Versi database: Oracle Database 10g Enterprise Edition Release 2
2. OS: Oracle Linux Enterprise 5

Primary Database
----------------
1. IP -> 192.168.58.10
2. DB_UNIQUE_NAME -> TRAINING
3. SERVICE_NAME -> TRAINING

Standby Database
----------------
1. IP -> 192.168.58.20
2. DB_UNIQUE_NAME -> TRAINING
3. SERVICE_NAME -> TRAINSBY

Dan standby database berfungsi sebagai server database cadangan

Persiapan - persiapan yang perlu dilakukan :

=== PRIMARY DATABASE ===

1. Apply force logging

SQL> ALTER DATABASE FORCE LOGGING;

Database altered.

2. Mengaktifkan mode archived log

SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 5
Current log sequence 7

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area 444596224 bytes
Fixed Size 1219880 bytes
Variable Size 163578584 bytes
Database Buffers 272629760 bytes
Redo Buffers 7168000 bytes
Database mounted.

SQL> ALTER DATABASE ARCHIVELOG;

Database altered.

SQL> ALTER DATABASE OPEN;

Database altered.

3. Membuat password file

[oracle@gunawan ~]$ cd $ORACLE_HOME/dbs
[oracle@gunawan dbs]$ orapwd file=orapwTRAINING password=oracle entries=10 force=y
[oracle@gunawan dbs]$ ls -al
total 112
drwxr-x--- 2 oracle dba 4096 Dec 11 20:38 .
drwxr-x--- 55 oracle dba 4096 Dec 9 20:23 ..
-rw-r--r-- 1 oracle dba 5975 Dec 9 21:13 control01.txt
-rw-rw---- 1 oracle dba 1544 Dec 4 01:00 hc_TRAINING.dat
-rw-r----- 1 oracle dba 12920 May 3 2001 initdw.ora
-rw-r----- 1 oracle dba 8385 Sep 11 1998 init.ora
-rw-rw---- 1 oracle dba 24 Dec 4 01:01 lkTRAINING
-rw-r----- 1 oracle dba 1536 Dec 4 01:03 orapwTRAINING
-rw-r----- 1 oracle dba 3584 Dec 11 20:38 spfileTRAINING.ora
-rw-r--r-- 1 oracle dba 1056 Dec 7 21:17 spfileTRAINSBY.txt
-rw-r--r-- 1 oracle dba 719 Dec 7 21:34 sqlnet.log

4. Mengecek semua parameter yang akan dibutuhkan dalam pembuatan standby database

SQL> sho parameter log_file_name_convert;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_file_name_convert string

SQL> sho parameter remote_login_passwordfile;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
remote_login_passwordfile string EXCLUSIVE

SQL> sho parameter log_archive_config;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_config string

SQL> sho parameter log_archive_dest_1;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1 string
log_archive_dest_10 string

SQL> sho parameter log_archive_dest_state_1;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_1 string enable
log_archive_dest_state_10 string enable

SQL> sho parameter log_archive_dest_state_2;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_2 string enable

SQL> sho parameter log_archive_format;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_format string %t_%s_%r.dbf

SQL> sho parameter fal_client;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fal_client string
SQL> sho parameter fal_server;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fal_server string

SQL> sho parameter log_archive_dest_2;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string

5. Buat backup spfile (usahakan untuk selalu membuat backup sebelum melakukan perubahan pada parameter-parameter
primary database

SQL> create pfile=’/oracle/product/10.2.0/training/dbs/init_TRAINING.txt’ from spfile;

File created.

6. Lakukan perubahan pada parameter database

SQL> alter system set log_file_name_convert=’/home/oracle/training/redo’,’home/oracle/training/redo’ scope=spfile;

System altered.

SQL> alter system set db_file_name_convert=’/data/training/files’,’/data/training/files’ scope=spfile;

System altered.

SQL> alter system set log_archive_config=’DG_CONFIG=(training,trainsby)’ scope=spfile;

System altered.

SQL> alter system set log_archive_dest_1=’LOCATION=/data/training/archive’ scope=spfile;

System altered.

SQL> alter system set log_archive_dest_state_2=’defer’ scope=spfile;

System altered.

SQL> alter system set log_archive_format=’%t_%s_%r.arc’ scope=spfile;

System altered.

SQL> alter system set fal_client=’training’ scope=spfile;

System altered.

SQL> alter system set fal_server=’trainsby’ scope=spfile;

System altered.

SQL> alter system set log_archive_dest_2=’service=trainsby optional LGWR ASYNC NOAFFIRM valid_for=(online_logfiles,primary_role) db_unique_name=training’ scope=spfile;

System altered.

<<< Restart database >>>

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup
ORACLE instance started.

Total System Global Area 444596224 bytes
Fixed Size 1219880 bytes
Variable Size 167772888 bytes
Database Buffers 268435456 bytes
Redo Buffers 7168000 bytes
Database mounted.
Database opened.

7. Buat pfile dari spfile terbaru yang akan digunakan untuk standby database
(setelah restart database maka spfile sudah berubah)

SQL> create pfile=’/home/oracle/pfile_training.txt’ from spfile;

File created.

8. Edit/buat file tnsnames.ora

[oracle@gunawan ~]$ cd $ORACLE_HOME/network/admin/
[oracle@gunawan admin]$ vi tnsnames.ora

TRAINING =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.58.10)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TRAINING)
)
)

TRAINSBY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.58.20)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TRAINING)
)
)

9. Buat standby control file dari primary database

SQL> alter database create standby controlfile as ‘/home/oracle/controlstby.ctl’;

Database altered.

10. Buat backup database secara online

SQL> select TABLESPACE_NAME from dba_tablespaces where CONTENTS <>’TEMPORARY’;

TABLESPACE_NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
USERS

SQL> alter tablespace SYSTEM begin backup;

Tablespace altered.

SQL> alter tablespace UNDOTBS1 begin backup;

Tablespace altered.

SQL> alter tablespace SYSAUX begin backup;

Tablespace altered.

SQL> alter tablespace USERS begin backup;

Tablespace altered.

SQL> select name as file_name from
(select name from v$tempfile union
select name from v$datafile union
select member as name from v$logfile)
order by file_name;

FILE_NAME
--------------------------------------------------------------------------------
/data/training/files/sysaux01.dbf
/data/training/files/system01.dbf
/data/training/files/temp01.dbf
/data/training/files/undotbs01.dbf
/data/training/files/users01.dbf
/home/oracle/training/redo/redo01a.log
/home/oracle/training/redo/redo01b.log
/home/oracle/training/redo/redo02a.log
/home/oracle/training/redo/redo02b.log
/home/oracle/training/redo/redo03a.log
/home/oracle/training/redo/redo03b.log

11 rows selected.

====== STANDBY ========

11. Copy semua datafile dan redolog yang telah dibackup
(saya melakukan proses peng-copy-an dari standby database

[oracle@gunawan ~]$ scp -r oracle@192.168.58.10:/data/training/files/ /data/training/
oracle@192.168.58.10’s password:
users01.dbf 100% 5128KB 5.0MB/s 00:01
undotbs01.dbf 100% 25MB 2.5MB/s 00:10
system01.dbf 100% 480MB 3.5MB/s 02:17
temp01.dbf 100% 20MB 4.0MB/s 00:05
sysaux01.dbf 100% 240MB 2.4MB/s 01:39
[oracle@gunawan ~]$

[oracle@gunawan ~]$ scp -r oracle@192.168.58.10:/home/oracle/training/redo/ /home/oracle/training/
oracle@192.168.58.10’s password:
redo02a.log 100% 50MB 7.1MB/s 00:07
redo01a.log 100% 50MB 5.6MB/s 00:09
redo01b.log 100% 50MB 7.1MB/s 00:07
redo03a.log 100% 50MB 6.3MB/s 00:08
redo03b.log 100% 50MB 6.3MB/s 00:08
redo02b.log 100% 50MB 6.3MB/s 00:08
[oracle@gunawan ~]$

[oracle@gunawan ~]$ scp oracle@192.168.58.10:/home/oracle/controlstby.ctl /home/oracle/
oracle@192.168.58.10’s password:
controlstby.ctl 100% 6896KB 6.7MB/s 00:01
[oracle@gunawan ~]$ scp oracle@192.168.58.10:/home/oracle/pfile_training.txt /home/oracle/
oracle@192.168.58.10’s password:
pfile_training.txt 100% 1567 1.5KB/s 00:00
[oracle@gunawan ~]$

[oracle@gunawan ~]$ scp oracle@192.168.58.10:/oracle/product/10.2.0/training/dbs/orapwTRAINING /oracle/product/10.2.0/training/dbs/
oracle@192.168.58.10’s password:
orapwTRAINING 100% 2560 2.5KB/s 00:00

[oracle@gunawan ~]$ scp oracle@192.168.58.10:/oracle/product/10.2.0/training/network/admin/tnsnames.ora /oracle/product/10.2.0/training/network/admin
oracle@192.168.58.10’s password:

===== PRIMARY ======

setelah backup selesai maka akhiri mode backup pada tablespace di primary database

SQL> alter tablespace SYSTEM end backup;

Tablespace altered.

SQL> alter tablespace UNDOTBS1 end backup;

Tablespace altered.

SQL> alter tablespace SYSAUX end backup;

Tablespace altered.

SQL> alter tablespace USERS end backup;

Tablespace altered.

====== STANDBY ======

12. Copy standby controlfile menjadi 3 buah

[oracle@gunawan ~]$ pwd
/home/oracle
[oracle@gunawan ~]$ cp -rp controlstby.ctl control01.ctl
[oracle@gunawan ~]$ cp -rp controlstby.ctl control02.ctl
[oracle@gunawan ~]$ cp -rp controlstby.ctl control03.ctl
[oracle@gunawan ~]$ mv control0* /home/oracle/training/control/

13. Edit file pfile_training.txt

log_archive_dest_2=’service=training optional LGWR ASYNC NOAFFIRM valid_for=(online_logfiles,primary_role) db_unique_name=training’

14. Buat direktory untuk file-file dump

$ mkdir /oracle/product/admin/training/adump
$ mkdir /oracle/product/admin/training/bdump
$ mkdir /oracle/product/admin/training/cdump
$ mkdir /oracle/product/admin/training/udump

15. Naikkan standby database menggunakan pfile

SQL> startup mount pfile=’/home/oracle/pfile_training.txt’;
ORACLE instance started.

Total System Global Area 444596224 bytes
Fixed Size 1219880 bytes
Variable Size 167772888 bytes
Database Buffers 268435456 bytes
Redo Buffers 7168000 bytes
Database mounted.

16. Rubah parameter service_names

SQL> sho parameter SERVICE_NAMES;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string TRAINING

<<< Untuk merubah parameter database harus dinaikkan menggunakan spfile >>>

SQL> create spfile from pfile=’/home/oracle/pfile_training.txt’;

File created.

<<< Restart Database >>>

SQL> shutdown
ORA-01109: database not open

Database dismounted.
ORACLE instance shut down.

SQL> startup mount
ORACLE instance started.

Total System Global Area 444596224 bytes
Fixed Size 1219880 bytes
Variable Size 167772888 bytes
Database Buffers 268435456 bytes
Redo Buffers 7168000 bytes
Database mounted.

SQL> alter system set SERVICE_NAMES=’TRAINSBY’ scope=spfile;

System altered.

<<< Restart Database >>>

SQL> shutdown immediate
ORA-01109: database not open

Database dismounted.
ORACLE instance shut down.

SQL> startup mount
ORACLE instance started.

Total System Global Area 444596224 bytes
Fixed Size 1219880 bytes
Variable Size 167772888 bytes
Database Buffers 268435456 bytes
Redo Buffers 7168000 bytes
Database mounted.

SQL> sho parameter SERVICE_NAMES;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string TRAINSBY

17. Jalankan recovery di standby database untuk meng-apply arhived log

SQL> alter database recover managed standby database disconnect;

Database altered.

========= PRIMARY ======

18. Rubah parameter log_archive_dest_state_2 dari defer menjadi enable di primary database

SQL> alter system set log_archive_dest_state_2=’enable’ scope=both;

System altered.

SQL> sho parameter log_archive_dest_state_2;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_2 string enable

Akhirnya standby database selesai di-create. Untuk melihat archived log yang telah di-apply di standby database
gunakan command ini.

SQL> set pages 100
SQL> col name for a45
SQL> select name,to_char(FIRST_TIME,’dd-mon-yy hh24:mi:ss’) TIME ,SEQUENCE#,APPLIED from v$archived_log;

Pastikan colomn APPLIED bernilai YES.

NAME TIME SEQUENCE# APP
--------------------------------------------- ------------------ ---------- ---
/data/training/archive/1_7_672541313.arc 11-dec-08 20:36:03 7 YES
/data/training/archive/1_8_672541313.arc 12-dec-08 17:29:07 8 YES
/data/training/archive/1_9_672541313.arc 12-dec-08 18:02:31 9 YES
/data/training/archive/1_10_672541313.arc 12-dec-08 18:06:36 10 YES
/data/training/archive/1_11_672541313.arc 12-dec-08 18:11:41 11 YES
/data/training/archive/1_12_672541313.arc 12-dec-08 18:15:23 12 YES
/data/training/archive/1_13_672541313.arc 12-dec-08 18:18:07 13 YES
/data/training/archive/1_14_672541313.arc 12-dec-08 18:27:07 14 YES
/data/training/archive/1_15_672541313.arc 12-dec-08 18:29:38 15 YES
/data/training/archive/1_16_672541313.arc 12-dec-08 18:32:03 16 YES
/data/training/archive/1_17_672541313.arc 12-dec-08 18:35:39 17 YES
/data/training/archive/1_18_672541313.arc 12-dec-08 18:36:25 18 YES
/data/training/archive/1_19_672541313.arc 12-dec-08 18:56:36 19 YES

13 rows selected.

Selasa, 25 November 2008

Membuat ulang/re-create controlfile di oracle

Pada artikel ini, akan dijelaskan bagaimana cara membuat ulang controlfile pada oracle.
Kita perlu membuat ulang controlfile pada saat akan melakukan perubahan-perubahan paramater pada
controlfile, disini saya akan melakukan perubahan pada nilai:

MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 300
MAXINSTANCES 8
MAXLOGHISTORY 292

menjadi

MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXDATAFILES 1024
MAXINSTANCES 15
MAXLOGHISTORY 500

Langkah-langkah yang dilakukan adalah :

1. pastikan nama database yang akan kita buat ulang controlfilenya

SQL> select name from v$database;

NAME
---------
TRAINING

2. lihat path dimana controlfile berada.

SQL> select name from v$controlfile;

NAME
------------------------------------------------------------------------------
/ORACLE/PRODUCT/10.2.0/ORADATA/TRAINING/CONTROL01.CTL
/ORACLE/PRODUCT/10.2.0/ORADATA/TRAINING/CONTROL02.CTL
/ORACLE/PRODUCT/10.2.0/ORADATA/TRAINING/CONTROL03.CTL

3. backup controlfile kedalam bentuk file text untuk membuat ulang controlfilenya

SQL> alter database backup controlfile to trace as ‘/coba2oracle/controlfile.txt’;

Database altered.

4. edit file controlfile.txt sesuai dengan kebutuhan

$ vi /coba2oracle/controlfile.txt

=============== potong ====================

-- After mounting the created controlfile, the following SQL
-- statement will place the database in the appropriate
-- protection mode:
-- ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE

STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE “TRAINING” NORESETLOGS FORCE LOGGING ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 300
MAXINSTANCES 8
MAXLOGHISTORY 292

============== potong =====================

kemudian edit file tersebut menjadi seperti dibawah ini:

STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE “TRAINING” NORESETLOGS FORCE LOGGING ARCHIVELOG
MAXLOGFILES 50
MAXLOGMEMBERS 10
MAXDATAFILES 1024
MAXINSTANCES 15
MAXLOGHISTORY 500
LOGFILE
GROUP 1 ‘/ORACLE/PRODUCT/10.2.0/ORADATA/TRAINING/REDO01.LOG’ SIZE 50M,
GROUP 2 ‘/ORACLE/PRODUCT/10.2.0/ORADATA/TRAINING/REDO02.LOG’ SIZE 50M,
GROUP 3 ‘/ORACLE/PRODUCT/10.2.0/ORADATA/TRAINING/REDO03.LOG’ SIZE 50M
DATAFILE
‘/ORACLE/PRODUCT/10.2.0/ORADATA/TRAINING/SYSTEM01.DBF’,
‘/ORACLE/PRODUCT/10.2.0/ORADATA/TRAINING/UNDOTBS01.DBF’,
‘/ORACLE/PRODUCT/10.2.0/ORADATA/TRAINING/SYSAUX01.DBF’,
‘/ORACLE/PRODUCT/10.2.0/ORADATA/TRAINING/USERS01.DBF’,
‘/ORACLE/PRODUCT/10.2.0/ORADATA/TRAINING/USERS02.DBF’,
‘/ORACLEDATA/HAPUS.DBF’,
‘/ORACLEDATA/HAPUS02.DBF’,
‘/ORACLE/PRODUCT/10.2.0/ORADATA/TRAINING/LAT01.DBF’
CHARACTER SET WE8MSWIN1252;
RECOVER DATABASE
ALTER SYSTEM ARCHIVE LOG ALL;
ALTER DATABASE OPEN;
ALTER TABLESPACE TEMP ADD TEMPFILE ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\TRAINING\TEMP01.DBF’
SIZE 20971520 REUSE AUTOEXTEND OFF;

NOTE : pada file controlfile.txt terdapat 2 metode dalam pembuatan controlfile, case 1 (noresetlogs)
dan case 2 (resetlogs), untuk kasus ini hapus step2 pada case 2(resetlogs)..

Setelah itu simpan hasil perubahan dan rubah controlfile.txt menjadi controlfile.sql

$ mv controlfile.txt controlfile.sql

5. matikan database

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

6. jalankan script pada file controlfile.sql

SQL> @ /coba2oracle/controlfile.sql;
ORACLE instance started.

Total System Global Area 1048576000 bytes
Fixed Size 1252976 bytes
Variable Size 583008656 bytes
Database Buffers 461373440 bytes
Redo Buffers 2940928 bytes

Control file created.

ORA-00283: recovery session canceled due to errors
ORA-00264: no recovery required

System altered.

Database altered.

Tablespace altered.

SQL>

NOTE : Pesan error tersebut tidak masalah, karena menunjukkan bahwa database tidak
perlu di recover.

Minggu, 23 November 2008

Membuat RMAN dengan crontab

Untuk artikel kali ini, saya akan membuat script RMAN yang akan dijalankan secara terjadwal
dengan menggunakan crontab…

Langkah-langkah yang dilakukan adalah:

1. membuat file fullbackup_rman.sh

* * * * * /app1/oracle/scripts/fullbackup_rman.sh > /app1/oracle/backup/rman_fullbackup/fullbackup_rman.log
====================================
#vi fullbackup_rman.sh

ORACLE_SID=training; export ORACLE_SID
ORACLE_HOME=/ora10g/app/oracle/OraHome_1
export ORACLE_HOME
PATH=$PATH:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/ucb:/etc:.;export PATH
rman target=/ @/app1/oracle/scripts/fullbackup_script.conf -> path tempat menaruh script RMAN

================================

2. buat file fullbackup_script.conf
contoh script RMAN yang akan dijalankan.

#vi /app1/oracle/scripts/fullbackup_script.conf

run
{
allocate channel ch1 type disk;
backup
incremental level 0
filesperset 1
format ‘/app1/oracle_backup/data_%T_d%d_p%p_U%U.bak’
(database);

backup
incremental level 0
format ‘/app1/oracle_backup/cf_%T_d%d_p%p_U%U.bak’
(current controlfile);

delete noprompt obsolete;
}
exit;

============================

Cara membuat Crontab file
___________
Crontab syntax :-
A crontab file has five fields for specifying day , date and time followed by the command to be run at that interval.
* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)
* in the value field above means all legal values as in braces for that column.
The value column can have a * or a list of elements separated by commas. An element is either a number in the ranges shown above or two numbers in the range separated by a hyphen (meaning an inclusive range).

Note: The specification of days can be made in two fields: month day and weekday. If both are specified in an entry, they are cumulative meaning both of the entries will get executed .

3. membuat Crontab untuk menjalankan RMAN
_______

contoh crontab ini akan menjalankan script /app1/oracle/scripts/fullbackup_rman.sh dan membuat log di /app1/oracle/backup/rman_fullbackup/fullbackup_rman.log
setiap hari pada jam 6:30 PM.

30 18 * * * /app1/oracle/scripts/fullbackup_rman.sh > /app1/oracle/backup/rman_fullbackup/fullbackup_rman.log

=================================

$ chmod 775 fullbackup_rman.sh
$ crontab -e => 30 18 * * * /app1/oracle/scripts/fullbackup_rman.sh > /app1/oracle/backup/rman_fullbackup/fullbackup_rman.log
$ crontab -l

Jumat, 29 Agustus 2008

Membuat Partisi dan File System Linux

Category: OS
Author: roninmorgue
Date: May, 03rd 2007
Location: Indonesia, Jakarta
Web: http://www.forum.mercubuana-it.org/

----------------------------------------

affected :

Tulisan saya ini diinspirasikan dari pengalaman dikantor, disaat
harddisk diserver sudah tidak lagi dapat menampung data backup pada
server database. Kemudian ditambahkan harddisk sebagai backup storage
pada server.

POC :

Sebelumnya HD tambahan tersebut merupakan HD yang sudah memiliki partisi
NTFS dan akan dijadikan partisi Linux, dan HD tersebut adalah IDE.

Sebelumnya perhatikan dahulu apakah HD terhubung ke Primary atau Secondary
dan sebagai master atau slave.
Ketentuannya sbb:
PM=hda, PS=hdb, SM=hdc, SS=hdd
bisa diperiksa dengan perintah “dmesg | more”, dan berhubung HD terkoneksi
sebagai Primary Slave, maka saya menggunakan hdb. Langkah-langkah:

1. Login sebagai root dari shell command.
2. Ketikkan fdisk /dev/hdb

[root@alt2007 sbin]# ./fdisk /dev/hdb

The number of cylinders for this disk is set to 9729.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help):

3. Ketikkan m untuk mengetahui daftar perintah selengkapnya
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition’s system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

4. Ketikkan p untuk melihat partisi yang ada pada HD
Command (m for help): p

Disk /dev/hdb: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hdb2 2 9729 78140160 f Win95 Ext’d (LBA)
/dev/hdb5 2 9729 78140128+ 7 HPFS/NTFS

5. Ketikkan d untuk menghapus partisi yang telah ada pada HD
Command (m for help): d
Partition number (1-5): 2

Command (m for help): d
Partition number (1-5): 5

6. Periksa partisi HD kembali
Command (m for help): p

Disk /dev/hdb: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

terlihat bahwa HD tidak memiliki partisi.

7. Ketikkan n untuk memasukkan/membuat partisi pada HD

Command (m for help): n
Command action
e extended
p primary partition (1-4)

pilih ‘p’

Partition number (1-4): 1
First cylinder (1-9729, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-9729, default 9729):
Using default value 9729

8. Periksa kembali partisi pada HD

Command (m for help): p

Disk /dev/hdb: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hdb1 1 9729 78148161 83 Linux

9. Lakukan penulisan partisi pada HD

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

10. Langkah berikutnya adalah membuat file system pada partisi HD

[root@alt2007 sbin]# ./mkfs /dev/hdb1
mke2fs 1.32 (09-Nov-2002)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
9781248 inodes, 19537040 blocks
976852 blocks (5.00%) reserved for the super user
First data block=0
597 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@alt2007 sbin]#

11. Edit file /etc/fstab, tambahkan pada baris terakhir berikut:

[root@alt2007 sbin]# vi /etc/fstab

LABEL=/ / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/sda3 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/hdb1 /mnt/hddtambahan ext2 defaults 1 1

12. Lakukan mounting untuk harddisk

[root@alt2007 ]# mount -a
mount: mount point /mnt/hddtambahan does not exist

jika ada pesan seperti diatas berarti anda belum membuat file mounting
buat terlebih dahulu dan lakukan mounting ulang:

[root@alt2007 ]# mkdir /mnt/hddtambahan
[root@alt2007 ]# mount -a
[root@alt2007 ]# cd /mnt/hddtambahan/
[root@alt2007 hddtambahan]# ls
lost+found

Sekarang HD sudah bisa digunakan untuk backup sementara

Rabu, 12 Maret 2008

Instalasi OpenOffice di Slackware 12

Berhubung di slackware 12 belum ada OpenOffice, padahal gw lebih nyaman kl pake OpenOffice, jadi
gw mencoba untuk menginstall sendiri…

Langkah-langkah teknis :

1. Extract source openoffice
root@slacky:/home/software/openoffice.org-2.3.1# tar -zxvf OOo_2.3.1_LinuxIntel_install_wJRE_en-US.tar.gz
2. Masuk ke directory hasil extract
root@slacky:/home/software/openoffice.org-2.3.1# cd OOG680_m9_native_packed-1_en-US.9238/RPMS
3. Rubah file-file rpm ke tgz
root@slacky:/home/software/openoffice.org-2.3.1/
OOG680_m9_native_packed-1_en-US.9238/RPMS# rpm2tgz *.rpm
4. lakukan instalasi paket tgz (default akan terinstall di /opt)
root@slacky:/home/software/openoffice.org-2.3.1/
OOG680_m9_native_packed-1_en-US.9238/RPMS# installpkg *.tgz
5. OpenOffice telah terinstall dengan baik, selarang kita akan mengintegrasikan dengan menu dari desktop (sesuaikan dengan distro anda)
root@slacky:/home/software/openoffice.org-2.3.1/
OOG680_m9_native_packed-1_en-US.9238/RPMS/desktop-integration#
installpkg openoffice.org-slackware-menus-2.3-noarch-9238.tgz

Installing package openoffice.org-slackware-menus-2.3-noarch-9238…
PACKAGE DESCRIPTION:
openoffice.org-slackware-menus: OpenOffice.org Desktop-Integration for Slackware
openoffice.org-slackware-menus: Version: 2.3, License: LGPL
openoffice.org-slackware-menus:
openoffice.org-slackware-menus: Note that this package is non-functional without the main packages of
openoffice.org-slackware-menus: OpenOffice.org 2.3
openoffice.org-slackware-menus: If you did install the main packages to another location than the
openoffice.org-slackware-menus: default, make sure to adapt the link
openoffice.org-slackware-menus: /etc/openoffice.org2.3
openoffice.org-slackware-menus: accordingly to point to the correct location.
openoffice.org-slackware-menus:
openoffice.org-slackware-menus: This package is provided by OpenOffice.org
Executing install script for openoffice.org-slackware-menus-2.3-noarch-9238…
/usr/bin/update-desktop-database
/usr/bin/update-mime-database

Selesai....sekarang gw bisa menggunakan OpenOffice di Slackware 12 gw melalui menu Office

Minggu, 09 Maret 2008

ntfs-3g di Slackware 12

Dear all....

Sekarang gw mau sedikit berbagi pengalaman dan pengetahuan tentang melakukan
instalasi dan konfigurasi ntfs-3g di Slackware 12. Seperti kita ketahui
slackware 12 belum mendukung penuh file system NTFS milik windows sehingga kita
tidak dapat melakukan proses penulisan pada partisi windows.

Padahal kemampuan untuk melakukan itu adalah sebuah keharusan untuk gw, jadi
otomatis paman google jadi andalan gw

Ok...langsung aja, paket-paket yang kita perlukan adalah :

1. ntfs-3g-1.0.tgz (kl dapet yang lebih baru lebih baik)
2. fuse-2.7.3.tar.gz (diperlukan fuse > 2.6)

langkah-langkah :

1. extract file fuse-2.7.3.tar.gz
root@slacky:/home/software# tar -zxvf fuse-2.7.3.tar.gz
2. masuk ke direktori fuse-2.7.3
root@slacky:/home/software# cd fuse-2.7.3
3. Lakukan perintah-perintah standar untuk melakukan instalasi
root@slacky:/home/software/fuse-2.7.3# ./configure
root@slacky:/home/software/fuse-2.7.3# ./make
root@slacky:/home/software/fuse-2.7.3# ./make check
root@slacky:/home/software/fuse-2.7.3# ./make install
root@slacky:/home/software/fuse-2.7.3# ./make clean

atau silahkan baca file README jika ingin mengetahui lebih detail
4. extract file ntfs-3g-1.0.tgz
root@slacky:/home/software# tar -zxvf ntfs-3g-1.0.tgz
5. masuk ke direktori ntfs-3g-1.0
root@slacky:/home/software# cd ntfs-3g-1.0
6. Lakukan perintah-perintah standar untuk melakukan instalasi
root@slacky:/home/software/ntfs-3g-1.0# ./configure
root@slacky:/home/software/ntfs-3g-1.0# ./make
root@slacky:/home/software/ntfs-3g-1.0# ./make check
root@slacky:/home/software/ntfs-3g-1.0# ./make install
root@slacky:/home/software/ntfs-3g-1.0# ./make clean

OK kalau semuanya sudah selesai tanpa error, berarti slackware kita telah dapat
melakukan proses tulis ke partisi windows, yang jadi pertanyaan bagaimana caranya???

dan ini dia jawabannya->
lakukan perintah ini pada shell linux kita, oh yah tapi sebelumnya di umount terlebih
dahulu partisi windows kita,

root@slacky:/# umount /RHELAS
dan lakukan proses mount ulang,

root@slacky:/# mount -t ntfs-3g /dev/hdb5 /RHELAS
atau
root@slacky:/# ntfs-3g /dev/hdb5 /RHELAS

Apabila kita ingin partisi windows selalu dimounting dengan ntfs-3g, maka kita dapat
melakukan konfigurasi pada file fstab

root@slacky:/# vi /etc/fstab

/dev/hdb8 swap swap defaults 0 0
/dev/hdb9 / ext3 defaults 1 1
/dev/hdb5 /RHELAS ntfs-3g defaults 1 2
/dev/hda1 /win/win-1 ntfs-3g defaults 1 0
/dev/hda10 /win/win-2 ntfs-3g defaults 1 0
/dev/hda5 /win/win-3 ntfs-3g defaults 1 0
/dev/hda6 /win/win-4 ntfs-3g defaults 1 0
/dev/hda7 /win/win-5 ntfs-3g defaults 1 0
/dev/hda8 /win/win-6 ntfs-3g defaults 1 0
/dev/hda9 /win/win-7 ntfs-3g defaults 1 0
/dev/hdb1 /win/win-8 ntfs-3g defaults 1 0
/dev/hdb6 /win/win-9 ntfs-3g defaults 1 0
/dev/hdb7 /win/win-10 ntfs-3g defaults 1 0
#/dev/cdrom /mnt/cdrom auto noauto,owner,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0

Dan, sekarang kita dapat bekerja pada partisi windows dengan nyaman…