В ORACLE есть специальный файл с описанием всех соединений
Расположение файла
C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN\
Путь необходимо скорректировать с учетом вашего каталога установки.
Пример записи из TNSNAMES:
Здесь
• TEST1 — наименование TNS-соединения;
• HOST1 — хост, где установлен удаленный ORACLE СУБД;
• PORT — порт на для соединения с другой ORACLE СУБД;
• SN1 — имя сервиса на удаленной машине.
На удаленной, другой базе данных есть таблица с полем CLOB.
При попытке обращения к данной таблице TABLE_CLOB таблице через DB_LINK (конечно, я для этого создал DB_LINK на удаленную базу) при выполнении запроса
ORA-22992: невозможно использовать указатели LOB, выбранные из удаленных таблиц.
ORA-22992: CANNOT USE LOB LOCATORS SELECTED FROM REMOTE TABLE.
Как решить эту проблему?
Можно воспользоваться специальной временной таблицей.
Данные находятся в нашей временной таблице, в чем легко убедиться, выполнив запрос перед выполнением COMMIT.
Контрольные вопросы и задания для самостоятельного выполнения
1. Повторите материалы данного шага.
2. Поясните назначение механизма DATABASE LINK в ORACLE.
3. Поясните способы создания DATABASE LINK.
4. Объясните возможные проблемы при использовании этого механизма.
5. Напишите запрос с таблице CITY на другой, удаленной базе данных.
6. Напишите запрос, который добавляет запись к таблице CITY на удаленной базе данных.
Шаг 78. Индексы сложные, индексы по функции
Мы уже проходили индексы в начале книги. Тогда мы рассматривали простые индексы, их назначение и использование при проектировании базы данных. На самом деле индексы в базе данных ORACLE имеют гораздо большую применимость.
Настало время раскрыть тему индексов базы данных подробнее.
Использование индексов в базе данных ORACLE. Повторим, что мы уже знаем об индексах.
• Индексы предназначены для быстрого доступа к строкам таблиц, для быстрого нахождения ассоциированных строк таблицы.
• Индексы позволяют находить строку с определенным значением столбца, просматривая при этом лишь небольшую часть общего объема строк таблицы.
• Правильное использование индексов сокращает до минимума количество обращений к данным базы данных, существенно ускоряет выборку.
• Индексы в базе данных ORACLE бывают нескольких типов: простые, реверсивные, битмап-индексы, индексы по функции.
Создание простого индекса
Простые индексы используются достаточно часто и имеют реализацию на основе B-деревьев, где используется концепция сбалансированного дерева.
Пример
Реверсивный индекс
Индексы с реверсивным ключом — это, по сути, то же самое, что и простые индексы, за исключением того, что при индексации данных порядок просмотра меняется на противоположный.
Синтаксис такой же, как при создании обычных индексов, но добавляется спецкоманда REVERSE.
Используются эффективно в случаях, где выборка осуществляется чаще в обратном порядке.
Например:
• выбираем курсы валют за последние несколько дней, используем реверсивный индекс по дате;
• выбираем чаще слова из словаря с буквы Я, используем реверсивный индекс по словам;
• выбираем чаще данные с большим идентификатором, используем реверсивный индекс по идентификатору.
Битмап-индекс
Битовые индексы используют битовые карты для указания значения индексированного столбца.
Синтаксис
Эффективно работают, когда в колонке, на которую устанавливается индекс, присутствует небольшое количество, заранее определенный перечень значений. Например, перечень цветов автомобиля, перечень месяцев года, перечень названий валют.
Индекс по функции
Индексы на основе функций предварительно вычисляют значения функций по заданному столбцу и сохраняют результат в индексе.
Синтаксис
Индекс по первой букве марки авто.
Индекс по функции представляет собой как бы невидимую колонку со значениями заданной функции, по которой осуществляется поиск.
Следует учитывать: индексы занимают достаточно большой объем на дисковом пространстве.
Битмап-индексы следует применять только когда в колонке есть небольшой перечень значений; при большом количестве значений битовая матрица теряет свою эффективность при поиске данных и занимает значительный объем дискового пространства.
Читать дальше
Конец ознакомительного отрывка
Купить книгу