DBA related LINUX commands
Basic File Navigation
· The "pwd" command displays the current directory.
root> pwd
/u01/app/oracle/product/9.2.0.1.0
· The "ls" command lists all files and directories
in the specified directory. If no location is defined it acts on the current
directory.
root> ls
root> ls /u01
root> ls -al
The "-a" flag
lists hidden "." files. The "-l" flag lists file details.
· The "cd" command is used to change directories.
root> cd /u01/app/oracle
· The "touch" command is used to create a new empty
file with the default permissions.
root> touch my.log
· The "rm" command is used to delete files and
directories.
root> rm my.log
root> rm -R /archive
The "-R" flag tells the
command to recurse through subdirectories.
· The "mv" command is used to move or rename files
and directories.
root> mv [from] [to]
root> mv my.log my1.log
root> mv * /archive
root> mv /archive/* .
The "." represents the
current directory.
· The "cp" command is used to copy files and
directories.
root> cp [from] [to]
root> cp my.log my1.log
root> cp * /archive
root> cp /archive/* .
· The "mkdir" command is used to create new
directories.
root> mkdir archive
· The "rmdir" command is used to delete directories.
root> rmdir archive
· The "find" command can be used to find the
location of specific files.
root> find / -name dbmspool.sql
root> find / -print | grep -i dbmspool.sql
The "/" flag represents
the staring directory for the search. Wildcards such as "dbms*" can
be used for the filename.
· The "which" command can be used to find the
location of an executable you are using.
oracle> which sqlplus
The "which" command
searches your PATH setting for occurrences of the specified executable.
File
Permissions
· The "umask" command can be used to read or set
default file permissions for the current user.
root> umask 022
The umask value is subtracted from
the default permissions (666) to give the final permission.
666 : Default permission
022 : - umask value
644 : final permission
· The "chmod" command is used to alter file
permissions after the file has been created.
root> chmod 777 *.log
Owner Group World
Permission
========= ========= =========
======================
7 (u+rwx) 7 (g+rwx) 7 (o+rwx)
read + write + execute
6 (u+wx) 6 (g+wx) 6 (o+wx)
write + execute
5 (u+Rx) 5 (g+Rx) 5 (o+Rx)
read + execute
4 (u+r) 4 (g+r) 4 (o+r)
read only
2 (u+w) 2 (g+w) 2 (o+w)
write only
1 (u+x) 1 (g+x) 1 (o+x)
execute only
· Character eqivalents can be used in the chmod command.
root> chmod o+rwx *.log
root> chmod g+r *.log
root> chmod -Rx *.log
· The "chown" command is used to reset the ownership
of files after creation.
root> chown -R oinstall.dba *
The "-R" flag causes the
command ro recurse through any subdirectories.
OS
Users Management
· The "useradd" command is used to add OS users.
root> useradd -G oinstall -g dba -d /usr/users/my_user -m -s /bin/ksh
my_user
The "-G" flag specifies the primary group.
The "-g" flag specifies the secondary group.
The "-d" flag specifies the default directory.
The "-m" flag creates the default directory.
The "-s" flag specifies the default shell.
· The "usermod" command is used to modify the user
settings after a user has been created.
root> usermod -s /bin/csh my_user
· The "userdel" command is used to delete existing
users.
root> userdel -r my_user
The "-r" flag removes the
default directory.
· The "passwd" command is used to set, or reset, the
users login password.
root> passwd my_user
· The "who" command can be used to list all users
who have OS connections.
root> who
root> who | head -5
root> who | tail -5
root> who | grep -i ora
root> who | wc -l
The "head -5" command restricts the output to the first 5
lines of the who command.
The "tail -5" command restricts the output to the last 5 lines
of the who command.
The "grep -i ora" command restricts the output to lines
containing "ora".
The "wc -l" command returns the number of lines from
"who", and hence the number of connected users.
Process
Management
· The "ps" command lists current process
information.
root> ps
root> ps -ef | grep -i ora
· Specific processes can be killed by specifying the process
id in the kill command.
root> kill -9 12345
uname
and hostname
· The "uname" and "hostname" commands can
be used to get information about the host.
root> uname -a
OSF1 oradb01.lynx.co.uk V5.1 2650 alpha
root> uname -a | awk '{ print $2 }'
oradb01.lynx.co.uk
root> hostname
oradb01.lynx.co.uk
· Error Lines in Files
You can return the error lines in a
file using.
root> cat alert_LIN1.log | grep -i ORA-
The "grep -i ORA-" command
limits the output to lines containing "ORA-". The "-i" flag
makes the comparison case insensitive. A count of the error lines can be
returned using the "wc" command. This normally give a word count, but
the "-l" flag alteres it to give a line count.
root> cat alert_LIN1.log | grep -i ORA- | wc -l
Alias
· An alias is a named shortcut for a longer command using the
following format.
alias name='command'
For example, if you require sudo
access for a specific command, you might want to include this as an alias so
you don't have to remember to type it.
alias myscript='sudo -u oracle
/path/to/myscript'
Remove DOS CR/LFs (^M)
· Remove DOS style CR/LF characters (^M) from UNIX files
using.
sed -e 's/^M$//' filename > tempfile
The newly created tempfile should
have the ^M character removed.
Where available, it is probably
better to use the dos2unix and unix2dos commands.
Compress
Files
In order to save space on the filesystem
you may wish to compress files such as archived redo logs. This can be using
either the gzip or the compress commands. The gzip command results in a
compressed copy of the original file with a ".gz" extension. The
gunzip command reverses this process.
gzip myfile
gunzip myfile.gz
The compress command results in a
compressed copy of the original file with a ".Z" extension. The
uncompress command reverses this process.
compress myfile
uncompress myfile
General
Performance
vmstat
Reports virtual memory statistics.
# vmstat 5 3
procs -----------memory---------- ---swap-- -----io---- --system--
-----cpu------
r b swpd
free buff cache
si so bi
bo in cs us sy id wa st
0 0 0 1060608
24372 739080 0 0
1334 63 1018 1571 14 11 66
10 0
0 0 0 995244
24392 799656 0 0
6302 160 1221 1962 10 10 62
18 0
0 0 0 992376
24400 799784 0 0
1 28 992 1886
3 2 95 0 0
#
free
Reports the current memory usage.
The "-/+ buffers/cache:" line represents the true used and free
memory, ignoring the Linux file system cache.
# free
total used free
shared buffers cached
Mem: 8178884 4669760
3509124 0 324056
1717756
-/+ buffers/cache: 2627948 5550936
Swap: 10289148 0
10289148
#
iostat
Reports I/O statistics.
# iostat
Linux 3.2.10-3.fc16.x86_64 (maggie.localdomain) 03/19/2012 _x86_64_(4
CPU)
avg-cpu: %user %nice %system %iowait %steal
%idle
2.02 0.23
0.51 0.78 0.00
96.46
Device: tps kB_read/s
kB_wrtn/s kB_read kB_wrtn
sda 9.23 100.55 62.99
1796672 1125538
dm-0 13.60 100.31 62.99
1792386 1125524
dm-1 0.02 0.08 0.00 1432 0
CPU
Usage
sar
On Linux systems sar (System Activity
Reporter) is probably one of the simplest and most versatile tools for
reporting system utilization including CPU, memory, disk and network activity.
It automatically collects system activity statistics when installed using the
following command.
# yum install sysstat
The sar command syntax takes the
following form.
# sar [options] [interval [count]]
top
Displays top tasks.
CRON
There are two methods of editing the
crontab file. First you can use the "crontab -l > filename" option
to list the contents and pipe this to a file. Once you've editied the file you
can then apply it using the "crontab filename".
Login as root
crontab -l > newcron
Edit newcron file.
crontab newcron
Alternatively you can use the
"crontab -e" option to edit the crontab file directly.
The entries have the following
elements.
field allowed values
----- --------------
minute 0-59
hour 0-23
day of month 1-31
month 1-12
day of week 0-7 (both 0 and 7
are Sunday)
user Valid OS user
command Valid command or
script.
The first 5 fields can be specified
using the following rules.
* - All available values or
"first-last".
3-4 - A single range representing
each possible from the start to the end of the range inclusive.
1,2,5,6 - A specific list of values.
1-3,5-8 - A specific list of ranges.
0-23/2 - Every other value in the
specified range.
The following entry runs a cleanup script
a 01:00 each Sunday. Any output or errors from the script are piped to
/dev/null to prevent a buildup of mails to root.
0 1 * * 0 /u01/app/oracle/dba/weekly_cleanup > /dev/null 2>&1
0 comments:
Post a Comment