
|  | 
| auteur : SheikYerbouti | 
| 
La place occupée par les unités de traitement est interrogeable depuis la vue : USER_OBJECT_SIZE
 
NAME Contient le nom de l'objetTYPE Contient le type de l'objet (TYPE, TYPE BODY, TABLE, VIEW, SYNONYM,SEQUENCE, PROCEDURE, FUNCTION, PACKAGE, PACKAGE BODY, JAVA SOURCE, JAVA CLASS, JAVA RESOURCE ou JAVA DATA)SOURCE_SIZE Contient la taille en octets du code sourcePARSED_SIZE Contient la taille en octets du code DIANA (incluant les références aux objets sous-jacents)CODE_SIZE Contient la taille du code chargé en mémoire à l'exécutionERROR_SIZE Contient la taille des messages d'erreur| taille des unités de traitement |  | 
SQL>SELECT*2FROMUSER_OBJECT_SIZE3WHERETYPEIN('PACKAGE BODY','PACKAGE','FUNCTION','PROCEDURE')4ORDERBYTYPE,NAME;NAMETYPESOURCE_SIZE PARSED_SIZE CODE_SIZE ERROR_SIZE 
LIGNESALAIREFUNCTION2802615630PWD_DECODEFUNCTION4592347020RETOURNE_PARAMFUNCTION8852399900SRV_LECTURE_PARAMETREFUNCTION4583426970TEST_XXFUNCTION86926911190PKG_CORRECTIONPACKAGE41414933620TEST_RECORDPACKAGE2337618750PKG_CORRECTIONPACKAGEBODY114080124670TEST_RECORDPACKAGEBODY403013760DEBUGPROCEDURE115347513430DISPLAY_IMAGEPROCEDURE89450912770ECRITURE_ERREURPROCEDURE75515176730
 | 
La première ligne indique que la fonction LIGNESALAIRE occupe 280 octets de code source et nécessite 563 octets en mémoire à l'exécution.
 
 | 
|  | 
| auteur : Helyos | 
| 
Pour connaître les bases de données actuellement en cours d'utilisation sur votre poste il vous suffit :
 Sous Windows d'aller dans le gestionnaire des services : Click droit sur le poste de travail => gérer => services et applications => services 
puis de regarder tous les services commençant par OracleService et qui sont formatés de la sorte OracleService<SID> (où SID correspond au nom de l'instance associée)
 
 Sous Linux Vous pouvez lancer la commande suivante : ps -ef | egrep pmon_ | grep -v grep
 
 | 
|  | 
| auteur : SheikYerbouti | 
| 
Voici un script permettant d'afficher la taille allouée, utilisée et libre de chaque pool :
 | 
COL "Total octets alloués"FORMAT A20 
COL"octets utilisés"FORMAT A20 
COL"octets libres"FORMAT A20SELECTa.POOL"Pool", b.Octets||' ('||ROUND(b.Octets/1024/1024)||' Mo)'"Total octets alloués", (b.Octets-a.BYTES)||' ('||ROUND((b.Octets-a.BYTES)/1024/1024)||' Mo)'"octets utilisés", a.BYTES||' ('||ROUND(a.BYTES/1024/1024)||'Mo)'"octets libres"FROMV$SGASTAT a, 
       (SELECTPOOL,SUM(BYTES) Octets,SUM(BYTES/1024/1024) MoFROMV$SGASTATWHEREPOOLISNOTNULLGROUPBYPOOLORDERBYPOOL) bWHERENAME='free memory'ANDa.POOL=b.POOLORDERBYa.POOL ;
 | 
Ainsi que le résultat de l'exécution
 | 
SQL>COL"Total octets alloués"FORMAT A20SQL>COL"octets utilisés"FORMAT A20SQL>COL"octets libres"FORMAT A20SQL>SELECT2a.POOL"Pool"3, b.Octets||' ('||ROUND(b.Octets/1024/1024)||' Mo)'"Total octets alloués"4, (b.Octets-a.BYTES)||' ('||ROUND((b.Octets-a.BYTES)/1024/1024)||' Mo)'"octets utilisés"5, a.BYTES||' ('||ROUND(a.BYTES/1024/1024)||'Mo)'"octets libres"6FROMV$SGASTAT a,7(SELECTPOOL,SUM(BYTES) Octets,SUM(BYTES/1024/1024) Mo8FROMV$SGASTAT9WHEREPOOLISNOTNULL10GROUPBYPOOL11ORDERBYPOOL) b12WHERENAME='free memory'13ANDa.POOL=b.POOL14ORDERBYa.POOL15/Pool        Total octets alloués octets utilisés      octets libres 
java pool29360128(28Mo)0(0Mo)29360128(28Mo) 
large pool8404644(8Mo)304668(0Mo)8099976(8Mo) 
shared pool41943040(40Mo)22455544(21Mo)19487496(19Mo)
 | 
 | 
|  | 
| auteur : Jaouad | 
| 
Via le script suivant :
 | 
setlinesize250col file_name format a40selectb.file_name, a.file#, a.cntfrom(selectfile#,count(1) cntfromv$bhgroupbyfile#) a,
       dba_data_files bwherea.file#=b.file_id;
 | 
 | 
|  | 
| auteur : Laurent Schneider | 
| 
Via la requête suivante, à partir de la 9i :
 | 
SELECTCOMP_NAME,
       STATUS,
       VERSIONFROMDBA_REGISTRYORDERBYCOMP_NAME;
COMP_NAME                          STATUS VERSION
JServer JAVA Virtual Machine       VALID10.2.0.2.0OracleDatabaseCatalogViewsVALID10.2.0.2.0OracleDatabaseJava Packages      VALID10.2.0.2.0OracleDatabasePackagesandTypes VALID10.2.0.2.0Oracle Expression Filter           VALID10.2.0.2.0OracleTextVALID10.2.0.2.0Oracle Workspace Manager           VALID10.2.0.3.0Oracle XDK                         VALID10.2.0.2.0Oracle XMLDatabaseVALID10.2.0.2.0Oracle interMedia                  VALID10.2.0.2.0
 | 
 | 
|  | 
| auteur : Laurent Schneider | 
| 
À partir de la version 10.1.0.5 cpu2006jan, via le requête suivante :
 | 
SELECTACTION_TIME,
       ACTION,
       VERSION,
       IDFROMDBA_REGISTRY_HISTORYORDERBYto_timestamp(ACTION_TIME,'DD.MM.YYYY HH24:MI:SSXFF');
ACTION_TIME      ACTION   VERSION              ID14.02.200610:28CPU475193207.03.200611:30UPGRADE10.2.0.2.0
 | 
 | 
|  | 
| auteur : Jaouad | 
| 
Lors d'une réorganisation de base de données, si l'on souhaite déplacer certains objets 
du tablespace SYSAUX vers d'autres tablespaces, comment procéder ?
 Cette requête va nous donner la procédure à utiliser pour le déplacement en fonction des objets
 | 
SQL>SELECToccupant_name, schema_name, move_procedure2FROMv$sysaux_occupants ;
OCCUPANT_NAME    SCHEMA_NAME     MOVE_PROCEDURE
LOGMNR           SYSTEM          SYS.DBMS_LOGMNR_D.SET_TABLESPACE
LOGSTDBY         SYSTEM          SYS.DBMS_LOGSTDBY.SET_TABLESPACE
STREAMS          SYS                                             
XDB              XDB             XDB.DBMS_XDB.MOVEXDB_TABLESPACE
AO               SYS             DBMS_AW.MOVE_AWMETA
XSOQHIST         SYS             DBMS_XSOQ.OlapiMoveProc
...
 | 
 | 
|  | 
| auteur : Jaouad | 
| 
Via cette requête :
 | 
SQL>SELECTdbms_utility.port_stringFROMdual;
PORT_STRING
IBMPC/WIN_NT-8.1.0
 | 
 | 
|  | 
| auteur : Jaouad | 
| 
Lors d'une migration vers une base 10g, comment savoir si les pré requis ont été vérifiés avant d'effectuer la migration ?
 Via un nouvel outil d'upgrade ( Upgrade information Tool ) :
 Prendre le fichier utlu101i.sql ( migration vers une 10gR1 ) présent dans le dossier $ORACLE_HOME\rdbms\admin\ et le faire tourner sur la base source. 
Il est possible de faire une migration vers la 10g ( quelque que soit la release ) sans passer par d'autres versions si la base source est 806, 817, 927
 
 | 
|  | 
| auteur : Jaouad | 
| 
Voici comment déterminer les sessions qui sont killed for ever :
| 
SELECTspidFROMv$processWHERENOTEXISTS(SELECT1FROMv$sessionWHEREpaddr=addr);
 | 
| 
SVRMGRL>SELECTspid, osuser, s.programFROMv$process p, v$sessionsWHEREp.addr=s.paddr;
 | 
Pour les tuer :
 | 
|  | 
| auteur : bouyao | 
| 
Il suffit de modifier le parametre DB_RECOVERY_FILE_DEST.
 Avec ce paramètre, il faut toujours spécifier le paramètre d'initialisation DB_RECOVERY_FILE_DEST_SIZE.
 
 Par exemple :
 | 
ALTERSYSTEMSETDB_RECOVERY_FILE_DEST='/disk1'SCOPE=BOTH SID='*';
 | 
 | 
|  | 
| auteur : bouyao | 
| 
Fusion des extents libre toutes les 5 mnNettoyage des segments temporaires toutes les 2 hMise à jours de SMON_SCN_TIME toutes les 5 mnNettoyage des objects inexistants dans OBJ$, toutes les 12 hNettoyage de IND$ toutes les heureCompactage (shrink) des segments undo toutes les 12 hRestauration des transactions uniquement au démarrage de la baseIl annule les transactions non validées quand c'est posté par PMON 
 | 
|  | 
| auteur : LeoAnderson | 
| 
En réalité, SMon (System MONitor) ne s'endort pas réellement, 
puisqu'il n'est sollicité que de temps à autres lorsque la base est en activité.
 La doc (cf lien au bas de la QR) précise simplement que :
 
 
	
		| SMON checks regularly to see whether it is needed | 
Mais il peut être utile parfois de le solliciter manuellement, ce qu'on appelle un wakeup :
 1. Exécutez d'abord la requête suivante :
 | 
SQL>SELECTpidFROMv$process2WHEREaddr=3(4SELECTpaddrFROMv$bgprocess5WHEREname='SMON'6);
       PID8
 | 
2. Puis récupérez le PID pour exécuter la commande suivante (connecté en tant que SYSDBA) :En général : 6 => 8i, 7 => 9i et 8 => 10g
 |  
SQL>ORADEBUG WAKEUP8Instruction traitée.
 | 
 | 
| lien :  System Monitor Process (SMON) 
 | 
|  | 
| auteur : Aline | 
| 
Grâce à la requête suivante :
 | 
SQL>SELECTse.osuser, se.username, se.sid,2su.extents, su.blocks*to_number(rtrim(p.value))ASSpace,3tablespace4FROMv$sort_usage su, v$parameter p, v$sessionse5WHEREp.name='db_block_size'6ANDsu.session_addr=se.saddr7ORDERBYse.username, se.sid;
 | 
 | 
						Consultez les autres F.A.Q's
					
		

 
Les sources présentées sur cette page sont libres de droits
et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation
constitue une œuvre intellectuelle protégée par les droits d'auteur.
Copyright © 2006 Developpez Developpez LLC.
Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne
peut être faite de ce site ni de l'ensemble de son contenu : textes, documents
et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez
selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
 
 
