Екатерина, скажите, пожалуйста, каков текущий статус у этой проблемы? Благополучно забыта? Сайт у меня сейчас то же самое — заблокирован мой блог( xt-r.com ), в то время как Google этот сайт( djamaattakbir.com ) уже удалил у себя, но он по-прежнему открывается в 3/4 случаев, что свидетельствует от том, что ничего не было предпринято.
Далее создадим вью current_tablespace_size там будем хранить текущие данные о табличных пространствах и суммированные данные.
Это не мат.вью, чтобы там что-то хранить.
Вообще у вас и код показательный — сразу видно что учить oracle толком не начали.
union во вьюхе — изучите rollup, grouping sets.
(select MAX(TIME_SNAPSHOT) from db_TABLESPACE_SIZE) — индексов не создали, сколько раз мучать таблицу будете всего в одном запросе… Сплошный full table scan…
Кроме того, есть еще и max() keep (dense_rank ...)
Достаточно интересный подход использования preprocess external tables. Помню как сам радовался этой фиче.
А почему не стандартный и наиболее распространенный подход с java? Я, например, специально еще добавлял возможность прекращения выполнения по таймауту: www.xt-r.com/2010/11/oracle-svn-git-etc.html
Кстати, опыт тестирования показывает, что случайные данные часто не имеют ничего общего с реальными
Абсолютно согласен, мало того даже верные данные ничего не дадут, если не будет полноценной рабочей нагрузки — например, насколько будет дегрейд при различных инсертах, больших сортировках и хэш/мердж джойнах, нестед лупсах
Хотелось его хорошенько «пощупать» с тех пор как IBM объявили о поддержке PL/SQL :)
Я вот не совсем понял, а схемы все-таки никак не привязаны к юзерам?
ps. может они в нем не схемы называются, я про syscat и sysibmadm и тд.
Удивительно, прочел про этот пост только сегодня в твиттере — как-то незаметно прошло через rss :) Свой вариант сделал, не заглядывая в топик однако кое-что смотрю у нас похоже(правда, я старался сгольфить-решить кратко):
with t as (
select level-1 n
from dual
connect by level<=8
)
select
lpad(to_char(power(10,t1.n)),8,'0')||chr(13)
||lpad(to_char(power(10,t2.n)),8,'0')||chr(13)
||lpad(to_char(power(10,t3.n)),8,'0')||chr(13)
||lpad(to_char(power(10,t4.n)),8,'0')||chr(13)
||lpad(to_char(power(10,t5.n)),8,'0')||chr(13)
||lpad(to_char(power(10,t6.n)),8,'0')||chr(13)
||lpad(to_char(power(10,t7.n)),8,'0')||chr(13)
||lpad(to_char(power(10,t8.n)),8,'0')||chr(13) "В графическом виде"
,chr(97+t1.n)||'1' "1"
,chr(97+t2.n)||'2' "2"
,chr(97+t3.n)||'3' "3"
,chr(97+t4.n)||'4' "4"
,chr(97+t5.n)||'5' "5"
,chr(97+t6.n)||'6' "6"
,chr(97+t7.n)||'7' "7"
,chr(97+t8.n)||'8' "8"
from t t1, t t2, t t3, t t4, t t5, t t6, t t7, t t8
where
power(2,t1.n)+power(2,t2.n)+power(2,t3.n)+power(2,t4.n)+power(2,t5.n)
+power(2,t6.n)+power(2,t7.n)+power(2,t8.n) = 255
and not exists(
select null
from
table(sys.odcinumberlist(t1.n+11,t2.n+21,t3.n+31,t4.n+41,t5.n+51,t6.n+61,t7.n+71,t8.n+81)) x1
,table(sys.odcinumberlist(t1.n+11,t2.n+21,t3.n+31,t4.n+41,t5.n+51,t6.n+61,t7.n+71,t8.n+81)) x2
where
x1.column_value>x2.column_value
and abs(trunc(x1.column_value/10)-trunc(x2.column_value/10))
= abs(mod(x1.column_value,10)-mod(x2.column_value,10))
)
И что? Поэтому надо древности публиковать более 10 лет давности?
Тем не менее, если имеете ввиду именно гос.тайну то 9.2, и вроде даже 10-ка атомщиками сертифировалась. Если же для всего остального, то вплоть до 11 сертифицировано.
Да мне лень все огрехи указывать, туда даже не дошел. Если захотите сами подучите и аналитику и прочее.
Это не мат.вью, чтобы там что-то хранить.
Вообще у вас и код показательный — сразу видно что учить oracle толком не начали.
union во вьюхе — изучите rollup, grouping sets.
(select MAX(TIME_SNAPSHOT) from db_TABLESPACE_SIZE) — индексов не создали, сколько раз мучать таблицу будете всего в одном запросе… Сплошный full table scan…
Кроме того, есть еще и max() keep (dense_rank ...)
А почему не стандартный и наиболее распространенный подход с java? Я, например, специально еще добавлял возможность прекращения выполнения по таймауту: www.xt-r.com/2010/11/oracle-svn-git-etc.html
' union all select ...и все дела. Только вот кому нужно ломать такую базейку, разработчики которой даже биндами не пользуются…
Абсолютно согласен, мало того даже верные данные ничего не дадут, если не будет полноценной рабочей нагрузки — например, насколько будет дегрейд при различных инсертах, больших сортировках и хэш/мердж джойнах, нестед лупсах
товарищиминусующие не в курсе истории создания Ruby :)Я вот не совсем понял, а схемы все-таки никак не привязаны к юзерам?
ps. может они в нем не схемы называются, я про syscat и sysibmadm и тд.
with t as ( select level-1 n from dual connect by level<=8 ) select lpad(to_char(power(10,t1.n)),8,'0')||chr(13) ||lpad(to_char(power(10,t2.n)),8,'0')||chr(13) ||lpad(to_char(power(10,t3.n)),8,'0')||chr(13) ||lpad(to_char(power(10,t4.n)),8,'0')||chr(13) ||lpad(to_char(power(10,t5.n)),8,'0')||chr(13) ||lpad(to_char(power(10,t6.n)),8,'0')||chr(13) ||lpad(to_char(power(10,t7.n)),8,'0')||chr(13) ||lpad(to_char(power(10,t8.n)),8,'0')||chr(13) "В графическом виде" ,chr(97+t1.n)||'1' "1" ,chr(97+t2.n)||'2' "2" ,chr(97+t3.n)||'3' "3" ,chr(97+t4.n)||'4' "4" ,chr(97+t5.n)||'5' "5" ,chr(97+t6.n)||'6' "6" ,chr(97+t7.n)||'7' "7" ,chr(97+t8.n)||'8' "8" from t t1, t t2, t t3, t t4, t t5, t t6, t t7, t t8 where power(2,t1.n)+power(2,t2.n)+power(2,t3.n)+power(2,t4.n)+power(2,t5.n) +power(2,t6.n)+power(2,t7.n)+power(2,t8.n) = 255 and not exists( select null from table(sys.odcinumberlist(t1.n+11,t2.n+21,t3.n+31,t4.n+41,t5.n+51,t6.n+61,t7.n+71,t8.n+81)) x1 ,table(sys.odcinumberlist(t1.n+11,t2.n+21,t3.n+31,t4.n+41,t5.n+51,t6.n+61,t7.n+71,t8.n+81)) x2 where x1.column_value>x2.column_value and abs(trunc(x1.column_value/10)-trunc(x2.column_value/10)) = abs(mod(x1.column_value,10)-mod(x2.column_value,10)) )Тем не менее, если имеете ввиду именно гос.тайну то 9.2, и вроде даже 10-ка атомщиками сертифировалась. Если же для всего остального, то вплоть до 11 сертифицировано.