Узнаем какая сессия блокирует пакет Oracle

Чтобы узнать какая сессия блокирует пакет:

SELECT s.*,
       l.lock_type,
       l.mode_held,
       l.mode_requested,
       l.lock_id1,
       'alter system kill session '''|| s.sid|| ','|| s.serial#|| ''' immediate;' kill_sid
FROM   dba_lock_internal l,
       v$session s
WHERE  s.sid = l.session_id
AND    UPPER(l.lock_id1) LIKE '%ПАКЕТ%'
AND    l.lock_type = 'Body Definition Lock'
Подробнее

Oracle - добавляем размер табличного пространства

Ещё это метод излечения ошибки типа: 

ORA-01654: unable to extend.

Узнаем размеры табличного пространства и свободное место:

select file_name,tablespace_name,user_bytes/1024/1024,bytes/1024/1024,
    maxbytes/1024/1024,autoextensible from dba_data_files;

Добавляем еще места:

ALTER TABLESPACE USERS_INDX -- Это TABLESPACE_NAME
ADD DATAFILE 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS_IDX01.DBF' 
SIZE 100M
AUTOEXTEND ON NEXT 100M
MAXSIZE 4G;
Подробнее

Исправляем ошибку ORA-00604: error occured at recursive SQL level 1ORA-12705 в Oracle SQL Developer

Ошибка при установке соединения с сервером из Oracle SQL Developer:

ORA-00604: error occured at recursive SQL level 1ORA-12705: Cannot access NLS data files or invalid enviroment specified


Для исправления делаем следующие действия:

    Открываем <папку_со_средой>\ide\bin\ide.conf
    Дописываем туда две строчки:

    AddVMOption -Duser.language=en
    AddVMOption -Duser.region=us

И всё!

Подробнее

Проверка адреса электронной почты на корректность средствами PL/SQL

Простейшая проверка адреса электронной почты выглядит так:

select * from EMailsTable et where REGEXP_LIKE (et.Email, '[A-z0-9._%-]+@[A-z0-9._%-]+\.[A-z]{2,4}')


Скрипт выбирает из таблицы с E-Mail адресами только те адреса которых попадают под заданное регулярное выражение.

Подробнее

Пример создания временных таблиц на PL/SQL как в MSSQL

Для того, кто перешёл с MSSQL на Oracle, как например для меня, очень не привычно отсутствие такой удобной конструкции как:

select * into #tmp from table1

Где #tmp - временная таблица, с которой мы в рамках сессии можем далее обращаться как с обычной. 

Однако в Oracle такая конструкция не работает. Мои попытки сходу найти какой либо аналог, успехом не увенчались. Однако свершилось чудо, и спустя некоторое время более опытный в этом вопросе коллега подсказал таки выход, который по сути реализует аналогичную вещь как и в MSSQL.

Подробнее

Способ задать дату в MSSQL чтобы не зависеть от региональных настроек сервера.

Собственно привожу здесь пример того как можно сделать так, чтобы скрипт в MSSQL использующий дату отрабатывал правильно при любых региональных настройках и формате даты, я лично - это реализовал вот таким образом:

В скрипте пишем дату вот так:

convert(datetime,'"+data+"',120)

Где data это строка вот такого вида:

ГГГГ.ММ.ДД чч:мм:сс

- Именно на такой формат даты указывает число 120. Поэтому сервер уже не перепутает месяц с днём и т.п.

Для быстрого и безошибочного задания текущей даты можно использовать функцию:

{ fn NOW() }

Вот и всё.

Подробнее

PL/SQL SELECT и использование DISTINCT

Ни для кого не секрет что при использовании DISTINCT вместе с SELECT мы получаем набор уникальных записей, но оказывается в Oracle, есть ещё один оператор для этих целей UNIQUE - причем из проведенных опытов, похоже дает большую производительность.

Подробнее

Стандартные утилиты в MySQL

Стандартные утилиты в MySQL находятся в подкаталоге bin корневого каталога MySQL.

Список наиболее часто используемых утилит:

myisampack - Сжимает таблицы типа MyISAM, уменьшает их в размере и делает доступными только для чтения;

mysql - консольный клиент для доступа к MySQL серверу, позволяет выполнять SQL запросы и осуществлять администрирование сервера;

Подробнее

Поиск и регулярные выражения в MySQL

СУБД MySQL имеет различные инструменты для осуществления поиска, среди которых оператор LIKE, осуществляющий простейшие операции поиска, оператор RLIKE, предоставляющий возможности поиска по регулярным выражениям.


Оператор LIKE

Оператор LIKE предназначен для сравнения строк с использованием простейших регулярных выражений. Оператор часто используется в конструкции WHERE и возвращает 1 или 0.


Сравнение строк не зависит от регистра, если не используется ключевое слово BINARY, означающее что строку следует рассматривать как двоичную последовательность.

Подробнее