![]() |
|||||||||||||||||||||||||||||||||||||||||||||
|
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 2Mais 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 ;-) |
||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||