Просторы интернета

19 Февраль 2015
Earlier
Пт, Сен 13, 2019

Bobby Durrett recently published a note about estimating the volume of non-logged blocks written by an instance with the aim of getting some idea of the extra redo that would be generated if a database were switched to “force logging”.

Since my most recent blog notes have included various extracts [...]

Source: jonathanlewis.wordpress.com
Пт, Сен 13, 2019

At the UKOUG TechFest 2019 event in Brighton this year I'll be chairing the CBO Panel session on Monday 2nd December at noon. The panellists will be Maria Colgan, Nigel Bayliss, Christian Antognini and Richard Foote.

It will be possible to propose questions on the day – written or spoken, but [...]

Source: jonathanlewis.wordpress.com
Пт, Сен 13, 2019
Первоначально проблема представлялась просто как запрос с нестабильным временем выполнения на Read-Only Standby , при более внимательном рассмотрении выяснилось, что запрос не просто небыстро выполняется, а периодически-трагически гибнет: с сообщениями в alert.log: LMHB trace file: *) обращает на себя внимание, что ожидание LGWR library cache lock не превышает max=5.500000 sec [...]
Source: iusoltsev.wordpress.com
Вт, Сен 10, 2019

Somewhere I think I've published a note about an anomaly that's been bugging me since at least Oracle 10g – but if it is somewhere on the Internet it's hiding itself very well and I can't find it, though I have managed to find a few scripts on my laptop [...]

Source: jonathanlewis.wordpress.com
Пн, Сен 09, 2019

Upgrades cause surprises – here's a pair of results from a model that I constructed more than 15 years ago, and ran today on 12.2, then modified and ran again, then ran on 11.2.0.4, then on 12.1.0.2. It's very simple, I just create a table, gather stats, then update every [...]

Source: jonathanlewis.wordpress.com
Ср, Сен 04, 2019
Аналогично описанному для версий 11-12.1 — JPPD в присутствии удалённой таблицы и View Merging — и справедливому до 19.3 включительно (тесткейс там есть — можно проверить) наблюдению, CBO версии 12.2 также может полностью блокировать применение Join Predicate Push Down с резолюцией JPPD bypassed: Remote table referenced — в этот раз [...]
Source: iusoltsev.wordpress.com
Вт, Авг 27, 2019

This is another of the blog notes that have been sitting around for several years – in this case since May 2014, based on a script I wrote a year earlier. It makes an important point about “inconsistency” of timing in the way that Oracle records statistics of work done. [...]

Source: jonathanlewis.wordpress.com
Пн, Авг 26, 2019

A recent thread on the Oracle Developer Community starts with the statement that a query is taking a very long time (with the question “how do I make it go faster?” implied rather than asked). It's 12.1.0.2 (not that that's particularly relevant to this blog note), and we have [...]

Source: jonathanlewis.wordpress.com
Ср, Авг 21, 2019
In this article we will see how to stop a running SOA composite process. It is normal to stop from Enterprise Manager (http: // {hostname}: {port number} / em), but I thought this was not "user friendly".

How can I use the API to identify the SOA composite instance ID? [...]
Source: oracleanil.blogspot.ru
Ср, Авг 21, 2019
This content has already been introduced in many entries, but I will keep it personally as many people still ask me.
Log in to Enterprise Manager Fusion Middleware Control.
http: // {host name or IP}: {port number} / em Open the SOA folder, right click on the soa_infra (soa_server1) folder and [...]
Source: oracleanil.blogspot.ru
Ср, Авг 21, 2019
Two new Oracle Service Bus samples have been registered on the Oracle Technology Network site. The first sample project is osb-205-SimpleREST. This demonstrates how to fully implement a REST service in OSB. “Complete” means that the following HTTP methods are implemented using OSB.
GET POST PUT DELETE HEAD OPTIONS Another REST sample is now over. This is [...]
Source: oracleanil.blogspot.ru
Ср, Авг 21, 2019
Error

When starting the SOA server, the following exception may occur.




log is opened. All server side log events will be written to this file.> cation for user weblogic denied weblogic.security.SecurityInitializationException: Authentication for user weblogic denied at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.doBootAuthorization(CommonSecurityServiceM at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.initialize(CommonSecurityServiceManagerDel [...]
Source: oracleanil.blogspot.ru
Ср, Авг 21, 2019

I faced the problem that it took a long time to execute select in DB Adapter. There were three tables that contained a large amount of data and contained many columns, and these tables were being handled by the DB Adapter.

The database side configured a primary key / foreign key [...]
Source: oracleanil.blogspot.ru
Пн, Авг 19, 2019

Test data:

create table t_str as select round(dbms_random.value(1e10,9e10)) str from dual connect by level select min(fstr) res2 2 from t_str t 3 cross apply ( 4 select listagg(c) within group (order by 1) fstr 5 [...]
Source: orasql.org
Пт, Авг 02, 2019
select nls_env ,count(*) cnt ,xmlcast(xmlagg(xmlelement(job_name, job_name||',')).extract('//text()') as clob) jobs from dba_scheduler_jobs group by nls_env; [...]
Source: orasql.org
Ср, Июл 31, 2019
Тесты с простым тестовым запросом проводились на версии 18c — там трассировка и комментарии Oracle полнее, хотя описываемые особенности известны и наблюдаемы, как минимум, с версии 12.1 Итак, для запроса одновременно созданы два элемента SPM — SQL Patch и SQL Plan Baseline: , Baseline фиксирует индексный доступ: , в то [...]
Source: iusoltsev.wordpress.com
Вс, Июл 28, 2019
Обсуждая с Юрием Пудовченко длительный разбор/long parse запроса, обратили внимание на расхождения отображение длительности процесса parsing-а в отчётах tkprof и V$ACTIVE_SESSION_HISTORY, в то время как tkprof показывает: , данные ASH говорят о том, что в течение этих 14 секунд запрос был как бы одновременно IN_SQL_EXECUTION, IN_PARSE, IN_HARD_PARSE с нулевым SQL_EXEC_ID, [...]
Source: iusoltsev.wordpress.com
Чт, Июл 11, 2019

Simple example: tracefiles for the last 5 days:

select fc.* from v$diag_trace_file f join v$diag_trace_file_contents fc on f.adr_home=fc.adr_home and f.trace_filename=fc.trace_filename where f.modify_time >= systimestamp - interval'5' minute and fc.timestamp [...]
Source: orasql.org
Ср, Июл 10, 2019
Столкнулся с принципиальной невозможностью форсировать параллельное выполнение даже на этапе EXPLAIN PLAN: — т.е. текст запроса форсирует /*+ PARALLEL(8) */, а DBMS_XPLAN.DISPLAY использует DOP 1 because of hint (*) => когнитивный диссонанс detected) К счастью, ответ легко находится в частичных трейсах оптимизатора: Становится понятнее принципиальная невозможность создания параллельного индекса на [...]
Source: iusoltsev.wordpress.com
Вт, Июл 09, 2019

I know this syntax for a long time, since when lateral() was not documented yet, but recently I found a bug: the following query successfully returns 1 row:

with a as (select level a from dual connect by level [...]
Source: orasql.org
Пн, Июл 08, 2019
DETERMINISTIC functions in Oracle

PL/SQL functions in Oracle can be tagged with a DETERMINISTIC clause, to indicate that the function will always produce the same output for a given input and will have no side effects.

A little elaboration is in order here.

1. …will always produces the [...]
Source: www.oratable.com
Вс, Июл 07, 2019
Особенность первая Проблема с непараллельным выполнением казалось бы гарантированно захинтованного запроса, SQL Monitor которого показывал: (*) DOP Downgrade 100% и, как следствие/признак serial execution — отсутствующую секцию Parallel Execution Details (**) медленное выполнение по честному (без PX COORDINATOR FORCED SERIAL) параллельному плану одним процессом, однако с выраженным ожиданием выделения PX-процессов [...]
Source: iusoltsev.wordpress.com
Ср, Июн 26, 2019

Recently I got a question: why CBO chooses “FIXED TABLE FULL TABLE” scan instead of “FIXED INDEX” in case of a join to flashback_transaction_query view with the predicate “q.xid = a.versions_xid”:

select versions_xid, versions_startscn, versions_starttime, versions_endscn, versions_endtime, --scn_to_timestamp, to_char(a.classification), a.* from vms.advisory_arch_20190624 versions between [...]
Source: orasql.org
Вс, Июн 09, 2019
Запрос со ср.временем выполнения 3,7 мс периодически выполняется 22 секунды (*): — учитывая, что SQL Patch NO_ADAPT_4g02xxnvrk8j9 применяется как стандартное средство отключения адаптивных фич на уровне запроса и не способен повлиять на отдельное выполнение, остаётся вопрос, что же замедлило выполнение запроса SQL_EXEC_ID = 18306846 ? SQL Monitoring Report ничего существенного [...]
Source: iusoltsev.wordpress.com
Пн, Июн 03, 2019
В процессе анализа запросов удобно использовать SQL Monitor через процедуру DBMS_SQLTUNE.REPORT_SQL_MONITOR напрямую или через OEM/OCM/SQL Developer Полезно при этом иметь в виду некоторые "врождённые особенности отображения статистики выполнения запроса, как я полагаю, неизменные с версии 11g: 1) Если в процессе выполнения запрос, например, через PL/SQL функции вызывает рекурсивные запросы (классический [...]
Source: iusoltsev.wordpress.com
Вс, Июн 02, 2019

Some time ago there was a question on the sql.ru about splitting validity periods for gym cards to enabled and blocked periods:

-- we have a table with gym cards (card id, validity period: from/to) CREATE TABLE cards(id_card NUMBER, num_card VARCHAR2(100), dt_from DATE, dt_to DATE); -- periods when cards were blocked (record id, [...]
Source: orasql.org
Чт, Май 30, 2019

You may know that table() (kokbf$ collection functions), xmltable and json_table functions block Join-Predicate PushDown(JPPD).

Simple example:

DDL create table xtest(a, b, c) as select mod(level,1000),level,rpad('x',100,'x') from dual connect by level0) 8 - access("A"="C"."A")

You can see that JPPD works fine in case of global temporary tables and, obviously, the first workaround is to [...]

Source: orasql.org
Вт, Май 28, 2019

Today I wanted to give a link to the description of v$sql_hint.target_level to show that no_parallel can be specified for statement or object, and though it's pretty obvious, but surprisingly I haven't found any articles or posts about it, so this short post describes it.
v$sql_hint.target_level is a bitset, where
1st bit [...]

Source: orasql.org
Пт, Май 17, 2019
С Максимом Филатовым рассматривали кейс с заметным кол-вом ожиданий cursor: pin S wait on X в том месте/тесте, где их быть по идее быть не должно По данным AWR проблема выглядела следующим образом: ASH показывает параллельные процессы (P…) тестовых INSERT STATEMENT, блокирующие друг друга на cursor: pin S wait on [...]
Source: iusoltsev.wordpress.com
Вт, Май 14, 2019

Sometimes it might be useful to analyze top time-consuming filter and access predicates from ASH, especially in cases when db load is spread evenly enough by different queries and top segments doesn't show anything special, except usual things like “some tables are requested more often than others”.
Of course, we can [...]

Source: orasql.org
Комментирование отключено.