Работа с табличным пространством (tablespace)
Подключение к БД
set nls_lang=americansqlplussys/manager as sysdbaconn sys/manager as sysdba;
Если удаленный сервер =>sys/Jupiter!23@JUPITER as sysdbaconn SYS/Jupiter!23@JUPITER AS SYSDBA;
Для РЕЗЕРВНОГО сервера =>sys/Jupiter!23@RESERV as sysdbaconn SYS/Jupiter!23@RESERV AS SYSDBA;
Чтобы sqlplus показывал в удобном виде внутри sqlplus выполнить:
set linesize 200set pagesize 5000COLUMN FILE_NAME FORMAT A100set colsep '|'
Получить размер табличных пространств:
select de.tablespace_name, round(df.bytes/1024/1024,2) "total (mbytes)", round(de.bytes/1024/1024,2) "used (mbytes)"from (select tablespace_name, sum(bytes) bytes from dba_extents group by tablespace_name ) de, (select tablespace_name, sum(bytes) bytes from dba_data_files group by tablespace_name) dfwhere df.tablespace_name=de.tablespace_nameorder by de.tablespace_name;
или
select a.TABLESPACE_NAME tablespace_name, b.BYTES total_bytes, a.BYTES free_bytes, round(a.BYTES*100/b.BYTES,2) percent_free, round((b.BYTES-a.BYTES)*100/b.BYTES,2) percent_usedfrom (select TABLESPACE_NAME, sum(BYTES) BYTES from dba_free_space group by TABLESPACE_NAME) a, (select TABLESPACE_NAME, sum(BYTES) BYTES from dba_data_files group by TABLESPACE_NAME) bwhere a.TABLESPACE_NAME=b.TABLESPACE_NAMEorder by a.TABLESPACE_NAME;
Получить пути мест расположения файлов табличных пространств:
Для того, чтоб добавить пространство по тому же пути, где уже лежат файлы. Вводим команды проверки файлов базы данных. В результате увидим путь, где лежат ранее созданные файлы и их размер на диске.
проверка (на примере БД DOSTAVKA):
SELECT tablespace_name, file_name, status, bytesFROM dba_data_filesWHERE tablespace_name LIKE 'DOSTAVKA%'ORDER BY tablespace_name, file_name;
или
проверка в МБ (на примере БД MAINBASE):
SELECT tablespace_name, file_name, status, bytes/1024/1024 “File_Size (MB)”FROM dba_data_filesWHERE tablespace_name LIKE 'MAINBASE%'ORDER BY tablespace_name, file_name;
Добавить новый файл к табличному пространству:
ВНИМАНИЕ: в качестве примера указана БД DOSTAVKA
Добавляет новый файл для Tablespace DOSTAVKA дополнительный файл размером 500М:
ALTER TABLESPACE DOSTAVKA ADD DATAFILE 'd:\app\product\11.2.0\dbhome_1\database\DOSTAVKA_DOP4.ORA'SIZE 500M REUSE AUTOEXTEND ON NEXT 500M;
Пример для Пиццы №1:
Для удаленного сервера сначала делаем команду проверки и потом уже создаем файл (при проверке мы увидим сколько файлов базы данных уже создано и где они лежат (Путь)
-
Получить пути мест расположения файлов табличных пространств:
SELECT tablespace_name, file_name, status, bytes/1024/1024 “File_Size (MB)”FROM dba_data_filesWHERE tablespace_name LIKE 'PIZZAN1%'ORDER BY tablespace_name, file_name;
-
Добавить новый файл к табличному пространству:
ALTER TABLESPACE PIZZAN1 ADD DATAFILE '/u01/app/oracle/product/12.2.0.1/dbhome_1/dbs/PIZZAN1_dop1.ora'SIZE 500M REUSE AUTOEXTEND ON NEXT 500M;
Если создали файл по ошибке, не в том табличном пространстве:
Например: создали файл с именем FRANCHISE_IDX_DOP5 в табличном пространстве DOSTAVKA.
Если файл не используется, то его можно попробовать удалить командой:ALTER TABLESPACE DOSTAVKA DROP DATAFILE ‘d:\app\product\11.2.0\dbhome_1\database\FRANCHISE_IDX_DOP5.ORA’;
Если команда выполнится успешно (Tablespace altered), но файл останется на месте, то такой файл можно будет удалить вручную после перезагрузки службы OracleSERVICE
Автоматическая проверка размера дата файла БД
Для автоматической проверки, что заканчивается место в дата файлах можно воспользоваться Инструкцией
Перенос файлов базы на другой диск. Переименование файлов базы.
Заходим в базу с правами sysdba.
set nls_lang=americansqlplussys/manager as sysdba
Отключаем нужные схемы.
alter tablespace DOMINO_ALCO offline;alter tablespace DOMINO_ALCO_IDX offline;
Копируем файлы в системе по новому пути, переименовываем если нужно.
Указываем новые пути и названия для каждого файла базы данных.
alter tablespace DOMINO_ALCO rename datafile 'c:\app\JUP\oradata\JUPITER\DOMINO_ALCO.ORA' to 'd:\oracle\database\DOMINO_ALCO.ORA';
alter tablespace DOMINO_ALCO rename datafile 'c:\app\JUP\oradata\JUPITER\DOMINO_ALCO_DOP1.ORA' to 'd:\oracle\database\DOMINO_ALCO_DOP1.ORA';
alter tablespace DOMINO_ALCO_IDX rename datafile 'c:\app\JUP\oradata\JUPITER\DOMINO_ALCO_IDX.ORA' to 'd:\oracle\database\DOMINO_ALCO_IDX.ORA';
Запускаем нужные схемы.
alter tablespace DOMINO_ALCO online;alter tablespace DOMINO_ALCO_IDX online;
Чтоб удалить старые файлы, нужно выключить службы оракла.
Система JUPITER www.jupiter.systems (с) 2024г.
Нет комментариев