!
!
!
!
!
!
!
!

Quelques scripts (21/04/2003)
Merci à tous ceux qui y ont mis leur savoir et qui vont en mettre plus :
Tri Vo Thanh


Nombre d’utilisateurs

select * from all_users;

Objets qui appartiennent à un utilisateur

accept ow char prompt 'Saisir le nom du schema:'
select OBJECT_NAME, OBJECT_TYPE, CREATED, LAST_DDL_TIME, STATUS
from  dba_objects
where OWNER = UPPER('&ow')
order by 2;

Liste des tables

 select s.SEGMENT_NAME, f.TABLESPACE_NAME,s.OWNER from  dba_data_files f, dba_segments s
 where f.TABLESPACE_NAME=s.TABLESPACE_NAME
 and owner not in ('SYS', 'SYSTEM')
 and s.SEGMENT_TYPE = 'TABLE';

L’utilisateur a un objet (des objets) qui réside sur un tablespace non affecté par défaut ---

select  u.USERNAME, u.DEFAULT_TABLESPACE, s.TABLESPACE_NAME, s.segment_name
from dba_users u, dba_segments s
where u.USERNAME = s.owner
and u.USERNAME not in ('SYS', 'SYSTEM')
and u.DEFAULT_TABLESPACE  <> s.TABLESPACE_NAME;

Mot de passe par défaut

Select username, password from dba_users
Noter le password crypté, ensuite
Alter user toto identified by tata ;
Select username, password from dba_users
Comparer les passwords cryptés, ensuite
Alter user toto identified by values ‘qqqqqqqqqqqqqqqqqqqqqqq’ ;
Avec la chaine trouvée initialement.

db_links

col OWNER for a20
col DB_LINK for a30
col HOST for a30
select * from dba_db_links;

date de dernière manif ? (modif, oui, lol)

accept on char prompt 'Saisir le nom objet:'
col OBJECT_NAME for a50                 
select OBJECT_NAME, CREATED, LAST_DDL_TIME date_derniere_manif
from dba_objects
where OBJECT_NAME = UPPER('&on');

Liste des composants physiques (fichiers)

Une base ORACLE est composée physiquement par des fichiers
Fichiers
select FILE_NAME, TABLESPACE_NAME, BYTES , BLOCKS , STATUS
from dba_data_files
order by 2
Mais les autres fichiers jouent un rôle très important dans la restauration d'une base :
Ils sont :

Control files

col name for a40
select * from v$controlfile;

Fichiers redo log

col member for a40
select * from  v$logfile;


initSID.ora (et spfile dans 9i)

jusqu'à 8i (Release 8.1.7)
UNIX : ORACLE_BASE/admin/SID/pfile/init.ora
NT : C:\Oracle\admin\repertoire_data_base\pfile\initSID.ora
9i
UNIX : ORACLE_HOME/dbs/spfileSID.ora
NT : C:\Oracle\Ora9i\database\spfileSID.ORA

taux occupation des tablespaces

set pagesize 66
/*ttitle skip 2 center 'FREE - Free space by Tablespace' skip 2*/
column dummy noprint
column  pct_used format 999.9       heading "%|Used" 
column  name    format a16      heading "Tablespace Name" 
column  bytes   format 9,999,999,999,999    heading "Total Bytes" 
column  used    format 99,999,999,999   heading "Used" 
column  free    format 999,999,999,999  heading "Free" 
break   on report 
compute sum of bytes on report 
compute sum of free on report 
compute sum of used on report 
set termout off
select a.tablespace_name                                              name,
	   b.tablespace_name                                              dummy,
	   sum(b.bytes)/count( distinct a.file_id||'.'||a.block_id )      bytes,
	   sum(b.bytes)/count( distinct a.file_id||'.'||a.block_id ) -
	   sum(a.bytes)/count( distinct b.file_id )			  used,
	   sum(a.bytes)/count( distinct b.file_id )                       free,
	   100 * ( (sum(b.bytes)/count( distinct a.file_id||'.'||a.block_id )) -
			   (sum(a.bytes)/count( distinct b.file_id ) )) /
	   (sum(b.bytes)/count( distinct a.file_id||'.'||a.block_id )) pct_used
from sys.dba_free_space a, sys.dba_data_files b
where a.tablespace_name = b.tablespace_name
group by a.tablespace_name, b.tablespace_name;
set termout on

Objets les plus fragmentés

accept un char prompt 'Saisir le nom du schema:'
select 	substr(segment_name,1,20) "Segment",
	count(*) "Nb Extents",
	sum(blocks)"Nb Blocs",
	min(blocks)"Blocs mini",
	max(blocks)"Blocs maxi"
from dba_extents
where owner = UPPER('&un')
group by substr(segment_name,1,20)
having count (*)>5;

Version, date de dernier démarrage

select INSTANCE_NAME, VERSION,  STARTUP_TIME from v$instance;
Note. Je ne sponsorise en aucun cas les scripts présents ici. Je les prends tels quels. Utilises les à vos risques et périls ;-)


Copyright © 1998-2002 Radu Caulea, TAFORA MAJ 06/11/2006 !
Commentaires et suggestions radu[CHEZ]tafora.fr