Maison  >  Article  >  php教程  >  Collection d'instructions de requête Oracle (collection de commandes de base Oracle One)

Collection d'instructions de requête Oracle (collection de commandes de base Oracle One)

高洛峰
高洛峰original
2017-01-06 13:19:192140parcourir

1.créer un nom d'utilisateur identifié par un mot de passe ;//Créer un nom d'utilisateur et un mot de passe oracle,oracle
2.accorder connect,resource,dba au nom d'utilisateur ;//Autoriser l'octroi de connexion,resource,dba,sysdba au nom d'utilisateur ; 🎜>3.connectez le nom d'utilisateur/mot de passe//Entrez.
4.sélectionnez nom_table, nom_colonne dans user_tab_columns où table_name='mview_log';//Interrogez le nom de la table, le nom du champ, etc. dans la table.
5. Comment exécuter un fichier de script SQL ? SQL>@PATH/filename.sql;
6. Le fournisseur Oracle oledb exécute plusieurs instructions SQL, ce qui est légèrement différent des besoins de SQL SERVER. pour utiliser " ; » divise plusieurs instructions SQL, et Oracle doit se conformer aux spécifications d'appel d'ORACLE, c'est-à-dire qu'en plus de la séparation par point-virgule, le corps de l'instruction doit également être entouré de début/fin ;. devrait être comme suit :
this. oleDbCommand1.CommandText = "begin INSERT INTO GROUP_INFO (GROUP_ID, GROUP_NAME) VALUES (1, '2'); INSERT INTO GROUP_INFO(GROUP_ID, GROUP_NAME) VALUES (2, '2'); end;";
7. Interroger toutes les tables sous l'utilisateur, sélectionnez un nom de table distinct de user_tab_columns ;
8. Comment rechercher les N premiers enregistrements ? Sélectionnez a.*,rownum from (sélectionnez * from cardkind order by cardkind ) awhere rownum9 Recherchez toutes les tables sous l'utilisateur : sélectionnez * from tab ; Affichez l'utilisateur actuellement connecté <🎜. > SQL> afficher l'utilisateur
3. Vérifiez quels utilisateurs le système possède
SQL> sélectionnez * parmi tous les utilisateurs ;
4. Créez un nouvel utilisateur
SQL> (Par défaut, intégré à l'espace table SYSTEM)
SQL> accorde la connexion, la ressource à un
5. Connectez-vous à un nouvel utilisateur
SQL> utilisateur
SQL> sélectionnez * dans l'onglet;
7. Créez la première table
SQL> créez la table a (un nombre); >9. Insérer un nouvel enregistrement
SQL> insérer dans un enregistrement de requête
SQL> sélectionner * à partir d'un
11. set a=2;
12. Supprimer les enregistrements
SQL> supprimer de a;
Rollback
SQL>
14. SQL> commit ;
select * from
(select t.*,dense_rank() over (order by cardkind) Rank from Cardkind t)
where Rank = 2 ; retour chariot à une chaîne ?
sélectionnez 'Bienvenue pour visiter'||chr(10)||'www.CSDN.NET' depuis dual
47.
Avant Oracle9i, le chinois était trié selon le codage binaire.
La fonction de tri par pinyin, radicaux et traits a été ajoutée dans oracle9i. Définir la valeur NLS_SORT
SCHINESE_RADICAL_M Trier par radical (premier ordre), trait (deuxième ordre)
SCHINESE_STROKE_M Trier par trait (premier ordre), radical (deuxième ordre)
SCHINESE_PINYIN_M Trier par pinyin
48. les noms d'objets dans Oracle8i sont-ils en chinois ?
Oui
49. Comment modifier les options de démarrage de SQL*Plus dans WIN ?
Les propres paramètres d'options de SQL*PLUS peuvent être définis dans $ORACLE_HOME/sqlplus/admin/glogin.sql.
50. Comment modifier la date par défaut de la base de données Oracle ?
alter session set nls_date_format='aaaammjjhh24miss';
OU
Vous pouvez ajouter une ligne dans init.ora
nls_date_format='aaaammjjhh24miss. '
51. Comment mettre une petite table dans le pool de conservation ?
alter table xxx storage(buffer_pool keep);
52. Comment vérifier si un patch est installé ? 🎜>53 . Comment faire en sorte que l'instruction select génère automatiquement des numéros de série pour les résultats de la requête ?
select rownum,COL from table
54. >select tablespace_name from user_tables Where table_name='TEST';
select * from user_tables Il y a un champ TABLESPACE_NAME, (oracle);
select * from dba_segments Where…; table de sauvegarde qui est la même que la table d'origine ?
créer une table new_table as (select * from old_table) ;
55 Comment modifier la procédure sous sqlplus
select line,trim(text) t from user_source ? où nom = 'A' order by line;
56. Comment empêcher PROCEDURE d'être verrouillé accidentellement
modifier la session de suppression du système, tuer cette session, mais vous devez d'abord connaître son identifiant de session
ou
il suffit de renommer le processus.
57. Qu'est-ce que la référence SQL ?
est un manuel SQL, comprenant la syntaxe, les fonctions, etc., qui peut être téléchargé depuis le centre de documentation du site officiel d'Oracle
Comment vérifier l'état de la base de données
sous Unix <.>ps -ef | grep ora
sous windows
vérifier si le service est opérationnel
s'il peut être connecté à la base de données
59 Comment modifier la clé primaire d'une table ? >changer la table aaa
supprimer la contrainte aaa_key
altérer la table aaa
ajouter la contrainte aaa_key primaire key(a1,b1)
60. Changer la taille du fichier de données
Utiliser ALTER DATABASE .... DATAFILE .. .. ;
La modification manuelle de la taille du fichier de données endommagera-t-elle le fichier de données d'origine ?
61. Comment vérifier quels programmes s'exécutent dans ORACLE ?
Affichez la table v$sessions
62. Comment voir le nombre de tablespaces de la base de données
select * from dba_tablespaces; ?
Modifiez initSID.ora, augmentez la taille du processus et redémarrez la base de données
64 Comment connaître l'heure de la dernière mise à jour d'un enregistrement
Vous pouvez utiliser logminer pour l'afficher
65. Comment lire en PL/SQL Rédiger un document ?
Le package UTL_FILE permet aux utilisateurs de lire et d'écrire des fichiers du système d'exploitation via PL/SQL.
66. Comment mettre "&" dans un enregistrement ?
insérer dans une valeur (traduire ('at{&}t','at{}','at'));
67. Comment ajouter le paramètre QUERY à EXP ?
EXP USER/PASS FILE=A.DMP TABLES(BSEMMPMS)
QUERY='"WHERE EMP_NO='S09394'" |
68. Concernant le problème de jeu de caractères d'Oracle8i prenant en charge le chinois simplifié et traditionnel ?
ZHS16GBK peut prendre en charge
69. Quel logiciel est Data Guard ?
C'est le produit de remplacement de Standby
70. Comment créer SPFILE ?
SQL> ;
SQL> CREATE SPFILE FROM PFILE='E:ora9iaadmineyglepfileinit.ora';
Le fichier a été créé.
SQL> CREATE SPFILE='E:ora9idatabaseSPFILEEYGLE.ORA' FROM
PFILE='E:ora9iadmineyglepfileinit.ora';
71. Application des paramètres du noyau ?
shmmax
Signification : Ce paramètre ne détermine pas la quantité de mémoire physique utilisée par la base de données Oracle ou le système d'exploitation, il détermine uniquement
la quantité maximale de mémoire qui peut être utilisée. utilisé. Ce paramètre n'affecte pas non plus les ressources du noyau du système d'exploitation.
Méthode de paramétrage : 0,5*mémoire physique
Exemple : Définir shmsys:shminfo_shmmax=10485760
shmmin
Signification : La taille minimale de la mémoire partagée.
Méthode de réglage : généralement défini sur 1.
Exemple : Définissez shmsys:shminfo_shmmin=1 :
shmmni
Signification : Le nombre maximum de segments de mémoire partagée dans le système.
Exemple : Définir shmsys:shminfo_shmmni=100
shmseg
Signification : Le nombre maximum de segments de mémoire partagée que chaque processus utilisateur peut utiliser.
Exemple : Définir shmsys:shminfo_shmseg=20 :
semmni
Signification : Le nombre maximum d'identifiants de sémaphore dans le système.
Méthode de paramétrage : définissez la valeur de cette variable sur la valeur du plus grand
processus dans init.ora de toutes les instances Oracle sur ce système plus 10.
Exemple : Set semsys:seminfo_semmni=100
semmns
Signification : Le nombre maximum d'émaphores dans le système.
Méthode de paramétrage : Cette valeur peut être calculée de la manière suivante : la somme des valeurs des
processus dans le initSID.ora de chaque instance Oracle (à l'exclusion du plus grand paramètre Processes) + le plus grand Processus × 2 + 10 ×
Le nombre d'instances Oracle.
Exemple : Set semsys:seminfo_semmns=200
semmsl :
Signification : Le nombre maximum de sémaphores dans un ensemble.
Méthode de configuration : définie sur 10 + la plus grande valeur de processus dans InitSID.ora de toutes les instances Oracle.
Exemple : définissez semsys:seminfo_semmsl=-200
72. Comment vérifier quels utilisateurs disposent des autorisations SYSDBA et SYSOPER ?
SQL>conn sys/change_on_install
SQL>select * from V_$PWFILE_USERS;
73. Comment sauvegarder une ou plusieurs tables individuellement ?
exp user/password tables=(Table 1,...,Table 2)
74. Comment sauvegarder un ou plusieurs utilisateurs individuellement ?
exp system/managerowner=(user 1, user 2,..., user n) file=export file
75. Comment effectuer une recherche en texte intégral sur le champ CLOB ?
SELECT * FROM A WHERE dbms_lob.instr(a.a,'K',1,1)>0; 76. Comment afficher l'utilisateur actuellement connecté
SHOW USER
77. placement des fichiers de données Chemin ?
col file_name format a50
SQL> select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files
order by file_id
78 ; et leur statut ?
SQL> col segment format a30
SQL> SELECT SEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE _ID,STATUS FROM
DBA_ROLLBACK_SEGS
79. définition initiale ?
SQL> alter table xxx drop constraint constraint_name;
Créer de nouvelles contraintes après :
SQL> alter table xxx add constraint constraint_name check();
Affichez ces informations de fichier via les vues suivantes : v$database, v$datafile, v$logfile v$controlfile
v$parameter
81
Sélectionnez a.* from bsempms a, bsdptms ; b où a.dpt_no=b.dpt_no;
82. Comment se connecter en externe ?
Sélectionnez a.* dans bsempms a,bsdptms b où a.dpt_no=b.dpt_no( ); * from bsempms a,bsdptms b Wherea.dpt_no( )=b.dpt_no;
83 Comment exécuter un fichier de script SQL>@$PATH/filename.sql; effacer rapidement une grande table ?
SQL>truncate table table_name;
85 Comment vérifier le nombre d'instances de base de données
SQL>SELECT * FROM V$INSTANCE; combien de tables y a-t-il dans la base de données ?
SQL>select * from all_tables;
87. Comment tester le temps nécessaire pour exécuter une instruction SQL
SQL>définir le timing sur
SQL> ? ;select * from tablename;
88. CHR() La fonction inverse de COL1,COL2) FROM TABLE
SELECT COL1||COL2 FROM TABLE
90. déposer?
SQL>SPOOL C:ABCD.TXT;
SQL>select * from table;
SQL >spool off;
91. 🎜>SQL> ;SET AUTOTRACE ON ;
SQL>SELECT * FROM TABLE;
OR
SQL>SELECT * FROM v$filestat ;
Vous pouvez afficher le nombre d'IO
92. changer la taille du champ sous sqlplus ?
alter table table_name modifier (field_name varchar2(100));
Changer les lignes en grandes, mais pas en petites lignes (sauf si elles sont toutes vides)
93. Comment interroger les données d'un certain jour ?
select * from table_namewhere trunc(date field)=to_date('2003-05-02','yyyy-mm-
dd'); . Comment insérer la date de l'année entière avec une instruction SQL ?
créer la table BSYEAR (d date);
insérer dans BSYEAR
sélectionner to_date('20030101','aaaammjj') rownum-1
from all_objects
où rownum <= to_char(to_date ('20031231','yyyymmdd'),'ddd');
95. Comment modifier le nom de la table
alter table old_table_name rename to new_table_name ; la commande ?
sqlcode=0
97. Comment connaître les autorisations dont dispose un utilisateur ?
SELECT * FROM dba_sys_privs
98. Quelle est la différence entre ORACLE9I téléchargé sur Internet et la version standard vendue sur Internet. marché?
Il n'y a pas de différence fonctionnelle, sauf qu'Oracle a expressément stipulé que les produits Oracle téléchargés depuis le site Web ne doivent pas être utilisés à
fins commerciales, sinon il s'agirait d'une contrefaçon.
99. Comment déterminer si la base de données s'exécute en mode archive ou en mode non-archive ?
Entrez dbastudio, processus-->base de données--->vue d'archive.
100. Quelle est la différence entre sql>startup pfile, ifile et spfiled ?
pfile est le fichier de paramètres d'initialisation traditionnel d'Oracle, au format texte.
ifile est similaire à inclure dans le langage C, utilisé pour introduire un autre fichier
spfile est nouveau dans 9i et est le fichier de paramètres par défaut, au format binaire
Vous ne devriez pouvoir connecter pfile qu'après le démarrage
101. Comment rechercher les N premiers enregistrements ?
SELECT * FROM empLOYEE WHERE ROWNUM 102. Comment connaître le nombre d'utilisateurs simultanés pris en charge par Oracle sur la machine
SQL>conn
SQL>show ? processus de paramètres ;
103. Db_block_size peut-il être modifié
Généralement non, ce n'est pas recommandé.
104. Comment compter le nombre total d'enregistrements dans deux tables ?
select (select count(id) from aa) (select count(id) from bb) total number from dual
105. utiliser l'instruction SQL pour atteindre Trouver la Nième plus grande valeur dans une colonne ?
sélectionnez * parmi
(sélectionnez t.*,dense_rank() sur (ordre par sal) rang de l'employé)
où rang = N
106. ? (
select add_months(sysdate,24) from dual;
107. Que signifie un USED_UBLK négatif ?
Il est "inoffensif".
108. Que signifie la chaîne Connect ?
Il devrait être le contenu après le nom du service dans tnsnames.ora
109. Comment augmenter la taille de REDO LOG
Créez un groupe de redolog temporaire, puis changez de journal, supprimez le journal précédent et créez un nouveau journal. >110. L'espace table ne peut-il pas être supérieur à 4G ?
Aucune limite
111. Renvoie la plus petite valeur entière supérieure ou égale à N
SELECT CEIL(N) FROM DUAL ; Renvoie une valeur entière inférieure ou égale à N ?
SELECT FLOOR(N) FROM DUAL
113. Renvoie le dernier jour du mois en cours ? 114. Comment importer des données entre différents utilisateurs ?
IMP SYSTEM/MANAGER FILE=AA.DMP FROMUSER=USER_OLD TOUSER=USER_NEW ROWS=Y INDEXES=Y

115. Comment trouver le nom du champ de clé primaire d'une table de base de données ?
SQL>SELECT * FROM user_constraints WHERE CONSTRAINT_TYPE='P' et
table_name='TABLE_NAME'
116. deux ensembles de résultats l'un à l'autre ?
SQL>SELECT * FROM BSEMPMS_OLD INTERSECT SELECT * FROM BSEMPMS_NEW;
SQL>SELECT * FROM BSEMPMS_OLD UNION SELECT * FROM BSEMPMS_NEW 🎜> 117. Fonction pour soustraire deux ensembles de résultats ? >SQL>SELECT * FROM BSEMPMS_OLD MINUS SELECT * FROM BSEMPMS_NEW;
118. Comment configurer la séquence ?
Créer une séquence seq_custid
créer une séquence seq_custid démarrer 1 incrément de 1
Lors de la création d'une table :
créer une table cust
{ cust_id smallint not null,
...} Quand
insérer :
insérer dans la table cust
valeurs( seq_cust.nextval, ...)
La manière courante d'écrire chaque partie de la date
119>. La façon d'obtenir l'année à l'heure :
SELECT TO_CHAR(SYSDATE,'YYYY') FROM DUAL
120>. obtenir le mois du point temporel :
SELECT TO_CHAR(SYSDATE,'MM') FROM DUAL;
121>. Comment obtenir le jour du point temporel :
SELECT TO_CHAR(SYSDATE, 'DD'. ) FROM DUAL;
122>. Comment obtenir l'heure à un instant donné :
SELECT TO_CHAR(SYSDATE,'HH24') FROM DUAL;
123>. :
SELECT TO_CHAR(SYSDATE,'MI') FROM DUAL;
124>. Comment obtenir les secondes du point temporel :
SELECT TO_CHAR(SYSDATE,'SS') FROM DUAL; 125>. Comment obtenir la date à un instant donné :
SELECT TRUNC(SYSDATE) FROM DUAL;
126>. Comment obtenir l'heure à un instant précis :
SELECT TO_CHAR(SYSDATE,'HH24. :MI:SS') FROM DUAL;
127>. Convertit une chaîne en un format de date ou d'heure :
SELECT TO_DATE(' 2003/08/01') FROM DUAL; semaine du paramètre :
SELECT TO_CHAR(SYSDATE,'D') FROM DUAL;
130>. Renvoie le jour de l'année pour le paramètre Comment écrire les jours :
SELECT TO_CHAR(SYSDATE,'DDD ') FROM DUAL;
131>. Comment renvoyer le nombre de secondes entre minuit et la valeur de temps spécifiée dans le paramètre :
SELECT TO_CHAR(SYSDATE ,'SSSSS') FROM DUAL; Renvoie la semaine de l'année dans le paramètre :
SELECT TO_CHAR(SYSDATE,'WW') FROM DUAL;
Champ virtuel
133 CURRVAL et nextval
Créez une séquence pour la table
. CREATE SEQUENCE EMPSEQ ... ;
SELECT empseq.currval FROM DUAL ;
Insérer automatiquement les valeurs de la séquence
INSERT INTO emp
VALUES ( empseq.nextval, 'LEWIS', 'CLERK ',
7902, SYSDATE, 1200, NULL, 20) ;
134. ROWNUM
Le numéro de série des lignes triées par paramètres
SELECT * FROM emp WHERE ROWNUM < ROWID
Renvoyer l'adresse physique de la ligne
SELECT ROWID, ename FROM emp WHERE deptno = 20
136.
set serverout on
declare
N number := 1000000;
ret varchar2(100);
begin
ret := trunc(n/3600) || | to_char(to_date(mod(n,3600),'sssss'),'fmmi"minutes
"ss"seconds"');
dbms_output.put_line(ret); 137. Comment interroger le processus de réalisation d'un tri relativement important ?
SELECT b.tablespace, b.segfile#, b.segblk#, b.blocks, a.sid, a.serial#,
a.username, a.osuser, a.status
FROM v $session a,v$sort_usage b
WHERE a.saddr = b.session_addr
ORDER BY b.tablespace, b.segfile#, b.segblk#, b.blocks
138. Instruction SQL pour un processus de tri relativement volumineux ?
select /* ORDERED */ sql_text from v$sqltext a
where a.hash_value = (
select sql_hash_value from v$session b
where b.sid = &sid et b.serial# = &serial )
ordre par pièce asc
139.
SELECT * FROM TABLE_NAME
WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D
WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2
140. Supprimer les enregistrements en double ?
DELETE FROM TABLE_NAME
WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D
WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2
141); Compiler rapidement toutes les vues ?
SQL >SPOOL VIEW1.SQL
SQL >SELECT 'ALTER VIEW '||TNAME||'
COMPILE;
SQL >SPOOL OFF
Puis exécutez VIEW1. .SQL suffit.
SQL >@VIEW1.SQL;
142. Solution à l'INSTANTANÉ ORA-01555 TROP ANCIEN
Augmentez la valeur MINEXTENTS, augmentez la taille de l'étendue et définissez une valeur OPTIMALE élevée.
143. L'espace du segment d'annulation requis par la transaction n'est pas suffisant, ce qui se manifeste lorsque l'espace table est plein (erreur ORA-01560) et que l'extension du segment d'annulation atteint la
valeur du paramètre MAXEXTENTS (ORA -01628)  Ajoutez des fichiers à l'espace table du segment de restauration ou agrandissez les fichiers existants ;
144. Comment chiffrer les procédures stockées ORACLE ?
Le contenu de la procédure stockée suivante est placé dans le fichier AA.SQL
créer ou remplacer la procédure testCCB(i en nombre) comme
commencer
dbms_output.put_line('Le paramètre d'entrée est'||to_char (i) );
fin
SQL>wrap iname=a.sql;
PL/SQL Wrapper : version 8.1.7.0.0 - Production le mardi 27 novembre 22:26:48
Copyright (c) Oracle Corporation 1993, 2000. Tous droits réservés
Traitement de AA.sql vers AA.plb
Exécution de AA.plb
SQL> surveiller l'attente des dossiers ?
select event,sum(decode(wait_Time,0,0,1)) "Prev",
sum(decode(wait_Time,0,1,0)) "Curr",count(*) "Tot"
de v$session_Wait
grouper par événement par 4
146 ; Comment annuler la contention de segment ?
sélectionnez le nom, attend, obtient, attend/obtient "Ratio"
à partir de v$rollstat C, v$rollname D
où C.usn = D.usn
147. Rapport espace E/S ?
sélectionnez B.tablespace_name name,B.file_name "file",A.phyrds pyr,
A.phyblkrd pbr,A.phywrts pyw, A.phyblkwrt pbw
from v$filestat A, dba_data_files B
where A.file# = B.file_id
order by B.tablespace_name
148. Comment surveiller le rapport E/S du système de fichiers ?
select substr(C.file#,1,2) "#", substr(C.name,1,30) "Name",
C.status, C.bytes, D.phyrds, D. phywrts
from v$datafile C, v$filestat D
where C.file# = D.file#
149.
sélectionnez user_indexes.table_name, user_indexes.index_name,unicité, column_name
from user_ind_columns, user_indexes
où user_ind_columns.index_name = user_indexes.index_name
et user_ind_columns.table_name = user_indexes.table_name
ordre par user_indexes .table_type, user_indexes.table_name,
user_indexes.index_name, column_position
150.
sélectionnez a.value b.value "logical_reads", c.value "phys_reads",
round(100 * ((a.value b.value)-c.value) / (a.value b.value )) "BUFFER HIT RATIO"
de v$sysstat a, v$sysstat b, v$sysstat c
où a.statistic# = 38 et b.statistic# = 39
et c.statistic# = 40;
151. Comment surveiller le taux de réussite du tampon du dictionnaire dans SGA ?
sélectionnez le paramètre, gets,Getmisses , getmisses/(gets getmisses)*100 "miss ratio",
(1-(sum(getmisses)/ (sum(gets) sum(getmisses)))))*100 "Taux de réussite"
de v$rowcache
où obtient getmisses <>0
groupe par paramètre, obtient, getmisses
152. SGA, ça devrait être inférieur à 1% ?
sélectionnez sum(pins) "Total Pins", sum(reloads) "Total Reloads",
sum(reloads)/sum(pins) *100 libcache
from v$librarycache
select sum; (pinhits-reloads)/sum(pins) "hit radio",sum(reloads)/sum(pins) "reload
percent"
from v$librarycache
153. Catégorie et taille ?
sélectionnez count(name) num_instances, tapez, sum(source_size) source_size,
sum(parsed_size) parsed_size,sum(code_size) code_size,sum(error_size)
error_size,
sum(source_size) sum (parsed_size) sum(code_size) sum(error_size) size_required
from dba_object_size
group by type order by 2
154 Surveillez le taux de réussite du cache de journalisation dans SGA, il doit être inférieur à 1. %
SELECT nom, obtient, manque, immédiat_gets, immédiat_misses,
Decode(gets,0,0,misses/gets*100) ratio1,
Decode(immediate_gets immediate_misses,0,0,
immediate_misses /(immediate_gets immediate_misses) *100) ratio2
FROM v$latch WHERE name IN ('redo allocation', 'redo copy');
155. faites-le inférieur à 0,10, augmentez sort_area_size
SELECT nom, valeur FROM v$sysstat WHERE nom IN ('sorts (mémoire)', 'sorts
(disque)');
156. qui exécute quelle instruction SQL dans la base de données actuelle ?
SELECT osuser, username, sql_text from v$session a, v$sqltext b
where a.sql_address =b.address order by address, piece
157.
SELECT (SUM(PINS - RELOADS)) / SUM(PINS) "LIB CACHE" FROM V$LIBRARYCACHE;
SELECT (SUM(GETS - GETMISSES - USAGE - FIXED)) / SUM(GETS) "ROW CACHE" FROM
V$ROWCACHE ;
SELECT SUM(PINS) "EXECUTIONS", SUM(RELOADS) "CACHE MANQUE PENDANT L'EXECUTION" FROM
V$LIBRARYCACHE
Ce dernier est divisé par le premier, le rapport est moins de 1%, proche de 0% c'est mieux.
SELECT SUM(GETS) "DICTIONARY GETS",SUM(GETMISSES) "DICTIONARY CACHE GET MISSES"
FROM V$ROWCACHE
158. Surveiller MTS
sélectionnez occupé/(occupé inactif) "serveurs partagés occupé" de v$dispatcher ;
Lorsque cette valeur est supérieure à 0,5, le paramètre doit être augmenté
sélectionnez sum(wait)/sum(totalq) "dispatcher waits" de v$queue où
tapez ='dispatcher' ;
select count(*) from v$dispatcher;
select serveurs_highwater from v$mts;
Lorsqueservers_highwater est proche de mts_max_servers, le paramètre doit être augmenté
159. connaître le numéro d'identification de l'utilisateur actuel ?
SQL>SHOW USER;
OR
SQL>select user from dual
160.
SELECT segment_name table_name ? , COUNT(*) extends
FROM dba_segments WHERE propriétaire NOT IN ('SYS', 'SYSTEM') GROUP BY segment_name
HAVING COUNT(*) = (SELECT MAX( COUNT(*) ) FROM dba_segments GROUP BY
segment_name);
162. Comment savoir comment la table est stockée dans l'espace table ?
select segment_name,sum(bytes),count(*) ext_quan from dba_extents Where
tablespace_name='&tablespace_name' et segment_type='TABLE' group by
tablespace_name ,segment_name
163 Comment savoir comment l'index est stocké dans l'espace table
select segment_name,count(*) from dba_extents où segment_type='INDEX ? ' et
owner='&owner'
group by segment_name
164. Comment connaître la session utilisateur qui utilise le plus de CPU
11 est le processeur utilisé par cette session
sélectionnez un.sid ? ,spid,status,substr(a.program,1,40)
prog,a.terminal,osuser,value/60/100 value
de v$session a,v$process b,v$sesstat c
où c.statistic#=11 et c.sid=a .sid et a.paddr=b.addr ordre par valeur desc
165. Comment connaître le fichier journal de l'auditeur
Prendre 8I comme ? un exemple
$ORACLE_HOME/NETWORK/LOG/LISTENER.LOG
166. Comment connaître le fichier de paramètres de l'écouteur
Prendre 8I comme exemple
$ORACLE_HOME/NETWORK/ADMIN/LISTENER.ORA
167. Comment connaître le fichier de connexion TNS ?
Prenons 8I comme exemple
$ORACLE_HOME/NETWORK/ADMIN/TNSNAMES.ORA
168. >Prenez 8I comme exemple
$ORACLE_HOME/NETWORK/ADMIN/SQLNET.ORA
169. Comment connaître le fichier journal d'avertissement
Prenez 8I comme exemple
$ORACLE_HOME/ADMIN/SID/BDUMP ? /SIDALRT.LOG
170. Comment connaître la structure de base
Prendre 8I comme exemple
$ORACLE_HOME/RDBMS /ADMIN/STANDARD.SQL
171. vue du dictionnaire ?
Prendre 8I comme exemple
$ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL
172 Comment savoir comment établir un dictionnaire de données pour l'audit de View
Prendre 8I comme exemple ?
$ORACLE_HOME/RDBMS/ADMIN/CATAUDIT.SQL
173. Comment savoir comment créer une vue de dictionnaire de données pour un instantané
Prenons 8I comme exemple
$ORACLE_HOME/RDBMS /ADMIN/CATSNAP ? .SQL
Cette conférence parle principalement de la méthode d'optimisation des instructions SQL ! Elle est principalement basée sur ORACLE9I
174 /* ALL_ROWS*/
Indique que la méthode d'optimisation basée sur les coûts est sélectionnée pour l'instruction. bloquer. Et obtenir le meilleur débit et minimiser la consommation de ressources
Par exemple :
SELECT /* ALL _ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='CCBZZP'
175. */
Indique que la méthode d'optimisation basée sur les coûts est sélectionnée pour le bloc d'instructions et que le meilleur temps de réponse est obtenu pour minimiser la consommation de ressources
Par exemple :
SELECT /* FIRST_ROWS*/ EMP_NO,EMP_NAM. ,DAT_IN FROM BSEMPMS WHERE EMP_NO='CCBZZP'; 176. /* CHOOSE*/
indique que s'il existe des informations statistiques sur la table d'accès dans le dictionnaire de données, la méthode d'optimisation sera basée sur le coût et obtiendra le meilleur débit ;
indique que si les données Il n'y a aucune information statistique sur la table d'accès dans le dictionnaire, et la méthode d'optimisation sera basée sur le coût de la règle
Par exemple :
SELECT /* CHOOSE*/ EMP_NO ; ,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='CCBZZP';
177. /* RULE*/
Indique la sélection de méthodes d'optimisation basées sur des règles pour les blocs d'instructions
Par exemple :
SELECT /. * RULE */ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='CCBZZP';
178. /* FULL(TABLE)*/
Indique la méthode de sélection d'une analyse globale pour la table
Pour. exemple :
SELECT /* FULL(A)*/ EMP_NO,EMP_NAM FROM BSEMPMS A WHERE EMP_NO='CCBZZP ';
179 /* ROWID(TABLE)*/
L'invite indique clairement que le spécifié. La table est accessible en fonction de ROWID
Par exemple :
SELECT /* ROWID(BSEMPMS)*/ * FROM BSEMPMS WHERE ROWID>='AAAAAAAAAAAAAAA'
AND EMP_NO='CCBZZP';
180. /* CLUSTER(TABLE)*/
L'invite indique clairement que la méthode d'accès à l'analyse de cluster est sélectionnée pour la table spécifiée, ce qui n'est valide que pour les objets de cluster <.>Par exemple :
SELECT /* CLUSTER */ BSEMPMS.EMP_NO,DPT_NO FROM BSEMPMS,BSDPTMS
WHERE DPT_NO='TEC304' AND BSEMPMS.DPT_NO=BSDPTMS.DPT_NO
181. TABLE INDEX_NAME)*/
Indique la méthode d'analyse pour l'index de sélection de table
Par exemple :
SELECT /* INDEX(BSEMPMS SEX_INDEX) USE SEX_INDEX PARCE QUE IL Y A PEU DE
BSEMPMS */ FROM BSEMPMS WHERE SEX. ='M';
182. /* INDEX_ASC(TABLE INDEX_NAME)*/
Indique la méthode d'analyse de sélection de l'index de la table par ordre croissant

Pour plus de collecte d'instructions de requête Oracle (Oracle Basic. collection de commandes 1) articles connexes, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn