About Us
RSInfoMinds, a web based IT Training and Consultancy firm. It is established with high dreams in training people in IT Infrastructure Field. We provide Online and Class Room training in various fields of IT Infrastructure Management.
Join Us: http://www.facebook.com/RSInfoMinds
Mail Us: rsinfominds@gmail.com
Twitter: @RSInfoMinds
We are specialized in the below courses:
Redhat Linux Admin Redhat Linux Cluster
Redhat Virutualization IBM AIX Admin
IBM AIX Virtualization IBM AIX Cluster
HP Unix Admin HP Unix Cluster
HP Unix Virtualization Shell Scripting
Veritas Volume Manager Veritas Cluster
Oracle Core DBA VMWare
We provide training in such a way, So that you get in depth knowledge on the Courses you look for.
And we ensure you are very confident from each and every Techincal aspect that the IT Industry needs and expects from you.
We also conduct Workshops on the latest technology and the real time faculties sharing their work experiences to make you the best.
Monday, 28 July 2014
Sunday, 20 July 2014
Friday, 18 July 2014
What is a Mirror Log ?
LVM maintains a small log which it uses to keep track of which regions are in sync with the mirror or mirrors.
By default, this log is kept on disk, which keeps it persistent across reboots and ensures that the mirror does not need to be re-synced every time a machine reboots or crashes.
You can specify instead that this log be kept in memory with the --mirrorlog core argument; this eliminates the need for an extra log device, but it requires that the entire mirror be resynchronized at every reboot.
Linux LVM Mirroring (RAID -1 ) Part II
Now going to mirror the logical volume:
[root@test ~]# lvconvert -m1 /dev/oracle/oracle_lv
oracle/oracle_lv: Converted: 0.0%
oracle/oracle_lv: Converted: 100.0%
[root@test ~]#
[root@test ~]# lvdisplay -m /dev/oracle/oracle_lv
--- Logical volume ---
LV Name /dev/oracle/oracle_lv
VG Name oracle
LV UUID O9W6go-l2AC-0XP9-GvLw-tL2C-bjeI-YoWmDG
LV Write Access read/write
LV Status available
# open 1
LV Size 1.00 GiB
Current LE 256
Mirrored volumes 2
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
--- Segments ---
Logical extent 0 to 255:
Type mirror
Mirrors 2
Mirror size 256
Mirror log volume oracle_lv_mlog
Mirror region size 512.00 KiB
Mirror original:
Logical volume oracle_lv_mimage_0
Logical extents 0 to 255
Mirror destinations:
Logical volume oracle_lv_mimage_1
Logical extents 0 to 255
[root@test ~]#
[root@test ~]# lvconvert -m1 /dev/oracle/oracle_lv
oracle/oracle_lv: Converted: 0.0%
oracle/oracle_lv: Converted: 100.0%
[root@test ~]#
[root@test ~]# lvdisplay -m /dev/oracle/oracle_lv
--- Logical volume ---
LV Name /dev/oracle/oracle_lv
VG Name oracle
LV UUID O9W6go-l2AC-0XP9-GvLw-tL2C-bjeI-YoWmDG
LV Write Access read/write
LV Status available
# open 1
LV Size 1.00 GiB
Current LE 256
Mirrored volumes 2
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
--- Segments ---
Logical extent 0 to 255:
Type mirror
Mirrors 2
Mirror size 256
Mirror log volume oracle_lv_mlog
Mirror region size 512.00 KiB
Mirror original:
Logical volume oracle_lv_mimage_0
Logical extents 0 to 255
Mirror destinations:
Logical volume oracle_lv_mimage_1
Logical extents 0 to 255
[root@test ~]#
[root@test ~]# pvs -o +lv_name
PV VG Fmt Attr PSize PFree LV
/dev/sdb oracle lvm2 a-- 5.00g 4.00g [oracle_lv_mimage_1]
/dev/sdb oracle lvm2 a-- 5.00g 4.00g
/dev/sdc oracle lvm2 a-- 5.00g 3.99g [oracle_lv_mimage_0]
/dev/sdc oracle lvm2 a-- 5.00g 3.99g [oracle_lv_mlog]
/dev/sdc oracle lvm2 a-- 5.00g 3.99g
[root@test ~]#
Linux LVM Mirroring (RAID -1 ) Part I
This post I am going to show how to mirror a logical volume:
[root@test ~]# df -TH /oracle
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/oracle-oracle_lv
ext4 1.1G 1.1G 0 100% /oracle
[root@test ~]#
[root@test ~]# df -TH /oracle
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/oracle-oracle_lv
ext4 1.1G 1.1G 0 100% /oracle
[root@test ~]#
Before mirroring:
[root@test ~]# lvdisplay -m /dev/oracle/oracle_lv
--- Logical volume ---
LV Name /dev/oracle/oracle_lv
VG Name oracle
LV UUID O9W6go-l2AC-0XP9-GvLw-tL2C-bjeI-YoWmDG
LV Write Access read/write
LV Status available
# open 1
LV Size 1.00 GiB
Current LE 256
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
--- Segments ---
Logical extent 0 to 255:
Type linear
Physical volume /dev/sdc
Physical extents 0 to 255
Initializing and adding a new disk to the VG Oracle:
[root@test ~]# pvcreate /dev/sdb
Writing physical volume data to disk "/dev/sdb"
Physical volume "/dev/sdb" successfully created
[root@test ~]# vgextend /dev/oracle /dev/sdb
Volume group "oracle" successfully extended
[root@test ~]#
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 07/09/2014 11:21:25 ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
The reason for the above error is the due to the database is configured to run in NOARCHIVE Mode.
So to fix the error, We need to convert the database to ARCHIVE Mode.
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination /u01/app/oracle/product/11.2.0/db_1/dbs/arch
Oldest online log sequence 2
Current log sequence 4
SQL>
So to fix the error, We need to convert the database to ARCHIVE Mode.
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination /u01/app/oracle/product/11.2.0/db_1/dbs/arch
Oldest online log sequence 2
Current log sequence 4
SQL>
Converting to ARCHIVE Mode.
SQL> alter database archivelog;
alter database archivelog
*
ERROR at line 1:
ORA-01126: database must be mounted in this instance and not open in any instance
SQL>
So, doing that before the database should be in Mounted state.
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 392495104 bytes
Fixed Size 2213696 bytes
Variable Size 138414272 bytes
Database Buffers 247463936 bytes
Redo Buffers 4403200 bytes
Database mounted.
SQL> alter database archivelog;
Database altered.
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/app/oracle/product/11.2.0/db_1/dbs/arch
Oldest online log sequence 2
Next log sequence to archive 4
Current log sequence 4
SQL> alter database open;
Database altered.
SQL>
Bingo...!!!!!!!!!!!!!
Wednesday, 16 July 2014
Configure Virtual Serial Port
1) /etc/securetty -append
ttyS0
ttyS1
2) /etc/inittab - uncomment and modify
S0:12345:respawn:/sbin/agetty -L 115200 ttyS0 vt100
3) /boot/grub/menu.lst – modify the line of running kernel
root (hd0,0)
kernel /vmlinuz-2.6.16.60-0.69.1-smp root=/dev/vg00/lvol1 vga=normal nomodeset 3 resume=/dev/vg00/lvol2 splash=silent showopts
crashkernel=256M@16M console=ttyS0,115200
initrd /initrd-2.6.16.60-0.69.1-smp
ttyS0
ttyS1
2) /etc/inittab - uncomment and modify
S0:12345:respawn:/sbin/agetty -L 115200 ttyS0 vt100
3) /boot/grub/menu.lst – modify the line of running kernel
root (hd0,0)
kernel /vmlinuz-2.6.16.60-0.69.1-smp root=/dev/vg00/lvol1 vga=normal nomodeset 3 resume=/dev/vg00/lvol2 splash=silent showopts
crashkernel=256M@16M console=ttyS0,115200
initrd /initrd-2.6.16.60-0.69.1-smp
Kdump memory requirement
---------------------------------------------------------------------------
Configuring crashkernel on RHEL6.0 and RHEL6.1 kernels
---------------------------------------------------------------------------
Some mappings of ram and appropriate crashkernel values:
ram size crashkernel parameter ram / crashkernel factor
>0GB 128MB 15
>2GB 256MB 23
>6GB 512MB 15
>8GB 768MB 31
Configuring crashkernel on RHEL6.0 and RHEL6.1 kernels
---------------------------------------------------------------------------
Some mappings of ram and appropriate crashkernel values:
ram size crashkernel parameter ram / crashkernel factor
>0GB 128MB 15
>2GB 256MB 23
>6GB 512MB 15
>8GB 768MB 31
Linux Swapiness
The swappiness parameter controls the tendency of the kernel to move processes out of physical memory and onto the swap disk. Because disks are much slower than RAM, this can lead to slower response times for system and applications if processes are too aggressively moved out of memory.
swappiness can have a value of between 0 and 100
swappiness=0 tells the kernel to avoid swapping processes out of physical memory for as long as possible
swappiness=100 tells the kernel to aggressively swap processes out of physical memory and move them to swap cache
The default setting in Linux is swappiness=60. Reducing the default value of swappiness will probably improve overall performance for a typical desktop installation. A value of swappiness=10 is recommended, but feel free to experiment.
To check the swappiness value use command: cat /proc/sys/vm/swappiness
To make a change permanent, edit the configuration file with your favorite editor:
vi /etc/sysctl.conf
and add following parameter to the end of the file like so:
vm.swappiness=10
Save the file and reboot.
swappiness can have a value of between 0 and 100
swappiness=0 tells the kernel to avoid swapping processes out of physical memory for as long as possible
swappiness=100 tells the kernel to aggressively swap processes out of physical memory and move them to swap cache
The default setting in Linux is swappiness=60. Reducing the default value of swappiness will probably improve overall performance for a typical desktop installation. A value of swappiness=10 is recommended, but feel free to experiment.
To check the swappiness value use command: cat /proc/sys/vm/swappiness
To make a change permanent, edit the configuration file with your favorite editor:
vi /etc/sysctl.conf
and add following parameter to the end of the file like so:
vm.swappiness=10
Save the file and reboot.
System-wide File Descriptors (FD) Limits
Many application such as Oracle database or Apache web server needs this range quite higher. So you can increase the maximum number of open files by setting a new value in kernel variable /proc/sys/fs/file-max as follows (login as the root):
# sysctl -w fs.file-max=100000
Above command forces the limit to 100000 files. You need to edit /etc/sysctl.conf file and put following line so that after reboot the setting will remain as it is:
# vi /etc/sysctl.conf
Append a config directive as follows:
fs.file-max = 100000
Save and close the file. Users need to log out and log back in again to changes take effect or just type the following command:
# sysctl -p
Verify your settings with command:
# cat /proc/sys/fs/file-max
OR
# sysctl fs.file-max
1) Add the following line to /etc/security/limits.conf
webuser hard nofile 64000
then login as webuser
su - webuser
2) Edit following two files for webuser
append .bashrc and .bash_profile file by running
echo "ulimit -n 64000" >> .bashrc ; echo "ulimit -n 64000" >> .bash_profile
3) Log out, then log back in and verify that the changes have been made correctly:
$ ulimit -a | grep open
open files (-n) 64000
Saturday, 5 July 2014
fsck - check and repair a Linux file system
The exit code returned by fsck is the sum of the following conditions:
0 - No errors
1 - File system errors corrected
2 - System should be rebooted
4 - File system errors left uncorrected
8 - Operational error
16 - Usage or syntax error
32 - Fsck canceled by user request
128 - Shared library error
Improve Faster IO for your filesystem by chaning the READ AHEAD Value
[root@test oracle]# df -Th /oracle
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/oracle-oracle_lv
ext4 1008M 34M 924M 4% /oracle
[root@test oracle]# time dd if=/oracle/test of=/tmp/test count=500 bs=1M
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 6.2385 s, 84.0 MB/s
real 0m6.249s
user 0m0.001s
sys 0m1.886s
[root@test oracle]#
[root@test oracle]# blockdev --report /dev/sdb
RO RA SSZ BSZ StartSec Size Device
rw 256 512 4096 0 5368709120 /dev/sdb
[root@test oracle]#
I changed the read ahead value from 256 to 1024:
[root@test ~]# blockdev --setra 1024 /dev/sdb
[root@test ~]# blockdev --getra /dev/sdb
1024
[root@test ~]# blockdev --report /dev/sdb
RO RA SSZ BSZ StartSec Size Device
rw 1024 512 4096 0 5368709120 /dev/sdb
[root@test ~]#
[root@test oracle]# time dd if=/oracle/test of=/tmp/test count=500 bs=1M
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 3.79428 s, 138 MB/s
real 0m3.819s
user 0m0.003s
sys 0m1.589s
[root@test oracle]#
The read performace has improved from 6.2 Sec to 3.8 Sec. Faster IO.
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/oracle-oracle_lv
ext4 1008M 34M 924M 4% /oracle
[root@test oracle]# time dd if=/oracle/test of=/tmp/test count=500 bs=1M
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 6.2385 s, 84.0 MB/s
real 0m6.249s
user 0m0.001s
sys 0m1.886s
[root@test oracle]#
[root@test oracle]# blockdev --report /dev/sdb
RO RA SSZ BSZ StartSec Size Device
rw 256 512 4096 0 5368709120 /dev/sdb
[root@test oracle]#
I changed the read ahead value from 256 to 1024:
[root@test ~]# blockdev --setra 1024 /dev/sdb
[root@test ~]# blockdev --getra /dev/sdb
1024
[root@test ~]# blockdev --report /dev/sdb
RO RA SSZ BSZ StartSec Size Device
rw 1024 512 4096 0 5368709120 /dev/sdb
[root@test ~]#
[root@test oracle]# time dd if=/oracle/test of=/tmp/test count=500 bs=1M
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 3.79428 s, 138 MB/s
real 0m3.819s
user 0m0.003s
sys 0m1.589s
[root@test oracle]#
The read performace has improved from 6.2 Sec to 3.8 Sec. Faster IO.
Currently set to and Block device in lvdisplay ?
[root@test ~]# lvdisplay /dev/hits/hits1
--- Logical volume ---
LV Name /dev/hits/hits1
VG Name hits
LV UUID W7uUkN-WAIf-MrY7-u7oE-x9uy-AegG-WYATjI
LV Write Access read/write
LV Status available
# open 0
LV Size 1.00 GiB
Current LE 256
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
[root@test ~]#
Most of us would wonder few things with the output of # lvdisplay especially the bottom two lines.
currently set to and Block device.
Block device:
Block Devices refers to the DM (Device Multipath) Associated with the logical volume.
[root@test ~]# dmsetup ls --tree
hits-hits1 (253:0)
└─ (8:16)
--- Logical volume ---
LV Name /dev/hits/hits1
VG Name hits
LV UUID W7uUkN-WAIf-MrY7-u7oE-x9uy-AegG-WYATjI
LV Write Access read/write
LV Status available
# open 0
LV Size 1.00 GiB
Current LE 256
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
[root@test ~]#
Most of us would wonder few things with the output of # lvdisplay especially the bottom two lines.
currently set to and Block device.
Block device:
Block Devices refers to the DM (Device Multipath) Associated with the logical volume.
[root@test ~]# dmsetup ls --tree
hits-hits1 (253:0)
└─ (8:16)
[root@test dev]# ls -l | grep -i "253"
brw-rw----. 1 root disk 253, 0 Jul 4 17:50 dm-0
[root@test dev]#
dm-0 is the device multipath associated with the logical volume hits1.
How to check the Block Size and Sector Size of HDD in Linux ?
[root@test ~]# blockdev --report /dev/sdb
RO RA SSZ BSZ StartSec Size Device
rw 256 512 4096 0 5368709120 /dev/sdb
[root@test ~]#
RO RA SSZ BSZ StartSec Size Device
rw 256 512 4096 0 5368709120 /dev/sdb
[root@test ~]#
RA : Read Ahead.
SSZ : Sector Size.
BSZ : Block Size.
Size : Size of the disk.
Available commands:
--getsz get size in 512-byte sectors
--setro set read-only
--setrw set read-write
--getro get read-only
--getss get logical block (sector) size
--getpbsz get physical block (sector) size
--getiomin get minimum I/O size
--getioopt get optimal I/O size
--getalignoff get alignment offset
--getmaxsect get max sectors per request
--getbsz get blocksize
--setbsz BLOCKSIZE set blocksize
--getsize get 32-bit sector count
--getsize64 get size in bytes
--setra READAHEAD set readahead
--getra get readahead
--setfra FSREADAHEAD set filesystem readahead
--getfra get filesystem readahead
--flushbufs flush buffers
--rereadpt reread partition table
Tuesday, 1 July 2014
Check The DATABASE_STATUS
SQL> select STARTUP_TIME,STATUS,LOGINS,DATABASE_STATUS from v$instance where INSTANCE_NUMBER=1;
STARTUP_T STATUS LOGINS DATABASE_STATUS
--------- ------------ ---------- -----------------
23-JUN-14 OPEN ALLOWED ACTIVE
SQL>
This would show when the DB was started, status and the mode of the DB Started.
How to check with the Database is running in Dedicated or Shared mode?
SQL> select username,status,server from v$session where username='SYS';
USERNAME STATUS SERVER
------------------------------ -------- ---------
SYS ACTIVE DEDICATED
SQL>
The Server states would show the Mode of Database Activation.
Subscribe to:
Posts (Atom)