DATABASE в Oracle SQL — как обращаться к текущей базе данных и использовать её контекст

🟢 DATABASE в Oracle SQL. Введение

Хотя в Oracle SQL нет отдельного оператора DATABASE (как, например, в MySQL), ключевое слово DATABASE всё же встречается в составе нескольких системных представлений и инструкций, связанных с контекстом текущей базы данных.

Оно используется для:

  • Получения имени базы данных

  • Определения путей и настроек

  • Работы с ссылками между базами (через @db_link)

Также DATABASE важно при администрировании, резервном копировании, создании DB_LINK и в пакетах вроде DBMS_DB_VERSION.


🔤 Написание

DATABASE используется в следующих конструкциях:

sql

SELECT * FROM global_name;

SELECT name FROM v$database;

CREATE DATABASE …;

И также встречается в PL/SQL и SQL*Plus:

sql
SHOW DATABASE;

🔄 Где используется

  • Получение имени или идентификатора текущей базы

  • Создание базы данных вручную (в CREATE DATABASE)

  • Указание имени удалённой базы в DB_LINK

  • Работа с мультибазовыми архитектурами

  • Отладка и аудит системных операций


🧪 10 Примеров использования DATABASE

1️⃣ Получить имя текущей базы

sql
SELECT name FROM v$database;

2️⃣ Вывести глобальное имя базы (имя@домейн)

sql
SELECT * FROM global_name;

Важно при работе с dblink’ами.


3️⃣ Проверка имени в SQL*Plus

sql
SHOW DATABASE;

4️⃣ Создание базы данных вручную (пример для DBA)

sql
CREATE DATABASE orcl
USER SYS IDENTIFIED BY password
USER SYSTEM IDENTIFIED BY password
LOGFILE GROUP 1 ('log1a.rdo', 'log1b.rdo') SIZE 100M,
...
DATAFILE 'system01.dbf' SIZE 500M;

5️⃣ Получение идентификатора базы

sql
SELECT dbid FROM v$database;

Уникальный ID — полезен при резервном копировании и RMAN.


6️⃣ Работа с ссылкой на удалённую базу

sql
SELECT * FROM employees@hrdb;

hrdb — алиас другой базы, указанной при создании DB_LINK.


7️⃣ Информация о связях между базами

sql
SELECT * FROM dba_db_links;

8️⃣ Версия базы данных

sql
SELECT * FROM v$version WHERE banner LIKE 'Oracle Database%';

9️⃣ Текущая база данных в мультибазовой конфигурации (CDB/PDB)

sql
SELECT name, open_mode FROM v$pdbs;

🔟 PL/SQL-проверка версии базы

plsql
BEGIN
DBMS_OUTPUT.PUT_LINE(DBMS_DB_VERSION.VERSION || '.' || DBMS_DB_VERSION.RELEASE);
END;

🧩 Заключение

Хотя DATABASE в Oracle SQL — не самостоятельный оператор, он фигурирует в критически важных системных конструкциях, особенно при:

  • Интеграции между базами

  • Администрировании и мониторинге

  • Использовании DB_LINK и CDB/PDB архитектуры

💡 Запомни:

  • Используй v$database для получения имени и DBID

  • global_name помогает при работе с ссылками на удалённые базы

  • CREATE DATABASE используется редко вручную, но важно понимать его синтаксис


🔜 Следующая статья:

CYCLE в Oracle SQL — как находить циклы в иерархических запросах


Понравилась статья? Поделиться с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии