asmcmd does not return error text for root user

Problem:

While running asmcmd commands via root user, error messages are not displayed. But if we run the same command via grid – it returns messages. In the following example, ORACLE_HOME is set to RDBMS home (instead of GI) and we are trying to list the file which does not exist:

[root@rac1 ~]# echo $ORACLE_HOME
/u01/app/oracle/product/19.3.0/dbhome_1

[root@rac1 ~]# echo $PATH
/u01/app/19.3.0/grid/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

[root@rac1 ~]# asmcmd ls +demodg/orcl/tempfile/TEMP.263.10617958
<<<<<<Nothing is displayed here

When a file does not exist, ls command should display ASMCMD-8002: entry 'TEMP.263.10617958' does not exist in directory '+demodg/orcl/tempfile/' error. But in our example, it does not return anything.

In the following example, if we try to copy a file, we see a message about copying a file but actually, the file is not copied because grid user does not have permission under /u01:

[root@rac1 ~]# asmcmd cp +demodg/orcl/tempfile/TEMP.263.1061795851 /u01
copying +demodg/orcl/tempfile/TEMP.263.1061795851 -> /u01/TEMP.263.1061795851

If we run the same command via grid, we get understandable error message:

[grid@rac1 ~]$  asmcmd cp +demodg/orcl/tempfile/TEMP.263.1061795851 /u01
 ASMCMD-9463: operation failed due to lack of write permissions

Reason:

Environment variables are not set correctly. ORACLE_HOME should be pointing to GI home.

Solution:

[root@rac1 ~]# export ORACLE_HOME=/u01/app/19.3.0/grid

[root@rac1 ~]# asmcmd ls +demodg/orcl/tempfile/TEMP.263.10617958
ASMCMD-8002: entry 'TEMP.263.10617958' does not exist in directory '+demodg/orcl/tempfile/'
Advertisement

Increase root volume size in AWS

1. Increase disk size from AWS console:

Volumes -> choose disk -> Actions -> Modify Volume -> enter new value in Size field:

2. Use the lsblk command to display information about the block devices attached to your instance:

# lsblk
..
nvme0n1     259:11   0   40G  0 disk
└─nvme0n1p1 259:12   0   35G  0 part /

The root volume, /dev/nvme0n1, has a partition, /dev/nvme0n1p1. While the size of the root volume reflects the new size, 40 GB, the size of the partition reflects the original size, 35 GB, and must be extended before you can extend the file system.

3. To extend the partition on the root volume, use the following growpart command:

# growpart /dev/nvme0n1 1

CHANGED: partition=1 start=2048 old: size=73398239 end=73400287 new: size=83883999 end=83886047

4. Verify new size:

# lsblk
..
nvme0n1     259:11   0   40G  0 disk
└─nvme0n1p1 259:12   0   40G  0 part /

5. Use the df -Th command to verify the size of the file system for root volume:

# df -Th /

Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/nvme0n1p1 xfs    35G  4.2G   31G  12% /

6. From the above output, we see that filesystem is XFS, grow it using xfs_growfs

# xfs_growfs -d /

meta-data=/dev/nvme0n1p1         isize=256    agcount=36, agsize=262080 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0 spinodes=0 rmapbt=0
         =                       reflink=0
data     =                       bsize=4096   blocks=9174779, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 9174779 to 10485499

If filesystem is ext2, ext3, or ext4, you should use resize2fs.

7. Check new size:

# df -Th /

Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/nvme0n1p1 xfs    40G  4.2G   36G  11% /

Reducing a root LVM

In this post I want to reduce root volume to free up the space for other volumes. Let’s discuss it step by step:

1. Download Linux system rescue disk such as SYSTEMRESCUECD or KNOPPIX available as a bootable CD-ROM . I prefer systemrescuecd.

Official site for systemrescuecd: http://www.sysresccd.org . Direct download link is this.
Official site for knoppix: http://www.knoppix.net

2.  Boot  SYSTEMRESCUECD on start-up. This step is done because we need volume, that should be shrunk, to be unmounted. As you know root volume cannot be unmounted when the OS is running on it.

3.  Make all LVM volumes found available to the rescue kernel:

root@sysresccd ~ % lvm vgchange -a y

4. List logical volume names:

root@sysresccd ~ % ls /dev/VolGroup00/
LogVol00 LogVol01

5. Before shrinking file system , it is recommended to check file system and fix any errors:

root@sysresccd ~ %  e2fsck -f /dev/VolGroup00/LogVol00

6. After the check is successful, shrink the file system on LVM. I am reducing it to 50G.

root@sysresccd ~ % resize2fs -f /dev/VolGroup00/LogVol00 50G

7.  Re-run e2fsck.

root@sysresccd ~ %  e2fsck -f /dev/VolGroup00/LogVol00

8.  Now reduce the logical volume itself to 50G.

root@sysresccd ~ % lvm lvreduce -L50G /dev/VolGroup00/LogVol00

Note : If you want to reduce size of the volume by some value, you should use minus sign in front of the number value like : –L  -50G.

Reboot the system.

Reset root password in CentOS 5.5

If you don’t know the root password and want to login in to the server, follow these instructions:

Picture 1: Press “e” to edit.

Centos 5.5 VirtualBox Reset root Password

Picture 2: Press “e” to edit.

Centos 5.5 VirtualBox Reset root Password

Picture 3: Type “S” at the end of the line. Press Enter.

Centos 5.5 VirtualBox Reset root Password

Picture 4: After pressing Enter, you will see the following picture. Press “b” to boot.

Centos 5.5 VirtualBox Reset root Password

Picture 5: You will see the following picture…

Centos 5.5 VirtualBox Reset root Password

Type “su –” and you will be a root user.

To make it permanent you should edit it in the following file:

vi /boot/grub/menu.lst
default=0
timeout=5
.
.
.
kernel /vmlinuz-2.6.18-194.el5 ro root=/dev/VolGroup00/LogVol00 S
.
.
.

How to root HTC sensation(Windows Users)

1. Plug in your HTC to PC.

2. Go to the Settings->Applications->Development and check the box for USB debugging in your HTC.

3. Download All installation things from here. and HTC driver from here.

4. Run HTCDriver3.0.0.007.exe, and install it(This is HTC driver installation).

5. You should see the following in Device Manager list:

Android USB Devices Device ManagerPicture 1

6. Copy PG58IMG.zip and paste it in the root folder of sdcard.

7. Turn off HTC-> Pull the battery off-> Put the battery back-> Press Down Volume key,hold it-> Press down the Power button key…

There will appear the following question:

Do you want to start update?

Press volume up key(means yes)

Press power button to reboot.

8. Run CMD, change path to the downloaded file, and run the following(Note HTC should be plugged into the PC, in Charge Only mode):

> adb devices

My output is

List of devices attached
HT15NV815414    device

9. Go to www.Revolutionary.io  Click Download for Windows(revolutionary file will be downloaded).

Fill the form on that site, like that:

Revolutionary utility gain beta keyPicture 2

Click Generate key button. Copy and save you beta key.

HBOOT version can be seen if you turn off HTC, pull the battery off, then pull it back, Press Down Volume key and hold it, then press the power button. You should see the screen like that:

HTC Sensation HBOOT versionPicture 3

 

There is S-OFF because I have already done these steps. You should have S-ON, now.

10. Return to our CMD(You are in the download file) and run revolutionary.exe

It will ask you the beta key. Enter the previously gained key from www.Revolutionary.io site.

The process should start, it will reboot you device several times and you should see S-OFF instead of S-ON on your HTC screen(picture 3).

Type Y value for the question and press ENTER.

11. Delete PG58IMG.zip  from your sdcard. And copy su-2.3.6.3-efgh-signed.zip file into sdcard root directory.

Power off HTC, pull the battery off, then put it back, Press Down Volume key and hold it, then press the power button.

You should see the Picture 3.

Press down volume key and chose RECOVERY, press the power button.

It should show the list.

Choose

-install zip from sdcard

then

-choose zip from sdcard

and choose:

-su-2.3.6.3-efgh-signed.zip

then

-Yes – Install su-2.3.6.3-efgh-signed.zip

It may show that the installation was aborted. Ignore it and repeat the steps from choosing zip file from sdcard.

Then Go Back and choose:

-reboot system now

That is all…