Назад | Перейти на главную страницу

Как определить ВЛАДЕЛЬЦА базы данных Oracle

Когда вы устанавливаете базу данных Oracle на сервер Unix, идентификатор пользователя Unix, который вы используете для установки, становится ВЛАДЕЛЬЦЕМ базы данных. Каков наиболее надежный и общий способ определения в сценарии оболочки, какой пользователь Unix является владельцем установки Oracle? Я имею в виду, можете ли вы выполнить команду grep для файла, созданного установкой, чтобы найти эту информацию, или я должен прибегнуть к использованию команды ls для определенного файла в определенном каталоге. Если имя проверяемого файла также является переменным, мне понадобится способ определения имени и пути к файлу.

Найдите файл с именем «oratab», который обычно находится в / etc или / var / opt / oracle. Там вы найдете для каждой базы данных имя домашнего каталога этой базы данных. Владелец этого каталога должен быть владельцем установки и всех баз данных, работающих из дома.

Это может быть полезно, если файл oratab находится в / var / opt / oracle:

ls -ld `grep 'your_db_name' /var/opt/oracle/oratab|cut -d":" -f2`|cut -d" " -f4

Другие предлагаемые здесь решения, проверяющие владельца процесса, также должны работать, но требуют, чтобы база данных была запущена. Это решение имеет то преимущество, что не требует включения экземпляра.

Я не профессиональный администратор баз данных Oracle, но по моему опыту владелец базы данных является владельцем процессов Oracle. Надежным процессом для проверки, вероятно, будет ora_pmon.

ps -ef | grep <process name or id> | awk '{print $1}'

это должно дать вам имя пользовательского процесса, под которым запущен.