powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / найти удаленный файл lsof
13 сообщений из 13, страница 1 из 1
найти удаленный файл lsof
    #37827311
Alexey181
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня!
Как найти кто держит файл? В листинге пример задачи. SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 1

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
SQL> create tablespace myusers datafile '/u02/mydbora/oradata/kaa181/myusers01.dbf' size 100M AUTOEXTEND ON NEXT 1M MAXSIZE 500M;

Tablespace created.

SQL> create table my_table2 tablespace myusers as select * from all_tables;

Table created.

SQL> exit

oracle@bill-test:/u02/mydbora/oradata/kaa181> rm myusers01.dbf 
rm: remove regular file 'myusers01.dbf'? y

SQL> select table_name from my_table where rownum<3;

TABLE_NAME
------------------------------
ICOL$
CON$

SQL> 


lsof |grep delete
lsof |grep myusers

не показывают, кто держит файл
...
Рейтинг: 0 / 0
найти удаленный файл lsof
    #37827522
Пухлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey181,

А сразу после создания показывает кто держит файл?
...
Рейтинг: 0 / 0
найти удаленный файл lsof
    #37827868
Alexey181
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПухлыйAlexey181,

А сразу после создания показывает кто держит файл?

нет
...
Рейтинг: 0 / 0
найти удаленный файл lsof
    #37828086
Пухлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey181,

А fuserom не пробовали смотреть?

fuser /u02/mydbora/oradata/kaa181/myusers01.dbf
...
Рейтинг: 0 / 0
найти удаленный файл lsof
    #37828785
Alexey181
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПухлыйAlexey181,

А fuserom не пробовали смотреть?

fuser /u02/mydbora/oradata/kaa181/myusers01.dbf

fuser /u02/mydbora/oradata/kaa181/myusers01.dbf
Cannot stat /u02/mydbora/oradata/kaa181/myusers01.dbf: No such file or directory
...
Рейтинг: 0 / 0
найти удаленный файл lsof
    #37828876
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перед select table_name from my_table where rownum<3;
выполните alter system checkpoint; возможно селект идет из кеша, к файлу не обращаясь
...
Рейтинг: 0 / 0
найти удаленный файл lsof
    #37829038
Alexey181
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев Денисперед select table_name from my_table where rownum<3;
выполните alter system checkpoint; возможно селект идет из кеша, к файлу не обращаясь

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SQL> alter system checkpoint;

System altered.

SQL> select table_name from my_table where rownum<3;

TABLE_NAME
------------------------------
ICOL$
CON$

SQL> 
...
Рейтинг: 0 / 0
найти удаленный файл lsof
    #37829176
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lsof |grep delete

вообще ничего не показывает? Или не показывает именно этот файл? Или не показвает pid-ы ?
...
Рейтинг: 0 / 0
найти удаленный файл lsof
    #37829189
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
           create table my_table2 tablespace myusers as select * from all_tables;
 select table_name from my_table where rownum<3;
таблицы разные
...
Рейтинг: 0 / 0
найти удаленный файл lsof
    #37829195
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не может оно не работать:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
den@denzh:~> touch test
den@denzh:~> tail -f test &
[1] 9044
den@denzh:~> rm test
den@denzh:~> lsof |grep dele|grep test
tail       9044              den    3r      REG        9,1        0    7084634 /home/den/test (deleted)

den@denzh:~> ll /proc/9044/fd/
итого 0
lrwx------ 1 den users 64 Июн  7 12:28 0 -> /dev/pts/13
lrwx------ 1 den users 64 Июн  7 12:28 1 -> /dev/pts/13
lrwx------ 1 den users 64 Июн  7 12:28 2 -> /dev/pts/13
lr-x------ 1 den users 64 Июн  7 12:28 3 -> /home/den/test (deleted)
lr-x------ 1 den users 64 Июн  7 12:28 4 -> anon_inode:inotify
...
Рейтинг: 0 / 0
найти удаленный файл lsof
    #37829210
Пухлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey181,

попробуйте через /proc/PID/fd посмотреть, до и после удаления файла (например для ora_dbw)
...
Рейтинг: 0 / 0
найти удаленный файл lsof
    #37829516
Alexey181
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПухлыйAlexey181,

попробуйте через /proc/PID/fd посмотреть, до и после удаления файла (например для ora_dbw)
Это все смотрел. Рез-та нет.
У меня предположение, что не видно удаленного файла данных из-за использования odm oracle disk manager.
...
Рейтинг: 0 / 0
найти удаленный файл lsof
    #37829553
Пухлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey181,

Ну вполне может быть.

With ODM, Oracle no longer uses file descriptors.
Instead, ODM Identifiers are used.
ODM Identifiers are shareable from process to process
within the node
Oracle caches ODM Identifiers in the SGA at instance
startup
• DBWR performs initial odm_identify() on all datafiles
• CKPT identifies the control files and caches the information
• LGWR identifies the redo logs and caches the information
ODM Identifier usage reduces Kernel overhead
• Calls to exec(),and exit() no longer cause implicit contention on
Kernel open file table locks
• Explicit contention is eliminated ( open() / close() )
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / найти удаленный файл lsof
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]