Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Frequently Used Commands

YogiboyJan 24 2014

Hi All,

Here's a placeholder post for keeping all of my routine work commands.I hope this helps others as well. I have tried to give due to credit to original owner wherever possible. However, incase I have missed out, please do let me know...I ll update this post.

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

tablespace size


col Total_MB for 999999999

col Free_MB for 999999999

break on Total_MB on report

compute sum of Total_MB on report

compute sum of Free_MB on report


select a.TABLESPACE_NAME,

a.MB Total_MB,

b.MB Free_MB,

round(((a.MB-b.MB)/a.MB)*100,2) percent_used

from

(

select TABLESPACE_NAME,

sum(BYTES)/1048576 MB

from dba_data_files

group by TABLESPACE_NAME

)

a ,

(

select TABLESPACE_NAME,

sum(BYTES)/1048576 MB

from dba_free_space

group by TABLESPACE_NAME

)

b

where a.TABLESPACE_NAME=b.TABLESPACE_NAME 

order by ((a.MB-b.MB)/a.MB) desc;


and a.TABLESPACE_NAME =upper('&tbs_name');


100% full tablespace


select a.TABLESPACE_NAME,

a.MB Total_MB,

b.MB Free_MB from

(

select TABLESPACE_NAME,

sum(BYTES)/1048576 MB

from dba_data_files

group by TABLESPACE_NAME

)

a ,

(

select TABLESPACE_NAME,

sum(BYTES)/1048576 MB

from dba_free_space

group by TABLESPACE_NAME

)

b

where a.TABLESPACE_NAME=b.TABLESPACE_NAME 

and b.mb=0;


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


Size of datafile with used/free space


set linesize 1000

set pagesize 5000

column a1 heading 'Tablespace' format a20

column a2 heading 'Data File' format a80

column a3 heading 'Total|Space [MB]' format 9999999.99

column a4 heading 'Free|Space [MB]' format 99999.99

column a5 heading 'Free|%' format 9999.99

break on a1 on report

compute sum of a3 on a1

compute sum of a4 on a1

compute sum of a3 on report

compute sum of a4 on report

SELECT a.tablespace_name a1,

       a.file_name a2,

       a.avail a3,

       NVL(b.free,0) a4,

       NVL(ROUND(((free/avail)*100),2),0) a5

  FROM (SELECT tablespace_name,

               SUBSTR(file_name,1,80) file_name,

               file_id,

               ROUND(SUM(bytes/(1024*1024)),3) avail

          FROM sys.dba_data_files

      GROUP BY tablespace_name,

               SUBSTR(file_name,1,80),SUBSTR(file_name,1,80),

               file_id) a,

       (SELECT tablespace_name,

               file_id,

               ROUND(SUM(bytes/(1024*1024)),3) free

          FROM sys.dba_free_space

      GROUP BY tablespace_name, file_id) b

WHERE a.file_id = b.file_id and a.tablespace_name = '&tbs_name'

ORDER BY 1, 2

/


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

Size of directory sorted by size


du -sk * | sort -nr | head -10


processors

Linux: cat /proc/cpuinfo

Sun psrinfo


Top processes

Linux : top

Solaris : prstat


Memory info

Linux : cat /proc/meminfo

Sun : prtdiag

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

Zip multiple files and folders

zip -r new_filename.zip folder_name(to be zipped)


Unzip and overite

zip -o file.zip


See contents of zip file

unzip -l filename.zip


ZIP Password

zip -P secretpassword zipfilename.zip files_*


search & replace string

:1,$s/old_string/new_string


:%s/old_string/new_string/g

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

SFTP

cd into destination path

sftp box-admin

it ll prompt for password

at sftp prompt---cd in to the source path

get filename

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

Mailx

cat AM58WT90.LOG|mailx -s "AM58WT90.LOG"  yogesh.tiwari@xyz.com


uuencode UsWorkFlow.zip UsWorkFlow.zip | mailx  -s "Sit Data" akshay.choudhary@xyz.com   (need to mention attachment name twice)

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


Sar command usage


For everything of sar


sar -A


for load average


sar -q


for io tps


sar -b


for swapping


sar -B


for cpu utilization


sar -u

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

-- To list file with line number

nl <filename>    


-- Saves man pages to text

man cat | col -b > less.txt 


-- Mounting as a loop device


mount -o loop -t iso9660 /FC2-i386-DVD.iso  /iso



-- To split a large file into multiple files

split --bytes 1m bigfile 1_ 



-- List of open files opened by raj under /dev/hda1

lsof -u raj -a /dev/hda1 



-- Find who owns the port number

fuser -v -n tcp 992345  



-- List of users accessing the /mnt file, -k option to kill all using the FS

fuser -v /mnt/*   



-- File/File System status

stat afile



-- Trace System calls

strace -aef cat afile



-- Run Top in batch file


top -b -d 5 -n 3 >> top.out 

b=batch, d=delay in seconds , n=number of iterations



-- To read headers of binary files (ELF)

readelf --file-header /bin/ls   


-- Provides file system statistics

stat <filename>



-- List all network services running


netstat -tanup   



-- List listening interfaces

netstat -l    


-- Shread and remove a file

shred -n 50 -zuv afile

n=shred the file "n" times, -z will zero out the file in the last pass (extra protection), u=truncate it every time, v=verbose.



-- Create a function Calculator - calc 3+45/10

function calc { echo "{$1}" | bc -l ; }



-- Command line calculator

echo "10/2*10" | bc -l  



-- Search man pages for string

man -k string   



-- Merge pdf files into one

gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=Merged.pdf -dBATCH img*.pdf



-- Create pdf file from man page

man -t cat | ps2pdf - > cat.pdf

 

-- Colors the string while grepping

grep --color string filename  


-- Copy files between Servers using netcat (Alternate option to consider if ftp is disabled )


On Server (in my case host graphics) run

   tar -cvjf - dummy.dat | netcat -l -p 3333

On the Client ( in my case it was silicon) run

   netcat graphics 3333 | pv -b | tar -xjvf -On the server listening port 3333 is created and dummy.dat is tar'd. When netcat is ran with no default options, it basically connects to the server/port specified.


-- Rsync files between servers

silicon~> rsync -avrz . --include "init*.ora" --rsh='ssh' graphics:/usr/oracle/admin

Above syncs all init.ora files from silicon to graphics a=archive,v=verbose,r=recursive,z=compress



-- List all network services running on the system

netstat -tanup



-- Test FTP Speed. Use dd to create a large file, but instead of sending it to the disk send it to null device. Here

/dev/zero is the input and output of the dd is /dev/null.

put "|dd if=/dev/zero bs=1024 count=1000000" /dev/null



-- Find all files with group owner is "oracle" and change it to "dba" group. 

find . -group oracle -exec chgrp dba '{}' \ ;



--Show files greater than a specific size

find ./ -size +100M -type f -print0 | xargs -0 ls -Ssh1 --color



-- Send e-mail attachments with mutt

mutt -a file.txt -s "A Text File" raj.anju@xyz.com < /tmp/junk



-- Kill multiple processes in one shot

ps -ef|grep dbconsole | awk ' { print $2} ' | xargs kill -9



-- Copy directory & files under remotely.

scp -r RMANREPO/ oracle@server:/usr/oracle/admin/RMANREPO/



-- Improve ftp speed with jumbo frames.

Note: Read more on the Jumbo frames, as its applicable only on certain situations. On a 10/100 data the max mtu can only be upto 1500, but for a GigaBit Ethernet connection it can go upto 9000. The best throughput I got while doing an XO (Cross-Over) connection between two systems is when the mtu was 6000.

ifconfig eth0 mtu 6000

For a permanent change you have to edit the below file to include MTU 6000

/etc/sysconfig/network-script/ifcfg-eth0


Check indexes that are in index tablespace or not


Script creation for rebuild---------select 'ALTER INDEX '||OWNER||'.'||INDEX_NAME||' REBUILD ONLINE tablespace USER_INDEX;' from dba_indexes where owner='

PN_USER_OWN1' and tablespace_name!='USER_INDEX';

Select index_name, owner, tablespace_name from dba_indexes where tablespace_name not like '%IND%'

and owner not in ('SYS','SYSTEM','DBSNMP','OUTLN','TSMSYS','WMSYS') order by owner;

SQL> select index_name, owner, tablespace_name from dba_indexes where owner='PN_DEPOSIT_OWN1';

select 'ALTER INDEX '||OWNER||'.'||INDEX_NAME||' REBUILD ONLINE tablespace USER_INDEX;' from dba_indexes where owner='PN_USER_OWN1' and tablespace_name!='USER_INDEX';


Rebuild IOT index(primary key)


alter table schema.table_name move online OVERFLOW TABLESPACE tablespace_name;

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


Check if Index is Usable---ALWAYS CHECK THIS BEFORE REBUILD


select INDEX_NAME,INDEX_TYPE,STATUS, OWNER from dba_indexes where status='UNUSABLE';


Select * from v$option where parameter ='Online Index Rebuild';


select index_owner, index_name, partition_name, tablespace_name, status

from dba_ind_partitions

where index_owner not in ('SYS','SYSTEM','SYSMAN') and status='UNUSABLE'

order by index_owner, partition_name;


select INDEX_NAME,INDEX_TYPE,STATUS, owner from dba_indexes where status='UNUSABLE';


alter table tablename modify partition partition_name rebuild unusable local indexes;


select partition_name, status, index_owner

from dba_ind_partitions

where index_owner not in ('SYS','SYSTEM','SYSMAN')

order by index_owner, partition_name

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

index rebuild online


select 'ALTER INDEX '||OWNER||'.'||INDEX_NAME||' REBUILD ONLINE ;' from dba_indexes where owner not in ('SYS','SYSTEM','DBSNMP','OUTLN','TSMSYS');

select 'ALTER INDEX '||OWNER||'.'||INDEX_NAME||' REBUILD ONLINE ;' from dba_indexes where owner in ('SYS','SYSTEM');


alter table tablename modify partition partition_name rebuild unusable local indexes;

ALTER INDEX <index_name> REBUILD PARTITION <partition_name> TABLESPACE <new_tablespace_name>;

select 'alter table schema.table modify partition '|| partition_name||' rebuild unusable local indexes;' from dba_ind_partitions  where index_owner not in ('SYS','SYSTEM','SYSMAN') and tablespace_name!='abc_DATA';


Rebuild primary key index


alter table "schema"."VALUE" drop constraint "SYS_C0069949";


or


alter table "schema"."VALUE" drop primary key;


alter table "schema."VALUE" add constraint primary key (ID);

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

add datafile


select file_name,tablespace_name,bytes/1024/1024 as bytes, MAXBYTES/1024/1024 as maxsize from dba_temp_files where tablespace_name like '%TEMP%';


select property_name, property_value from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';


select file_name,tablespace_name,bytes/1024/1024 as bytes, MAXBYTES/1024/1024 as maxsize from dba_data_files where tablespace_name ='tbs_name';


alter database datafile '/xyz/pkgs/oracle/oradata/PNO1/PNO1.pn_account_index_06.dbf' resize 1500m;

alter database add datafile 'path' autoextend on next 10m maxsize 4000m reuse;


create tablespace <name> datafile 'path' size 4000m reuse;


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

Stats Gather


EXEC DBMS_STATS.GATHER_SCHEMA_STATS (OWNNAME=>UPPER('$schemaname'), ESTIMATE_PERCENT=>DBMS_STATS.AUTO_SAMPLE_SIZE, DEGREE=>DBMS_STATS.AUTO_DEGREE, CASCADE=>TRUE);

exec dbms_stats.gather_table_stats( ownname => '&owner', tabname => '&table_name', estimate_percent => 100, cascade => TRUE,NO_INVALIDATE => FALSE);


EXEC DBMS_STATS.GATHER_SCHEMA_STATS (OWNNAME=>UPPER('$schemaname'), ESTIMATE_PERCENT=>20, DEGREE=>4, CASCADE=>TRUE);


select 'EXEC DBMS_STATS.GATHER_SCHEMA_STATS (OWNNAME=>(' || ''''||username||'''' ||'), ESTIMATE_PERCENT=>20, DEGREE=>4, CASCADE=>TRUE);' from dba_users where username not in ('SYS','SYSTEM','DBSNMP','OUTLN','TSMSYS');

PROMPT Gathering System Stats


exec dbms_stats.gather_schema_stats('SYS');


PROMPT Gathering Dictionary Stats


exec dbms_stats.gather_dictionary_stats;


PROMPT Gathering all fixed objects stats (dynamic performance tables)


exec dbms_stats.gather_fixed_objects_stats;


REM PROMPT Gathering Database Stats


REM exec dbms_stats.gather_database_stats(options => 'GATHER AUTO');


----SYSAUX is too big----


select DBMS_STATS.GET_STATS_HISTORY_AVAILABILITY from dual;

select DBMS_STATS.GET_STATS_HISTORY_RETENTION from dual;


---Check date when huge stats was generated.


select trunc(SAVTIME),count(1) from WRI$_OPTSTAT_HISTHEAD_HISTORY group by trunc(SAVTIME) order by 1;


---clear the oldest and heaviest stat first


exec dbms_stats.purge_stats(to_date('01-JAN-2010','DD-MON-YYYY'));


11g


BEGIN

DBMS_AUTO_TASK_ADMIN.DISABLE(

client_name => 'auto optimizer stats collection',

operation => NULL,

window_name => NULL);

END;

/


BEGIN

DBMS_AUTO_TASK_ADMIN.ENABLE(

client_name => 'auto optimizer stats collection',

operation => NULL,

window_name => NULL);

END;

/


select CLIENT_NAME,status from DBA_AUTOTASK_CLIENT;


Stats Job status & completion

10g

column job_name format a20

column status format a12

column actual_start_date format a36

column run_duration format a14


select

        job_name, status, actual_start_date, run_duration

from

        dba_scheduler_job_run_details

where

        job_name ='GATHER_STATS_JOB'

order by

        actual_start_date;

11g

set lines 100

col operation form a40 wrap head 'operation(on)'

col target form a1

select operation||decode(target,null,null,'-'||target) operation

      ,to_char(start_time,'YYMMDD HH24:MI:SS.FF4') start_time

      ,to_char(  end_time,'YYMMDD HH24:MI:SS.FF4') end_time

from dba_optstat_operations

order by start_time desc

/



Restore stats


--     Catalog view DBA_OPTSTAT_OPERATIONS contain history of

--     statistics operations performed at schema and database level

--     using DBMS_STATS.

--

--     The views *_TAB_STATS_HISTORY views (ALL, DBA, or USER) contain

--     history of table statistics modifications.


EXEC DBMS_STATS.RESTORE_SCHEMA_STATS(OwnName => 'LHC',AS_OF_TIMESTAMP => '17-JUL-10 11.11.00.862694000 PM +02:00');


exec dbms_stats.restore_table_stats(OwnName =>'AMKAR1', tabname =>'T_PROFIT_CENTER',AS_OF_TIMESTAMP =>'29-DEC-10 09.35.00.116003 AM +2:00');


EXEC DBMS_STATS.restore_table_stats('LHC','TAB....name','17-JUL-10 11.11.00.862694000 PM +02:00');


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

Check for Deadlock


SELECT holding_session bsession_id,  waiting_session wsession_id, b.username busername, a.username wusername, c.lock_type type, mode_held, mode_requested, lock_id1, lock_id2 FROM sys.v_$session b, sys.dba_waiters c, sys.v_$session a

WHERE c.holding_session=b.sid and  c.waiting_session=a.sid;

What all sessions are accessing objects


Comments

2709705

Similarly, in the Russian version Windows 8.1.

After join to the domain, jre7u55, jre7u60, jre8, jre8u5 not installed.

There is a temporary solution:

1. Install English Lang Pack

2. Apply English for Display language and Copy settings to Welcome screen and system accounts

http://nexus.orel.ru/1.png

3. Return the old language, and copy settings to New user accounts

4. jre7u55, jre7u60, jre8, jre8u5  install successfully.

2709705

This problem not fixed in jre7u65/8u11.

2727771

We also have this problem on many machines. Have you found any solution without editing language? Java 7 Update 67 did not fix the problem. We have Norwegian language.

Bjørn Erik

2727771

That is good. I can't understand why this bug get priority 3. It should have been priority 1 if you ask me. We have over 8000 computers where java install fails, so we have to run on Java 7 Update 51 unntil this is resolved. Is there anyone in Oracle who can say anything aboute the fixtime for this issue? It is critical.

Regards
Bjørn Erik

2743728

We have the same issue with German Windows 8.1. Changing the language is not an option. This bug is reported since July 14 and still no fix. Trying to update to Java Runtime Environment 8.0 build 20 (64-bit) is failing too. Oracle may should start fixing there bugs instead of joining with ASK. => Oracle is now the ASK Company.......

2727771

So now this bug is closed as incomplete because they could not reproduce it. I have a way to reproduce it. If you have all that is known here, Norwegian/Russian/German or any other localized Windows 8/8.1 and joined to a domain. Then download Java 7 Update 55 or newer version, exe or msi, and then disconnect network before installing. Then you will get this error every time. I really hope someone in Oracle can see this and give the consultant working with this BUG this information. For us this BUG is very critical.

Bjørn Erik

shruda

Hi,

I have the same problem on two German windows 8.1 machines! I'm able to install the JDK but not the contained or separate JRE -> tested with JRE 7u67 & JRE8u20.

The suggest workaround (user: 2709705) -> install the english language pack.

Maybe a interessting information -> I saw the "Restore Java security promts" dialog the first time after the english language pack installation & the default display language switch.

Restore Java security prompts.png

Regards,

Steve

PS: I had a problem to install the english language pack on my Windows 8.1 machine -> the language pack wasn't available .... the answer of this form thread fixed my problem: Language Pack not usable message in Windows 8.1

Hello Folks!

I do have the same problem here. Actually installed is Java JRE 1.7 (7.0.600.19), and I wanted to upgrade to version 7u65 or 8u20, but without success.

Here I use Windows 8.1 Pro, German version, and the notebook is also part of a domain network, but not always connected to it.

Both options to try to install the Java update are failing: connected to the domain network or not connected... :-(

Error message reports, that Java-Update has not been finished. Errorcode: 1603.

When I read the messages, I recognize, that there are several users, who are having the same problems to update Java. I would be thankful to Oracle for some support...

2014-10-10_17-21-58_Fehlermeldung_Java_Update.jpg

user6439156

whats going on with this fu..ing Oracle, 4 months without a reaktion about this installer bug. the language setting workaround is for enterprise definitifly not aceptable. Oracle it is time to do something!

2727771

The bug is finally fixed. Can anyone in Oracle say anything about when you will release a version with this fix included? I hope you can rerelease Update 67 with this fix included.

1 - 11
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Feb 21 2014
Added on Jan 24 2014
0 comments
2,344 views