Вакансия: Oracle Engineer в Yahoo

ПростоНик
Уже с Приветом
Posts: 1486
Joined: 28 Aug 2008 17:34
Location: UT

Re: Вакансия: Oracle Engineer в Yahoo

Post by ПростоНик »

Ljolja wrote: indeed there is $ORACLE_HOME/network/admin/sqlnet.ora file but no syntax description provided
at http://www.orafaq.com/wiki/Sqlnet.ora there is some (incomplete) description
Taking their and your advices I added content to the file
At the site I've found a parameter:
sqlnet.authentication_services = (ALL)
with no description
My feeling tells me, I likely need it and in this parameter one can specify who & how can connect to the server, isn't it?
ПростоНик wrote: Don't forget to bounce listener.
bounce = restart ? :oops:
bounce - stop/start or reload.

sqlnet.authentication_services - you don't need it unless you are using Kerberos, Radius or other ( WindowNR ?) authentication services.

Try it on Development first.

On Oracle Site download documentation for your oracle version. There is a book called "Oracle® Database
Net Services Reference". It contains all descriptions you need.
ПростоНик
Уже с Приветом
Posts: 1486
Joined: 28 Aug 2008 17:34
Location: UT

Re: Вакансия: Oracle Engineer в Yahoo

Post by ПростоНик »

Kateryna wrote:
ПростоНик wrote:Kateryna,

create table emp
(
empno number,
hiredate varchar2(4)
);

insert into emp values (111,'1980');
insert into emp values (112,'1980');
insert into emp values (113,'1980');
insert into emp values (121,'1981');
insert into emp values (122,'1981');
insert into emp values (131,'1982');
commit;

select
max(decode(hiredate,'1980',cnt,null)) P1980,
max(decode(hiredate,'1981',cnt,null)) P1981,
max(decode(hiredate,'1982',cnt,null)) P1982
from (
select hiredate, count(*) cnt
from emp
group by hiredate )
ПростоНик,
приходите на собеседование :D
Kateryna,
Спасибо за приглашение, но я на лыжах кататься люблю. :-)
mynameiszb
Уже с Приветом
Posts: 1663
Joined: 16 Jul 2009 14:18
Location: Uganda

Re: Вакансия: Oracle Engineer в Yahoo

Post by mynameiszb »

Easbayguy wrote:
mynameiszb wrote:Архитекторы? Странные у вас архитекторы, однако.
DW нанимали.
И?

Я серьезно, не понимаю. Может, меня испортило, что за все время работы не было коллег-админов, чей уровень оставлял бы желать лучшего. Было много людей, у которых учился, но ни разу не натыкался на человека, который бы считался Oracle DBA, и при этом не знал базовых вещей.

И почему специалист по Ораклу, с приставкой DW (data warehouse, правильно?) не может развернуть данные в нужном представлении, оттюнить запрос, посмотреть на системе - чем она реально занимается? Или сакральное осознание "снежинки" и справочников дат уже выносят эту персону вне рамок base level? 8O

PS. Проектировали и саппортили мы хранилища, нет там ничего экстраордираного, чтобы мозг взорвало и человек перестал на простейшие вопросы ответы давать :)
Easbayguy
Уже с Приветом
Posts: 10599
Joined: 17 Jul 2003 22:11

Re: Вакансия: Oracle Engineer в Yahoo

Post by Easbayguy »

mynameiszb wrote:
Easbayguy wrote:
mynameiszb wrote:Архитекторы? Странные у вас архитекторы, однако.
DW нанимали.
И?

Я серьезно, не понимаю. Может, меня испортило, что за все время работы не было коллег-админов, чей уровень оставлял бы желать лучшего. Было много людей, у которых учился, но ни разу не натыкался на человека, который бы считался Oracle DBA, и при этом не знал базовых вещей.

И почему специалист по Ораклу, с приставкой DW (data warehouse, правильно?) не может развернуть данные в нужном представлении, оттюнить запрос, посмотреть на системе - чем она реально занимается? Или сакральное осознание "снежинки" и справочников дат уже выносят эту персону вне рамок base level? 8O

PS. Проектировали и саппортили мы хранилища, нет там ничего экстраордираного, чтобы мозг взорвало и человек перестал на простейшие вопросы ответы давать :)
Знаете у меня такое чуство что вы в какой то другой Америке живете или были на рабочей визе слишком долго(не на ральстоне случайно с хайвэя сьезжаете?).
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
mynameiszb
Уже с Приветом
Posts: 1663
Joined: 16 Jul 2009 14:18
Location: Uganda

Re: Вакансия: Oracle Engineer в Yahoo

Post by mynameiszb »

Easbayguy wrote: Знаете у меня такое чуство что вы в какой то другой Америке живете или были на рабочей визе слишком долго(не на ральстоне случайно с хайвэя сьезжаете?).
Ребята, я серьезно говорю, я не понимаю, почему не сложные вопросы по Ораклу могут вызвать такую проблему у людей, которые с этим самым Ораклом работают :D
Ну, нет там никакого криминала, нет. И те, кто реально с базами ковыряется, смогут на этот список "угадай мелодию" ответить. Вас же никто не просит объяснить, какого дьявола в кластерном окружении сиквенсы будут выделяться непесекающимися пачками для отдельных узлов, или еще что-нибудь в том же духе.

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

Ральстон - это где? Я вообще в деревне обитаю, где из индустрии - ежегодняя ярмарка фермеров и закрытые военные базы с тучей свезенных со всего мира ученых.
avitya
Уже с Приветом
Posts: 3836
Joined: 13 Sep 2007 10:06

Re: Вакансия: Oracle Engineer в Yahoo

Post by avitya »

Kateryna wrote:В какоъ программе???? Ето и есть программа.
SQL = programma для вивода данних PL/SQL просто печатает результати запроса Если ви про то что
я support. (Design&Develpment не мой)
А ответу на interview я любому более менее правильному рада
Программа в моём комментарии, это кто данные отображает. Или у вас пользователи в sqlplus сидят? :)
User avatar
Flying Hen
Уже с Приветом
Posts: 1377
Joined: 14 May 2003 20:37
Location: NY, USA

Re: Вакансия: Oracle Engineer в Yahoo

Post by Flying Hen »

Albert_al wrote: 7) One table is big (200 mln), second is small (1 mln). Write a query to find the rows that exist in small but not in big. What is the difference between NOT IN and NOT EXIST, which query would be more effective (keyword i need to hear is hash anti-join)
Интересно, почему? Допустим N и M количество записей в большой и малой таблицах соотв, N=2*10^8, M=10^6.

Hash join:
Создать hash малой таблицы: M операций
Просканировать большую таблицу: N операций
Итого: M+N=2*10^8

Index join: M*lg(N)=8*10^6

Получается, что обычный join делает на два порядка меньше операций. Или в Оракле есть какие-то тонкости?
Easbayguy
Уже с Приветом
Posts: 10599
Joined: 17 Jul 2003 22:11

Re: Вакансия: Oracle Engineer в Yahoo

Post by Easbayguy »

mynameiszb wrote: Ральстон - это где? Я вообще в деревне обитаю, где из индустрии - ежегодняя ярмарка фермеров и закрытые военные базы с тучей свезенных со всего мира ученых.
Сьезд на штаб квартиру Оракла.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
mynameiszb
Уже с Приветом
Posts: 1663
Joined: 16 Jul 2009 14:18
Location: Uganda

Re: Вакансия: Oracle Engineer в Yahoo

Post by mynameiszb »

Easbayguy wrote:Сьезд на штаб квартиру Оракла.
А, допер :)

Нет, я работал в московском саппорте несколько лет. Сбер, РЖД и пр. - Premium Support Engineer, круглосуточная поддержка баз у клиентов.
Надо будет хоть запомнить, где здесь рассадник :)
User avatar
Kateryna
Уже с Приветом
Posts: 432
Joined: 22 Jan 2006 19:49
Location: Kiev,Ukraine->SF

Re: Вакансия: Oracle Engineer в Yahoo

Post by Kateryna »

avitya wrote:
Kateryna wrote:В какоъ программе???? Ето и есть программа.
SQL = programma для вивода данних PL/SQL просто печатает результати запроса Если ви про то что
я support. (Design&Develpment не мой)
А ответу на interview я любому более менее правильному рада
Программа в моём комментарии, это кто данные отображает. Или у вас пользователи в sqlplus сидят? :)
V browser-e. A tuda PL/SQL iz SQL pechataet cherez htp.p
Хорошие девочки владеют иностранными языками, плохие – матерным, умные –
своим собственным
User avatar
Albert_al
Уже с Приветом
Posts: 2305
Joined: 14 Apr 1999 09:01
Location: Ural->CA

Re: Вакансия: Oracle Engineer в Yahoo

Post by Albert_al »

Flying Hen wrote:Интересно, почему? Допустим N и M количество записей в большой и малой таблицах соотв, N=2*10^8, M=10^6.
Hash join:Создать hash малой таблицы: M операций
Просканировать большую таблицу: N операций
Итого: M+N=2*10^8
Index join: M*lg(N)=8*10^6
Получается, что обычный join делает на два порядка меньше операций. Или в Оракле есть какие-то тонкости?
What is the usual join? What i want to see in the query plan is HASH ANTI JOIN, but not the nested loops
http://asktom.oracle.com/pls/apex/f?p=1 ... 2029737684
Alcohol, Tobacco, Firearms, and Explosives. The makings of a great weekend in West Virginia!
User avatar
dotcom
Уже с Приветом
Posts: 9035
Joined: 25 Oct 2011 19:02
Location: SVO->ORD->SFO

Re: Вакансия: Oracle Engineer в Yahoo

Post by dotcom »

Easbayguy wrote:
mynameiszb wrote: Ральстон - это где? Я вообще в деревне обитаю, где из индустрии - ежегодняя ярмарка фермеров и закрытые военные базы с тучей свезенных со всего мира ученых.
Сьезд на штаб квартиру Оракла.
Эта таво... Не Ральстон, а РОлстон. Это во-первых. Во-вторых, съезд в Оракл - Марин Парквэй. Ролстон в другую сторону. :D
MG14
Уже с Приветом
Posts: 1475
Joined: 14 Sep 2008 01:22

Re: Вакансия: Oracle Engineer в Yahoo

Post by MG14 »

Kateryna wrote:Все очень просто на самом деле

select
sum(case when hiredate='1980' then 1 else 0 end) p1980,
sum(case when hiredate='1981' then 1 else 0 end) p1981,
sum(case when hiredate='1982' then 1 else 0 end) p1982
from emp
А без case/decode/if/whatever можите?
User avatar
Kateryna
Уже с Приветом
Posts: 432
Joined: 22 Jan 2006 19:49
Location: Kiev,Ukraine->SF

Re: Вакансия: Oracle Engineer в Yahoo

Post by Kateryna »

Mogu!

select * from (select empno, to_char(hiredate,'yyyy')y from emp)
pivot
(
count(empno) as qty
for (y) in
(
1980 as P1980,
1981 as P1981,
1982 as P1982,
1987 as P1987
)
)
Хорошие девочки владеют иностранными языками, плохие – матерным, умные –
своим собственным
MG14
Уже с Приветом
Posts: 1475
Joined: 14 Sep 2008 01:22

Re: Вакансия: Oracle Engineer в Yahoo

Post by MG14 »

Kateryna wrote:Mogu!

select * from (select empno, to_char(hiredate,'yyyy')y from emp)
pivot
(
count(empno) as qty
for (y) in
(
1980 as P1980,
1981 as P1981,
1982 as P1982,
1987 as P1987
)
)
А без pivot? :D

PS Есть старый добрый trick с модулем и знаком.
User avatar
Kateryna
Уже с Приветом
Posts: 432
Joined: 22 Jan 2006 19:49
Location: Kiev,Ukraine->SF

Re: Вакансия: Oracle Engineer в Yahoo

Post by Kateryna »

Zdaus'
Хорошие девочки владеют иностранными языками, плохие – матерным, умные –
своим собственным
MG14
Уже с Приветом
Posts: 1475
Joined: 14 Sep 2008 01:22

Re: Вакансия: Oracle Engineer в Yahoo

Post by MG14 »

Kateryna wrote:Zdaus'
Ну что-то типа

sum(1 - abs(sign(hiredate - 1980)))
Easbayguy
Уже с Приветом
Posts: 10599
Joined: 17 Jul 2003 22:11

Re: Вакансия: Oracle Engineer в Yahoo

Post by Easbayguy »

dotcom wrote:
Easbayguy wrote:
mynameiszb wrote: Ральстон - это где? Я вообще в деревне обитаю, где из индустрии - ежегодняя ярмарка фермеров и закрытые военные базы с тучей свезенных со всего мира ученых.
Сьезд на штаб квартиру Оракла.
Эта таво... Не Ральстон, а РОлстон. Это во-первых. Во-вторых, съезд в Оракл - Марин Парквэй. Ролстон в другую сторону. :D
После пары лет в Бельмонте, у меня все ральстон. :D
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
Easbayguy
Уже с Приветом
Posts: 10599
Joined: 17 Jul 2003 22:11

Re: Вакансия: Oracle Engineer в Yahoo

Post by Easbayguy »

MG14 wrote:
Kateryna wrote:Zdaus'
Ну что-то типа

sum(1 - abs(sign(hiredate - 1980)))
Хороший вопрос бы как посчитать число binding variables в sql_text из v$sqlarea.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
MG14
Уже с Приветом
Posts: 1475
Joined: 14 Sep 2008 01:22

Re: Вакансия: Oracle Engineer в Yahoo

Post by MG14 »

Easbayguy wrote:
MG14 wrote:
Kateryna wrote:Zdaus'
Ну что-то типа

sum(1 - abs(sign(hiredate - 1980)))
Хороший вопрос бы как посчитать число binding variables в sql_text из v$sqlarea.
Ну это вы меня конечно приложили :D Я оракл в последний раз руками трогал году в 98. После краткого просмотра гугла я бы копал в сторону regexp_count.
User avatar
Albert_al
Уже с Приветом
Posts: 2305
Joined: 14 Apr 1999 09:01
Location: Ural->CA

Re: Вакансия: Oracle Engineer в Yahoo

Post by Albert_al »

Easbayguy wrote: Хороший вопрос бы как посчитать число binding variables в sql_text из v$sqlarea.
Cool! If they now the diff between soft parse and hard parse. Something like that, how many SQL's use bind variables ? :
SELECT count (DISTINCT S.SQL_ID )
FROM v$sqltext_with_newlines s --v$sqlarea s
WHERE regexp_like(S.SQL_TEXT,':[:alpha:]')
v$sqlarea only show the first 1000 bytes
Alcohol, Tobacco, Firearms, and Explosives. The makings of a great weekend in West Virginia!
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Вакансия: Oracle Engineer в Yahoo

Post by crypto5 »

Flying Hen wrote:
Albert_al wrote: 7) One table is big (200 mln), second is small (1 mln). Write a query to find the rows that exist in small but not in big. What is the difference between NOT IN and NOT EXIST, which query would be more effective (keyword i need to hear is hash anti-join)
Интересно, почему? Допустим N и M количество записей в большой и малой таблицах соотв, N=2*10^8, M=10^6.

Hash join:
Создать hash малой таблицы: M операций
Просканировать большую таблицу: N операций
Итого: M+N=2*10^8

Index join: M*lg(N)=8*10^6

Получается, что обычный join делает на два порядка меньше операций. Или в Оракле есть какие-то тонкости?
Это если вам удалось построить совершенный хеш без колизий за один проход что думаю исчезающе малореально. А еще оракл на загруженной системе может не захотеть делать для всей таблицы один хеш, так как на все хеши всех выполняемых запросов памяти не напасешься, а разобьет малую таблицу на чанки, и каждый чанк будет отдельно хешджойнить. А еще при обычном индексе могут использоваться только данные собственно дерева индекса, а не читаться таблица, что может быть намного экономнее если в таблице много полей. А еще в случае обычного деревянного индекса наверняка при индексном джойне будет рандомно хитаться диск(т.к. индекс может в памяти не поместится), что скажется на производительности куда больше чем количество операций. А еще если пофантазировать, оракл может захотеть отсортировать малую таблицу, и делать джойн слиянием, что очень благотворно скажется на паттернах доступа к диску. А еще очень важно знать соответствует ли каждой записи из малой таблицы хотя бы одна запись из большой, потому что если нет, то обычно можно определить этот факт не проходя в самый низ дерева, т.е. операций на каждой итерации индекс джойна не log(...) а меньше.
In vino Veritas!
User avatar
Flying Hen
Уже с Приветом
Posts: 1377
Joined: 14 May 2003 20:37
Location: NY, USA

Re: Вакансия: Oracle Engineer в Yahoo

Post by Flying Hen »

Albert_al wrote: What is the usual join? What i want to see in the query plan is HASH ANTI JOIN, but not the nested loops
http://asktom.oracle.com/pls/apex/f?p=1 ... 2029737684
Тогда надо точнее формулировать. Если нет индекса, то hash join конечно лучше чем nested loop join.
KotKot
Уже с Приветом
Posts: 5401
Joined: 04 Feb 2009 05:05

Re: Вакансия: Oracle Engineer в Yahoo

Post by KotKot »

Kateryna wrote:Все очень просто на самом деле

select
sum(case when hiredate='1980' then 1 else 0 end) p1980,
sum(case when hiredate='1981' then 1 else 0 end) p1981,
sum(case when hiredate='1982' then 1 else 0 end) p1982
from emp

или

select
count(case when hiredate='1980' then 1 else null end) p1980,
count(case when hiredate='1981' then 1 else null end) p1981,
count(case when hiredate='1982' then 1 else null end) p1982
from emp
Спасибо!
Из своей головы не эмигрируешь.
User avatar
Kateryna
Уже с Приветом
Posts: 432
Joined: 22 Jan 2006 19:49
Location: Kiev,Ukraine->SF

Re: Вакансия: Oracle Engineer в Yahoo

Post by Kateryna »

Скажите мне, действительно вопрос про pivoting такой трудный и лучше его не задавать?
Я просто не знаю ЧТО тогда спрашивать.

Спрашиваю про performance tuning, что делать если запросы медленно работают - практически все начинают со слов: Надо проверить чтобы была статистика недавно собранная. Правильно? Конечно. Мне что сразу говорить что у нас ее нет и не предвидеться?

Про NL vs Hash Joins я даже боюсь упоминать. Мы так вообще никого никогда не найдем. А найдем, то через 3 мес. сбежит...
Хорошие девочки владеют иностранными языками, плохие – матерным, умные –
своим собственным

Return to “Работа и Карьера в IT”