How to Remove and Drop Datafiles from Tablespace in Oracle Database Як вилучити та Drop Datafiles від табличного в СУБД Oracle
Oracle RDBMS databases stores data logically in the form of tablespaces and physically in the form of data files. СУБД Oracle баз даних зберігаються дані логічним у вигляді табличних і фізично у вигляді файлів даних. The datafiles are added to the tablespaces as database space requirement grows bigger. Файли даних будуть додані в базу даних як табличні простору вимоги зростає більше. However, there are several reasons you may want to remove or delete data files from a tablespace. Однак, є кілька причин, ви можете видалити або видалити файли даних з таблиць. Such as accidentally add a wrongly sized or unwanted datafile to a tablespace, or the data space usage has became smaller and some data files want to be removed, or attempt to recover Oracle database which fails to start due to missing or corrupted datafiles by removing them, Oracle does not provide an easy way or user interface to delete or drop datafiles from a tablespace. Такі, як випадкове додати помилково розмір файлу даних або небажаної для табличного простору або використання даного простору ставало все менше, а деякі файли даних хочете бути видалені, або спробувати відновити базу даних Oracle, який не запущена через відсутні або пошкоджені файли даних, видаливши їх , Oracle не забезпечує простого способу або користувальницький інтерфейс для видалення або видаляти файли даних з таблиць. Once a datafile is made part of a tablespace, it can no longer be detached or removed from the tablespace, albeit there are several workarounds. Після того як файл даних проводиться частини табличному просторі, вона більше не може бути відокремлена або видалені з табличного простору, хоча є кілька обхідних шляхів.
How to Completely Drop the Whole Tablespace with All Datafiles Як повністю Drop повний табличний всі файли даних
The easiest way to drop a or multiple datafiles is by dropping the entire tablespace together with its datafiles. Найпростіший спосіб припинення або декілька файлів даних є видалення всього табличного разом з файлами даних. If you no longer need the data contents of the tablespace, the following command will drop the tablespace, the datafile, and the tablespace's contents from the data dictionary. Якщо вам більше не потрібно змісту даних табличного, наступна команда буде відмовитися від табличного, файл даних, і зміст табличного зі словника даних. All of the objects that where contained in that tablespace are permanently removed. Усі об'єкти, де, що містяться в цьому табличному будуть видалені.
DROP TABLESPACE <tablespace name> INCLUDING CONTENTS AND DATAFILES; DROP TABLESPACE <tablespace name> включаючи вміст і файлів даних ОФС;
If you don't specify “AND DATAFILES”, Oracle will not drop the physical datafile after the DROP TABLESPACE command, but you can always delete the files from operating system shell (If the data files are locked, restart the server). Якщо ви не вкажете "І DataFiles", Oracle не впаде фізичний файл даних після команди DROP TABLESPACE, але ви завжди можете видалити файли з оболонки операційної системи (якщо заблоковані файли даних, перезавантаження сервера).
But always perform a backup of the database, as the “DROP TABLESPACE” command is irreversible. Але завжди виконувати резервне копіювання бази даних, а команда "DROP TABLESPACE" є незворотним. It's also a good practice to check and identify how many datafiles a tablespace actually has before performing the drop action in order to avoid mistake. Крім того, це гарна практика для перевірки і визначити, скільки файлів даних табличного на самом деле, перш ніж виконувати дії в краплі, щоб уникнути помилки.
How to Check How Many Datafiles a Tablespace Has Як перевірити, скільки Datafiles табличне простір має
To determine and identify all datafiles that link to a tablespace, use the following query, with tablespace name in capital letter: Для визначення і виявлення всіх файлів даних, що посилання в табличному, використовуйте такий запит, з табличним ім'я в столиці листа:
SELECT file_name, tablespace_name SELECT file_name, TABLESPACE_NAME
FROM dba_data_files З dba_data_files
WHERE tablespace_name ='<tablespace name>'; ДЕ TABLESPACE_NAME = '<tablespace name>';
If a tablespace contains multiple datafiles, and you just want to drop one or some of the datafiles and keep the remaining datafiles together with the objects and contents, the objects or data must be exported for the affected table space. Якщо табличне містить кілька файлів даних, і ви просто хочете відмовитися від одного або декількох файлів даних і зберегти залишилися файли даних разом з об'єктами, і зміст, об'єкти або дані повинні бути експортовані для постраждалих табличному просторі. Once exported, the tablespace can be dropped with above “DROP TABLESPACE” command. Після експорту, таблична може бути видалений з вище "команду DROP TABLESPACE". Then, recreate the tablespace with the datafile(s) required (that you initially want to keep), and then import the objects into the recreated tablespace. Потім, заново табличний файл даних (S) потрібно (який Ви хочете зберегти), а потім імпортувати об'єкти в відтворені табличному просторі.
If one or more datafiles is missing after a recovery process or accidental deletion, you can use ALTER DATABASE DATAFILE <datafile name> OFFLINE DROP command to make the datafile offline so that database can starts up after which the troubled tablespace can be dropped. Якщо один або декілька файлів даних відсутній після процесу відновлення або випадкового видалення, ви можете використовувати ALTER DATABASE DATAFILE <datafile name> OFFLINE DROP команду, щоб файл даних автономно, щоб база даних може запускається після чого неспокійних табличного може бути вилучений. (See (Див. instruction to recover from missing datafiles Інструкція відновити пропущені файли даних .) .)
How to Resize a Datafile to Minimum Size Як змінювати розміри файлу даних в мінімальному розмірі
Another alternative to drop the datafile is by shrinking the size of datafile instead of dropping. Ще однією альтернативою падіння файл даних шляхом скорочення розміру файлу даних, а не знижується. This option is only possible if there is no extents in the datafile. Цей варіант можливий, тільки якщо немає ступеня у файлі даних. If there are none, it's possible to resize the data file down to a very small file (2 blocks), where Oracle database will no longer create any extent in the datafile. Якщо таких немає, то можна змінити розмір файлу даних до дуже невеликий файл (2 блоки), де Oracle Database більше не буде створювати якоюсь мірою у файлі даних. However, this workaround does not remove the datafile from tablespace nor delete the file physically, but it reduce the risk as no data will be truncated as only empty blocks are reduced. Разом з тим, цим рішенням не видалити файл даних з табличного або видаляти файл фізично, але зменшити ризик, ніякі дані не будуть усіченими як зводяться лише порожні блоки. It simply makes it unusable and takes up almost close to no disk space. Він просто робить його непридатним для використання і займає майже немає близьких до дискового простору. To resize a datafile, use the following query: Щоб змінити розмір файлу даних, використовуйте наступний запит:
alter database datafile '<datafile name>' resize 8M; ALTER DATABASE DATAFILE '<datafile name>' розміри 8M;
How to Determine the Extents inside Datafile Як визначити екстентов всередині Datafile
To check and determine the extents that exists in a datafile, use this query: Для перевірки і визначення ступеня, яка існує у файлі, використовувати цей запит:
SELECT owner, segment_name SELECT власникові, segment_name
FROM dba_extents a, dba_data_files b З dba_extents, dba_data_files B
WHERE a.file_id = b.file_id ДЕ a.file_id = b.file_id
AND b.file_name = '<datafile name>' І b.file_name = '<datafile name>'
IMPORTANT : The page is machine translated and provided "as is" without warranty. ВАЖЛИВО: Сторінка машина переведена і надаються "як є" без гарантії. Machine translation may be difficult to understand. Машинний переклад може бути важким для розуміння. Please refer to Будь ласка, зверніться до original English article оригінальний англійська статтю whenever possible. коли це можливо.
Related Articles Статті за Темі
- How Drop Tablespace and Recover Oracle Database When Accidentally Delete Datafile Яким DROP TABLESPACE та відновлення баз даних Oracle При випадковому видаленні Datafile
- Oracle ORA-01658 Unable to Create INITIAL Extent for Segment in Tablespace Error Oracle ORA-01658 Неможливо Створена спочатку ступеня для сегмента в табличному помилку
- How to Rename or Move Oracle Tablespace Datafile to Another Location Як перейменувати або перемістити Oracle табличного Datafile в інше місце
- ORA-25153 Temporary Tablespace is Empty Error in Oracle ORA-25153 тимчасове табличне порожня Помилка в Oracle
- Delete, Remove or Drop Oracle Stored Packages with Drop Package Видалити, видалення або падіння Oracle Збережені пакети з підвісними пакету
- Oracle Database Link Oracle Database Посилання
- Change Oracle Database User Password Зміна бази даних Oracle пароль користувача
- ORA-02449 Oracle Drop Table Error ORA-02449 Oracle Drop Table помилку
- Oracle Database Import Error 3113/3114 Oracle Database Import Error 3113/3114
- Oracle EXP-00091 Error When Export Database Oracle EXP-00091 помилка експорту бази даних










































August 4th, 2007 02:55 4 серпня 2007 02:55
[...] Tip: How to check datafiles that belong to tablespace. [...] Підказка: Як перевірити файли даних, які належать до табличному просторі. [...] [...]