Существуют следующие способы сбросить маркер максимального уровня заполнения и освободить при этом неиспользуемое табличное пространство:
Переместить таблицу в другое табличное простанство с момощью команды ALTER TABLE owner.table MOVE TABLESPACE tablespace. Учитывайте при этом, что объекты ссылающиеся на эту таблицу перейдут в статус инвалидных. Нобходимо так же пересоздать индексы.
Выполнить команду ALTER TABLE owner.table SHRINK SPACE. Предварительно надо перевести таблицу в режим row movement с помощью команды ALTER TABLE owner.table ENABLE ROW MOVEMENT. Объекты ссылающиеся на таблицу не переходят в статус инвалидных.
Сеанс уничтожается с помощью команды ALTER SYSTEM KILL SESSION 'sid,serial#'. Значения sid и serial# можно получить из запроса к представлению v$session.
С помощью команды CREATE USER. В качестве достоинства можно выделить возможность задания установок пользователя в одной команде.
С помощью команды GRANT. В этом случае одной командой создается пользователь и сразу же выдается необходимая привилегия. Недостатком этого способа является то, что пользователь имеет установки по умолчанию. Исправлять их придётся с помощью команды ALTER USER.
Примеры:
SQL> CREATE USER test IDENTIFIED BY gk28fgn9
или
SQL> GRANT create session TO test IDENTIFIED BY gk28fgn9
Данная опция команды ALTER DATABASE, при открытии базы данных, сбрасывает текущий порядковый номер журнала в единицу, архивирует незаархивированные журналы (включая текущий), отменяет всю журнальную информацию, которая не была применена во время восстановления, гарантируя при этом, что она больше никогда не будет применяться.
Эта опция применяется в следующих случаях:
После выполнения неполного восстановления или восстановления с использованием резервной копии контрольного файла.
После выполнения предыдущей команды OPEN RESETLOGS, незавершенной полностью.
После выполнения операции FLASHBACK DATABASE
Если созданный контрольный файл смонтирован, а оперативные журнальные файлы утеряны
Двоичный файл параметров севера можно создать с помощью команды create spfile. Команду можно выполнять как при запущенном, так и при остановленном экземпляре. Но надо учитывать что при запущенном экземпляре файл не создаётся если путь к нему совпадает с используемым двоичным файл параметров севера.
Если принудительно не задавать путь к файлам, то используются пути по умолчанию:
$ORACLE_HOME/dbs для UNIX и Linux. %ORACLE_HOME%\database для Windows.
Пример:
SQL> create spfile='spfileorcl.ora' from pfile='ora_init.ora';
Если параметр timed_statistics выключен, то необходимо включить его:
SQL> ALTER SESSION SET timed_statistics=true;
Если требуется ограничить размер трассировочного файла, то нужно изменить параметр max_dump_file_size. Следующая команда ограничивает размер файла трассировки на уровне 200 Мб.:
SQL> ALTER SESSION SET max_dump_file_size='200M';
Включение трассировки сеанса на первом уровне:
SQL> ALTER SESSION SET sql_trace=true;
Включение трассировки сеанса на уровне 12 (переменные и события ожиданий) или других уровнях выполняется следующим образом:
SQL> ALTER SESSION SET EVENTS '10046 trace name context forever, level 12';
Уровни трассировки:
Уровень трассировки
Функция
1
Базовая информация
4
Дополнительно к первому уровню выводятся значения переменных
8
Дополнительно к первому уровню выводятся события ожиданий
12
Выводить данные уровней 1, 4 и 8
Выключение трассировки:
SQL> ALTER SESSION SET EVENTS '10046 trace name context off';
или
SQL> ALTER SESSION SET sql_trace=false;
P.S. Для выполнения трассировки сеанс должен иметь привилегию alter session.
Файл временного табличного пространства можно удалить следующим образом:
SQL> ALTER DATABASE TEMPFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\Temp02.dbf' DROP;
База данных изменена
При этом, сам файл в операционной системе не удаляется. Его можно позже удалить вручную.
Для того чтобы сразу удалить файл из операционной системы одной командой необходимо выполнить:
SQL> ALTER DATABASE TEMPFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\Temp02.dbf' DROP INCLUDING DATAFILES;
База данных изменена
или
SQL> ALTER TABLESPACE temp DROP TEMPFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\Temp02.dbf';
Табличное пространство изменено
Файл временного табличного пространства не может быть удалён если он является единственным во временном табличном пространстве.
Если файл временного табличного пространства используется на момент удаления, то происходит его удаление из табличного пространства, но не из операционной системы.
Поле показывает общее время всех выполнений данного задания в секундах. Значение имеет накопительный характер и в него, вместе с временем непосредственного выполнения, входит так же время ожиданий задания (очереди блокировок, искуственные задержки, системные ожидания).
Вычислить разницу между двумя датами в соседних строках одного столбца можно с помощью аналитических функций LAG или LEAD. Первая возвращает значение из предыдущей строки столбца. Вторая из последующей строки столбца. К примеру, следующий запрос выводит время первой записи в предыдущем журнальном файле:
SELECT first_time, LAG(first_time, 1) OVER (ORDER BY first_time) prev_time
FROM v$log_history
Теперь можно просто вычесть полученные даты друг из друга. Для удобства отображения разницы дат можно применить функцию EXTRACT. Например, следующий запрос возвращает разницу в минутах межу двумя первыми записями соседних журнальных файлов:
SELECT first_time, prev_time,
EXTRACT(MINUTE FROM (first_time - prev_time) DAY TO SECOND) delta
FROM
(
SELECT first_time, LAG(first_time, 1) OVER (ORDER BY first_time) prev_time
FROM v$log_history
)
Увидеть список скрытых параметров можно с помощью следующего запроса:
SELECT ksppinm, ksppstvl, ksppdesc
FROM x$ksppi x, x$ksppcv y
WHERE x.indx = y.indx and ksppinm LIKE '__%' ESCAPE '_'
Для просмотра требуются права sys. Таблица x$ksppi содержит имена
параметров, таблица x$ksppcv их значения для текущего сеанса.
Если требуется получить значения скрытых параметров экземпляра то надо
заменить таблицу x$ksppcv таблицей x$ksppsv.
вопрос в том чтобы бэкапы делались не на тот же сервер где база, а в другое место в сети пытался прописать sql>alter system set log_archive_dest='C:\temp\'; но получал ошибку подвопрос: что будет если сеть пропадет на некоторое время?
log_archive_dest это параметр куда пишутся файлы архивных журналов. К бэкапам это отношение не имеет.
Буквально на днях выложу на alldba.ru статью Дублирование базы данных с помощью RMAN. Там есть как сделать бэкап RMAN используя NFS.