воскресенье, 7 декабря 2008 г.

Getting DIRECTORY information from the database

Query the following dictionary views to get information on directories in the database and to know which directories are accessible to you.

ALL_DIRECTORIES - all directories accessible to the database user

ALL_TAB_PRIVS - for verification whether you have the required READ/WRITE privilege on the DIRECTORY object.

Additionally, all the rules that applied for UTL_FILE_DIR parameter settings hold true for the DIRECTORY object. For example, if we need to rename or move/store the file, (or simply write to the file), in a physical directory "E:\oracleWork\data", then the above code cannot be modified to reflect the destination location as "TEST_FILES\data" or to "E:\oracleWork\data." Doing so will give the following error:

ORA-29292: file rename operation failed

This concludes our look at Exploring the use of Directory Objects in Oracle 9i. We've seen what the Advantages of a DIRECTORY Object are, how to set up a DIRECTORY object, accessing data using EXTERNAL TABLES, and Getting DIRECTORY information from the database.

вторник, 11 ноября 2008 г.

The Linux Documentation Project

В качестве источника знаний и различной документации реккомендую сайт - http://tldp.org/. Linux Documentation Project (Проект документации по Linux) . Некоммерческая организация, которая поддерживает документацию по GNU/Linux. Наиболее известные ее документы это HOWTOs, кроме этого она также занимается FAQ и даже некоторыми книгами.

четверг, 6 ноября 2008 г.

SELECT ANY TABLE

Оказывается, что привилегии GRANT SELECT ANY VIEW TO ; НЕ СУЩЕСТВУЕТ! Для этого есть грант - GRANT SELECT ANY TABLE TO ; который позволяет "Query tables, views, or materialized views in any schema".

Кардшаринг

Слово кардшаринг (cardsharing) произошло от двух английских слов: Card (карточка) и компьютерного слова Share (общий доступ). Иначе говоря это общий доступ к карточке. В компьютерном лексиконе шара, расшарка ресурсов - обозначает открытие папки, принтера или еще чего-нибудь на общий доступ или доступ по паролю в локальной сети или сети интернет.

Представим себе такую ситуацию - у вас имеется дом в котором находятся 3-4 телевизора со спутниковыми ресиверами. И на каждом из них, каждый член семьи хочет смотреть свой спутниковый канал. На одном вы смотрите футбол, на другом жена смотрит Дом-2, на третьем ваш ребенок хочет смотреть "Ну погоди". К примеру пакет каналов (подписка) стоит 300 руб. Для того, чтобы смотреть все это, вам придется оформлять 3 подписки и платить 900 руб. Дороговато. Не так ли?

Но, народные умельцы придумали такую замечательную вещь как кардшаринг. Итак кардшаринг это - когда официальную карточку расшаривают (открывают доступ по логину/паролю) на несколько ресиверов. Ресиверы при этом должны быть соединены между собой при помощи локальной сети: Wi-Fi, LAN, интернет или другое соединение. На ресивере (или компьютере) который расшаривает карточку (дает доступ) должно быть установлено специальное ПО для кардшаринга. Этот ресивер или компьютер называют сервером кардшаринга. У него должен быть постоянный IP адрес в сети или имя, чтобы другие ресиверы знали куда слать пакет. Ресиверы на которых планируется просмотр называют серверами.

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

В качестве клиента кардшаринга может являться тот же Dreambox или DVB-плата в компьютер (SS2, SS3 и т.п.). Также необходимо соответствующее ПО и настройки. Кардшаринг поддерживают многие современные спутниковые ресиверы.

Выше я приводил пример с домашней сетью. Но сервер кардшаринга не обязательно должен быть рядом, он может быть на другом конце света! Очень часто бывает ситуация, когда на европейские каналы официально подписаться в стране нельзя, а смотреть их хочется. Вот здесь и приходит на помощь кардшаринг! Вы покупаете доступ к шаре, вам дают IP-адрес сервера, логин и пароль. Вы настраиваете на ресивере ПО и смотрите. Потребление трафика зависит от многих параметров, но в среднем оно не превышает 1Мб за час просмотра.

Но вы спросите: А почему нельзя сломать этот канал и смотреть безо всяких этих заморочек типа кардшаринга? Есть же такие каналы, скачал программу, к примеру S2emu, скачал файл SoftCam.Key и смотри сколько хочешь не платя за это ни копейки.
Ан нет! Таких каналов становиться все меньше и меньше. Кодировки становятся все хитрее и хитрее: Viaccess 2.6 и т.п. В них ключ обновляется каждые 15-20 сек. Т.е. даже если вы подберете ключ, то вы посмотрите канал лишь 15-20 секунд, т.к. уже придет зашифрованный сигнал с использованием нового ключа.

Но за преимуществами кардшаринга скрывается целый ряд его недостатков:

1. Клиент должен иметь постоянное соединение с интернетом. При чем соединение должно быть достаточно стабильное. Идеальным тут является xDSL или выделенка. Т.к. даже на GPRS в часы пиковой загрузки сети возможны "затыки".

2. Не всякий человек сможет сразу все это настроить. Если вы "чайник" в компьютерах, то для вас это будет очень проблематично (особенно если вы решили остановить свой выбор на ресивере DreamBox).

3. Сервера постоянно то появляются, то исчезают, то меняют IP.

4. Сама технология кардшаринга не долговечна и рано или поздно ее не станет. Т.к. уже появляются новые каналы, которые невозможно смотреть даже используя такую технологию, как кардшаринг.

5. Во многих странах кардшаринг - это противозаконно.

Вообщем, если вы решили сэкономить на просмотре платных каналов, то сразу приготовьтесь ко многим этим проблемам. Иногда оно того не стоит.

Популярные спутниковые ресиверы на которых возможен кардшаринг:
Dreambox 500S, 70xx,
OpenBox F300, 8x0
Samsung DSR9500
Golden Interstar DSR-7700
Sezam 7700, 8000.

P.S. Есть опыт настройки SkyStar 3 + ProgDVB 5 + Acamd = НТВ +
Шаринг работает очень качественно (тьфу-тьфу). Программы переключаются мгновенно. Нареканий нет. Всем желающим рекомендую посетить данный сайт - http://satsat.info/.

среда, 29 октября 2008 г.

НТВ+ начало борьбу с "шаровщиками"

Вчера (28/10/2008) были проблемы у "шаровщиков", т.е. у тех людей котрые занимаются услугами кардшаринга. Новость уже обсужается по данной ссылке. Пока был осуществен с протокола newcam25 на протокол camd3 и работоспособность серверов было восстановлена практически сразу.

воскресенье, 19 октября 2008 г.

Free Unix Shell

Случайно зарегистрировался на одном ресурсе, который предоставляет возможность бесплатно использовать UNIX-shell. Данный ресурс доступен по SSH (sdf.lonestar.org).

понедельник, 29 сентября 2008 г.

Broken Oracle Jobs

Для того чтобы Job в Oracle был помечен как broken, нужно чтобы:

1) Job не был исполнен за 16 попыток.

2) Чтобы пометить вручную любой job нужно использовать процедуру DBMS_JOB.BROKEN:

BEGIN
DBMS_JOB.BROKEN(14144, TRUE);
END;
/

Multiple LISTENER

На хосте установлена СУБД Oracle 9i и 10g. Если требуется чтобы были подняты несколько листнеров, то необходимо следующее:

1. the default name of the listener is LISTENER
you should use different names for 9i and 10g
2. you should use separate ports for each listener
3. you should use separate KEYs for the IPC protocol
4. you should disable the self-register "feature" of each DB
by set init.ora Parameter LCAL_LISTENER

Metalink Note:359277.1
Changing Default Listener Port Number

Metalink Note 365314.1
Database Will Not Register With Listener configured on IP instead of Hostname RA-12514

Metalink Note 232010.1
How to Create Multiple Listeners and Multiple Listener Addresses

Metalink Note Note:387911.1
Listener picks up a wrong LISTENERRA file (Unix)

Как заблокировать/разблокировать пользователя в Oracle

Очень просто :)

SQL> ALTER USER username ACCOUNT LOCK; - блокирует пользователя

SQL> ALTER USER username ACCOUNT UNLOCK; - разблокирует.

воскресенье, 28 сентября 2008 г.

с"Небесные" радости

На прошедших выходных я стал счастливым обладателем 90-см тарелки Супрал, на которую был установлен облучатель Lumax LT-T40CIR, а в PC поставил SkyStar 3 (TT-budget S-1401). Было запланировано настроить оборудование на спутник Eutelsat Sesat W4.







Сейчас я принимаю 410 каналов.
Из них 75 открытых и 335 кодированных. Но данные цифры необходимо уменьшить в два раза для того чтобы получить реальную картину, т.к. некоторые каналы дублируются.



Большинство интересных каналов закрыты, но кардашинг творит чудеса :)


Для всех желающих рекомендую следующие сайты:

1) http://satsat.info/ - форум посвященный спутниковому TV. Замечательный чел. с форума - Дядя Федор. С ним можно поговорить по ICQ на счет шары. 

2) http://www.telesputnik.ru/ - журнал Телеспутник. Есть форум, много полезной технической информации.

3) http://www.ntvplus.ru/packages - список пакетов/каналов НТВ+

4) http://www1.tricolor.tv/channels.aspx - список пакетов/каналов Триколора.

5) http://www.poverkhnost.tv/ - спортивная телекомпания "Поверхность"

Ощущения конечно позитивные :))
Качество каналов отличное!!! Картинка "плотная", четкая.
 

четверг, 18 сентября 2008 г.

"Железные" покупки

Эту неделю провел за upgrade-ом своего ПК.
Прикупил видеокарту ASUS GeForce EN9800GTX+. На борту 512 Мб. DDR3. Карточка большая, красивая, занимает дополнительный PCI слот, и требует минимум 400 W блока питания. У меня как раз такой и был установлен. Произведя реорганизацию всех своих проводов, удалось запустить это чудо. Правда, пришлось пожертвовать питанием для двух 750 Gb. HDD Seagate. Установил драйвера, умная программа NVIDIA PhysX Properties сообщила, что видеокарта работает в пониженном режиме энергопотребления. Сегодня купил блок питания FSP Epsilon на 700 ватт. Подключил все что можно :)
Так же прикупил SkyStar 3 (TT-budget S-1401). Для ProgDVB 5 поставил эти драйвера (BDA, 10/11/2007, 5.0.0.6). В воскресенье буду настраивать тарелку (90 см.) на спутник Eutelsat W4.

четверг, 28 августа 2008 г.

Glance hot key HP-UX 11.23

В HP-UX есть замечательная утилита - glance.  Решил выписать её основные горячие клавиши, для запоминания и обозрения. Конечно то же самое можно найти по команде man glance.

Command  - Screen Displayed / Description
=================================
a - CPU By Processor
c - CPU Report
d - Disk Report
g - Process List
i - IO By File System
l - Network By Interface
m - Memory Report
n - NFS By System
t - System Tables Report
u - IO By Disk
v - IO By Logical Volume
w - Swap Space
A - Application List
B - Global Waits
D - DCE Global Activity
G - Process Threads
H - Alarm History
I - Thread Resource
J - Thread Wait
K - DCE Process List
N - NFS Global Activity
P - PRM Group List
T - Transaction Tracker
Y - Global System Calls
Z - Global Threads
? - Commands Menu
S - Select a NFS system/Disk/
Application/Trans/Thread
s - Select a single process
F - Process Open Files
L - Process System Calls
M - Process Memory Regions
R - Process Resources
W - Process Wait States

среда, 27 августа 2008 г.

Процессы в UNIX (запуск в фоне, просмотр заданий)

В UNIX/Linux есть команды позволяющие управлять процессами:

Ctrl+Z позволит приостановить процесс,
Ctrl+C позволяет прервать процесс,
Ctrl+D позволяет указать конец файла.

Для запуска прерванного процесса в фоновом режиме используется команда bg (man bg), а для запуска прерванного процесса в режиме переднего плана (PROMT) используется команда fg.

Чтобы вывести список выполняемых или остановленных заданий/процессов необходимо запустить jobs -n (man jobs).

Чтобы сразу запустить процесс в режиме background необходимо в конце команды поставить символ & (например $ gzip test.pdf &).

А для того чтобы запустить указанную пользователем команду, которая будет выполняться даже и после выхода пользователя из системы нужно использовать команду nohup (man nohup).

вторник, 26 августа 2008 г.

Как определить в каком Shell-е работаем на данный момент

На HP-UX выводит информацию

echo $SHELL

/bin/ksh

а на Linux RedHat 5 AS

echo $SHELL

/bin/bash

Запуск и остановка Oracle Enterprise Manager 10/11g Database Control

Для запуска используется команда:

$ emctl start dbconsole

TZ set to W-SU
Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
http://redhat:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ......................... started.
------------------------------------------------------------------
Logs are generated in directory /mnt/oracle/product/10.2.0/db/redhat_test/sysman/log

Для остановки используется команда:

$ emctl stop dbconsole

Чтобы узнать статус консоли:

$ emctl status dbconsole

Конфигурирование Database Control происходит с помощью EMCA.

Перед конфигурированием необходимо задать два параметра:

1. ORACLE_HOME
2. ORACLE_SID

Затем $ ./emca -config dbcontrol db

Отвечаем на вопросы, вводим пароли для пользователей и считаем, что Database Control сконфигурирован.

В случае каких-то проблем лог можно найти тут:

ORACLE_HOME/cfgtoollogs/emca/ORACLE_SID/

вторник, 19 августа 2008 г.

Восстановление /dev/null

Если заменить /dev/null на обычный файл или удалить его, то система перестанет нормально функционировать.
Чтобы восстановить /dev/null, нужно выполнить команды "mknod /dev/null c 1 3" и "chmod 666 /dev/null".

пятница, 15 августа 2008 г.

Изучаю курс - Администрирование для систем HP-UX 9000

Решил начать самообучение по системе HP-UX 9000. Руководство на русском языке, в бумажном варианте. Некоторые пункты меню разжеваны слишком подробно (напоминает серию книг "для чайников"). После изучения теоретического материала даются лабораторные работы на освоение и закрепление навыков. Думаю, что эти знания мне пригодятся :)

пятница, 8 августа 2008 г.

∞-∞-∞

Сегодня был очень необычный день. День свадеб, новых открытий и осмысления самого себя. Яндекс открыл новый сервис - Я.ру, в Цхинвали началась война, в Москве пока (тьфу-тьфу) все спокойно. Мир сделал новый виток в истории, только мало кто из людей это заметил и оценил. Возможно наша жизнь движется к тому, что называется бесконечность ∞ ?

воскресенье, 3 августа 2008 г.

Формат fb2, Голвачев и WebMoney

Я люблю читать. Читать хорошую литературу, классику, фантастику, поэзию. В последние время приходится читать очень много технической литературы с экрана монитора.

А началось все с того,что недавно решил посмотреть какие функции есть у WebMoney Keeper Classic и решил с помощью webmoney оплатить одну электронную книгу.



В результате с меня сняли 1,3 $ за 1,02 Мб. информации в формате fb2. Для чтения книги "Пропуск в будущее" - Головачева, использовал программу - Cool Reader 3.0.11a.

А сегодня с torrents.ru  бесплатно скачал 8,82 Гб. в архиве rar и когда распаковал архив получилось 9,4 Гб. книг в fb2. Если это пересчитать на доллары, то получится около 76150 $ или 1781910 руб. по текущему курсу. Вот такая арифметика :)

Быстрее, выше, сильнее...

Все Системные Администраторы страдают тем, что в их жизни мало движения.
А движение - это, как говорится, жизнь.

Поэтому я решил заняться собой и начал с ... фитнес центра и велосипеда.

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

Итак, вот он:
 



и по частям (руль - передняя часть):



(сиденье - задняя часть):



(часть покрышки):



За последние выходные я успел намотать на нем, не много не мало - 64 км с хвостиком ;)



И развил (на данный момент, максимальную скорость - 23 км./час).





На раму, дается пожизненная гарантия. "Обвес", тормоза, втулки и т.д. - SHIMANO. Тормоза гидравлические, на руле видны "бачки" под масло. Как часто менять его и какое нужно заливать - буду узнавать позже. 

Из плюсов:

24 скорости, спортивный дизайн, легкий по весу, на дороге держится ровно, при спусках его не "водит", тормоза работают как "часы" (тьфу-тьфу), достаточно мягкие передние амортизаторы.

Из минусов:

пересеченная местность не его конек (все-таки я люблю шоссейные дороги с хорошим асфальтом), сиденье узкое (первые два дня болело все, что можно :|| ), переключать скорость нужно только в движении.

История покупки:

Велосипед был куплен в магазине 10 баллов. С другом рванули в центральный офис, где (м. Тульская, м Шабаловская Севастопольский проспект, д. 5, корп 2) столкнулись со следующей проблемой (!) велосипедов здесь в наличии очень мало. Лично я видел 6 - 7 висящих моделей. Парень-манагер объяснил данную ситуацию тем, что они заказываю новые модели в апреле и сейчас моделей осталось очень мало. Вроде похоже на правду... 

Собирали мой велосипед в течении 30 минут. В это время с другом "курили" в близлежащем дворе. Благо там тихо и спокойно. Потом начали укомплектовывать различными аксессуарами: бортовой компьютер, крылья, насос, дополнительное широкое сиденье, разводные ключи... Все удовольствие обошлось около 18,5 тыс. руб.

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

На станции началось самое веселое. Во-первых, когда друг пытался пронести велосипед через турникет, женщина-контролер засвистела и к нам пулей рванул сотрудник милиции. При попытке объяснить ему, что нам нужно пронести данный велосипед и доехать до Белорусского вокзала, он качал головой и попросил нас пройти на выход. 
Поднявшись наверх решили позвонить в такси. По номеру 940-88-88 нам сообщили, что велосипеды они не перевозят и, что помочь нам ничем не могут. Решили дать взятку милиционеру и пройти "под шумок". Когда спустился вниз, то увидел, что милиционера уже на месте нет, а начальник станции, вообще оказалась женщиной не адекватной.
Выход из проблемы нашли просто - перешли улицу и зашли с другого входа. На Белорусской по эскалатору, за нами ехал отряд милиции (из 7 человек) который косо на нас поглядывал. Но мы не сдались и с успехом прошли этот путь :)

Общие впечатления:

Велосипед мне понравился. Сейчас я привыкаю к его особенностям и начинаю получать удовольствие от езды. Конечно, дополнительно буду докупать специальную одежду, фонарь, клаксон, и т.д. Говорят, в Сокольниках есть неплохой рынок. Будут $$$ - поеду.

среда, 30 июля 2008 г.

Курсы английского языка при МИД

Не помню, кто сказал следующее: - должен знать английский язык как второй родной. Вероятнее всего все идет именно к этому...
Причем знание одного иностранного языка видимо будет скоро недостаточно.
Так как в школе и в институте изучал английский, то решил продолжить свое обучение и пойти на курс классического английского языка в МИД.
Если брать сразу на 3 семестра, то цена вопроса составит 62000 р. (скидка 13000 р.). Интересно, почему цены действительны до 30.08.2008 г.?

P.S. Сейчас коплю $$$ на это мероприятие ;)

воскресенье, 20 июля 2008 г.

Изучаю Delphi

Начал изучать Delphi. Скачал различные книги и пособия по данной тематике. Сейчас скачиваю Borland Delphi 7.0 + различные компоненты. Гугл нашел один любопытный сайт – www.delphisources.ru. Постараюсь извлечь из него максимум информации и пользы.

Начал читать книгу – Михаила Фелеонова «Библия Delphi». Сразу в глаза бросилась одна фраза – Только самостоятельно найденный ответ на вопрос добавит новые знания.

Точная фраза. Крылатая почти... :)

среда, 16 июля 2008 г.

Oracle Interim Patch Installer

Для того чтобы узнать какие патчи были установлены в БД Oracle необходимо запустить:

opatch lsinventory

Данная утилита отобразит список установленных патчей.

среда, 2 июля 2008 г.

Mikrotik (открываем отдельный порт) для торрента

Обнаружил, что для нормальной работы торрента-клиента с трекером, необходимо чтобы порт tcp (любой) был открыт. Для этого предлагаю сделать следующее:

Либо использовать подключение по SSH авторизоваться как администратор, либо используя утилиту Winbox прописать следующее.

ip ---> firewall ---> nat ---> add chain=dstnat protocol=tcp dst-port=7474 action=dst-nat to-addresses=10.10.10.10 to-ports=7474 comment="torrent - 10.10.10.10" disabled=no

Единственный минус данного подхода заключается в том, что мне пришлось прописать каждый адрес и порт вручную. Задать диапазон типа 10.10.10.10-10.10.10.30 мне не удалось. Так же важно, что каждый клиент должен использовать уникальный порт, который не пересекается с другим портом у другого клиента.

четверг, 26 июня 2008 г.

Как обнаружить pppoe-концентратор в Linux

Это можно попробовать сделать так:

pppoe -I eth0 -A

Если получаем ответ, значит, все в порядке, читаем дальше man pppoe. Если ответа нет, проверяем исправность подключения интерфейса к сети провайдера.
Некоторые особо "продвинутые" провайдеры не дают обнаружить имена своих концентраторов таким образом, но это особый случай.

среда, 25 июня 2008 г.

Права доступа (CHMOD)- разграничение прав доступа

Что такое chmod - CHMOD - это права доступа

Пожалуй, зайдя на любой форум, посвященный скриптам, программированию под веб, или на форум хостинга, уже после поверхностного осмотра без труда обнаруживаются топики с вопросами об установке прав доступа для скриптов и каталогов в cgi-bin. На самом деле в этом нет ничего сложного, но все же, чтобы разобраться, необходима посторонняя помощь.

Права доступа - это атрибуты файла или каталога, которые указывают серверу, кто и что может делать с соответствующим файлом или каталогом. Обычно, права доступа регламентируют такие действия как чтение, запись в файл (или каталог), исполнение.

Поскольку большинство серверов работает на базе UNIX-систем, поэтому мы рассмотрим установку прав доступа именно для них. В системах UNIX все пользователи разделяются на три группы: "user" (непосредственно владелец файла), "group" (член той же группы, к которой принадлежит владелец файла) и "world" (все остальные). Когда вы соединяетесь с сервером, он определяет к какой группе пользователей вы относитесь. Например, подключаясь к серверу по FTP, вы входите под своим именем пользователя, соответственно сервер относит вас к группе "user". Другие пользователи, подключаясь по FTP, будет отнесены к группе "group", а когда человек попадает к вам на сайт через свой браузер, то попадает в группу "world".

После определения группы, пользователь получает права на действия с объектами. Т.е он может прочитать, записать или выполнить файл. Чтобы просмотреть каталог, каталог должен быть исполняемым; чтобы просмотреть его содержимое, каталог должен иметь атрибут чтения, а чтобы создать новый файл или каталог в существующем каталоге, необходимо иметь право на запись. Таким образом, чтобы выполнялось приложение или CGI скрипт, необходимо ставить на каталог атрибут чтения и выполнения.

А теперь практика...
Итак, мы выяснили, что существует три группы пользователей, и три действия с объектом. Чтобы распределить права для соответствующих групп, используются цифровые обозначения:
4 = read (право на чтение)
2 = write (право на запись)
1 = execute (право на выполнение)
Первая цифра в обозначении устанавливает права для группы "user" (фактически для вас), вторая для группы "group" и третья для группы "world". Простым сложение цифр можно добиться установления прав на совокупность действий.

Например, 3(2+1) разрешает запись и выполнение файла (каталога); 5(4+1) разрешает чтение и выполнение; 6(4+2) разрешает чтение и запись; 7(4+2+1) устанавливает право чтения, записи и выполнения. Т.е всего семь вариантов:
7 = read, write & execute
6 = read & write
5 = read & execute
4 = read
3 = write & execute
2 = write
1 = execute

Для установления прав доступа используется команда CHMOD. Во всех современных FTP клиентах присутствует возможность назначения прав доступа путем простановки "галочек" в чекбоксах, либо просто введением цифрового кода в соответствующее поле.

Несмотря на это, еще никому не помешало знать чуть больше о командах UNIX. Так вот, команда "chmod" имеет два режима: Абсолютный(цифровой) и Символьный режим. Команда "chmod", используемая в Unix, или команда "site chmod", используемая в некоторых FTP менеджерах(например FTP Explorer), могут использоваться в обоих режимах.

При Абсолютном(цифровом) режиме используется описанный выше 3-х цифровой код прав доступа. Символьный режим использует буквенный формат для установки прав доступа. Здесь используются буквы "r", "w" и "x" для read, write и execute соответственно. А также "u", "g", "o" и "a" для user, group, other (world), и all(все[не используется]) соответственно.

Например: 755 = chmod u=rwx,go=rx filename; 644 = chmod u=rw,go=r filename; 600 = chmod u=rw,go= filename; 444 = chmod a=r filename.

Вот несколько наиболее часто встречающихся сочетаний, верных для большинства хостингов:

Права доступа Команда(код) Описание
U G W
r w x r - x r - x [site] chmod 755 Для директорий, CGI скриптов и других исполняемых файлов
r w - r - - r - - [site] chmod 644 Для обычных файлов
r w - - - - - - - [site] chmod 600 Скрыть файлы от всех кроме вас и ваших скриптов
U = user; G = group; W = world r = Read; w = Write; x = Execute; - = Нет права

Автор - Роман Поликарпов.

Утилита getent

Сведения о конкретной учётной записи пользователя можно получить с помощью утилиты getent. Например так:

getent passwd oracle
oracle:x:501:501:Oracle software owner:/home/oracle:/bin/bash


Эта утилита также полезна для получения сведений о некоторых других системных ресурсах, см. getent --help

getent --help
Usage: getent [OPTION...] database [key ...]
Get entries from administrative database.

-s, --service=CONFIG Service configuration to be used
-?, --help Give this help list
--usage Give a short usage message
-V, --version Print program version

Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.

For bug reporting instructions, please see: http://www.gnu.org/software/libc/bugs.html 

Supported databases:
ahosts ahostsv4 ahostsv6 aliases ethers group hosts netgroup networks passwd protocols rpc services shadow

пятница, 20 июня 2008 г.

Google в Московском Метро

Сегодня заметил в Метро рекламу от Google =) Случилось это на кольцевой линии. Некоторые источники говорят, что видели эту рекламу уже с 1 июня этого года (возможно даже и раньше). И это радует. Гугль рулит..., что говорить. Бей врага его же оружием! Это я про аналогичную рекламу от Яндекса. Про Рамблер ничего сказать увы не могу.

четверг, 19 июня 2008 г.

Requirements For Installing Oracle 10gR2 On RHEL/OEL 5 (x86)

Если вам необходимо установить Oracle 10gR2 на RHEL 5, то рекомендую воспользоваться следующей нотой № 419646.1. В ней процедура установки очень подробно изложена. Для тех кто (увы) не имеет доступа к metalink.oracle.com, я отдельно напишу подробное руководство, которое будет базироваться на основе данной ноты.

Каталог /proc (Linux)

Сердцем операционной системы Linux является ядро. Ядро обеспечивает интерфейс между пользователем (и запущенными им программами) и аппаратным обеспечением ПК (жесткими дисками, оперативной памятью, сетевыми картами и др.)  Для просмотра различной полезной информации об ядре возможно использовать псевдофайловую систему /proc. Для каждого активного процесса в каталоге /proc создается подкаталог, имя которого состоит из номера этого процесса.

Подсказка:

Для просмотра активных процессов и их идентификаторов выполните команду ps aux | more

Каталог /proc также содержит файлы, необходимые для работы различных служб (сетевых служб, SCSI-устройств и прочих компонентов). Для отображения содержимого файлов каталога /proc можно воспользоваться командой cat.

Например, так cat /proc/meminfo

MemTotal: 3232944 kB
MemFree: 98040 kB
Buffers: 22056 kB
Cached: 2907564 kB
SwapCached: 8 kB
Active: 90016 kB
Inactive: 2895032 kB
HighTotal: 2350992 kB
HighFree: 5580 kB
LowTotal: 881952 kB
LowFree: 92460 kB
SwapTotal: 4192956 kB
SwapFree: 4192948 kB
Dirty: 8372 kB
Writeback: 108 kB
AnonPages: 55468 kB
Mapped: 21456 kB
Slab: 81112 kB
SReclaimable: 43180 kB
SUnreclaim: 37932 kB
PageTables: 1752 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 5809428 kB
Committed_AS: 219268 kB
VmallocTotal: 114680 kB
VmallocUsed: 6124 kB
VmallocChunk: 105812 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 4096 kB


meminfo содержит информацию об использовании памяти и области подкачки. Так же можно узнать суммарный объем памяти и объем памяти, которая используется в данный момент.

Так же опишу другие интересные файлы которые содержат полезную информацию о системе.

cpuinfo - содержит информацию о типе CPU, о его частоте (в мегагерцах), семействе, к которому он относится, и другую информацию о центральном процессоре.

devices - содержит список символьных и блочных устройств компьютера, которые используются в данный момент, а также номера этих устройств.

ioports - содержит адреса портов ввода/вывода для устройств компьютера.

modules - содержит список модулей, которые в данный момент установлены в системе.

mounts - содержит информацию о подключенных на данный момент файловых системах.

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

pci - содержит список установленных в системе PCI-устройств. С помощью этого файла вы можете узнать номера устройств шины, их имена и другую информацию. Для установленных карт (например, сетевых) приводятся их номера прерывания, используемое адресное пространство и т.д.

swaps - содержит информацию об используемых в данный момент разделах подкачки, в частности об их размерах и объеме используемого пространства.

net/dev - содержит информацию об активных сетевых интерфейсах.

воскресенье, 15 июня 2008 г.

Поднимаю PPPoE сервер на базе MikroTik RouterOS 2.9.38

Два дня отдыха не прошли даром ;) Я достиг желаемого результата и настроил MikroTik как роутер + создал PPPoE сервер и прописал клиентов. Как все я это сделал? 
Используя поиск в Google нашел несколько замечательных статей на русском языке. 

1) routerOS Mikrotik - мечта сисадмина;
2) установка RouterOS Mikrotik: система работает, администратор отдыхает;
3) делим Интернет или QoS на Mikrotik

Все три статьи разные, хотя (1) и (2) имеют очень много общего, но статья Александра Кузьмицкого более полнее. Третью статью я планирую в будущем использовать для того, чтобы настроить канал с гарантированной скоростью для клиентов.

Сейчас же опишу порядок своих действий по созданию и настройке PPPoE сервера.

1) Скачиваю с сайта www.mikrotik.com  утилиту Winbox configuration tool 2.2.13.

2) Запускаю её и вижу, что подключение будет происходить по MAC-адресу, т.к. IP-адрес еще не присвоен ни одному порту.


Сперва меня это очень смутило, но сейчас я понимаю, что в больших сетях данная возможность весьма удобна, т.к. в данном случае при подключении MikroTik к существующей сети в ней не будет происходить конфликта IP адресов с MikroTik-ом.

2) Логин для авторизации - admin, пароль отсутствует. В целях повышения безопасности рекомендую его немедленно установить. Благо это можно сделать при помощи меню Password.



3) Теперь необходимо присвоить интерфейсам ether1 и ether2 IP адреса. Сделать этом можно так. В данном примере видим уже настроенные интерфейсы.





4) Переходим к созданию самого PPPoE сервера. Для этого выбираем меню "PPP".

Почему я выбираю вместо PPPoE Server, PPPoE Client? Потому что, вкладка PPPoE Client создает клиента кторый будет подключаться к PPPoE Server-у провайдера, а для локальных клиентов PPPoE Client будет являться PPPoE сервером.



4.1) Присваиваем имя для созданного PPPoE Server-а и выбираем на каком порту будет он располагаться.



4.2) Указываем метку для нашего сервера (internet), в поле user прописываем логин для подключения к Интернету, тот, что нам выдал провайдер (login), и тот пароль, что нам выдал провайдер password (password), и ставим две галочки напротив Add Default Route, и  Use Peer DNS. Профиль можно оставить стандартный - default.



4.3) Вкладки Status и Traffic рассматривать не буду. После того как вы указали правильные данные (User и Password) жмем Apply затем OK.

5) Теперь необходимо настроить пул IP адресов которые будут выдаваться клиентам когда они будут подключаться к нашему PPPoE Server (назовем его локальным - PPPoE Server L, а тот, что расположен у провайдера будем называть Интернет - PPPoE Server I).




6) Возвращаемя в меню PPP и переходим на вкладку Profiles. Создаем новый профиль. В качестве DNS серверов можно использовать эти, а можете использовать те, что предоставляет провайдер. Как обычно после жмем Apply затем OK.



7) Переходим на вкладку Secrets в ней хранятся и создаются аккаунты для подключения локальных клиентов.

В доп. меню AAA оставляю все по-умолчанию. Авторизацию с использованием Radius сервера не использую.



8) Теперь перейдём к настройке Firewall.

Итак, нам нужно:
1. Запретить широковещательные рассылки на порты 137-139, 445 для фильтрации нежелательного трафика.
2. Разрешить маскардинг нужных адресов на интерфейс, по которому мы получаем доступ в Интернет;
3. Разрешить форвардинг для виртуальных IP адресов наших клиентов.
4. Запретить форвардинг (пересылка пакетов между интерфейсами) для всех остальных IP адресов;

Для (1) нужно создать правила в которых указать, что ко всему трафику, который идёт на TCP/UDP порты 137-139, 445 нужно применить DROP или REJECT.

Это можно сделать командами:
/ip firewall filter add chain=forward protocol=udp dst-port=137-139
/ip firewall filter add chain=forward protocol=tcp dst-port=445
Для (2) переходим на вкладку NAT и добавляем правило в котором говорим, что для IP адресов наших клиентов 10.20.30.0/24 (вся сеть) на интерфейс INTERNET нужно делать "masquerade".
/ip firewall nat add chain=srcnat src-address=10.20.30.0/24 action=masquerade
Для (3) создадим список IP адресов, которым разрешено пересылать через сервер пакеты и добавим в файервол для правила, первое из которых - разрешит этим адресам отправлять пакеты, второе принимать.

/ip firewall address-list add address=10.20.30.0/24 list=allow_inet
/ip firewall address-list add address=10.0.14.136 list=allow_inet
/ip firewall address-list add address=192.168.1.1 list=allow_inet
/ip firewall address-list add address=192.168.1.2 list=allow_inet



И так для каждого IP адреса клиентов, которые мы указываем на вкладке Secrets раздела PPP.

/ip firewall filter add chain=forward src-address-list=allow_inet action=accept
/ip firewall filter add chain=forward dst-address-list=allow_inet action=accept


Для (4) открываем пункт IP->Firewall. Переходим на первую вкладку и выбираем справа в выпадающем меню цепочку Forward. Потом добавляем правило, в котором указываем, что по умолчанию форвардинг для адреса 0.0.0.0 с такой же маской запрещён (Действие DROP на закладке ACTION). Стоит помнить, что Forwarding по-умолчанию всегда включен так же, как и все другие правила файервола. Другими словами ничего не запрещено.

/ip firewall filter add chain=forward action=drop

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

Если вы всё сделаете правильно, то пользователь сможет без проблем подключиться к вашему серверу PPPoE и получить доступ к ресурсам, предоставляемым провайдером Internet.

В случае возникновения каких-либо вопросов рекомендую сначала почитать внимательно приведенные статьи, и документацию на сайте http://www.mikrotik.com/documentation.html, а лишь затем задавать вопросы мне или на форуме http://forum.drivermania.ru/ или http://pcrouter.ru/ipb/.

суббота, 14 июня 2008 г.

Принципы настройки производительности

Читая книгу "Настройка производительности UNIX-систем" Мусумеси Д.П., Лукидес М., ISBN 5-93286-034-0 делал пометки на особо понравившиеся мне моменты. Начну, пожалуй, с этих:

основы настройки производительности системы можно свести к пяти принципам.

1) хорошо понимайте свою операционную среду,

2) нет ничего по-настоящему бесплатного,

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

4) ресурсы не должны быть перегружены,

5) эксперименты следует проводить внимательно.

Принцип 0: следует хорошо понимать свою операционную среду

При недостаточно хорошем понимании своей операционной среды возникающие задачи, скорее всего, не решить. Вот почему концептуальному материалу в этом руководстве придается большое значение. Даже если изменятся отдельные детали реализации алгоритма или же сменится сам алгоритм, теоретические знания о том, что представляет собой задача и как подходить к ее решению, останутся действенными. Понимать задачу - значит обладать гораздо большим потенциалом по сравнению с ситуацией, когда известно решение, но нет понимания того, откуда возникла проблема. Конечно, в какой-то мере сложные случаи лежат вне компетенции среднего системного администратора: настройка производительности сети на обсуждаемом здесь уровне не требует углубленных знаний того, как реализован стек TCP/IP на уровне модулей и вызовов функций.

Принцип 1: БСНБ!

БСНБ означает, что Бесплатного Сыра Не Бывает. По существу, настройка производительности представляет собой нахождение компромисса между различными характеристиками. Обычно это список из трех желательных свойств, из которых можно выбрать только два.
Один пример приходит из настройки сетевого уровня TCP, где алгоритм Нагла (Nagle) приносит в жертву время ожидания или время, требуемое для доставки одиночного пакета, в обмен на повышение пропускной способности, или объем данных, которые можно фактически протолкнуть по проводам. Этот принцип часто обязывает делать реальный, значимый и трудный выбор.

Принцип 2: пропускная способность против времени ожидания

Во многих отношениях системные администраторы, оценивающие компьютерные системы, зачастую подобны юнцам, оценивающим автомобили. К сожалению, в обоих случаях существует определенный набор показателей и стремление найти наивысшее значение для наиболее «важного» показателя. Обычно это «величина пропускной способности» для компьютеров и «лошадиная сила» для автомобилей. Шаги, которые готовы делать люди, чтобы выжать максимум лошадиных сил из своих четырехколесных транспортных средств, нередко отчасти смехотворны. Незначительное изменение ракурса обнаруживает, что в жемчужине производительности существуют и другие грани. Много усилий тратится на оптимизацию отдельных параметров, что, вполне вероятно, не является настоящим подспорьем.

Принцип 3: не перегружайте ресурсы

Каждому, кто управлял автомобилем на запруженной магистрали, знакома ситуация с ориентированием в незнакомой местности: знак «нижний предел скорости» выглядит злой шуткой! Очевидно, существует много факторов, относящихся к развитию сообщения между штатами, особенно один, тяжело воспринимаемый пригородными участниками движения: пиковая нагрузка существенно отличается от средней, с финансированием дорог всегда проблема и т. д. Более того, добавление еще одной полосы к магистрали (предположим, что место и финансирование это позволяют) обычно приводит к временному закрытию по крайней мере одной активной полосы шоссе. Это неизменно расстраивает «пригородных» еще больше. Стремление достичь достаточной пропускной способности всегда присутствует, но из-за препятствий с его реализацией цель достигается не сразу. Теоретически подход расти «вширь» предпочтителен, когда обвал случился или неотвратим. Обычно это разумный вариант: зачем заботиться о дополнительной пропускной способности, если существующая используется не в полной мере? К сожалению, бывают случаи, когда полная загрузка не оптимальна. Это справедливо для компьютеров, и все же люди часто нагружают свои системы на 100% еще до размышлений о модернизации. Перегрузка - опасное дело. Общее полезное правило гласит: нагрузка не должна превышать 70% от максимальной в любой момент времени. Это дает запас прочности перед снижением производительности.

Принцип 4: при проведении экспериментов необходима внимательность

Существует масса слухов, касающихся анализа производительности. Единственная возможность быть объективным - это понимать суть дела, проводить тесты и накапливать данные. Вывод из этого таков: думать, думать и думать при экспериментах по оценке производительности. При измерениях много чего значимого не лежит на поверхности. А потому следует измерять все, имеющее малейшее отношение к тому, что на самом деле необходимо измерить. Если необходимо протестировать что-либо, важно подобрать соответствующие инструменты, специально предназначенные для диагностики этого компонента. И даже в этом случае нужно быть внимательным: очень легко обжечься.

Описание значений файла параметров инициализации (Oracle 10g)

Опишу значения параметров файла инициализации для отдельного взятого файла. Данные значения и их описание было взяты из справочника Oracle (ISBN 5 -93286-064-2) и с сайта metalink.oracle.com
Одни параметры используются и в 9i и в 10g, другие специфичны для 10g/11g. Будьте внимательны.

test.__db_cache_size=360710144

Допустимые значения: целое [Кбайт | Мбайт | Гбайт] (для Oracle 9i)
Значение по умолчанию: 48 Мбайт (для Oracle 9i)
Динамическое изменение: ALTER SYSTEM (для Oracle 9i/10g)
DB_CACHE_SIZE - указывает размер буферного пула DEFAULT в буферах SGA с блоками исходного размера (заданного в DB_BLOCK_SIZE). Появился в Oracle 9i.

test.__java_pool_size=37748736
Допустимые значения: 1 000 000 - 1 000 000 000 (для Oracle 9i)
Значение по умолчанию: 20 000 (для Oracle 9i)
JAVA_POOL_SIZE - указывает размер пула JAVA (в байтах) в SGA. Появился в Oracle 8.

test.__large_pool_size=4194304
Допустимые значения: 300 Кбайт - 2 Гбайт или больше (максимум зависит от операционной системы).
Значение по умолчанию: в Oracle 9i = 0

test.__shared_pool_size=184549376
Допустимые значения: от 300 K до определяемого в зависимости от операционной системой (для Oracle 9i)
Значение по умолчанию: 64 M для 64-х разрядной системы, иначе 8 M (для Oracle 9i)
Динамическое изменение: ALTER SYSTEM (для Oracle 9i/10g)

test.__streams_pool_size=0
Допустимые значения: целое [Кбайт | Мбайт | Гбайт] (для Oracle 10g)
Значение по умолчанию: 0
Динамическое изменение: ALTER SYSTEM

*.audit_file_dest='/oracle/oracle_10g/oracle/product/10.2.0/db_1/admin/test/adump'
Определяет каталог для хранения файлов аудита, в случае, если параметр инициализации AUDIT_TRAIL установлен равным os, xml, или xml,extended.

*.background_dump_dest='/oracle/oracle_10g/oracle/product/10.2.0/db_1/admin/test/bdump'
Допустимые значения: строка, содержащая действительное имя каталога
Значение по умолчанию: зависит от операционной системы
Динамическое изменение: ALTER SYSTEM
Указывает путь к каталогу, в который записываются отладочные файлы трассировки для фоновых процессов (LGWR, DBWn, и другие) во время работы экземпляра Oracle.

*.core_dump_dest='/oracle/oracle_10g/oracle/product/10.2.0/db_1/admin/test/cdump'
Допустимые значения: действительный путь к каталогу
Значение по умолчанию: $ORACLE_HOME/dbs/
Динамическое изменение: ALTER SYSTEM
Определяет каталог, в который записываются файлы дампа ядра.

*.user_dump_dest='/oracle/oracle_10g/oracle/product/10.2.0/db_1/admin/test/udump'
Допустимые значения: действительный путь к каталогу
Значение по умолчанию: зависит от операционной системы
Динамическое изменение: ALTER SYSTEM
Указывает каталог, в который сервер записывает отладочные файлы трассировки от имени пользовательского процесса.

*.db_recovery_file_dest='/oracle/oracle_10g/oradata/test/flash_recovery_area'
Допустимые значения: действительный путь к каталогу / дисковой группе
Значение по умолчанию: зависит от операционной системы
Динамическое изменение: ALTER SYSTEM ... SID='*'
Определяет каталог для области восстановления. Flash recovery area содержит мультиплексные копии текущих управляющих файлов и online redo логи, так же как archived redo логи, файлы flashback, и резервные копии RMAN.

*.compatible='10.0.0'
Допустимые значения: от 7.3.0 до текущей версии Oracle
Значение по умолчанию: текущая версия Oracle (например 10.0.0)

*.control_files='/oracle/oracle_10g/oradata/test/control01.ctl','/oracle/oracle_10g/oradata/test/control02.ctl','/oracle/oracle_10g/oradata/test/control03.ctl'
Допустимые значения: от 1 до 8 имен файлов
Значение по умолчанию: зависит от операционной системы
Указывает одно или несколько имен управляющих файлов, разделенных запятыми

*.db_block_size=8192
Допустимые значения: 2048-32768 в большинстве случаев, но может быть и меньше в зависимости от операционной системы
Значение по умолчанию: зависит от операционной системы
Указывает размер блоков БД Oracle. Значение DB_BLOCK_SIZE при создании базы данных определяет размер блоков. Это значение может быть установлено только в момент создания базы и не должно меняться в последствии.

*.db_domain=''
Допустимые значения: любая разрешенная строка компонентов имени, разделенных точками, и длиной до 128 символов
Значение по умолчанию: WORLD
Указывает компонент расширения глобального имени базы данных, состоящие из допустимых идентификаторов, разделенных точками. Доменное имя базы данных может включать в себя буквы, цыфры, символ подчеркивания (_) и знак решетки (#)

*.db_file_multiblock_read_count=16
Допустимые значения: от 1 до определяемого в зависимости от операционной системы
Значение по умолчанию: 8
Динамическое изменение: ALTER SYSTEM, ALTER SESSION

*.db_name='test'
Допустимые значения: любое корректное имя базы данных не длиннее восьми символов
Значение по умолчанию: NULL
Параметр можно не определять. Если он задается, то его значение должно совпадать с именем, указанным в команде CREATE DATABASE. Если параметр не задается, имя базы данных должно присутствовать в командной строке STARTUP или ALTER DATABASE MOUNT каждого экземпляра Parallel Server.

*.db_recovery_file_dest_size=2147483648
Допустимые значения: целое [Кбайт | Мбайт | Гбайт] (для Oracle 10g)
Динамическое изменение: ALTER SYSTEM ... SID='*'
Определяет (в байтах) жесткое ограничение в полном пространстве, которое используется целевыми файлами восстановления базы данных, созданными в перепрограммируемой области восстановления.

*.dispatchers='(PROTOCOL=TCP) (SERVICE=testXDB)'
Допустимые значения: см. описание в документации
Значение по умолчанию: нет
Динамическое изменение: ALTER SYSTEM
Конфигурирует диспетчерские процессы в среде Shared Server.

*.job_queue_processes=10
Допустимые значения: 0-1000
Значение по умолчанию: 0
Динамическое изменение: ALTER SYSTEM
Указывает максимальное количество фоновых процессов экземпляра, которые могут создаваться для выполнения заданий.

*.open_cursors=300
Допустимые значения: 1-4294967295
Значение по умолчанию: 50
Определяет максимально допустимое количество одновременно открытых курсоров для сеанса, что предотвращает открытие их чрезмерного количества. Если задать слишком большое значение, дополнительных накладных расходов не возникает. Кроме того, параметр ограничивает размер кеша курсора PL/SQL, используемого во избежание повторного синтаксического анализа команд.

*.pga_aggregate_target=196083712
Допустимые значения: 10 Мбайт - 4096 Гбайт - 1
Значение по умолчанию: 0
Определяет суммарный объем памяти PGA, доступной всем серверным процессам, закрепленным за экземпляром. Должен быть установлен для того, чтобы включить автоматический выбор размера рабочих областей SQL, используемых активно работающими с памятью операторами SQL. Появился в Oracle 9i.

*.processes=150
Допустимые значения: от 6 до определяемого в зависимости от операционной системы
Значение по умолчанию: вычисляется
Определяет максимальное число пользовательских процессов операционной системы, которые могут быть одновременно соединены с сервером Oracle. При вычислении этого значения необходимо учесть все фоновые процессы, включая процессы блокирования, процессы очереди заданий и параллельных запросов. Значение по умолчанию вычисляется на основе PARALLEL_MAX_SERVERS. Данный параметр определяет значение по умолчанию для SESSIONS, так что если вы изменяете значение PROCESSES, то может потребоваться изменить значение SESSIONS.

*.remote_login_passwordfile='EXCLUSIVE'
Допустимые значения: NONE | EXCLUSIVE | SHARED
Значение по умолчанию: NONE
Указывает, проверяет ли сервер Oracle файл паролей и сколько баз данных может использовать один и тот же файл паролей. NONE означает, что Oracle будет игнорировать любые файлы паролей, т.е. привилегированные пользователи должны аутентифицироваться операционной системой. EXCLUSIVE показывает, что файл паролей может использоваться всего одной базой данных и при этом может содержать имена, отличные от SYS и INTERNAL. Если же параметр установлен в SHARED, то использовать файл паролей могут несколько баз данных, но содержаться в нем будут только пользователи SYS и INTERNAL. Значения параметра для экземпляров должны совпадать.

*.sga_target=589299712
Допустимые значения: целое [K | M | G]
Значение по умолчанию: 0 (автоматическая настройка SGA отключена)
SGA_TARGET определяет общий размер всех компонентов SGA. Если значение SGA_TARGET определено, то следующие пулы памяти будут автоматически установлены по размеру:

Кэш буферов (DB_CACHE_SIZE)
Разделяемый пул (SHARED_POOL_SIZE)
Большой пул (LARGE_POOL_SIZE)
Пул Java (JAVA_POOL_SIZE)
Пул потоков (STREAMS_POOL_SIZE)

*.undo_management='AUTO'
Допустимые значения: MANUAL | AUTO
Значение по умолчанию: MANUAL
Указывает действующий режим распределения пространства отката. Значение MANUAL означает, что пространство отката выделяется в виде сегментов отката. Значение AUTO указывает, что применяется автоматическое управление откатом. Появился в Oracle 9i.

*.undo_tablespace='UNDOTBS1'
Допустимые значения: имя существующего табличного пространства отката
Значение по умолчанию: первое доступное табличное пространство отката
Указывает табличное пространство отката, которое будет использовано при запуске экземпляра. Если табличные пространства отката не указаны или не доступны, сервер Oracle использует сегмент отката SYSTEM (такой режим работы не рекомендуется). Если значение параметра указывается для базы данных, работающей в режиме ручного управления, то экземпляр не будет запущен. Появился в Oracle 9i.

четверг, 12 июня 2008 г.

Первые впечатления от использования Mikrotik RB/MRT (miniROUTER)

Для того чтобы "расшарить" доступ в Интернет не только для меня, но и для моих друзей было решено купить Mikrotik RB/MRT (miniROUTER). Позавчера я получил возможность получше изучить данную модель. Плюсы, особенности я опишу чуть позже в этой же теме. Сейчас выложу лишь фотографии.


Итак, как и обещал, описываю свои впечатления от использования данного роутера. Положительных моментов очень много! Полный список возможностей можно прочитать в замечательной статье Кузьмицкого Александра - RouterOS Mikrotik - мечта сисадмина. Из отрицательных, наверное, то, что:

1) Нет русифицированной версии Winbox

2) Отсутствует документация на русском языке

3) Winbox не портирована в UNIX среду. Да, конечно, можно использовать ручную настройку через SSH, но быстрее и приятнее производить тюнинг через GUI.

Конечно, все эти недостатки с лихвой компенсируются богатым функционалом и ценой самого девайса.

среда, 11 июня 2008 г.

Upgrade the Oracle Database 9

Вчера был один случай. Необходимо сделать полный дамп с 9i базы, и как оказалось, база не была пропатчена до версии 9.2.0.8. Для корректного импорта пришлось обновить базу. Делал это так:

1) Останавливаю листнер

lsnrctl stop

2) Изменяю параметры SHARED_POOL_SIZE и JAVA_POOL_SIZE.

SQL> show parameter shared_pool_size;

SQL> alter system set shared_pool_size='150M' scope=both;

SQL> show parameter java_pool_size;

SQL> alter system set java_pool_size='150M' scope=both;


3) Опускаю экземпляр

SQL> shutdown immediate;

4) Подключаюсь как sysdba

sqlplus /nolog

SQL> connect / as sysdba


5) Запускаю catpatch.sql

SQL> startup migrate
SQL> spool patch.log
SQL> @?/rdbms/admin/catpatch.sql
SQL> spool off


6) Рестартую базу

SQL> shutdown immediate
SQL> startup


7) Рекомпилирую инвалидные объекты

SQL> @?/rdbms/admin/utlrp.sql
SQL> @?/rdbms/admin/utlrp.sql
SQL> @?/rdbms/admin/utlrp.sql


8) Поднимаю листнер

lsnrctl start

9) Изменяю значения SHARED_POOL_SIZE и JAVA_POOL_SIZE на стандартные.

10) Запускаю полный импорт.

вторник, 10 июня 2008 г.

Утилита env

env - формирование окружения для выполнения команды

СИНТАКСИС
env [-] [имя=значение ...] [команда аргумент ...]

ОПИСАНИЕ

Утилита env получает текущее окружение, модифицирует его в соответствии со своими аргументами, и затем выполняет команду в модифицированном окружении. Пары имя=значение об единяются с наследуемым окружением перед выполнением команды. При наличии флага "-" наследуемое окружение полностью игнорируется, и команда выполняется с тем окружением, которое определено командной строкой env.

Если команда не задана, то сформированное окружение выдается на стандартный вывод, по одной паре имя=зачение в строке.

воскресенье, 8 июня 2008 г.

Переименование alert_log

Хороший пример приводит alp-it.

Чтобы каждый день файл alert.log был новым, нужно существующий переименовать.  А Oracle при новом сообщении создаст чистый alert.log. В *nix для того, чтобы автоматически файл переименовывался, в таблицу планировщика (crontab -e) нужно добавить строку

mm hh * * * mv PATH/alert_DB_NAME.log `date +PATH/alert_DB_NAME_\%d_\%m_\%y.log`

Где mm - минуты, hh - часы, когда будет запускаться переименовывание файла.

Ну и путь понятно нужно ставить соответсвующий. В результате к имени файла будет добавлена дата.

Практическое пособие администратора UNIX

Прочел книгу Филиппа Торчинского
"Практическое пособие администратора UNIX".


С первых глав книга читалась достаточно туго, и было ощущение того, что я купил еще одного автора из серии "сделай это за 24 часа" или "для продвинутых чайников". Но ближе к 4 и 5 главе книга Филиппа заставила пересмотреть этот взгляд, и я понял, что не зря потратил деньги, некоторые вещи описанные в книге весьма полезны и пригодятся мне в моей работе. Особо понравилась глава № 28 (Человеческий фактор). В ней описывается, что есть некоторые правила, которые необходимо соблюдать и НИКОГДА не делать:

1) менять в нетрезвом состоянии пароль root-а. Мой руководитель советует в нетрезвом состоянии вообще не садиться за консоль, как и за руль автомобиля.

2) редактировать конфигурацию firewall находясь далеко от него (автор видимо имеет ввиду физический доступ к консоли на сервере);

3) менять настройки систем находясь в отпуске (придется ехать на работу, если что-то попортите ненароком);

4) удаленно перезагружать сервер, если что-то серьезное было изменено в настройках (например IP-адрес интерфейса, через который вы работаете);

5) оставлять пароль root пустым;

6) разрешать пользователям придумывать и использовать пустые пароли;

7) убивать полезных демонов. Особенно - init, при работе удаленно - inetd, локально - klogd;

8) давать пароль суперпользователя (root) нескольким людям.

Данный список не претендует на абсолютную полноту, вы легко можете дополнить его парой других примеров из своей жизни. Надеюсь, что данные правила помогут мне и вам в нашем нелегком труде :)

четверг, 5 июня 2008 г.

Распаковка архивов *.tar.gz

Для распаковки архива вида *.tar.gz используется команда:

tar xvfz *.tar.gz


Используемые в команде ключи:

x - позволяет вам извлекать файлы из архива.
v - делает вывод tar подробным. Это означает, что на экран будут выведены все найденные в архиве файлы. Если эта опция опущена, информация, выводимая в процессе обработки, будет ограничена.
f - является обязательной опцией. Без неё tar пытается использовать магнитную ленту вместо файла архива.
z - позволяет вам обрабатывать архив, сжатый gzip'ом (с расширением .gz). Если вы забудете указать эту опцию, tar выдаст ошибку. И наоборот, эта опция не должна использоваться для несжатых архивов.

суббота, 31 мая 2008 г.

Upgrade Linux-сервера (HP)

Вчера обновил железо, добавив 4 Гб. RAM на созданном мной Linux сервере. Изначально конфигурация ограничивалась 512 Мб. RAM. Разницу до и после апгрейда почувствовал сразу! Так же установил XFS Tools для того чтобы отформатировать отдельный раздел под XFS. Теперь дополнительный раздел выделен под СУБД Oracle 10g. На скорую руку поставил update 10.2.0.4 и после этого при помощи утилиты dbca (Database Configuration Assistant) создал тестовую базу orcl. Честно говоря, работа данной утилиты меня не очень впечатляет. Почему-то в файле параметров конфигурации (spfile) вместо "нормальных" путей появляются такие ---> //
С чем это связано сказать пока не могу. Придется клонировать базу и пересоздавать структуру расположения датафайлов и каталогов (bdump, cdump, udump и т.д.).

воскресенье, 25 мая 2008 г.

Утилита lsof

И еще одна утилита, которой мне приходится часто пользоваться.

lsof - составляет список открытых процессами файлов системах Unix.

В качестве открытого файла names может выступать обычный файл, каталог, блочно-специальный файл, символьно-специальный файл, исполнительная текстовая ссылка, библиотека, поток или сетевой файл. Под сетевым файлом подразумевается сокет Internet, файл NFS, сокет домена Unix. В отсутствие каких-либо опций сообщает о всех открытых файлах, принадлежащих всем активным процессам.

Синтаксис команды лучше смотреть в документации той операционной системы, в которой вы будите использовать данную утилиту.

Ссылки по теме:

1) Утилита lsof - инструмент администратора (lsof proccess linux file)

2) Linux / Unix Command - lsof

3) GUI для lsof

Lsof is available via anonymous ftp from these mirror hosts.

ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof
ftp://ftp.tau.ac.il/pub/unix/admin
ftp://ftp.cert.dfn.de/pub/tools/admin/lsof
ftp://ftp.fu-berlin.de/pub/unix/tools/lsof
ftp://ftp.kaizo.org/pub/lsof/
ftp://ftp.tu-darmstadt.de/pub/sysadmin/lsof
ftp://ftp.tux.org/pub/sites/vic.cc.purdue.edu/tools/unix/lsof
ftp://gd.tuwien.ac.at/utils/admin-tools/lsof
ftp://sunsite.ualberta.ca/pub/Mirror/lsof
ftp://the.wiretapped.net/pub/security/host-security/lsof/

Использование инструментов system-config в RedHat

После того как я поднял отдельный сервер на базе RedHat 4 AS возникла необходимость сократить до минимума физический доступ к консоли на сервер и по максимуму удаленно администрировать его. Для этого пытался настроить VNC сервер. Меня огорчило, что по-умолчанию доступ к GNOME рабочему столу через VNC отсутствует. Он мне был нужен для того что-бы удобнее настраивать запуск отдельных служб и т.д. На самом деле я подозреваю, что это "пагубное" воздействие концепции и мировоззрения Windows пользователя. Linux - это не Windows и многие приемы администрирования отличаются в данной ОС. Перехожу от философии к практике.

Как известно RedHat предоставляет различные инструменты которые помогают упростить администрирования системы. Для примера командой find в каталоге
/usr/bin/ я нашел 26 инструмента которые используются для настройки системы. Часто это GUI средства которые упрощают сопровождение файлов конфигурации. Итак, это:

[root@redhat /]# find ./usr/bin/ -name system-config*
./usr/bin/system-config-display
./usr/bin/system-config-date
./usr/bin/system-config-securitylevel
./usr/bin/system-config-network-cmd
./usr/bin/system-config-lvm
./usr/bin/system-config-securitylevel-tui
./usr/bin/system-config-packages
./usr/bin/system-config-httpd
./usr/bin/system-config-network
./usr/bin/system-config-nfs
./usr/bin/system-config-soundcard
./usr/bin/system-config-mouse
./usr/bin/system-config-language
./usr/bin/system-config-netboot
./usr/bin/system-config-keyboard
./usr/bin/system-config-printer-tui
./usr/bin/system-config-authentication
./usr/bin/system-config-rootpassword
./usr/bin/system-config-network-druid
./usr/bin/system-config-services
./usr/bin/system-config-samba
./usr/bin/system-config-printer
./usr/bin/system-config-time
./usr/bin/system-config-users
./usr/bin/system-config-boot
./usr/bin/system-config-printer-gui


В моем случае мне нужен был инструмент для настройки служб и это оказался system-config-services. В документации (System Administration Guide) данный инструмент описывается как

Services Conguration Tool



The Services Conguration Tool is a graphical application developed by Red Hat to congure which SysV services in the /etc/rc.d/init.d directory are started at boot time (for runlevels 3, 4, and 5) and which xinetd services are enabled. It also allows you to start, stop, and restart SysV services as well as restart xinetd.
To start the Services Conguration Tool from the desktop, go to the Main Menu Button (on the Panel) => System Settings => Server Settings => Services or type the command system-config-services at a shell prompt (for example, in an XTerm or a GNOME terminal).

суббота, 24 мая 2008 г.

Поднял отдельный сервер на базе RedHat 4 AS

Вчера решил задержатся на работе (не смотря на то, что это была пятница) и установил на "бесхозный" ПК (HP, Intel Pentium 4, CPU - 3 Гг., RAM - 512 Мб., HDD - 40 Гб.) одну из моих любимых OS - RedHat 4 AS. При установке особо удивила скорость инсталляции. Вся установка заняла меньше 10 минут! При этом тип установки включал в себя поддержку Gnome, Apache, MySQL, PostgreSQL, системные утилиты, пакеты для разработки приложений и т.д. Дома на VMWare данная установка (AMD Sempron, 1800 MHz (9 x 200) 3400+, 3 Гб DDR2 SDRAM) занимает около 35-40 мин. Возможно, это зависит от частоты CPU? За скорость своего HDD - ST3750640AS дома я спокоен (SATA-150). На следующей неделе буду шлифовать и доп. настраивать этот сервер.

воскресенье, 18 мая 2008 г.

Как проверить, что база запущена при помощи spfile?

Коллегам на работе часто бывает нужно узнать запущена база при помощи spfila или используется pfile.

Ответ на этот вопрос дает команда show parameters spfile выполненная в SQL*Plus.

Если экземпляр запущен при помощи spfil-а, то в представлении будет указан путь к нему:


SQL> show parameters spfile

NAME         TYPE         VALUE
---------- --------- -------------
spfile       string   /oracle/oracle_10g
                      /oracle/product/10.2.0
                      /db_1/dbs/spfileorcl.ora


В случае если экземпляр запущен при помощи pfil-а, то:

SQL> show parameters spfile

NAME          TYPE       VALUE
---------- ----------- -----------
spfile       string      
           
                         

суббота, 17 мая 2008 г.

Запуск базы данных в режиме (NOMOUNT, MOUNT, OPEN)

Решил повторить основные концепции Oracle, в части пройденного курса Oracle Database 10g: Administration Workshop I. Чтобы каждый раз не лазить в конспект лекции публикую то, что происходит с экземпляром в этих трех режимах. 

Во время запуска базы данных необходимо выбирать режим запуска. Следующие сценарии описывают различные этапы запуска экземпляра. Начну с режима NOMOUNT. 

Запуск экземпляра в режиме NOMOUNT



Обычно запуск экземпляра без монтирования базы данных выполняется только при ее создании или при необходимости пересоздания управляющих файлов.
Запуск экземпляра подразумевает выполнение следующих задач:
• чтение файлов параметров из директории SORACLE_HOME/dbs в следующем порядке:
- первым читается spfileSID.ora ;
если он не найден тогда
- spfile.ora
- initSID.ora
• задание параметра PFILE в команде STARTUP, которое переопределяет установленный по умолчанию порядок чтения файлов параметров;
• выделение SGA;
• запуск фоновых процессов
• открытие сигнального файла alertSID. log и файлов трассировки
Имя базы данных должно быть указано либо в параметре DB_NAME файла параметров, либо в команде STARTUP.

Запуск базы данных в режиме MOUNT



Монтирование базы данных

Запуск экземпляра и монтирование базы данных без ее открытия выполняется в целях осуществления особых эксплуатационных операций..
Например, база данных должна быть смонтирована, но не открыта, при выполнении следующих задач:
• переименование файлов данных;
• включение и отключение режима архивирования журнальных файлов;
• полное восстановление базы данных. Монтирование базы данных включает следующие задачи:
• ассоциация базы данных с предварительно запущенным экземпляром;
• определение местоположения управляющих файлов, которые указаны в файле
параметров;
• чтение управляющих файлов с целью получения имен и статуса файлов данных и журнальных файлов. (Хотя на данный момент не проверяется фактическое
существование файлов данных и журнальных файлов.)

Запуск базы данных в режиме OPEN



Открытие базы данных

Нормальное функционирование базы данных подразумевает то, что она открыта и запущен экземпляр, что предоставляет любому зарегистрированному пользователю возможность установить соединение с базой данных и выполнять стандартные операции.
Открытие базы данных подразумевает выполнение следующих задач:
• открытие оперативных файлов данных;
• открытие оперативных файлов журнала.
Если какие-либо из файлов данных или журнальных файлов недоступны в момент открытия базы данных, Oracle возвращает ошибку.
Во время этого окончательного этапа открытия базы данных Oracle проверяет
доступность всех файлов данных и журнальных файлов, и проверяет целостность базы данных. При необходимости, фоновый процесс системный монитор (SMON) запускает восстановление экземпляра.

пятница, 9 мая 2008 г.

Установка файловой системы XFS в RedHat 4 AS

XFS - это журналирующая файловая система для Linux, которая была разработана SGI. Это зрелый продукт, который доказал свою работоспособность, функционируя в качестве основной файловой системы на машинах, работающих под IRIX, которые поставлялись всем клиентам SGI. XFS выпущена под GPL.


Ниже представляю свой best practices по установке и настройке XFS под Linux RedHat 4 AS. Итак, конфигурация тестового стенда такова:

Операционная система (OS): RedHat 4 AS
Ядро (kernel) : 2.6.24.6 #1 SMP
Оперативная память (RAM) DDR2 SDRAM : 3 Гб
Процессор (CPU): AMD Sempron, 1800 MHz (9 x 200) 3400+
Хранение данных (HDD):
1) Hitachi HDS721616PLA380 (160 Гб, 7200 RPM, SATA-II)
2) ST3120026A (120 Гб, 7200 RPM, Ultra-ATA/100)
3) ST3750640AS (750 Гб, 7200 RPM, SATA-II)

Задача: установить и включить поддержку XFS в RedHat 4 AS.
Цель: Использование СУБД Oracle 10.2.0.4 + XFS.
Затраченное время: ~ 2 часа.

В качестве текущий файловых систем использую ext2 (/boot) и ext3 для остальных разделов. Для СУБД Oracle 10.2.0.4 (раздел /mnt/oracle) и тестовой базы orcl и orcl2 решил установить XFS. Очень уж
меня заинтересовала эта статья в Википедии. Взвесив все плюсы и минусы я пересобрал ядро с версии 2.6.9.-5.EL до версии 2.6.24.6. с поддержкой XFS (и не только). Далее поиском в Google вышел на эту страничку. Так как в статье приводиться пример под версию 2.4.х
то, мне пришлось некоторые пункты изменить для себя.

Preinstall

1) В системе уже должны быть установлены системные утилиты:

- modutils-2.4.0

[root@redhat boot]# rpm -q modutils
package modutils is not installed


Я так понял, что эта утилита уже не используется (!?)

- autoconf-2.13

[root@redhat boot]# rpm -q autoconf
autoconf-2.59-5


- e2fsprogs-devel-1.18

[root@redhat boot]# rpm -q e2fsprogs
e2fsprogs-1.35-11.6.EL4


2) Конфигурация ядра.

Конфигурирую ядро, активизируя опции:
"XFS filesystem support" [Поддержка файловой системы XFS] (CONFIG_XFS_FS) и
"Page Buffer support" [Поддержка страничной буфферизации] (CONFIG_PAGE_BUF) в разделе "Файловая система".

3) Скачиваю пакет инструментов для работы с xfs.

Install

4) Распаковываю архив и начинаю установку тарбола.


tar -zxf xfsprogs_2.9.8-1.tar.gz
cd
xfsprogs_2.9.8-1
make
make install


т.к. тарбол уже сконфигурирован, то команду ./configure я намеренно пропустил.

5) После установки этого пакета создаю новую файловую систему XFS командой:

mkfs -t xfs /dev/hdb1

естественно до этого я подключил отдельный IDE жесткий диск и командой

fdisk /dev/hdb

снес все разделы (d) и заново создал новый раздел (n)

Configure

6) Добавляю в файл /etc/fstab строчки:

/dev/hdb1 /mnt/oracle xfs defaults 0 0

7) Выполняю:

sudo mkdir /mnt/oracle

8) После можно смонтировать новую файловую системы командой:

mount -t xfs /dev/hdb1 /mnt/oracle

9) Проверяю результаты командой df

[root@redhat etc]# df

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda2 6230172 5261260 652432 89% /
/dev/hda1 93307 9829 78661 12% /boot
/dev/hda3 1517952 35092 1405748 3% /home
/dev/hdb1 10475448 4256 10471192 1% /mnt/oracle

Conclusions

Первое впечатление после работы и небольшого тестирования данной системы оставило лишь положительные впечатления. Думаю, что использование 64-битной файловой системы в качестве основной под СУБД Oracle является оправданным и логичным шагом.

С Днем Победы!


С этого мгновения начинается отсчет времени для моего блога.
В нем я буду размещать свои мысли и разнообразную практическую информацию о СУБД Oracle 9i/ 10g / 11g,  а также все то, что познаю в мире Unix. Наверное, это будет своеобразный дневник системного администратора.
В любом случае здесь будет интересно!

С праздником! С Днем Победы! Ура!!!