Posts Tagged ‘solaris’

Taking explorer on SUN machines

April 21st, 2016, posted in Linux OS

If your system is a SunFire midframe server (38×0, 48×0, or 68×0 model), use this command to include data from the system console:

/opt/SUNWexplo/bin/explorer -q -e -w default,scextended

If your system uses an alom (advanced lights out manager), some additional data can be collected. Systems that use that include:
Sun Fire V210,V240,V250,V245,V440,V440R,V445 Server Netra 240,440 (AC) Server
Use this command:

# /opt/SUNWexplo/bin/explorer -q -e -w default,alomextended


If your system uses T1 processors (system type starts with T, and uname -a command will say architecture is sun4v), use this command:

# /opt/SUNWexplo/bin/explorer -q -e -w default,Tx000

For any other model of Sun system, use this command:

# /opt/SUNWexplo/bin/explorer -q -e


The -q option suppresses printing of error messages during the run.
The -e option prevents explorer from automatically sending email.
The -w scextended option collects data from the system console (sc).

If you cannot run explorer for some reason, here are the most important things to collect:

/var/adm/messages or messages.# file for the time when the crash was taken. Be sure to include any messages that occurred just before panic.

/etc/system file

output of the showrev -p command, for a list of patches on system

Detailed hardware configuration of the system. To determine which command to use, issue the command uname -m to find the system architecture type.

If it is sun4u, send the output of this command:
/usr/platform/sun4u/sbin/prtdiag -v
If it is sun4v, send the output of this command:
/usr/platform/sun4v/sbin/prtdiag -v
Output of this command:
prtconf -vp

If your system is a SunFire midframe server (38×0, 48×0, or 68×0 model), include the output of these commands to collect data from the system console:

showlogs -v
showlogs -d showboards -v showplatform -v showenvironment -v showsc -v

Link :


CRON Troubleshooting Guide

July 15th, 2015, posted in Solaris

Cron facility can be used to schedule regularly occurring commands or scripts. Users can submit cron jobs by adding an entry to their respective crontabs located in /var/spool/cron/crontabs directory and stored as their login name. Below are few of the troubleshooting tips and best practices which can be helpful in many cases.


Important cron files :

The important files related cron are :

— File containing usernames that have permission to submit cronjobs
— File containing usernames that don’t have permission to submit cronjobs
— Cron Log file
— Directory containing individual crontab files of all users.

How to edit a crontab :

The best way to edit a crontab is using the command crontab -e. Another way of doing it is :
1. su to the user whose cron you want to change
2. crontab -l > file [ copy the crontab to a file ].
3. vi file [ make changes to the file as per your need ]
4. crontab file [ this makes the “file” as new crontab ]
There is no need to restart the cron daemon after this.

Note : If by mistake you simple run only crontab command, don’t try to come out by typing CTRL+D as it will remove all the entries in the crontab file. Use CTRL+C to come out of the crontab command.
Check whether cron daemon is running
Check if the cron daemon is running in the system [prior to solaris 10] :

# ps -ef |grep cron
 To start or stop cron daemon use:
# /etc/init.d/cron [stop|start]
 In case of Solaris 10, check the for the cron service status :
# svcs -p svc:/system/cron
 To make sure cron jobs are running properly, add below entry in the crontab.
* * * * * date > /dev/console
 This will print the date every minute to the console. You can also use pts terminal you are working on, if you don’t have the access to console.

Controlling access to crontab :
– The file /etc/cron.d/cron.allow can be used to allow users to submit cron jobs.
– If the cron.allow file is not present cron checks /etc/cron.d/cron.deny file to see which users are not allowed to submit cron jobs.
– If a user is present in both the files, the cron daemon checks the cron.allow file first and ignores the cron.deny file.
– If both files are missing only root can run the jobs.

Check permission and path to the script :
Seems silly, but I have seen many people doing this mistake of not giving executable permissions to the script they want to run from cron.

# chmod u+x /path/to/script

Also make sure that the cron entry has absolute path to the script and also to the shell used by the script:

* 5 * * * /bin/bash /path/to/

Check the cron logs :
Many a time the cron log file /var/cron/log clearly points out the issue in the cronjob. Check for the period in which the scripts should have run in the cron log. this would most probably point out the error in the cronjob.

Be careful when emptying a crontab :
If you delete all the cron jobs using crontab -e, the command crontab -l will still show all the cron jobs. this is because crontab -e does not know what to do with an empty crontab file. So it does not update any changes. The proper way to delete all the jobs from the crontab is :
# crontab -r

Check cron permissions
Sometimes you must have encountered an error “error in message queue open”. One of the reasons of this is a wrong permission to cron and crontab. The proper permissions of cron and crontab are :

# ls -l /usr/sbin/cron
-r-xr-xr-x 1 root sys 57420 Jan 22 2005 /usr/sbin/cron
 # ls -l /usr/bin/crontab
 -r-sr-xr-x 1 root bin 20336 Jan 22 2005 /usr/bin/crontab
 Note the setuid permissions on crontab file.

‘crontab -e’ command returns a number and a ‘?’
Sometimes when you try to edit a crontab file using crontab -e command, it prints a number and a ‘?’. This is because by default the editor used by crontab -e command is the default solaris editor ‘ed’ and not vi editor. When ed starts up it prints the number of characters in the crontab file and does not have a prompt.

To avoid this, simple com out of the ed editor by typing q. Now set the EDITOR environmental variable to vi and run crontab -e again :

# export EDITOR
Password expired for a user :
Many a times cron jobs fail because the password has expired for the user owning the job. In that case you would see below error in the cron log file /var/cron/log :

Authentication token is no longer valid; new one required
CRON (oracle) ERROR: failed to open PAM security session: Success
CRON (oracle) ERROR: cannot set security context
The solution to this problem is to extend the password for the user :

# passwd -x 10 oracle
Redirection / special symbols and their meanings
It is good to know some of the redirection and special symbols being used when adding an entry to the crontab. Any mistake in using them may again lead to a cron job failure. An example of using these symbols in a cron job entry is :

0 5 * * * /bin/bash -l -c ‘export RAILS_ENV=my_env; cd /my_folder; ./script/script.rb 2>&1 > ./log/my_log.log’
Redirection file descriptors
There are 3 standard file descriptors :

1. stdin 0 – Standard input to the program.
2. stdout 1 – Standard output from the program.
3. stderr 2 – Standard error output from the program.
Normally stdin is from the keyboard and stdout and stderr goes to the terminal. But we can redirect it to a file. One of the most commonly used (and confusing) redirection is “2>&1″. It means take the standard error output from the command and send it to the same place where standard output is going.

Other than the most redirection symbols, there are many other symbols used while entering a cron job entry in the crontab :

Used to separate two commands on one line
Run the command in the background
Run the following command only if the previous command completes successfully, (i.e., grep string file && cat file)
“Run the following command only if the previous command did not complete successfully, (i.e., grep string file || echo “”String not found””)”
( )
The command within the parentheses is executed in a subshell

= single forward quote – Don’t assign any special meaning to any character within these quotations

Take the following character literally. Also used to “”escape”” a new-line character so that a user can continue a command on more than one line
” “
Allow variable and command substitution with these quotations
` = single back quote – Take the output of this command and substitute it as an argument on the command line
Everything following # until is a comment


How to create and extract zip, tar, tar.gz and tar.bz2 files in Linux

May 12th, 2015, posted in Solaris

Data compression has been extremely useful to us over the years. Whether its a zip file containing images to be sent in a mail How to create and extract zip tar tar.gz and tar.bz2 files in Linux, Linux,How to create and extract zip,How to create and extract tar,How to create and extract ,create and extract zip,linux,solaris 10,solaris,or a compressed data backup stored on a server, we use data compression to save valuable hard drive space or to make the downloading of files easier. There are compression formats out there which allow us to sometimes compress our data by 60% or more. I’ll run you through using some of these formats to compress and decompress files and directories on a Linux machine. We’ll cover the basic usage of zip, tar, tar.gz and the tar.bz2 formats. These are some of the most popular formats for compression used on Linux machines.

Before we delve into the usage of the formats I’d like to share some of my experience using the various formats of archiving. I’m talking about only a few data compression formats here, and there are many more out there. I’ve realized that I need two or three formats of compression that I’m comfortable using, and stick to them. The zip format is definitely one of them. This is because zip has become the de-facto standard choice for data compression, and it works on Windows as well. I use the zip format for files that I might need to share with Windows users. I like to use the tar.gz format for files that I would only use on my Mac and Linux machines.



Zip is probably the most commonly used archiving format out there today. Its biggest advantage is the fact that it is available on all operating system platforms such as Linux, Windows, and Mac OS, and generally supported out of the box. The downside of the zip format is that it does not offer the best level of compression. Tar.gz and tar.bz2 are far superior in that respect. Let’s move on to usage now.
To compress a directory with zip do the following:

# zip -r directory_to_compress

Here’s how you extract a zip archive:

# unzip



Tar is a very commonly used archiving format on Linux systems. The advantage with tar is that it consumes very little time and CPU to compress files, but the compression isn’t very much either. Tar is probably the Linux/UNIX version of zip – quick and dirty. Here’s how you compress a directory:

# tar -cvf archive_name.tar directory_to_compress

And to extract the archive:

# tar -xvf archive_name.tar.gz

This will extract the files in the archive_name.tar archive in the current directory. Like with the tar format you can optionally extract the files to a different directory:

# tar -xvf archive_name.tar -C /tmp/extract_here/



This format is my weapon of choice for most compression. It gives very good compression while not utilizing too much of the CPU while it is compressing the data. To compress a directory use the following syntax:

# tar -zcvf archive_name.tar.gz directory_to_compress

To decompress an archive use the following syntax:

# tar -zxvf archive_name.tar.gz

This will extract the files in the archive_name.tar.gz archive in the current directory. Like with the tar format you can optionally extract the files to a different directory:

# tar -zxvf archive_name.tar.gz -C /tmp/extract_here/



This format has the best level of compression among all of the formats I’ve mentioned here. But this comes at a cost – in time and in CPU. Here’s how you compress a directory using tar.bz2:

# tar -jcvf archive_name.tar.bz2 directory_to_compress

This will extract the files in the archive_name.tar.bz2 archive in the current directory. To extract the files to a different directory use:

# tar -jxvf archive_name.tar.bz2 -C /tmp/extract_here/

Data compression is very handy particularly for backups. So if you have a shell script that takes a backup of your files on a regular basis you should think about using one of the compression formats you learned about here to shrink your backup size.

Over time you will realize that there is a trade-off between the level of compression and the the time and CPU taken to compress. You will learn to judge where you need a quick but less effective compression, and when you need the compression to be of a high level and you can afford to wait a little while longer.


Solaris : Set the Date and Time

February 28th, 2015, posted in Solaris

Add A User From The Command Line In Solaris,Add A User From The Command Line In Solaris 10,Add A User From The Command Line, In Solaris10 ,Add A User ,The Command Line In Solaris10,The Command Line In Solaris,solaris 10,

Setting the system date and time is fairly easy on solaris. Because you can easily set the time from the command line, you can set the time on a server remotely but you have to do it as superuser (root user).

date mmddhhmmyy

The date command takes the syntax mmddhhmmyy, or “month day hour minute year”. You have to be superuser to set the time.


# date 1201053112
Fri Dec  1 05:31:00 PST 2012


Set the Date and Time on Solaris,Set the Date and Time on Solaris 10, Solaris  Set the Date and Time,Solaris 10 Set the Date and Time,Solaris ,Set the Date and Time,SolarisSet the Date ,Solaris Set the Time,


Basic LINUX Commands That a DBA Should Know

May 26th, 2012, posted in Oracle, Solaris

Basic LINUX commands that a DBA should know

This is the command used to create new group. At OS level group is used to give and take  pivillages.
Syntax : groupadd <group name>
Ex : [root@rac5 ~]# groupadd group1
View : [root@rac5 ~]# cat /etc/group  -This command used to view which user belongs to which group.
Output: group1:x:607:

This is the command used to create a new user in a group.
Syntax : useradd -g <group name> <user name>
Ex : [root@rac5 ~]# useradd -g group1 user1

This is the command used to give password for create use or to update the password.
Syntax : passwd <user name>
Ex: [root@rac5 ~]# passwd user1
Output :
[root@rac5 ~]# Changing password for user soufir.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

a. This is the command used to view the current system date.
Syntax : date
Output : Wed Oct 27 21:55:36 IST 2010
b. In order to update the date we can give :
Syntax : [root@rac5 ~]# date -s “2 OCT 2010 14:00:00″  OR
[root@rac5 ~]# date –set=”27 OCT 2010 21:56:00″
Output : Sat Oct  2 14:00:00 IST 2010

This command shows the calender of current year or any.
Ex : [root@rac5 ~]#  Cal
Output : [root@rac5 ~]#    October 2010
Su Mo Tu We Th Fr Sa
1  2
3  4  5  6  7  8  9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

This command is to view the present working directory.
Ex : [root@rac5 ~]# pwd
Output : [root@rac5 ~]# /root.

a.This is the command used to change a directory
Ex : [oracle@rac5 ~]$ ls
authorized_keys  file   file2  oraInventory  stand.ora
authorized-keys  file1  file3  soufir
[oracle@rac5 ~]$ cd soufir
[oracle@rac5 soufir]$
b.This is used to go back to parent directory
Ex : cd ..
This command is used for make a new directory.
Ex : mkdir dir1
This commad is used for remove a directory.
Ex : rmdir dir1
rm -rf
This command is used to forcefully remove a direcory.
Ex : rm -fr dir1

This command is used to show the online manual pages of related commands
Ex : man ls

This command is used to list all contents of directories
Ex : ls

ls -lt
This command is used to list lot of information about contents of directories
Ex : ls -lt
The permissions are the first 10 characters of the line (-rwxrwx—) and can be broken down as follows.
Apr 23
File type
Mod date


This command is used create an empty file
Ex : touch file1

This command is used to create and view files of directories
Ex : cat file1
cat file1 > newfile   // owerwrite newfile with file1
cat file1 >> newfile  // append newfile the contents with file1

This command is used to copy a file from one to another
Ex : cp file1 filenew

This command is used to rename the name of a file to other
Ex : mv file1 filenew

This command is used to switch one user to other. it doesnot change the current working directory. so you cant access the /usr/sbin  directories.
Ex : su soufir

su –
This command is used to switch one user with changing current working directory.
Ex : su – soufir

Note : Please not do make backups before using these queries and also confirm them yourself or by aother means as