Ищу уже сколько времени хоть какую-то документацию по Ораклу с нуля.
Обыскал весь нет, но ничего не нашёл, такое впечатление, что в электронном виде такого просто нет! Лучше всего быол бы найти учебник, где шаг за шагом объясняется и среда разработки и особенности PL-SQL и как делать программы для конечного пользователя на ЯВЕ средствами Оракла.
Хорошо знаю юазы данных Interbase, Mysql, Paradox. На Яве тоже кое-что писал, но знаток не сильный. ПО этому было бы лучше найти книгу для начинающего. Насколько я знаю Оракл на порядок сложнее остальных СУБД.
Помогите чем можете.
А так же интересно узнать есть ли разница между Ораклом под Винддой и Юниксом? Я, например, даже стандартный администраторский пароль и логин не знаю, чтоб подключиться к только что установленной БД :(
>Ищу уже сколько времени хоть какую-то документацию по Ораклу с нуля.
>Обыскал весь нет, но ничего не нашёл, такое впечатление, что в электронном
>виде такого просто нет!
хм, это где же ты искал?
вообще-то в комплекте с Ораклом (помнится, в клиенте) идет большое количество документации. у меня еще ни разу не было нужды искать что-то еще, хотя мои познания в Оракле тоже не велики...
да и на оракловом сайте она тоже есть...
>хм, это где же ты искал?
>вообще-то в комплекте с Ораклом (помнится, в клиенте) идет большое количество документации.
>у меня еще ни разу не было нужды искать что-то еще,
>хотя мои познания в Оракле тоже не велики...
>да и на оракловом сайте она тоже есть...
НУ во-первых хотелось бы на русскомязыке, понятнее всётаки, но на английском тоже не плохо. Да, на сайте их я нашёл документацию, но С чего начинать? Мне нужонследующее по очереди:
1. Инсталяция и настройка.
2. Ознакомление с системой, что выполняет какие функции и.т.п.
3. Работа с базой данных инструменты и PL-SQL
4. Инструменты для создания пользовательского интерфейа. JAVA.
В каком хотя бы порядке чиать то, что на сайте есть?
>
>>хм, это где же ты искал?
>>вообще-то в комплекте с Ораклом (помнится, в клиенте) идет большое количество документации.
>>у меня еще ни разу не было нужды искать что-то еще,
>>хотя мои познания в Оракле тоже не велики...
>>да и на оракловом сайте она тоже есть...
>
>
Как вдоволь наевшийся subj скажу так (для 9i и 8.1.7 и выше). Для начала:
>НУ во-первых хотелось бы на русскомязыке, понятнее всётаки, но на английском тоже
>не плохо. Да, на сайте их я нашёл документацию, но С
>чего начинать? Мне нужонследующее по очереди:
>1. Инсталяция и настройка.
Это тебе на не нать если ты не собираешься администрировать ораклятину. Тока забивать башку. Администрирование этой помойки вещь не стока сложная, скока очень громоздкая и нудная.
>2. Ознакомление с системой, что выполняет какие функции и.т.п.
Database Generic Documentation Addendum
Database Release Notes
>3. Работа с базой данных инструменты и PL-SQL
SQL and PL/SQL
Program with PL/SQL
Develop PL/SQL Program Units
Инструмент - SQL Navigator от QUEST Software
>4. Инструменты для создания пользовательского интерфейа. JAVA.
Встроенная Ява у них поганая. В базе работай тока на PLSQL - встроенные процедуры и функции рулят. ООП фичи в БД тож не трогай - пОгань. XML в БД юзать можно. Веб и middleware делай на яве. Инструмент - JDeveloper. Как и все ораклячьи приблуды хорош по идее и пОгань по исполнению. По мере накопления опыта можно разрабатывать хоть в "блокноте". Я юзаю IntelliJ IDEA.
>В каком хотя бы порядке чиать то, что на сайте есть?
В любом - зависит от твоих приоритетов. По большому счету ораклятина - ОБЫЧНАЯ реляционная БД, перегруженная всякими фичами: языком запросов, административными и прочими примочками.
Наконец самое главное - подход к ораклятине:
1. не верь в обещания компании оракл НИКОГДА.
2. прежде чем что-то неизвестное сделать с ораклятиной спроси как минимум у 3х человек, иначе можно грохнуть все труды одним кликом.
3. backup, backup и еще раз...
>Как вдоволь наевшийся subj скажу так (для 9i и 8.1.7 и выше).
>Для начала:
>>НУ во-первых хотелось бы на русскомязыке, понятнее всётаки, но на английском тоже
>>не плохо. Да, на сайте их я нашёл документацию, но С
>>чего начинать? Мне нужонследующее по очереди:
>>1. Инсталяция и настройка.
>Это тебе на не нать если ты не собираешься администрировать ораклятину. Тока
>забивать башку. Администрирование этой помойки вещь не стока сложная, скока очень
>громоздкая и нудная.На первый парах администрить не собираюсь, но чтоб мог поставить и настроить сам.
>>2. Ознакомление с системой, что выполняет какие функции и.т.п.
>Database Generic Documentation Addendum
>Database Release NotesВот тут я повис. Читаю документацию, делаю - выходит не так как пишут.
Сразу после установки начал делать риппозиторй:
Enterprice Manager Configuration Assistant -> Configure local Oracle Server -> Create new repository -> Typical -> Пишу SID и Global DB Name -> Done.Дале он начинает создавать базу данных, создав он просит написать пароли SYS, SYSTEM. После чего начинает создавать рипозиторий и вылетает такая ошибка:
>>>Connection failed
>>>Reason: ORA-12541: TNS:нет прослушивателя
И вырубается... И ещё в несколких случаях вылетает с такой же ошибкой?
В процессах вижу, что сервер запущен.. Что не так?
Вообщем уже задолбался биться головой об стену.. :(
Как мне создать новую БД и подключиться к ней?
Ответ морализаторский: учи матчасть. Сложного, действительно, ничего нету,
но пытаться даже поставить сие творение индийско-американской дружбы
народов, не зная (хотя бы приблизительно) структуры софта и взаимосвязей
между частями есть экзерсис нездоровый.Ответ по делу: у каждой базы есть SID, каждая база крутится на некоем
сервере (ну или наборе оных для кластерной конфигурации - не суть важно),
для соединения с базой можно пользовать либо шнягу под названием BEQ,
т.е. некое прямое соединение на той же машине, либо один из сетевых
протоколов (наиболее популярные - TCP и IPC). Сии протоколы реализует
тот самый листенер, о коем базар зашёл. Для того, чтобы коннект
коннектился :), нужно
1. сконфигурировать и завести оный listener
2. настроить локальный псевдоним в файлике tnsnames.ora, обозванный в
исходном письме SIDом (или поплясать с бубном и поднять ORACLE Names -
но это уже отдельная песня).Резюме: учи матчасть.
Листнер должер работать всегда. Иначе БД будет недоступна. Ручками листнер запускается: $ORACLE_HOME/bin/lsnrctl start
Када ставишь ету гадину лучче делать так:
0. Проставить ВСЕ переменные окружения и ядра как написано в библии (кроме мастдая, там оно само поставит).
1. Сразу сказать что БД ьудешь конфигурить в процессе инсталляции.
2. Чтоб в БД работали русские кодировки надо, када появится кнопка про дополнитеотные языки, выбрать CL8MSWIN1251. Мона и кои8, но с ним бывают траблы.
3. Када "градусник" закончицца, вылезет настройщик сети - тут надо настроить ORACLE NAMES, порт оставь 1521, имя сервиса сделай как имя_базы.сетевой_домен (чтоб на забыть потом ))) ).
4. Теперь в нижнем окошке должно проскочить сообщение, что листнер запущен намана.
5. Потом взлетает конфигуратор БД, там делай все по дефолту.
Ручками мастер конфигурации сети пускается так: $ORACLE_HOME/bin/netca
Настройки TNS живут тут: $ORACLE_HOME/network/admin
Ручками мастер конфигурации базы пускается так: $ORACLE_HOME/bin/dbca
ЗЫЖ
Самое простое - купи себе версию ORACLE PERSONAL под мастдай. Ставится влет и для учебы самое оно.
>Листнер должер работать всегда. Иначе БД будет недоступна. Ручками листнер запускается: $ORACLE_HOME/bin/lsnrctl
> start
>Када ставишь ету гадину лучче делать так:
>0. Проставить ВСЕ переменные окружения и ядра как написано в библии (кроме
>мастдая, там оно само поставит).
>1. Сразу сказать что БД ьудешь конфигурить в процессе инсталляции.
>2. Чтоб в БД работали русские кодировки надо, када появится кнопка про
>дополнитеотные языки, выбрать CL8MSWIN1251. Мона и кои8, но с ним бывают
>траблы.
>3. Када "градусник" закончицца, вылезет настройщик сети - тут надо настроить ORACLE
>NAMES, порт оставь 1521, имя сервиса сделай как имя_базы.сетевой_домен (чтоб на
>забыть потом ))) ).
>4. Теперь в нижнем окошке должно проскочить сообщение, что листнер запущен намана.
>
>5. Потом взлетает конфигуратор БД, там делай все по дефолту.
>Ручками мастер конфигурации сети пускается так: $ORACLE_HOME/bin/netca
>Настройки TNS живут тут: $ORACLE_HOME/network/admin
>Ручками мастер конфигурации базы пускается так: $ORACLE_HOME/bin/dbca
>ЗЫЖ
>Самое простое - купи себе версию ORACLE PERSONAL под мастдай. Ставится влет
>и для учебы самое оно.Прикол в том, что при попытке снова запустить листенер вылетает ошибка, что он уже запущен! Объяснить про SID, я его сам придумывать должен или он должен в моей БД какой-то конкретный быть? Стаывил под мастдай версию Enterprise и при инсталляции БД не создавал. И что там с переменными окружения?
>
>Прикол в том, что при попытке снова запустить листенер вылетает ошибка, что
>он уже запущен! Объяснить про SID,
SID (в версиях 8.1.х и 9i уже не sid, а service_name )Это просто имя БД внутри ораклячей сети. Ораклячья сеть строится поверх tcp/ipc на протоколе Net8 (для версий 8.0 и выше). Прописать мона ручками в файло $ORACLE_HOME/network/admin/tnsnames.ora
Пример:
# описатель "твоей" БД, 9i например
dbname.you_machine.domain.RU =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = you_machine.domain.RU )(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = dbname)
)
)
# описатель базы старого формата (8.0.4), которая есть в сети и к ней нужен доступ
any_sid.other_machine.domain.RU =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = other_machine.domain.RU)(PORT = 1521))
)
(CONNECT_DATA =
(SID = any_sid)
)
)
Тамже есть файл listener.ora. Его пример:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = you_machine.domain.RU )(PORT = 1521))
)
)
)SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /export/home/oracle/app/oracle/product/9.2)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = dbname.you_machine.domain.RU )
(ORACLE_HOME = /export/home/oracle/app/oracle/product/9.2)
(SID_NAME = db_name)
)
)
Еще есть sqlnet.ora. Его пример:
NAMES.DEFAULT_DOMAIN = domain.RU
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)С сетью вроде все.
Проверить доступ мона так (при настройках как в примерах и дефолтных паролях):
sqlplus system/manager@dbname - на твою базу
sqlplus system/manager@any_sid - на другую базу
>я его сам придумывать должен
да
>или он должен в моей БД какой-то конкретный быть?
любой. Просто "имя_БД.имя_машины.домен" проще запоминается
>Стаывил под
>мастдай версию Enterprise и при инсталляции БД не создавал. И что
>там с переменными окружения?
В мастдае переменные инсталлер сам пропишет, не заморачивайся. В *nix'ах надо делать отдельного юзьверя и прописывать ему в профайл все переменные.