Перейти к содержанию

Duncan MacLeod

Members
  • Постов

    10
  • Зарегистрирован

  • Посещение

    Никогда

Сообщения, опубликованные Duncan MacLeod

  1. Спасибо за помощь. Справился с проблемой. Все запускался от oracle, но для останова базы надо было добавить еще переменные ORA_HOME. И тогда все заработало.

    А монтирую я под пользователем root, там sudo стоит в скрипте.

    Спасибо за полезные команды. Теперь ими регулярно пользуюсь.

  2. Byte писал(а) Mon, 11 February 2008 16:46

    1. Нда... скоре всего

    mail -u oracle

    2. Кстати, а как вы для oracle cron настраивали

    crontab -u oracle -e

    ?

    Нет, без имени. Я почему-то посчитал, что по умолчанию будет от пользователя создавшего его. Попробую изменить.

  3. Byte писал(а) Mon, 11 February 2008 14:30

    Duncan MacLeod писал(а) Mon, 11 February 2008 13:13

    А вот mail, я не знаю как правильно настроить. Sad Поэтому не знаю где письма смотреть. Если для его работы требуется дополнительная настройка SMTP или еще чего, то точно не работает.

    mail -u root

    выполните

    Свежих писем нет.

    /etc/crontab

    Цитата:

    SHELL=/bin/sh

    PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin

    MAILTO=root

    #

    # check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly

    #

    -*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1

    59 * * * * root rm -f /var/spool/cron/lastrun/cron.hourly

    14 4 * * * root rm -f /var/spool/cron/lastrun/cron.daily

    29 4 * * 6 root rm -f /var/spool/cron/lastrun/cron.weekly

    44 4 1 * * root rm -f /var/spool/cron/lastrun/cron.monthly

    Вроде правильно? Должны идти письма ведь? Или это только для crontab, который для root?

  4. cppmm писал(а) Mon, 11 February 2008 14:23

    Цитата:

    Feb 11 01:01:01 Alcapone kernel: Unable to load NLS charset 866

    Feb 11 01:01:01 Alcapone kernel: smbfs: failed to load nls '866'

    Проверьте опции монтирования.

    По поводу останова и запуска базы посмотрите в логах самой базы, если такие ведуться.

    И всё же, имхо, правильнее в кроне указать, от чьего имени стартовать скрипты.

    Опции монтирования в скрипте выше. Монтирую диск с NTFS.

    Хорошо, попробую имя указать. Посмотрю, что будет.

  5. Byte писал(а) Mon, 11 February 2008 13:26

    А что в /vat/log/messages ?

    и root должны письма идти...

    Это /var/log/messages

    Цитата:

    Feb 11 00:59:00 Alcapone /USR/SBIN/CRON[29822]: (root) CMD ( rm -f /var/spool/cron/lastrun/cron.hourly)

    Feb 11 01:01:00 Alcapone /USR/SBIN/CRON[29842]: (oracle) CMD (/opt/oracle/admin/itest9i1.sh)

    Feb 11 01:01:01 Alcapone sudo: oracle : TTY=unknown ; PWD=/opt/oracle ; USER=root ; COMMAND=/bin/mount -t smbfs -o codepage=866,iocharset=koi8-r,username=linux,password=linux, rw //thunder/DBBackup /opt/oracle/thunder

    Feb 11 01:01:01 Alcapone kernel: Unable to load NLS charset 866

    Feb 11 01:01:01 Alcapone kernel: smbfs: failed to load nls '866'

    Feb 11 01:01:01 Alcapone sudo: oracle : TTY=unknown ; PWD=/opt/oracle ; USER=root ; COMMAND=/bin/rm /opt/oracle/thunder/itest9i/itest9i1.tar.gz

    Feb 11 01:01:01 Alcapone sudo: oracle : TTY=unknown ; PWD=/opt/oracle ; USER=root ; COMMAND=/bin/tar -czvf /opt/oracle/thunder/itest9i/itest9i1.tar.gz /opt/oracle/oradata/itest9i/admin /opt/oracle/oradata/itest9i/ctl1ncc.dbf /opt/oracle/oradata/itest9i/ctl2ncc.dbf /opt/oracle/oradata/itest9i/ixusr1ncc.dbf /opt/oracle/oradata/itest9i/log1ncc.dbf /opt/oracle/oradata/itest9i/log2ncc.dbf /opt/oracle/oradata/itest9i/log3ncc.dbf /opt/oracle/oradata/itest9i/log4ncc.dbf /opt/oracle/oradata/itest9i/log5ncc.dbf /opt/oracle/oradata/itest9i/systncc.dbf /opt/oracle/oradata/itest9i/tlsncc.dbf /opt/oracle/oradata/itest9i/tmpncc.dbf /opt/oracle/oradata/itest9i/undotbs.dbf /opt/oracle/oradata/itest9i/usr1ncc.dbf

    Feb 11 01:02:02 Alcapone sudo: oracle : TTY=unknown ; PWD=/opt/oracle ; USER=root ; COMMAND=/bin/umount -l /opt/oracle/thunder

    А почему в логе нет записей о том, что выполнялись команды по останову и запуску базы?

    А вот еще ошибка с codepage? Как от нее избавиться?

    А вот mail, я не знаю как правильно настроить. Sad Поэтому не знаю где письма смотреть. Если для его работы требуется дополнительная настройка SMTP или еще чего, то точно не работает.

    Еще раз повторюсь. Мои знания о Linux очень-очень маленькие.

  6. Сделал задание через пользовательский CRONTAB, только вот проблема. Не работает так как надо.

    Это задание для CRONTAB

    Цитата:

    #Backup ITEST

    1 1 * * 1,3,5 /opt/oracle/admin/itest9i1.sh

    #Backup INSTR

    1 2 * * 1 /opt/oracle/admin/instr9i1.sh

    Вот пример скрипта, которым останавливаю и архивирую базу.

    Цитата:

    #Shutdown database

    export ORACLE_SID=instr9i

    /opt/oracle/product/9iR2/bin/sqlplus /nolog < /opt/oracle/admin/orashut.sql > /opt/oracle/admin/shut1.log

    #Mount drive

    sudo mount -t smbfs -o codepage=866,iocharset=koi8-r,username=linux,password=linux, rw //thunder/DBBackup /opt/oracle/thunder

    #Removing old file

    sudo rm /opt/oracle/thunder/instr9i/instr9i1.tar.gz

    #Archieving database

    sudo tar -czvf /opt/oracle/thunder/instr9i/instr9i1.tar.gz /opt/oracle/oradata/instr9i/*

    #Unmount drive

    sudo umount -l /opt/oracle/thunder

    #Startup database

    export ORACLE_SID=instr9i

    /opt/oracle/product/9iR2/bin/sqlplus /nolog < /opt/oracle/admin/orastart.sql > /opt/oracle/admin/start1.log

    Вот файлы, для остановки базы:

    Цитата:

    orashut.sql

    conn sys/oracle as sysdba

    shutdown immediate

    exit

    orastart.sql

    conn sys/oracle as sysdba

    startup

    exit

    База попадает в архив не остановленная. Логи пустые. Если запускать скрипт просто из под пользователя oracle, т.е.

    Цитата:

    ./instr9i1.sh

    То все работает как надо, и база останавливается и логи создаются.

    Поясните пожалуйста, в чем может быть дело?

  7. Есть SLES9. На нем работает база Oracle.

    Цель:

    По расписанию.

    1. Остановить базу

    2. Поместить в архив

    3. Переписать на другой сервер

    4. Запустить базу

    Для этого хочу использовать crontab + скрипт, по аналогии с тем, как делалось на Windows машине.

    Проблема в том, что все администрирование баз Oracle производится пользователем oracle, а crontab запускает задания как root (если я правильно понял описание работы crontab).

    Написал скрипт (пока только пытаюсь остановить базу), пытался протестировать (просто запуская из командной строки).

    Цитата:

    #su oracle

    export ORACLE_SID=itest9i

    /opt/oracle/product/9iR2/bin/sqlplus /nolog < /home/oracle/orashut.sql > /home/oracle/orashutlog.txt

    export ORACLE_SID=itest9i

    /opt/oracle/product/9iR2/bin/sqlplus /nolog < /home/oracle/orastart.sql > /home/oracle/orastartlog.txt

    1. Под пользователем root не работает.

    2. Если раскомментировать строку с su тоже не работает.

    Результат почти одинаков. Лог файл:

    Цитата:

    SQL> ERROR:

    ORA-09925: Unable to create audit trail file

    Linux Error: 13: Permission denied

    Additional information: 9925

    ORA-01017: invalid username/password; logon denied

    SQL> ORA-01012: not logged on

    3. Если сначала вручную переключится к пользователю oracle, то скрипт работает.

    Помогите пожалуйста со скриптом. Я Linux очень плохо знаю, но надо сделать.

    ЗЫ: Я знаю, что есть rman (утилита архивирования от oracle), но разбираться мне с ним дольше и "польза от него/затраты на настройку и использование" для нас минимальна. Поэтому просто хочется сделать, как было на Windows машине.

  8. Здравствуйте, помогите разобраться!

    Сейчас пытаюсь сделать правильные сетевые настройки для Linux. У нас на фирме локальная сеть с доменами. Каждому проекту свой домен.

    В общем зашел в настройки сети в Linux, прописал имя компьютера и имя домена. В домене только Windows машины. Сервером я могу ползать по сети, заходить на разные машины и имя его правильно видно, но вот в домене я этого компа не вижу.

    Более того, с моей рабочей машины ping ругается, что не известный узел, когда пытаюсь Linux-овую машину пингануть! Я с линуксом на Вы, так что не судите строго. Повесили просто задачу на меня, поставить сервер с Oracle. Теперь вожусь.

    Все машины в сети используют DHCP, для сервера же будет выделен статичесикй IP, но пока его не выдали тоже через DHCP все.

    SUSE LINUX Enterprise Server 9 AMD64/EM64T

  9. Здравствуйте,

    У меня совершенно простой вопрос. Я новичок, когда-то давно ставил дома RH Linux и с тех пор запомнилось, что оптимальный размер свопа для Linux RAM*2. Теперь возникла необходимость поставить Linux на сервер и вопрос, сколько указать своп? На сервере 4Gb RAM. В принципе можно и 8Gb поставить, не жалко, но вопрос необходимо ли это?

    Основная задача - это сервер БД Oracle в локальной сети.

    ЗЫ: Ставлю SUSE LINUX Enterprise Server 9 AMD64/EM64T

×
×
  • Создать...