Советы по Delphi. Версия 1.4.3 от 1.1.2001
Шрифт:
Вы, возможно, обратили внимание на новые опции в меню Object|Options, эти опции позволяют вам выбирать для просмотра различные режимы конфигурации. Желательно в панели View в группе Select Configuration Modes включить (отметить галочками) все выключатели. При всех включенных checkbox-ах вы получите в свое распоряжение расширенный список всех драйверов и псевдонимов, доступных вам для использования. Если галочка напротив ‘virtual’ отсутствует, вы не сможете увидеть драйверы, добавленные через менеджер MS ODBC, а увидете драйверы, установленный только с помощью BDE (в соответствии с методом 2).
Oracle
Связь Oracle
Delphi 2
Оптимизация связи Oracle с Windows 95
Предварительные условия:
• Windows 95
• Установленное клиентское программное обеспечение для доступа к Oracle & программа для соединения с Oracle Server через TCP/IP.
• (Опционально) Программное обеспечение Delphi 2.0 C/S для тестирования результатов.
Цель документа:
помочь увеличить скорость соединения Oracle под Windows 95. Под WinNT такая проблема не стоит, следовательно, данный документ рассматривает только работу с Windows 95. Ниже вы видите разницу в скорости выполнения запроса, выполненного до модификации, и после:
До : Win95 = 10-15 секунд. WinNT = 2-3 секунд.
После : Win95 = 3-4 секунд. (Большое улучшение)
Проблема: Windows 95 в сущности ищет адреса IPC в нескольких сетевых узлах ДО получения соединения с Oracle DNS, WinNT же поступает по другому.
Решение: Измените файл Oracle SQLNET.ORA для выключения вышеуказанной характеристики Windows 95.
Решение шаг-за-шагом:
1. Откройте в Notepad или Write файл SQLNET.ORA. (Данный файл расположен в каталоге <ORA_HOME>\network\admin. Проигнорируйте любые другие разновидности этого файла)
Данный файл должен выглядеть примерно следующим образом:
Добавьте следующий параметр в файл SQLNET.ORA:
После изменений файл должен выглядеть примерно так:
Сохраните измененный файл SQLNET.ORA и ура! В дальнейшем при инициализации соединения с Oracle время соединения вместо 15
секунд составит всего лишь 3 секунды. Скорость работы Delphi существенно увеличится.Возникла необходимость в обработке исключительных ситуаций в PL/SQL процедуре (Oracle7 WG Server Release 7.3.2.2.0). Почему у меня не получается?
Nomadic отвечает:
Объявить выборку SELECT * FROM CUSTOM.CAMAIN20TEMP WHERE CC_07_01=curCC_07_01 AND CC_07_02=curCC_07_02 AND CC_07_03=curCC_07_03 курсором, а потом примерно так:
Поясните, чем в Oracle являются понятия Instance, Database etc.?
Nomadic отвечает:
Перевод документации:
Что такое ORACLE Database?
Это данные которые будут обрабатываться как единое целое. Database состоит из файлов операционной системы. Физически существуют database files и redo log files. Логически database files содержат словари, таблицы пользователей и redo log файлы. Дополнительно database требует одну или более копий control file.
Что такое ORACLE Instance?
ORACLE Instance обеспечивает программные механизмы доступа и управления database. Instance может быть запущен независимо от любой database (без монтирования или открытия любой database). Один instance может открыть только одну database. В то время как одна database может быть открыта несколькими Instance.
Instance состоит из:
SGA (System Global Area), которая обеспечивает коммуникацию между процессами;
до пяти (в последних версиях больше) бэкграундовых процессов.
От себя добавлю – database включает в себя tablespace, tablespace включает в себя segments (в одном файле данных может быть один или несколько сегментов, сегменты не могут быть разделены на несколько файлов). segments включают в себя extents.
Как заставить Oracle анализировать все таблицы базы данных?
Nomadic отвечает:
Конечно, можно использовать DBMS_SQL, DBMS_JOB…
А можно и так: