-
Notifications
You must be signed in to change notification settings - Fork 39
/
ini.xml
399 lines (396 loc) · 15.2 KB
/
ini.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 5e41012cfdf8f2eff5fa56de446c7656afac536c Maintainer: sammywg Status: ready -->
<!-- Reviewed: yes -->
<!-- Rev-Revision: 8a2141dcc084f72feb4e0ae2feaff3b440e5c59e Reviewer: samesch -->
<section xml:id="oci8.configuration" xmlns="http://docbook.org/ns/docbook">
&reftitle.runtime;
&extension.runtime;
<para>
<table>
<title>OCI8-Konfigurationsoptionen</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody xml:id="oci8.configuration.list">
<row>
<entry><link linkend="ini.oci8.connection-class">oci8.connection_class</link></entry>
<entry>""</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.oci8.default-prefetch">oci8.default_prefetch</link></entry>
<entry>"100"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.oci8.events">oci8.events</link></entry>
<entry>Off</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.oci8.max-persistent">oci8.max_persistent</link></entry>
<entry>"-1"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.oci8.old-oci-close-semantics">oci8.old_oci_close_semantics</link></entry>
<entry>Off</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Ab PHP 8.1.0 veraltet.</entry>
</row>
<row>
<entry><link linkend="ini.oci8.persistent-timeout">oci8.persistent_timeout</link></entry>
<entry>"-1"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.oci8.ping-interval">oci8.ping_interval</link></entry>
<entry>"60"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.oci8.prefetch-lob-size">oci8.prefetch_lob_size</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Verfügbar seit PECL OCI8 3.2.</entry>
</row>
<row>
<entry><link linkend="ini.oci8.privileged-connect">oci8.privileged_connect</link></entry>
<entry>Off</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.oci8.statement-cache-size">oci8.statement_cache_size</link></entry>
<entry>"20"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.oci8.connection-class">
<term>
<parameter>oci8.connection_class</parameter>
<type>string</type>
</term>
<listitem>
<para>
Dieser benutzerdefinierte Text sollte immer festgelegt werden, wenn
Oracle Database Resident Connection Pooling (DRCP) verwendet wird. Er
ermöglicht die Partitionierung des DRCP-Verbindungspools, sodass
persistente OCI8-Verbindungen einer Anwendung Datenbanksessions aus
einem vorherigen PHP-Skript wiederverwenden können, was eine bessere
Skalierbarkeit ermöglicht. Wenn eine Anwendung einen
Datenbankpool-Prozess verwendet, der zuvor mit einer anderen
Verbindungsklasse verwendet wurde, werden die Session-Einstellungen,
&zb; das standardmäßige Oracle-Datumsformat, zurückgesetzt. Dies
verhindert eine versehentliche gemeinsame Nutzung von Informationen
zwischen verschiedenen Anwendungen.
</para>
<para>
Der Wert kann zur Laufzeit vor dem Aufbau der Verbindung mit
<function>ini_set</function> gesetzt werden.
</para>
<para>
Um DRCP zu verwenden, muss OCI8 gegen Bibliotheken von Oracle
11<emphasis>g</emphasis> (oder höher) gelinkt sein und die Datenbank
muss Oracle 11<emphasis>g</emphasis> (oder höher) sein. Der
DRCP-Verbindungspool muss in der Datenbank aktiviert sein, die
<literal>oci8.connection_class</literal> muss für alle Webserver, auf
denen dieselbe Anwendung läuft, auf dieselbe Zeichenkette gesetzt werden
und die OCI8-Verbindungszeichenkette muss angeben, dass ein Server mit
einem Pool verwendet werden soll. Die Anwendung sollte persistente
Verbindungen verwenden.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.default-prefetch">
<term>
<parameter>oci8.default_prefetch</parameter>
<type>int</type>
</term>
<listitem>
<para>
Diese Option legt die Standard-Anzahl der zusätzlichen Zeilen fest, die
automatisch abgerufen und zwischengespeichert werden, wenn eine
Low-Level-Anforderung von Daten aus der Datenbank erfolgt. Das Setzen
des Wertes <literal>0</literal> deaktiviert das Prefetching.
</para>
<para>
Der Prefetch-Wert ändert nicht die Anzahl der Zeilen, die Funktionen wie
<function>oci_fetch_array</function> an den Benutzer zurückgeben; das
Prefetching und Caching von Zeilen wird intern in OCI8 verwaltet.
</para>
<para>
Der Wert kann pro Anweisung mit <function>oci_set_prefetch</function>
vor der Ausführung der Anweisung gesetzt werden.
</para>
<para>
Bei Verwendung von Oracle Database 12<emphasis>c</emphasis> (oder höher)
kann der von PHP festgelegte Prefetch-Wert von Oracles
Client-Konfigurationsdatei <literal>oraaccess.xml</literal>
überschrieben werden. Siehe in der Oracle-Dokumentation für weitere
Details.
</para>
<note>
<simpara>
Ein größerer Prefetch kann zu einer verbesserten Leistung führen,
allerdings auf Kosten eines erhöhten Speicherverbrauchs. Bei Abfragen,
die große Datenmengen zurückgeben, kann der Leistungsvorteil deutlich
sein.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.events">
<term>
<parameter>oci8.events</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Wenn diese Option aktiv ist (<literal>On</literal>), kann PHP über FAN-
(Fast Application Notification) Datenbankereignisse benachrichtigt
werden.
</para>
<para>
Ohne FAN kann es bei einem plötzlichen Ausfall einer Datenbankinstanz
oder eines Rechnerknotens dazu kommen, dass PHP-Anwendungen beim Warten
auf eine Datenbankantwort hängen bleiben, bis der TCP-Timeout abgelaufen
ist. Mit FAN-Ereignissen werden PHP-Anwendungen schnell über Fehler
informiert, die Datenbankverbindungen betreffen. Die OCI8-Erweiterung
entfernt unbrauchbare Verbindungen aus dem persistenten
Verbindungscache.
</para>
<para>
Wenn diese Option verwendet wird (<literal>On</literal>), muss die
Datenbank auch konfiguriert werden, FAN-Ereignisse zu melden.
</para>
<para>
Die FAN-Unterstützung ist verfügbar, wenn OCI8 gegen Bibliotheken von
Oracle 10<emphasis>g</emphasis>R2 (oder höher) gelinkt ist und mit einer
Oracle-Datenbank 10<emphasis>g</emphasis>R2 (oder höher) verbunden ist.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.max-persistent">
<term>
<parameter>oci8.max_persistent</parameter>
<type>int</type>
</term>
<listitem>
<para>
Die maximale Anzahl persistenter OCI8-Verbindungen pro PHP-Prozess. Wenn
diese Option auf -1 gesetzt ist, ist die Anzahl der Verbindungen nicht
limitiert.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.old-oci-close-semantics">
<term>
<parameter>oci8.old_oci_close_semantics</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Diese Option kontrolliert das Verhalten der Funktion
<function>oci_close</function>. Wenn sie aktiviert wird, zeigt der
Aufruf von <function>oci_close</function> keine Reaktion; die Verbindung
wird nicht vor dem Ende des Skripts beendet. Die Funktion existiert nur
aus Gründen der Abwärtskompatibilität. Wenn Sie in eine Situation
kommen, in der Sie diese Option aktivieren müssen, sei Ihnen
<emphasis>dringend empfohlen</emphasis>, stattdessen alle
<function>oci_close</function>-Aufrufe aus Ihrer Anwendung zu entfernen.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.persistent-timeout">
<term>
<parameter>oci8.persistent_timeout</parameter>
<type>int</type>
</term>
<listitem>
<para>
Die maximale Dauer (in Sekunden), über die der angegebene Prozess eine
ungenutzte persistente Verbindung aufrechterhalten darf. Ist diese
Option auf -1 gesetzt, werden ungenutzte persistente Verbindungen
aufrecht erhalten, bis der PHP-Prozess endet oder die Verbindung mittels
<function>oci_close</function> ausdrücklich geschlossen wird.
</para>
<note>
<simpara>
In PHP ist das Ablaufen ungenutzter Ressourcen nicht alarmgesteuert. Es
erfolgt, wenn PHP die Verarbeitung eines Skripts beendet und den
Zeitstempel der zuletzt verwendeten Ressourcen überprüft. Dies führt zu
dem Paradoxon, dass ungenutzte Verbindungen nur geschlossen werden
können, wenn es im PHP-Prozess irgendeine Aktivität gibt (wenn auch
nicht unbedingt OCI8-bezogen). Wenn es mehr als einen PHP-Prozess gibt,
muss jeder Prozess einzeln aktiviert werden, um den Ablauf der seiner
ungenutzten Ressourcen auszulösen. Die Einführung von Database Resident
Connection Pooling (DRCP) in Oracle 11<emphasis>g</emphasis> behebt die
Speicher- und Ressourcenprobleme, die
<literal>oci8.max_persistent</literal> und
<literal>oci8.persistent_timeout</literal> zuvor versuchten, zu
beheben.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.ping-interval">
<term>
<parameter>oci8.ping_interval</parameter>
<type>int</type>
</term>
<listitem>
<para>
Die Dauer (in Sekunden), die vergehen muss, bevor ein Ping während eines
<function>oci_pconnect</function> abgeschickt wird. Ein Ping stellt
sicher, dass die Datenbankverbindung gültig ist. Wenn dies auf 0 gesetzt
ist, werden persistente Verbindungen bei jeder Verwendung von
<function>oci_pconnect</function> gepingt. Um Pings völlig zu
deaktivieren, muss die Option auf -1 gesetzt werden.
</para>
<note>
<simpara>
Das Deaktivieren von Pings lässt <function>oci_pconnect</function> mit
höchster Effizienz arbeiten, kann aber dazu führen, dass PHP
unbrauchbare Verbindungen nicht bemerkt, die &zb; entstehen können,
wenn das Netzwerk unterbrochen wird oder der Oracle-Server bei
bestehender Verbindung heruntergefahren wird. Konsultieren Sie die
Dokumentation zu <function>oci_pconnect</function>, um weitere
Informationen zu erhalten.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.prefetch-lob-size">
<term>
<parameter>oci8.prefetch_lob_size</parameter>
<type>int</type>
</term>
<listitem>
<para>
Dies ist ein Optimierungsparameter, der die interne Pufferung von
LOB-Daten betrifft. Wenn dieser Wert erhöht wird, kann dies die Leistung
beim Abrufen von kleineren LOBs verbessern, indem die Anzahl der Umläufe
(Roundtrips) zwischen PHP und der Datenbank reduziert wird. Die
Speichernutzung wird sich ändern.
</para>
<para>
Der Wert betrifft LOBs, die als Instanzen von OCILob zurückgegeben
werden und auch solche die unter Verwendung von
<constant>OCI_RETURN_LOBS</constant> zurückgegeben werden.
</para>
<para>
Der Wert kann bei jeder Anweisung mittels
<function>oci_set_prefetch_lob</function> vor der Ausführung der
Anweisung festgelegt werden.
</para>
<note>
<simpara>
Zu verwenden mit Oracle Database 12.2 oder höher.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.privileged-connect">
<term>
<parameter>oci8.privileged_connect</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Diese Option aktiviert privilegierte Verbindungen unter Verwendung
externer Berechtigungen (<constant>OCI_SYSOPER</constant> oder
<constant>OCI_SYSDBA</constant>).
</para>
<note>
<simpara>
Wenn diese Option auf <literal>On</literal> gesetzt ist, können
Webserver-Skripte, die über die entsprechenden Systembenutzerrechte
verfügen, eine Verbindung zur Datenbank mit diesen Rechten herstellen,
ohne ein Passwort für die Datenbank angeben zu müssen. Dies kann ein
Sicherheitsrisiko darstellen.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.statement-cache-size">
<term>
<parameter>oci8.statement_cache_size</parameter>
<type>int</type>
</term>
<listitem>
<para>
Diese Option aktiviert den Anweisungs-Cache und definiert, wie viele
Anweisungen gecacht werden. Um das Caching zu deaktivieren, muss die
Option auf 0 gesetzt werden.
</para>
<para>
Durch das Anweisungs-Caching entfällt die Notwendigkeit, den
Anweisungstext an die Datenbank zu übermitteln, und es müssen auch keine
Metadaten über die Anweisung zurück an PHP übertragen werden. Dies kann
die Gesamtleistung des Systems in Anwendungen, die Anweisungen während
der Lebensdauer einer Verbindung wiederverwenden, deutlich verbessern.
Einige zusätzliche Datenbank-"Cursor" werden möglicherweise
unter der Annahme offen gehalten, dass Anweisungen wiederverwendet
werden.
</para>
<para>
Setzen Sie diesen Wert auf die Größe der aktuellen Menge an Anweisungen,
die von Ihrer Anwendung verwendet wird. Die Einstellung eines zu kleinen
Wertes kann dazu führen, dass Anweisungen aus dem Cache entfernt werden,
bevor sie wiederverwendet werden.
</para>
<para>
Diese Option ist vor allem bei persistenten Verbindungen von Nutzen.
</para>
<para>
Wenn Sie Oracle Database 12<emphasis>c</emphasis> (oder höher)
verwenden, kann dieser Wert von Oracles Client-Datei
<literal>oraaccess.xml</literal> überschrieben und automatisch
eingestellt werden. Siehe die Oracle-Dokumentation für weitere Details.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->