<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-1045816305977712294</id><updated>2012-05-08T11:09:46.300+04:00</updated><category term="url" /><category term="apex" /><category term="checkbox" /><category term="javascript" /><category term="translation" /><category term="news" /><category term="howto" /><category term="sqldeveloper" /><category term="compile" /><category term="app_version" /><category term="oracle" /><category term="firefox" /><category term="certification" /><category term="report" /><category term="sql" /><category term="tips" /><category term="debian" /><category term="search" /><category term="forms" /><category term="performance" /><category term="eclipse" /><category term="tora" /><category term="oracle-client" /><category term="svn" /><category term="deploy" /><title type="text">Записки об Oracle Application Express и не только....</title><subtitle type="html">Блог посвящен разработке и поддержке приложений, созданных с помощью Oracle Application Express (framework известный так же, как Apex, HTML DB, WebDB)</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://apex-dev.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default?start-index=26&amp;max-results=25" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>43</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/apexdev" /><feedburner:info uri="apexdev" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-2306084466346898377</id><published>2009-05-29T07:37:00.000+04:00</published><updated>2009-05-29T08:43:54.189+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="debian" /><category scheme="http://www.blogger.com/atom/ns#" term="oracle-client" /><title type="text">Установка Oracle Instant Client в Debian. Ссылка</title><content type="html">По роду своих занятий, часто приходится работать с Oracle с Debian машин. Как-то я уже немного вскольз рассказывал, как установить Oracle Instant Client (см. &lt;a href="http://apex-dev.blogspot.com/2008/01/tora-debian.html"&gt;Компиляция TOra в Debian&lt;/a&gt;). &lt;br /&gt;Но сегодня мне подкинули ссылочку на замечательную статью, где описывается аж целых два способа установки Oracle Instant Client. Понравилось: подробно расписано для чего это нужно и как выполнять установку. Рекомендую - &lt;a href="http://debianworld.ru/articles/ustanovka-oracle-instant-client-v-debian-ubuntu/"&gt;Установка Oracle Instant Client в Debian / Ubuntu &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-2306084466346898377?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="related" href="http://debianworld.ru/articles/ustanovka-oracle-instant-client-v-debian-ubuntu/" title="Установка Oracle Instant Client в Debian. Ссылка" /><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/2306084466346898377/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=2306084466346898377" title="Комментарии: 2" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/2306084466346898377" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/2306084466346898377" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/Vic9bz45YvY/oracle-instant-client-debian.html" title="Установка Oracle Instant Client в Debian. Ссылка" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2009/05/oracle-instant-client-debian.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-6445816034896071859</id><published>2009-04-24T07:00:00.001+04:00</published><updated>2009-04-24T11:43:07.093+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="url" /><category scheme="http://www.blogger.com/atom/ns#" term="apex" /><title type="text">Понимание формата URL в Application Express. Часть 2.</title><content type="html">Продолжение поста &lt;a href="http://apex-dev.blogspot.com/2009/04/url-application-express.html"&gt;"Понимание формата URL в Application Express. Часть 1."&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;b&gt;Вызов страницы, используя синонимы приложения и страницы&lt;/b&gt;&lt;br /&gt;Синоним для приложения или страницы не может содержать пробелов и не чувствительный к регистру. Ниже приведен пример запроса к странице, в котором используются синонимы страницы и приложения. Выполняется запрос к странице "home" приложения "myapp", используя текущую сессию: &lt;br /&gt;&lt;code&gt;f?p=myapp:home:&amp;APP_SESSION.&lt;/code&gt;&lt;br /&gt;где:&lt;ul&gt;&lt;br /&gt; &lt;li&gt;myapp - синоним для приложения&lt;/li&gt;&lt;br /&gt; &lt;li&gt;home - синоним для страницы&lt;/li&gt;&lt;br /&gt; &lt;li&gt;APP_SESSION - идентифифкатор сессии&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Синоним приложения должен быть уникален в рамках рабочей области (workspace). Если приложения, располагающиеся в разнызх рабочих областях, имеют одинаковые синонимы, необходимо использовать "&amp;c" аргумент, чтобы указать имя рабочей области. Например:&lt;br /&gt;&lt;code&gt;f?p=common_alias:home:&amp;APP_SESSION.&amp;c=WORKSPACE_A&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Использование 0 вместо Session Id&lt;/b&gt; &lt;br /&gt;Если страница APEX-приложения является обще доступной и не требует аутентификации, можно использовать "0" вместо идентификатора сессии.&lt;br /&gt;&lt;br /&gt;При запросе страницы, в URL которой стоит 0 вместо session id, Application Express присваивает новый session id и отсылает его вместе с cookie обратно браузеру.&lt;br /&gt;Таким образом, просматривая обще доступные страницы, можно видеть, что все генерируемые ссылки на обще доступные страницы будут содержать "0" в качестве session id. Однако, на самом деле Application Express будет использовать session id из cookie, чтобы переменные приложения были в актуальном состоянии.&lt;br /&gt;&lt;br /&gt;Эта фича полезна, когда необходимо спрятать настоящий идентификатор сессии (session id). Это бывает полезно как минимум в двух случаях:&lt;ul&gt;&lt;br /&gt;&lt;li&gt; Создание закладок пользователями. Нет необходимости сохранять номер сессии в ссылке закладки. &lt;/li&gt;&lt;br /&gt;&lt;li&gt; Поисковые системы. Номер сессии будет недоступен для ботов поисковых систем. Естевственным следствие этого будет ликвидация дублирования контента в поисковых системах, так как при каждом обращении бота поисковой системы на одну и ту же страницу, будет гарантированно получен один и тот же URL.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;   &lt;br /&gt;&lt;b&gt;Основы строк подстановки (Substitution Strings)&lt;/b&gt;&lt;br /&gt;Строки подстановки можно использовать в шаблонах страниц или в регионах для того, чтобы заменить символьную строку каким-либо значением.&lt;br /&gt;В Application Builder можно использовать строки подстановки следующим образом:&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Ссылки на элементы приложения или страницы. Синтаксис:&lt;code&gt;&amp;ITEM.&lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Использовть встроенные строки подстановки (см. &lt;a href="http://download.oracle.com/docs/cd/E10513_01/doc/appdev.310/e10499/concept.htm#HTMDB03024"&gt;оффициальную документацию&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-6445816034896071859?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/6445816034896071859/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=6445816034896071859" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/6445816034896071859" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/6445816034896071859" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/ziCypmFyKME/url-application-express-2.html" title="Понимание формата URL в Application Express. Часть 2." /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2009/04/url-application-express-2.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-4511153179965005315</id><published>2009-04-01T05:55:00.015+04:00</published><updated>2009-04-01T11:09:57.451+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="url" /><category scheme="http://www.blogger.com/atom/ns#" term="apex" /><title type="text">Понимание формата URL в Application Express. Часть 1.</title><content type="html">URL, которые отображаются для каждой страницы, однозначно определяют:&lt;br /&gt;&lt;ul&gt; &lt;li&gt;Адрес Application Express&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Идентификатор приложения (application ID) - уникальное число, однозначно идентифицирующее приложение. Уникален в рамках рабочей области (workspace)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Номер страницы (page number) - число, однозначно идентифицирующее страницу в приложении. Уникально в рамках приложения.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Идентификатор сессии (session ID)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Приложения и страницы могут иметь символьные псевдонимы (alphanumeric aliases).Так же, как и идентификаторы приложений и страниц, псевдоним приложения уникален в рамках рабочей области (workspace), а псевдоним страницы уникален в рамках приложения.&lt;br /&gt;&lt;br /&gt;При запуске приложения Application Express генерирует идентификатор сессии, который является ключем для доступа к значениям переменных приложения.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;h2&gt;Понимание URL для страниц&lt;/h2&gt;&lt;br /&gt;Все очень просто. Достаточно рассмотреть пример:&lt;code&gt;&lt;br /&gt;http://apex.oracle.com/pls/apex/f?p=4350:1:220883407765693447&lt;br /&gt;&lt;/code&gt;где:&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;i&gt;apex.oracle.com&lt;/i&gt; - адрес сервера&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;i&gt;pls&lt;/i&gt; - признак использования mod_plsql&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;i&gt;apex&lt;/i&gt; - название дескриптора доступа к БД (DAD). DAD описывает, как HTTP-сервер соединяется с сервером БД, чтобы обработать HTTP-запрос. Значение по умолчанию - apex.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;i&gt;f?p=&lt;/i&gt; - префикс, используемый Oracle Application Express&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;i&gt;4350&lt;/i&gt; - вызываемое приложение (application ID)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - вызываемая страницы приложения(page number)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;i&gt;220883407765693447&lt;/i&gt; - идентификатор сессии(session ID)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h2&gt;Использование синтаксиса "f?p"&lt;/h2&gt;&lt;br /&gt;Для создания переходов между страницами можно использовать следующий синтаксис:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;    f?p=App:Page:Session:Request:Debug:ClearCache:itemNames:itemValues:PrinterFriendly&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Синтаксис&lt;/th&gt; &lt;th&gt;Описание&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" align="left"&gt;App&lt;/td&gt;&lt;td&gt;Идентификатор (application ID) или символьный псевдоним (alias) приложения &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" align="left"&gt;Page&lt;/td&gt;&lt;td&gt;Номер (page number) или символьный псевдоним (alias) страницы &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" align="left"&gt;Session&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Идентификатор сессии (session ID). Идентификатор сесси имеет смысл указывать в том случае, если создается ссылка на страницу, в которой необходимо использовать  теже переменные, что и в текущей странице. Получить значение идентификатор текущей сессии можно следующими способами:&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Строка подстановки: "&amp;amp;SESSION."&lt;/li&gt;&lt;li&gt;PL/SQL: "V('SESSION')"&lt;/li&gt;&lt;li&gt;Bind переменная: ":APP_SESSION"&lt;/li&gt; &lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" align="left"&gt;Request&lt;/td&gt;&lt;td&gt;Выставляется при нажатии кнопки на странице приложения. Заполняется именем нажатой кнопки. Получить значение можно следующими способами:&lt;ul&gt;&lt;li&gt;Строка подстановки: "&amp;amp;REQUEST."&lt;/li&gt;&lt;li&gt;PL/SQL: "V('REQUEST')"&lt;/li&gt;&lt;li&gt;Bind переменная: ":REQUEST"&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" align="left"&gt;Debug&lt;/td&gt;&lt;td&gt;Отвечает за вывод отладочной информации при обработке страницы. Допустимые значения: "NO", "YES". Получить значение можно следующими способами:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Строка подстановки: "&amp;amp;DEBUG."&lt;/li&gt;&lt;li&gt;PL/SQL: "V('DEBUG')"&lt;/li&gt;&lt;li&gt;Bind переменная: ":DEBUG"&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" align="left"&gt;ClearCache&lt;/td&gt;&lt;td&gt;Очищает кэш. Выставляет значение указанных переменных в NULL. Пример: &lt;code&gt;f?p=100:5:&amp;amp;APP_SESSION.::NO:THE_EMPNO,THE_DEPTNO&lt;/code&gt; Очищает кэш переменных THE_EMPNO и THE_DEPTNO.&lt;br /&gt;Ключевое слово "RP" вызывает сброс навигации (region pagination) на странице. Например:&lt;br /&gt;&lt;code&gt;f?p=6000:6003:&amp;amp;APP_SESSION.::NO:RP,6004,6014&lt;/code&gt;&lt;br /&gt;Очищает состояние всех переменных на страницах 6004 и 6014. Сбрасывает состояние навигации (region pagination -RP) на странице 6003.&lt;br /&gt;Ключевое слово "APP" вызывает сброс кэша во всем приложении.&lt;br /&gt;Ключевое слово "SESSION" работает аналогично ключевому слову "APP", за исключением того, что очищает значение переменных, связанных со всеми приложениями, которые были использованы в рамках заданной сессии.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" align="left"&gt;itemNames&lt;/td&gt;&lt;td&gt;Список переменных через запятую, для которых необходимо выставить значение.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" align="left"&gt;itemValues&lt;/td&gt;&lt;td&gt;Список значений переменных через запятую. Не допустимо использование двоеточия (:) в качестве значения. Допустимо использование запятой в качестве значения, если значение заключено в обратные слеши (\123,45\).&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" align="left"&gt;PrinterFriendly&lt;/td&gt;&lt;td&gt;Определяет, будет ли страница выведена в режиме "на печать" (значение - "Yes"). Может быть использовано для условного вывода того или иного элемента страницы при выводе на печать. Получить значение можно следующими способом: V('PRINTER_FRIENDLY').&lt;br /&gt;Если задано, то Application Express не будет отображать закладки или навигационные области. Кроме того, все элементы форм будут выводиться как текстовые поля.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Продолжение следует...&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-4511153179965005315?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/4511153179965005315/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=4511153179965005315" title="Комментарии: 2" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/4511153179965005315" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/4511153179965005315" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/8OFf6sEkRik/url-application-express.html" title="Понимание формата URL в Application Express. Часть 1." /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2009/04/url-application-express.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-8521786486527626898</id><published>2008-08-01T06:54:00.000+04:00</published><updated>2008-08-01T12:15:18.239+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="tips" /><category scheme="http://www.blogger.com/atom/ns#" term="apex" /><title type="text">Недокументированная опция для статических LOV</title><content type="html">Согласно документации, статический список значений (STATIC, STATIC2) определяется следующим образом:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;STATIC[2]:Display Value[;Return Value],Display Value[;Return Value]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;То есть, получается, чтобы вывести &lt;b&gt;Display Value&lt;/b&gt; в котором содержалась бы запятая - невозможно. Однако, как выяснилось, это не совсем так... &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Оказывается для STATIC, STATIC2 есть недокументированная опция! (Спасибо за это &lt;a href="http://www.inside-oracle-apex.com/2008/04/undocumented-option-for-static-list-of.html"&gt;Patrick Wolf&lt;/a&gt;). Недокументированная опция выглядит следующим образом:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;STATIC[2](lov-entries-sep,display-return-sep):Display Value[&lt;display-return-sep&gt;Return Value]&lt;lov-entries-sep&gt;Display Value[&lt;display-return-sep&gt;Return Value]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;То есть, чтобы вывести &lt;b&gt;Display Value&lt;/b&gt; с запятой, можно, например, определить LOV следующим образом:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;STATIC2(;,=):Показывать, но не учитывать=1; Учытвать, но не показывать=2;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-8521786486527626898?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/8521786486527626898/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=8521786486527626898" title="Комментарии: 4" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/8521786486527626898" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/8521786486527626898" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/9gGL13ksl5Y/lov.html" title="Недокументированная опция для статических LOV" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>4</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2008/08/lov.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-1812559831434048401</id><published>2008-02-28T06:28:00.000+03:00</published><updated>2008-02-28T11:38:25.007+03:00</updated><title type="text">apex.oracle.com обновился до версии 3.1</title><content type="html">Официальный общедоступный &lt;a href="http://apex.oracle.com/"&gt;тестовый инстанс Oracle Application Express&lt;/a&gt; был обновлен до версии 3.1. Очевидно, что скоро новая версия Apex будет доступна для загрузки.&lt;br /&gt;&lt;span class="fullpost"&gt; Те,кто не подписывался на пробную версию Apex 3.1 (evaluation version) или ничего еще не читал, то с новыми фичами можно ознакомиться в статье &lt;a href="http://www.oracle.com/technology/products/database/application_express/html/3.1_new_features.html"&gt;"Release 3.1 New Features Sample Application"&lt;/a&gt;. &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-1812559831434048401?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/1812559831434048401/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=1812559831434048401" title="Комментарии: 3" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/1812559831434048401" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/1812559831434048401" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/Vau_Rj0nCqM/apexoraclecom-31.html" title="apex.oracle.com обновился до версии 3.1" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2008/02/apexoraclecom-31.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-8863621313179798027</id><published>2008-01-16T23:18:00.001+03:00</published><updated>2008-03-25T11:19:47.300+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="debian" /><category scheme="http://www.blogger.com/atom/ns#" term="howto" /><category scheme="http://www.blogger.com/atom/ns#" term="tora" /><category scheme="http://www.blogger.com/atom/ns#" term="compile" /><title type="text">Компиляция TOra в Debian</title><content type="html">&lt;a href="http://tora.sourceforge.net/"&gt;TOra&lt;/a&gt; - расшифровывается как "Toolkit For Oracle" и представляет из себя IDE для таких СУБД как Oracle, MySQL, PostgreSQL. На данный момент является одной из трех полноценных Oracle IDE под Linux (остальные две - это "SQL Developer" от Oracle и "Aqua Data Studio" от AquaFold). Концептуальное отличие - язык программирования исходного кода: "SQL Developer", "Aqua Data Studio" - Java, "TOra" - C++.&lt;br /&gt;&lt;br /&gt;На днях пришлось собирать ее из исходных кодов, так как по лицензионным причинам, в стандартной сборке TOra из репозитария Debian GNU/Linux не включена поддержка Oracle.&lt;br /&gt;&lt;span class="fullpost"&gt; &lt;br /&gt;Все работы велись в Debian Lenny:&lt;br /&gt;&lt;code&gt; $ uname -a&lt;br /&gt;Linux Debian4Test 2.6.22-3-686 #1 SMP Mon Nov 12 08:32:57 UTC 2007 i686 GNU/Linux&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Версия TOra: &lt;code&gt;&lt;br /&gt;$ ls -l /usr/src/tora-1.3.22/&lt;br /&gt;-rw-r--r--  1 root src  3496227 2008-01-15 18:19 tora-1.3.22.tar.gz&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Итак... поехали...&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Получение Oracle Instant Client&lt;/b&gt;&lt;/li&gt;Скачиваем следующие пакеты:&lt;ul&gt;&lt;br /&gt;       &lt;li&gt;&lt;a href="http://www.michelem.org/wp-content/tora-oracle/oracle-instantclient-basiclite_10.2.0.3-2_i386.deb"&gt; oracle-instantclient-basiclite_10.2.0.3-2_i386.deb&lt;/a&gt; &lt;/li&gt;&lt;br /&gt;       &lt;li&gt; &lt;a href="http://www.michelem.org/wp-content/tora-oracle/oracle-instantclient-devel_10.2.0.3-2_i386.deb"&gt;oracle-instantclient-devel_10.2.0.3-2_i386.deb&lt;/a&gt; &lt;/li&gt;&lt;br /&gt;       &lt;li&gt; &lt;a href="http://www.michelem.org/wp-content/tora-oracle/oracle-instantclient-sqlplus_10.2.0.3-2_i386.deb"&gt;oracle-instantclient-sqlplus_10.2.0.3-2_i386.deb&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;br /&gt;Или, как вариант, можно скачать соответствующие *.rpm пакеты с сайта &lt;a href="http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html"&gt;Oracle&lt;/a&gt; и с помощью утилиты "alien" преобразовать их в *.deb.&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Установка Oracle Instant Client&lt;/b&gt;&lt;/li&gt; &lt;code&gt;&lt;br /&gt;   $ sudo dpkg -i oracle-instantclient-basic_10.2.0.3-2_i386.deb&lt;br /&gt;   $ sudo dpkg -i oracle-instantclient-devel_10.2.0.3-2_i386.deb&lt;br /&gt;   $ sudo dpkg -i oracle-instantclient-sqlplus_10.2.0.3-2_i386.deb &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Проверяем, куда был установлен клиент Oracle:&lt;code&gt;&lt;br /&gt;$ whereis oracle&lt;br /&gt;oracle: /usr/lib/oracle /usr/include/oracle /usr/share/oracle&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Создание файла TNSNAMES.ORA&lt;/b&gt;&lt;/li&gt; Создаем файл /usr/lib/oracle/tnsnames.ora и заполняем его необходимыми данными для соединения с экземплярами БД Oracle.&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Настройка кэша динамических библиотек&lt;/b&gt;&lt;/li&gt; В файл /etc/ld.so.conf добавляем следующую строку:&lt;br /&gt;&lt;code&gt;/usr/lib/oracle/10.2.0.3/client/lib &lt;code&gt;&lt;br /&gt;&lt;br /&gt;После чего перегружаем кэш:&lt;br /&gt;&lt;code&gt; $ sudo ldconfig &lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/code&gt;&lt;/code&gt;&lt;/code&gt;&lt;li&gt;&lt;b&gt;Настройка переменных окружения&lt;/b&gt;&lt;/li&gt; Добавляем следующие строки в файл  /etc/profile: &lt;code&gt;&lt;br /&gt;   LD_LIBRARY_PATH=/usr/lib/oracle/10.2.0.3/client/lib:$LD_LIBRARY_PATH&lt;br /&gt;   TNS_ADMIN=/usr/lib/oracle&lt;br /&gt;   export LD_LIBRARY_PATH TNS_ADMIN&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/code&gt;&lt;li&gt;&lt;b&gt;Получение и распаковка исходных кодов TOra&lt;/b&gt;&lt;/li&gt; Исходный код можно загрузить с &lt;a href="http://tora.sf.net/"&gt;оф. сайта&lt;/a&gt;: &lt;code&gt;&lt;br /&gt;   $ sudo mkdir /usr/src/tora&lt;br /&gt;   $ cd /usr/src/tora&lt;br /&gt;   $ wget http://switch.dl.sourceforge.net/sourceforge/tora/tora-1.3.22.tar.gz&lt;br /&gt;   $ sudo tar zxvf tora-1.3.22.tar.gz&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Подготовка к пересборке TOra&lt;/b&gt;&lt;/li&gt; Устанавливаем необходимые модули:&lt;code&gt;&lt;br /&gt;   $ sudo aptitude install g++ gcc autoconf automake flex zlib1g-dev docbook-xsl&lt;br /&gt;   $ sudo aptitude install libqt3-mt-dev libqt3-compat-headers&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Сборка TOra&lt;/b&gt;&lt;/li&gt; Переходим в директорию с исходным кодом и выполняем конфигурацию:&lt;code&gt;&lt;br /&gt;   $ cd /usr/src/tora/tora-1.3.22/&lt;br /&gt;   $ ./configure --with-oracle=$ORACLE_HOME --with-oci-version=10G CC=gcc-4.2 --without-kde --with-xinerama&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;В результате последней операции получаем сообщение об ошибке:&lt;code&gt;&lt;br /&gt;   ...&lt;br /&gt;   checking whether uic supports -nounload ... yes&lt;br /&gt;   checking if STL implementation is SGI like... yes&lt;br /&gt;   checking for oracle... checking oci works... yes&lt;br /&gt;   checking for qscintilla... configure: error: Couldn't compile a simple QScintilla application. See config.log or specify its location with --with-qscintilla-includes&lt;br /&gt;   make: *** [configure-stamp] Ошибка 1&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;То есть, в системе не оказалось пакета "libqscintilla-dev". Скачиваем его и повторяем попытки компиляции:&lt;code&gt;&lt;br /&gt;   $ wget http://ftp.pl.debian.org/debian/pool/main/q/qscintilla/libqscintilla-dev_1.7.1-2_all.deb&lt;br /&gt;   $ sudo dpkg -i libqscintilla-dev_1.7.1-2_all.deb&lt;br /&gt;   $ ./configure --with-oracle=$ORACLE_HOME --with-oci-version=10G CC=gcc-2.95 --without-kde --with-xinerama&lt;br /&gt;   $ make&lt;br /&gt;   $ sudo make install&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;На этот раз ошибок не появилось.&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Запуск TOra&lt;/b&gt;&lt;/li&gt; Проверяем, где располагается TOra:&lt;code&gt;&lt;br /&gt;$ whereis tora&lt;br /&gt;tora: /usr/bin/tora /usr/lib/tora /usr/local/tora /usr/share/tora /usr/share/man/man1/tora.1.gz&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Запускаем IDE:&lt;code&gt;&lt;br /&gt;/usr/bin/tora&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-8863621313179798027?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/8863621313179798027/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=8863621313179798027" title="Комментарии: 23" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/8863621313179798027" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/8863621313179798027" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/AUs9OVSnq5s/tora-debian.html" title="Компиляция TOra в Debian" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>23</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2008/01/tora-debian.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-3078056438418869259</id><published>2007-12-24T23:34:00.000+03:00</published><updated>2007-12-25T16:44:39.081+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="performance" /><category scheme="http://www.blogger.com/atom/ns#" term="tips" /><category scheme="http://www.blogger.com/atom/ns#" term="apex" /><category scheme="http://www.blogger.com/atom/ns#" term="translation" /><title type="text">Официальный перевод "Apex. Sizing Up Performance"</title><content type="html">Около полугода назад я делал перевод статьи по оптимизации производительность Apex приложений - &lt;a href="http://www.oracle.com/technology/oramag/oracle/07-jan/o17browser.html"&gt;"Sizing Up Performance"&lt;/a&gt;:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://apex-dev.blogspot.com/2007/05/1.html"&gt;Повышаем производительность (часть 1)&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://apex-dev.blogspot.com/2007/05/2.html"&gt;Повышаем производительность (часть 2)&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://apex-dev.blogspot.com/2007/05/3.html"&gt;Повышаем производительность (часть 3)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Теперь же есть возможность оценить ее официальный перевод :), ознакомиться с которым можно в декабрьском номере русской версии Oracle Magazine - &lt;a href="http://www.oracle.com/global/ru/oramag/dec2007/w_dev_performance.html"&gt;"Оценка производительности"&lt;/a&gt;.&lt;br /&gt;Читаем, сравниваем....&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-3078056438418869259?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/3078056438418869259/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=3078056438418869259" title="Комментарии: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/3078056438418869259" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/3078056438418869259" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/iLB-Y6ehPTA/apex-sizing-up-performance.html" title="Официальный перевод &quot;Apex. Sizing Up Performance&quot;" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2007/12/apex-sizing-up-performance.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-976349418417676196</id><published>2007-12-22T21:46:00.000+03:00</published><updated>2007-12-25T17:11:19.041+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="apex" /><category scheme="http://www.blogger.com/atom/ns#" term="certification" /><title type="text">Нужна ли сертификация по APEX?</title><content type="html">&lt;a href="http://dpeake.blogspot.com/"&gt;David Peake&lt;/a&gt;, менеджер проекта APEX, активно прорабатывает вопрос создания программы сертификации по Oracle Application Express. И в настоящий момент &lt;a href="http://dpeake.blogspot.com/2007/12/would-you-like-to-be-certified-oracle.html"&gt;проводит&lt;/a&gt; опрос о необходимость такого курса вообще. &lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;a href="http://apex.oracle.com/pls/otn/f?p=33676:1"&gt;Опрос&lt;/a&gt; состоит из нескольких экранов по 3-5 вопросов. Суть вопросов: направление проф. деятельности, используете ли APEX и в каком качестве и мнение насчет необходимости сертификации по APEX. &lt;br /&gt;&lt;br /&gt;Исследование будет проводится до середины января 2008. Так что если есть желание оставить свое мнение - не откладывайте - времени осталось не много... ибо скоро НГ!!!&lt;br /&gt;PS: с наступающими праздниками!!!&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-976349418417676196?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/976349418417676196/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=976349418417676196" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/976349418417676196" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/976349418417676196" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/xgVfPqeIGGU/apex.html" title="Нужна ли сертификация по APEX?" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2007/12/apex.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-5903841127055989457</id><published>2007-12-04T23:52:00.000+03:00</published><updated>2007-12-25T18:06:26.294+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="sql" /><category scheme="http://www.blogger.com/atom/ns#" term="tips" /><category scheme="http://www.blogger.com/atom/ns#" term="oracle" /><title type="text">Запросы для получения ряда чисел</title><content type="html">В некоторых случаях бывает необходимо получить последовательность чисел от N до M (в последнее время что-то уж очень часто возникает такая необходимость :). Дабы самому не забыть решил перечислить известные мне способы:&lt;br /&gt;&lt;span class="fullpost"&gt; &lt;code&gt;&lt;br /&gt;-- Самый простой&lt;br /&gt;Select Rownum &lt;br /&gt;  From User_Objects &lt;br /&gt; Where Rownum &lt;= 25;&lt;br /&gt;&lt;br /&gt;-- Кол-во единичек в CUBE - степень двойки&lt;br /&gt;Select Rownum &lt;br /&gt;  From (Select 1 From Dual Group By Cube(1, 1, 1, 1, 1)) &lt;br /&gt; Where Rownum &lt;= 25;&lt;br /&gt;&lt;br /&gt;-- С использованием иерархичного запроса&lt;br /&gt;Select Level &lt;br /&gt;  From Dual &lt;br /&gt;Connect By Level &lt;= 25;&lt;br /&gt;&lt;br /&gt;-- Только для 10 версии и выше&lt;br /&gt;Select y from dual&lt;br /&gt;model &lt;br /&gt;  dimension by (1 as x) measures (1 as y)&lt;br /&gt;  rules iterate (25) (y[iteration_number + 1] = iteration_number + 1);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Есть есть еще какие-либо решения - будет интересно посмотреть...&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-5903841127055989457?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/5903841127055989457/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=5903841127055989457" title="Комментарии: 3" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/5903841127055989457" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/5903841127055989457" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/q4ykrIaBL8Q/blog-post.html" title="Запросы для получения ряда чисел" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2007/12/blog-post.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-212320159354695514</id><published>2007-11-23T23:26:00.000+03:00</published><updated>2007-11-27T12:52:03.454+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="apex" /><title type="text">APEX 3.1 доступен для тестирования</title><content type="html">Буквально на днях команда Oracle Application Express анонсировала версию 3.1 для beta тестирования. Для того, чтобы получить доступ к тестовому инстансу, необходимо&lt;span class="fullpost"&gt; всего лишь &lt;a href="http://apex.oracle.com/pls/otn/f?p=eval31"&gt;зарегистрироваться&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Основная новинка - это интерактивные отчеты (Interactive Report Regions). Уже есть даже демонстрационная страничка от &lt;a href="http://dgielis.blogspot.com/"&gt;Dimitri Gielis&lt;/a&gt; - &lt;a href="http://apex.oracle.com/pls/apexbeta/f?p=319:1:3997260981153731"&gt;пример Interactive Report Regions&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Кроме того, для учета пожеланий/замечаний пользователей новой версии Apex, была создана &lt;a href="http://apex.oracle.com/pls/otn/f?p=fdbk31"&gt;страничка обратной связи&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Список новых фич:&lt;ul&gt;&lt;br /&gt;    &lt;li&gt;Application Builder &lt;/li&gt;    &lt;br /&gt;    &lt;ul&gt;  &lt;li&gt;Interactive Report Regions&lt;/li&gt;&lt;br /&gt;          &lt;li&gt;Templates &lt;/li&gt;          &lt;br /&gt;          &lt;ul&gt;  &lt;li&gt;Improve Searching of templates&lt;/li&gt;&lt;br /&gt;                &lt;li&gt;Replace Templates&lt;/li&gt;&lt;br /&gt;                &lt;li&gt;Publish Templates&lt;/li&gt;&lt;br /&gt;                &lt;li&gt;Bulk Unsubscribe of templates&lt;/li&gt;&lt;br /&gt;                &lt;li&gt;2 New Themes&lt;/li&gt;          &lt;/ul&gt;&lt;br /&gt;          &lt;li&gt;Wizards &lt;/li&gt;          &lt;br /&gt;          &lt;ul&gt;  &lt;li&gt;Allow for early exit when creating HTML region&lt;/li&gt;&lt;br /&gt;                &lt;li&gt;Create Interactive Report Wizard&lt;/li&gt;&lt;br /&gt;                &lt;li&gt;Remove 32k limit on Create Application on a Spreadsheet&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;          &lt;li&gt;Addition of Application Groups&lt;/li&gt;&lt;br /&gt;          &lt;li&gt;Simplification of Page Group pages&lt;/li&gt;&lt;br /&gt;          &lt;li&gt;Addition of Application Date Format&lt;/li&gt;&lt;br /&gt;          &lt;li&gt;Support for Declarative Media Type&lt;/li&gt;&lt;br /&gt;          &lt;li&gt;Can view existence of run-only application (but cannot edit them)&lt;/li&gt;&lt;br /&gt;          &lt;li&gt;Display Application Name in App Builder footer&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;    &lt;li&gt;Workspace Administration &lt;/li&gt;    &lt;br /&gt;    &lt;ul&gt;  &lt;li&gt;Workspace-specific Builder Notifications&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;    &lt;li&gt;Runtime Installation&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;APIs &lt;/li&gt;    &lt;br /&gt;    &lt;ul&gt;  &lt;li&gt;Augment APEX_MAIL API to support adding attachments to e-mails&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-212320159354695514?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/212320159354695514/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=212320159354695514" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/212320159354695514" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/212320159354695514" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/g_xACFzgU1M/apex-31.html" title="APEX 3.1 доступен для тестирования" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2007/11/apex-31.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-4237023485865839690</id><published>2007-10-01T23:08:00.000+04:00</published><updated>2007-10-03T20:07:11.381+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="howto" /><category scheme="http://www.blogger.com/atom/ns#" term="apex" /><category scheme="http://www.blogger.com/atom/ns#" term="svn" /><title type="text">Вывод ревизии subversion в приложениях Apex.</title><content type="html">Как уже упоминалось &lt;a href="http://apex-dev.blogspot.com/2007/05/apex-1-export.html"&gt;ранее&lt;/a&gt;, зачастую приложение разворачивается на нескольких площадках. Соответственно, вполне логична ситуация, когда на двух и более площадках будут находиться различные версии одного и того же приложения. Поэтому достаточно часто в GUI выводят этот самый номер версии и, как правило, весь этот GUI распространяется по площадкам с помощью системы управлениями версиями &lt;a href="http://subversion.tigris.org/"&gt;Subversion&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Далее будет рассматриваться ситуация, когда приложение Oracle Application Express находится под управлением системы контроля версиями Subversion и стоит задача вывести в интерфейс номер svn-ревизии приложения.&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt; &lt;b&gt;Теория&lt;/b&gt;&lt;br /&gt;Суть решения заключается в использовании одной из функциональностей Subversion - &lt;a href="http://svnbook.red-bean.com/nightly/ru/svn.advanced.props.special.keywords.html"&gt; Keyword Substitution&lt;/a&gt;, которая позволяет при сохранении изменений выполнять замены ключевых слов. То есть, в файле, находящемся под управлением Subversion, может выводиться информация о дате или авторе изменения, о номере ревизии и т.д.).&lt;br /&gt;&lt;br /&gt;Решение поставленной задачи состоит из нескольких этапов:&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Объявить строку замены (&lt;a href="http://download.oracle.com/docs/cd/B32472_01/doc/appdev.300/b32471/concept.htm#BEIFGFJF"&gt;Substitution String&lt;/a&gt;) в apex-приложении&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Изменить шаблон приложения таким образом, чтобы использовалась новая строка подстановки&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Включить функциональность Keyword Substitution для файла приложения в Subversion&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Практика. Определение строки замены&lt;/b&gt;&lt;br /&gt;Для того чтобы определить свою собственную строку замены, необходимо перейти в "Shared Components -&gt; Application -&gt; Definition":&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_rOh27G9-PIg/RwO5bTF5BkI/AAAAAAAAANk/0yhGDfl5mXM/s1600-h/01.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_rOh27G9-PIg/RwO5bTF5BkI/AAAAAAAAANk/0yhGDfl5mXM/s320/01.JPG" alt="" id="BLOGGER_PHOTO_ID_5117137480255604290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;где перейти в раздел "Substitutions" и добавить новую строку замены, например SVN_REV (значение этой строки важно и изменять его не следует - "$Rev $". Это связано с особенностями работы Subversion - см. документацию по &lt;a href="http://svnbook.red-bean.com/nightly/ru/svn.advanced.props.special.keywords.html"&gt; Subversion. Keyword Substitution&lt;/a&gt;):&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_rOh27G9-PIg/RwO5bjF5BlI/AAAAAAAAANs/XXLaFjLyvsc/s1600-h/02.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_rOh27G9-PIg/RwO5bjF5BlI/AAAAAAAAANs/XXLaFjLyvsc/s320/02.JPG" alt="" id="BLOGGER_PHOTO_ID_5117137484550571602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Теперь, если посмотреть файл экспорта приложения (как это сделать описывалось &lt;a href="http://apex-dev.blogspot.com/2007/05/apex-1-export.html"&gt;ранее&lt;/a&gt;), то можно увидеть приблизительно такие строки (можно найти поиском по фразе "svn"):&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  p_substitution_string_01 =&gt; 'SVN_REV',&lt;br /&gt;  p_substitution_value_01  =&gt; '$Rev: $',&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;То есть, значение строки подстановки в файле экспорта лежит в открытом виде, которое можно изменять как угодно. Это нам пригодиться.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Практика. Изменение шаблона&lt;/b&gt;&lt;br /&gt;Для того чтобы вывести номер версии в GUI, необходимо изменить шаблон, который отвечает за общий вид формы. Для чего необходимо перейти в "Shared Components -&gt; User Interface -&gt; Templates" и выбрать шаблон страницы:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_rOh27G9-PIg/RwO5bjF5BmI/AAAAAAAAAN0/fQsSwnBo2AM/s1600-h/03.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_rOh27G9-PIg/RwO5bjF5BmI/AAAAAAAAAN0/fQsSwnBo2AM/s320/03.JPG" alt="" id="BLOGGER_PHOTO_ID_5117137484550571618" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_rOh27G9-PIg/RwO5bzF5BnI/AAAAAAAAAN8/xA9rr9vCYh4/s1600-h/04.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_rOh27G9-PIg/RwO5bzF5BnI/AAAAAAAAAN8/xA9rr9vCYh4/s320/04.JPG" alt="" id="BLOGGER_PHOTO_ID_5117137488845538930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;После этого, необходимо прописать в шаблоне созданную ранее строку подстановки "SVN_REV", например так:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_rOh27G9-PIg/RwO5bzF5BoI/AAAAAAAAAOE/5iwmg53FlzI/s1600-h/05.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_rOh27G9-PIg/RwO5bzF5BoI/AAAAAAAAAOE/5iwmg53FlzI/s320/05.JPG" alt="" id="BLOGGER_PHOTO_ID_5117137488845538946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Теперь при работе приложения в нижнем левом углу будет следующая картина:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_rOh27G9-PIg/RwO6FDF5BpI/AAAAAAAAAOM/pTEXhKookIY/s1600-h/06.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_rOh27G9-PIg/RwO6FDF5BpI/AAAAAAAAAOM/pTEXhKookIY/s320/06.JPG" alt="" id="BLOGGER_PHOTO_ID_5117138197515142802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Практика. Включение Keyword Substitution&lt;/b&gt;&lt;br /&gt;Основная часть работы уже сделана. осталась малость - включить функцию "Keyword Substitution" для файла, в котором располагается описание нашего приложения. Допустим, файл нашего приложения называется "apex_app.sql". Тогда включение будет выглядеть так:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;drive:\path\to\svn\repository\svn propset svn:keywords "Date Revision Author" apex_app.sql&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Вот и все. Теперь при каждом сохранении очередной версии файла apex-приложения будет вместо "$Rev $" прописываться актуальная версия файла в Subversion-репозитариии. То есть, в каждом файле приложения будет лежать строка подстановки с актуальной версией файла. &lt;br /&gt;То есть, картинка в левом нижнем углу должна быть приблизительно такой:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_rOh27G9-PIg/RwO9-TF5BqI/AAAAAAAAAOU/8Uoc0vcLtBA/s1600-h/07.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_rOh27G9-PIg/RwO9-TF5BqI/AAAAAAAAAOU/8Uoc0vcLtBA/s320/07.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5117142479597536930" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Таким же образом можно выводить и последнего автора изменений или дату последнего сохранения в репозитарии. &lt;br /&gt;&lt;br /&gt;ps: прошу прощения за столь значительную задержку в публикациях, ибо после сезона отпусков случился аврал :(, что отрицательно сказалось на количестве свободных минут.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-4237023485865839690?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/4237023485865839690/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=4237023485865839690" title="Комментарии: 10" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/4237023485865839690" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/4237023485865839690" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/le8E9pktRWI/subversion-apex.html" title="Вывод ревизии subversion в приложениях Apex." /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp3.blogger.com/_rOh27G9-PIg/RwO5bTF5BkI/AAAAAAAAANk/0yhGDfl5mXM/s72-c/01.JPG" height="72" width="72" /><thr:total>10</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2007/10/subversion-apex.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-8716969139481457329</id><published>2007-07-23T07:49:00.000+04:00</published><updated>2007-07-24T10:18:10.405+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="oracle" /><title type="text">Изменения DBMS_SQL в Oracle 11g</title><content type="html">Как уже говорилось &lt;a href="http://apex-dev.blogspot.com/2007/06/oracle-11g.html"&gt;ранее&lt;/a&gt;, объявлено о выходе новой версии Oracle. Соответственно, в сети появляется все больше и больше информации о нововведениях, идущих в одиннадцатой версии. Так, блуждая по сети, совершенно случайно наткнулся на новость о некоторых изменениях в спецификации пакета dbms_sql.&lt;br /&gt;&lt;span class="fullpost"&gt;В небольшой заметке &lt;a href="http://technology.amis.nl/blog/?p=2332"&gt;"Oracle 11G: describing a refcursor"&lt;/a&gt; говорится о двух новых методах пакета dbms_sql:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;to_cursor_number&lt;/b&gt;, который преобразует refcursor в "dbms_sql cursor"(тот, что возвращает dbms_sql.open_cursor)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;to_refcursor&lt;/b&gt;, который выполняет обратное преобразование, то есть, преобразует "dbms_sql cursor" в refcursor&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Таким образом, теперь можно совместно использовать пакет dbms_sql и переменные типа Ref Cursor.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-8716969139481457329?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/8716969139481457329/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=8716969139481457329" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/8716969139481457329" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/8716969139481457329" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/XBEqgKYySUk/dbmssql-oracle-11g.html" title="Изменения DBMS_SQL в Oracle 11g" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2007/07/dbmssql-oracle-11g.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-3844066703583254886</id><published>2007-07-11T23:49:00.000+04:00</published><updated>2007-07-12T11:00:37.867+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="oracle" /><title type="text">Релиз Oracle 11g</title><content type="html">Свершилось! Состоялся релиз одиннадцатой версии Oracle. Соответственно, на OTN появилось много нового...&lt;span class="fullpost"&gt; Появилось много различных &lt;a href="http://www.oracle.com/technology/products/database/oracle11g/index.html"&gt;обзоров&lt;/a&gt;, среди которых стоит в первую очередь обратить внимание на:&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.oracle.com/technology/products/database/oracle11g/pdf/database-11g-new-features-whitepaper.pdf"&gt;Oracle Database 11g New Features Overview&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.oracle.com/technology/products/database/oracle11g/pdf/application-development-11g-whitepaper.pdf"&gt;Oracle Database 11g Application Development&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;О многих нововведениях уже было рассказано &lt;a href="http://apex-dev.blogspot.com/2007/06/oracle-11g.html"&gt;ранее&lt;/a&gt;, так что читаем, пробуем...&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-3844066703583254886?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/3844066703583254886/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=3844066703583254886" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/3844066703583254886" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/3844066703583254886" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/F1H7MpE4KIE/oracle-11g.html" title="Релиз Oracle 11g" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2007/07/oracle-11g.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-7121795697254306532</id><published>2007-06-29T23:04:00.000+04:00</published><updated>2007-07-01T11:35:22.790+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="apex" /><title type="text">Релиз Apex 3.0.1</title><content type="html">Cегодня состоялся релиз &lt;a href="http://www.oracle.com/technology/products/database/application_express/index.html"&gt;Oracle Application Express&lt;/a&gt; 3.0.1! Это первая заплатка к Apex 3.0., в которой  представлены следующие основные изменения:&lt;span class="fullpost"&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Возможность прямой установки в Oracle Database XE (версия 3.0 такой возможности не предоставляла)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Поддержка миграции из Oracle Database XE в Oracle Standart/Enterprise Edition 10.2.0.3&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Поддержка интеграции с Oracle SQL Developer 1.2&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Включена поддержка конфигурации Apache FOP для использования в качестве сервера отчетов для печати PDF&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Различные улучшения в стабильности и безопасности&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Ознакомиться с процессом установки заплатки и ошибками, которые она исправляет, можно в &lt;a href="http://www.oracle.com/technology/products/database/application_express/html/3.0.1_readme.html"&gt;"patch set notes"&lt;/a&gt;. Кроме того, о различиях между версиями APEX 2.1 and 3.0.1, а так же об обновлении с 2.1 на 3.0.1 можно узнать из статьи &lt;a href="http://www.oracle.com/technology/products/database/application_express/html/3.0.1_and_xe.html"&gt;"Oracle Database XE and Application Express 3.0.1"&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Скачать заплатку можно &lt;a href="http://www.oracle.com/technology/products/database/application_express/download.html"&gt;отсюда&lt;/a&gt;.&lt;br /&gt;ps: судя по &lt;a href="http://forums.oracle.com/forums/thread.jspa?threadID=526025&amp;tstart=0"&gt;сообщениям&lt;/a&gt; форума, установка новой заплатки уже идет полным ходом и весьма небезуспешно.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-7121795697254306532?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/7121795697254306532/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=7121795697254306532" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/7121795697254306532" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/7121795697254306532" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/_ZQqGTmYUm0/apex-301.html" title="Релиз Apex 3.0.1" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2007/06/apex-301.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-8306714474939896429</id><published>2007-06-25T23:40:00.000+04:00</published><updated>2007-06-30T11:39:52.427+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="eclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="oracle" /><title type="text">Oracle выпускает плагин для Eclipse</title><content type="html">Совсем недавно Oracle присоединилась к Eclipse Foundation... и вот результат - выпущен &lt;a href="http://www.oracle.com/technology/tech/eclipse/dtp/index.html"&gt;Oracle Database Plugin&lt;/a&gt;, расширяющий возможности Eclipse Data Tools Platform (DTP).&lt;br /&gt;&lt;span class="fullpost"&gt; Плагин предоставляет следующие возможности:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;соединение с БД Oracle версий 9iR2 и выше&lt;/li&gt;&lt;br /&gt;&lt;li&gt;просмотр объектов БД и навигация по ним&lt;/li&gt;&lt;br /&gt;&lt;li&gt;выполнение хранимых процедур и функций&lt;/li&gt;&lt;br /&gt;&lt;li&gt;графическое и текстовое представление планов выполнения&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Инсталляция плагина очень проста (как и любого другого плагина для Eclipse). Необходимо либо прописать "http://download.eclipse.org/datatools/updates" в меню "Help-&gt;Software Updates-&gt;Find", либо скачать &lt;a href="http://www.oracle.com/technology/tech/eclipse/dtp/downloads.html"&gt;архив&lt;/a&gt; с плагином и распаковать его в директорию Eclipse. Работать с новым плагином можно будет после перезагрузки.&lt;br /&gt;&lt;br /&gt;Информацию об установке и основных функциях можно получить на &lt;a href="http://www.oracle.com/technology/tech/eclipse/dtp/files/gettingstarted.html"&gt;OTN&lt;/a&gt;. Кроме того, на OTN появилась соответствующая &lt;a href="http://forums.oracle.com/forums/forum.jspa?forumID=393"&gt;ветка форума&lt;/a&gt;, где, правда, пока мало информации, но, думаю, в перспективе, это будет первоисточник путей решений проблем с новым плагином.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-8306714474939896429?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/8306714474939896429/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=8306714474939896429" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/8306714474939896429" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/8306714474939896429" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/oy8jzUI0paU/oracle-eclipse.html" title="Oracle выпускает плагин для Eclipse" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2007/06/oracle-eclipse.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-1614283494871297555</id><published>2007-06-20T23:10:00.000+04:00</published><updated>2007-06-27T12:58:26.696+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="oracle" /><title type="text">Oracle 11g гредет....</title><content type="html">Oracle &lt;a href="http://www.oracle.com/webapps/events/EventsDetail.jsp?p_eventId=66665"&gt; официально объявила &lt;/a&gt;о дате выпуска очередной версии СУБД - Oracle 11g. Это событие запланировано на 11 июля 2007 года и пройдет оно в Нью-Йорке. На конференции OpenWorld (в октябре прошлого года) представители Oracle пролили немного света на изменения, которые войдут в 11ый релиз. Как всегда, обещаются улучшения производительности, масштабируемости и т.д. Кроме того, была обещана новая технология компрессии данных, которая позволит значительно сократить размер БД, и механизм хранения неструктурированных данных... Но что же нас ждет на самом деле?&lt;span class="fullpost"&gt; Узнать более подробную информацию о нововведениях можно узнать как минимум в двух местах:&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.dba-oracle.com/oracle11g/oracle_11g_new_features.htm"&gt;dba-oracle.com&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.tusc.com/tusc/nonhtml/collaborate2007-11g_features.zip"&gt;Презентация на tusc.com&lt;/a&gt; (за ссылку спасибо &lt;a href="http://dsvolk.blogspot.com/2007/05/11g-new-features.html"&gt;Дмитрию Волкову&lt;/a&gt;)&lt;/li&gt; &lt;/ul&gt;&lt;br /&gt;Как всегда, много всяких улучшений и новинок, наиболее интересными среди которых мне показались следующие:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Новый тип данных "simple_integer"&lt;/b&gt;. Переменные это типа всегда NOT NULL и работа с ними выполняется быстрее, чем с переменными типа  PLS_INTEGER.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Серверный пул соединений (server-side connection pooling)&lt;/b&gt;. Позволяет нескольким клиентам использовать один и тот же пул сессий(должен совпадать USERID). Клиенты могут соединяться/отсоединяться с БД без затрат на создание серверной сессии.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Кэширование результатов запроса&lt;/b&gt;. Результаты SQL-запросов кэшируются. Размер кэша устанавливает DBA. Включается функциональность для таблицы следующей командой: &lt;pre&gt; alter table _ТАБЛИЦА_ cache results &lt;/pre&gt; &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Виртуальные колонки (Virtual columns)&lt;/b&gt;. Виртуальные колонки представляют из себя функции.Соответственно, индексы по таким колонкам являются индексами над функциями. В выражениях могут использоваться: колонки таблицы, константы, SQL-функции или функции, созданные пользователем. Поддерживается так же секционирование. Виртуальные колонки не могут использоваться в индексно-организованных (index organized) или внешних (external) таблицах. Прямая запись для таких колонок не возможна.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Ключевое слово "super" для объектно - ориентированных DDL&lt;/b&gt;. Новое ключевое слово используется в экземплярах производного типа (перегруженного) для того, чтобы сослаться на базовый класс, от которого текущий был унаследован.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Ключевое слово "continue" в циклах&lt;/b&gt;. Без комментариев... :)... давно пора.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Хранилище XML (XML data storage)&lt;/b&gt;. Начиная с 11ой версии, XML можно хранить как CLOB или бинарный тип данных.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Автоматическое секционирование&lt;/b&gt;. Автоматическое создание секций.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Порядок срабатывания тригера.&lt;/b&gt; Можно указывать порядок выполнения тригеров.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Невидимые индексы (Invisible indexes)&lt;/b&gt;. Вместо того, чтобы удалять индекс, если он более (или пока) не нужен, можно просто сделать его невидимым. В результате при выполнении SQL-запросов этот индекс использоваться не будет.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Создание и перестроение индекса в online (create and rebuild index online)&lt;/b&gt;. Создание и перестроение индекса может выполняться при выполнении DML операции над таблицей. Ранее для этого требовалась эксклюзивная блокировка. Кроме того, перестроение индекса (rebuild) быстрее, чем удаление (drop) и создание (create) индекса.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Использование последовательностей в PL/SQL&lt;/b&gt;. Ранее, для того, чтобы получить следующее значение из последовательности (sequence.nexval) необходимо было использовать явный или неявный курсор (SQL). Теперь курсор более не нужен, и следующий код будет работать: &lt;pre&gt;v_val := Sequence.nexval;&lt;/pre&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Read-only таблицы&lt;/b&gt;. К таким таблицам не применимы DML-операции, а так же select for update. Перевод в данный режим таблиц выполняется следующей командой: &lt;pre&gt; alter table _ТАБЛИЦА_ read only &lt;/pre&gt; &lt;/li&gt; &lt;/ul&gt;&lt;br /&gt;... т.д. Список, естественно, не полный. Окончательный будет известен только после официального релиза. Ждем....&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-1614283494871297555?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/1614283494871297555/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=1614283494871297555" title="Комментарии: 4" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/1614283494871297555" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/1614283494871297555" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/KaEH656c0ZI/oracle-11g.html" title="Oracle 11g гредет...." /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>4</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2007/06/oracle-11g.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-2787506678595643779</id><published>2007-06-15T23:38:00.000+04:00</published><updated>2007-06-21T11:29:03.566+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="howto" /><category scheme="http://www.blogger.com/atom/ns#" term="apex" /><category scheme="http://www.blogger.com/atom/ns#" term="report" /><title type="text">Apex. Фиксируем габариты отчета.</title><content type="html">Читая один из англоязычных блогов по Oracle Application Express, наткнулся на одну интересную &lt;a href="http://atulley.wordpress.com/2007/06/14/apex-using-scrollbars-in-a-region/"&gt;хитрость&lt;/a&gt;.&lt;br /&gt;Суть проблемы заключается в том, что для отчетов с большим количеством записей есть только 2 пути для отображения: &lt;ul&gt;&lt;br /&gt;&lt;li&gt;либо настраивать постраничный вывод (pagination)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;либо показывать все записи и позволять пользователю скроллировать страничку&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Автор предлагает третий вариант (своего рода, усовершенствование второго подхода) - зафиксировать габариты отчета и показывать все строки. &lt;span class="fullpost"&gt;&lt;br /&gt;Фиксация габаритов очень проста - необходимо в настройках отчета прописать лишь:&lt;ul&gt;&lt;br /&gt;&lt;li&gt;в "Region Header": &lt;code&gt; &lt; div style="overflow: auto; height: 450px;"&gt; &lt;/code&gt;, где вместо "450px" можно писать любую желаемую высоту отчета в пикселях.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;в "Region footer":&lt;code&gt; &lt; /div &gt; &lt;/code&gt; &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;А именно, необходимо найти описание отчета:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_rOh27G9-PIg/RnohK2mtMiI/AAAAAAAAAMU/o3lovy8zsXw/s1600-h/01.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_rOh27G9-PIg/RnohK2mtMiI/AAAAAAAAAMU/o3lovy8zsXw/s320/01.JPG" alt="" id="BLOGGER_PHOTO_ID_5078408000153924130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;И прописать в соответствующие поля необходимые значения:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_rOh27G9-PIg/RnohK2mtMjI/AAAAAAAAAMc/xtYTW2W2mOM/s1600-h/02.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_rOh27G9-PIg/RnohK2mtMjI/AAAAAAAAAMc/xtYTW2W2mOM/s320/02.JPG" alt="" id="BLOGGER_PHOTO_ID_5078408000153924146" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Результат, как всегда, можно посмотреть на &lt;a href="http://apex.oracle.com/pls/otn/f?p=38134"&gt;apex.oracle.com&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-2787506678595643779?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/2787506678595643779/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=2787506678595643779" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/2787506678595643779" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/2787506678595643779" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/BOEbi2YyiSY/apex.html" title="Apex. Фиксируем габариты отчета." /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp0.blogger.com/_rOh27G9-PIg/RnohK2mtMiI/AAAAAAAAAMU/o3lovy8zsXw/s72-c/01.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2007/06/apex.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-2548773222496578105</id><published>2007-06-10T11:37:00.000+04:00</published><updated>2007-06-11T13:15:19.958+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="sqldeveloper" /><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="apex" /><title type="text">Oracle SQL Developer 1.2</title><content type="html">Вышла новая версия &lt;a href="http://www.oracle.com/technology/products/database/sql_developer/index.html"&gt;Oracle SQL Developer&lt;/a&gt;. Данная IDE  становится все более привлекательной для разработчиков Oracle APEX в силу появления новых фич (анонсировалось в &lt;a href="http://apex-dev.blogspot.com/2007/05/apex-sql-developer.html"&gt;"Отчеты по Apex в SQL Developer"&lt;/a&gt; и &lt;a href="http://apex-dev.blogspot.com/2007/06/apex-sqldeveloper.html"&gt;"Apex и SQLDeveloper - интеграция продолжается"&lt;/a&gt;).&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Со списком новых функциональностей можно ознакомиться на сайте OTN - &lt;a href="http://www.oracle.com/technology/products/database/sql_developer/files/relnotes_v12.html"&gt;"Release Notes 1.2"&lt;/a&gt;. Основными из них являются:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;поддержка Oracle Application Express (некоторые отчеты, импорт / экспорт приложений)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;поддержка миграции из сторонних баз данных в Oracle. Поддерживаются:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Microsoft Access: 97, 2000, 2002/XP, 2003&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Microsoft SQL Server: 7, 2000, 2005&lt;/li&gt;&lt;br /&gt;&lt;li&gt;MySQL: 3, 4, 5&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-2548773222496578105?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/2548773222496578105/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=2548773222496578105" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/2548773222496578105" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/2548773222496578105" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/H3OuwP7g-OE/oracle-sql-developer-12.html" title="Oracle SQL Developer 1.2" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2007/06/oracle-sql-developer-12.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-1072044974837507024</id><published>2007-06-05T23:56:00.000+04:00</published><updated>2007-06-06T12:44:43.413+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="sqldeveloper" /><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="apex" /><title type="text">Apex и SQLDeveloper - интеграция продолжается</title><content type="html">Как уже упоминалось &lt;a href="http://apex-dev.blogspot.com/2007/05/apex-sql-developer.html"&gt;ранее&lt;/a&gt;, в последней версии Oracle SQLDeveloper появилась некоторая совместимость с Oracle Application Express. Как оказалось, это не последний шаг в интеграции!&lt;br /&gt;&lt;span class="fullpost"&gt;На своем блоге, &lt;a href="http://krisrice.blogspot.com/"&gt;Крис Райс&lt;/a&gt; (принимает участие в разработке Oracle SQLDeveloper), &lt;a href="http://krisrice.blogspot.com/2007/06/more-apexsqldev.html"&gt;озвучил &lt;/a&gt;несколько новшеств в грядущем обновлении. Они касаются экспорта/импорта приложений Apex. Ранее аналогичные манипуляции можно было выполнять только из самого Apex. Так же, Крис приводите несколько снимков, описывающих новшества:&lt;br /&gt;&lt;br /&gt;Экспорт приложения:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_rOh27G9-PIg/RmZyt2mtMfI/AAAAAAAAAL8/LNUVoTklCxs/s1600-h/01.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_rOh27G9-PIg/RmZyt2mtMfI/AAAAAAAAAL8/LNUVoTklCxs/s320/01.png" alt="export apex application" id="BLOGGER_PHOTO_ID_5072868162356982258" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Импорт приложения:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_rOh27G9-PIg/RmZyt2mtMgI/AAAAAAAAAME/stWfVlGP240/s1600-h/02.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_rOh27G9-PIg/RmZyt2mtMgI/AAAAAAAAAME/stWfVlGP240/s320/02.png" alt="import apex application" id="BLOGGER_PHOTO_ID_5072868162356982274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Настройки импорта:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_rOh27G9-PIg/RmZyuGmtMhI/AAAAAAAAAMM/3s4NEz4JOSI/s1600-h/03.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_rOh27G9-PIg/RmZyuGmtMhI/AAAAAAAAAMM/3s4NEz4JOSI/s320/03.png" alt="apex application import option" id="BLOGGER_PHOTO_ID_5072868166651949586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-1072044974837507024?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/1072044974837507024/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=1072044974837507024" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/1072044974837507024" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/1072044974837507024" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/y6vzfHc5ZrA/apex-sqldeveloper.html" title="Apex и SQLDeveloper - интеграция продолжается" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp0.blogger.com/_rOh27G9-PIg/RmZyt2mtMfI/AAAAAAAAAL8/LNUVoTklCxs/s72-c/01.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2007/06/apex-sqldeveloper.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-5063209892886433901</id><published>2007-06-03T23:16:00.000+04:00</published><updated>2007-06-21T10:36:34.891+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="deploy" /><category scheme="http://www.blogger.com/atom/ns#" term="tips" /><category scheme="http://www.blogger.com/atom/ns#" term="apex" /><title type="text">Развертывание приложений Apex : часть 2 (Import)</title><content type="html">Продолжаем рассказ о развертывании приложений Oracle Application Express, начатый в заметке &lt;a href="http://apex-dev.blogspot.com/2007/05/apex-1-export.html"&gt;"Развертывание приложений Apex : часть 1 (Export)"&lt;/a&gt;. После того, как приложение было экспортировано из Apex-репозитария на одном сервере, его необходимо проимпортировать в репозитарий другого сервера...&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Импорт выполняется через "Application Builder"-&gt;"Import"-&gt;"Application", где необходимо указать путь к файлу, в котором находится описание импортируемого приложения, тип информации в файле и кодировку:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_rOh27G9-PIg/Rln6ATc0_-I/AAAAAAAAALU/MeAGRVZ-TzQ/s1600-h/04.new.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_rOh27G9-PIg/Rln6ATc0_-I/AAAAAAAAALU/MeAGRVZ-TzQ/s320/04.new.jpg" alt="start to import apex application" id="BLOGGER_PHOTO_ID_5069357738710335458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Признаком успешного импорта файла в репозитарий является следующее сообщение:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_rOh27G9-PIg/Rln6ATc0__I/AAAAAAAAALc/DJcfhUPCuKI/s1600-h/05.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_rOh27G9-PIg/Rln6ATc0__I/AAAAAAAAALc/DJcfhUPCuKI/s320/05.jpg" alt="success apex application import" id="BLOGGER_PHOTO_ID_5069357738710335474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Последним экраном импорта является описание установок развертывания приложения:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_rOh27G9-PIg/Rln6Ajc1AAI/AAAAAAAAALk/s4K6I6bgkKA/s1600-h/06.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_rOh27G9-PIg/Rln6Ajc1AAI/AAAAAAAAALk/s4K6I6bgkKA/s320/06.jpg" alt="apex application deploy" id="BLOGGER_PHOTO_ID_5069357743005302786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;,где:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Current Workspace - Название текущей рабочей области&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Export File Workspace - Название рабочей области импортируемого файла экспорта&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Export File Workspace ID - Идентификатор рабочей области импортируемого файла экспорта&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Export File Application ID - Идентификатор приложения в импортируемом файле экспорта&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Export File Version - Версия файла экспорта&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Export File Parse As Schema - В рамках какой Oracle схемы выполнялся экспорт файла&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Application Origin - Происхождение приложения&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Parse As Schema - В рамках какой Oracle схемы будет выполнять разбор файла экспорта&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Build Status - Статус приложения после импорта. "Run Application Only" - с приложением можно только запускать на выполнение. "Run and Build Application" - приложение можно как выполнять, так и изменять&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Install As Application - Идентификатор для нового приложения. "Auto Assign New Application ID" - автоматическое присвоение нового значения для ID приложения. "Reuse  Application ID ... From Export File" - использование того ID приложения, который был у него во время экспорта. "Change Application ID" - изменить ID приложения вручную.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Все загруженные файлы хранятся в отдельном репозитарии, посмотреть который можно в "Application Builder" -&gt; "Export Repository". То есть, даже если после развертывания приложение было удалено по каким - то причинам, его можно по-новой развернуть на сервере без повторного испортирта файл.&lt;br /&gt;Кроме возможности развертывания приложения, в репозитарии есть функция удаления файлов импорта. И если уж сам файл удален из репозитария, то для импорта приложения необходимо будет снова выполнить импорт файла на сервер.&lt;br /&gt;&lt;br /&gt;Если вдруг, во время установки приложения появилось сообщение:&lt;br /&gt;&lt;pre style="color: rgb(255, 0, 0);"&gt;&lt;b&gt;&lt;br /&gt;This page was exported from a different application or from an application in different workspace.&lt;br /&gt;Page cannot be installed in this application.&lt;/b&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;то необходимо проверить, что ID рабочей области (Workspace ID), откуда экспортировалось приложение, отличается от ID рабочей области, куда приложение устанавливается. В этом случае, надо просто изменить его в файле экспорта на значение Workspace ID, куда устанавливается приложение. Для этого, необходимо найти в начале файла экспорта следующую строку:&lt;br /&gt;&lt;pre&gt;wwv_flow_api.set_security_group_id(p_security_group_id=&gt; _Число_);&lt;/pre&gt;&lt;br /&gt;И заменить "_число_" на значение "Workspace ID", куда устанавливается приложение. Если вы его по каким-либо причинам его не знаете, то просто экспортируйте что-нибудь из этой рабочей области и в начале файла экспорта, в той же строке, будет нужный идентификатор. То есть, приложения должны переноситься между серверами только в рамках одной и той же рабочей области.&lt;br /&gt;&lt;br /&gt;В заключении надо сказать, что Oracle Application Express позволяет экспортировать/импортировать не только приложение, но и отдельные его части: страницы , темы оформления, значения по умолчанию, CSS и т.д. В случае экспорта страницы из приложения, необходимо учитывать так же, что на новом сервере должны совпадать не только ID рабочей области, но ID приложения (документация на &lt;a href="http://download-uk.oracle.com/docs/cd/B32472_01/doc/appdev.300/b32471/deploy.htm#BIHJBCEC"&gt;OTN&lt;/a&gt;).&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-5063209892886433901?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/5063209892886433901/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=5063209892886433901" title="Комментарии: 4" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/5063209892886433901" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/5063209892886433901" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/jyZhAqHRsic/apex-2-import.html" title="Развертывание приложений Apex : часть 2 (Import)" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp0.blogger.com/_rOh27G9-PIg/Rln6ATc0_-I/AAAAAAAAALU/MeAGRVZ-TzQ/s72-c/04.new.jpg" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2007/06/apex-2-import.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-8054437926060054115</id><published>2007-05-30T00:19:00.000+04:00</published><updated>2007-06-17T16:47:46.863+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="deploy" /><category scheme="http://www.blogger.com/atom/ns#" term="tips" /><category scheme="http://www.blogger.com/atom/ns#" term="apex" /><title type="text">Развертывание приложений Apex : часть 1 (Export)</title><content type="html">Как правило, процесс разработки ПО идет по следующему сценарию: Разработка (development) -&gt; Тестирование (testing) -&gt; Заказчик (deploy). То есть, в начале разрабатывается приложение в соответствии с заявленными требованиями, потом выполняется проверка на соответствие этим требованиям и заключительным этапом является развертывание приложения на стороне заказчика. При этом, на втором и третьем этапе необходимо развернуть приложение на новой площадке (для чистоты эксперимента). В Oracle Application Express этот процесс максимально автоматизирован &lt;span class="fullpost"&gt; (чему, в основном, способствует именно &lt;a href="http://apex-dev.blogspot.com/2007/03/application-express.html"&gt;архитектура Apex&lt;/a&gt; - когда, вся информация о приложении хранится в БД).&lt;br /&gt;&lt;br /&gt;Суть процесса хорошо описана в &lt;a href="http://download-uk.oracle.com/docs/cd/B32472_01/doc/appdev.300/b32471/deploy.htm#BABGJIAD"&gt;документации&lt;/a&gt; и заключатеся в том, что Apex позволяет экспортировать всю необходимую информацию о приложении в файл и, соответственно, есть возможность импорта этого файла. Сам файл представляется из себя простой текст с DML операциями.&lt;br /&gt;&lt;br /&gt;Для того, чтобы экспортировать приложение, необходимо перейти в приложение и выбрать "Export/Import"-&gt;"Export"-&gt;"Application":&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_rOh27G9-PIg/Rlnw8zc0_8I/AAAAAAAAALE/Vw0_ZTznpos/s1600-h/01.new.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_rOh27G9-PIg/Rlnw8zc0_8I/AAAAAAAAALE/Vw0_ZTznpos/s320/01.new.jpg" alt="start to export apex application" id="BLOGGER_PHOTO_ID_5069347782976143298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;После чего, появится диалог экспорта приложения:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_rOh27G9-PIg/Rlnw9Dc0_9I/AAAAAAAAALM/jLyFl3cqqEs/s1600-h/02.new.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_rOh27G9-PIg/Rlnw9Dc0_9I/AAAAAAAAALM/jLyFl3cqqEs/s320/02.new.jpg" alt="set apex application export settings" id="BLOGGER_PHOTO_ID_5069347787271110610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Где:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Application - идентификатор и название экспортируемого приложения&lt;/li&gt;&lt;br /&gt;&lt;li&gt;File Format - тип форматирования строк в файле: DOS/UNIX style &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Owner Override - пользователь, для которого будет в дальнешем импортировано приложение. Если не указано, то текущий &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Build Status Override - статус приложения после дальнейшего импорта. "Run Application Only" - приложение можно только запускать на выполнение. "Run and Build Application" - приложение можно как выполнять, так и дорабатывать&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Debugging - возможность использования встроенной отладки после дальнейшего импорта приложения&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Export Supporting Object Definitions - необходимость включаения в файл экспорта определения объектов БД, которые используются в приложении&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Export Comments - необходимость экспорта комментариев&lt;/li&gt;&lt;br /&gt;&lt;li&gt;As of - экспорт приложения по состоянию на указанное количество минут назад (используется функциональность пакета DBMS_FLASHBACK)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;File Character Set - кодировка, в которой выполняется экспорт &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;Результатом будет sql-файл, который можно проимпортировать на другой площадке.&lt;br /&gt;О том, как выполнять импорт файла приложения и о возможных "непонятках", которые могут возникнуть в процессе импорта, будет рассказано в одной из следующих заметок...&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-8054437926060054115?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/8054437926060054115/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=8054437926060054115" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/8054437926060054115" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/8054437926060054115" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/S9rYB7WSmHc/apex-1-export.html" title="Развертывание приложений Apex : часть 1 (Export)" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp2.blogger.com/_rOh27G9-PIg/Rlnw8zc0_8I/AAAAAAAAALE/Vw0_ZTznpos/s72-c/01.new.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2007/05/apex-1-export.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-6965625835045936869</id><published>2007-05-26T00:56:00.000+04:00</published><updated>2007-06-07T11:35:29.797+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="performance" /><category scheme="http://www.blogger.com/atom/ns#" term="tips" /><category scheme="http://www.blogger.com/atom/ns#" term="apex" /><category scheme="http://www.blogger.com/atom/ns#" term="translation" /><title type="text">Повышаем производительность (часть 3)</title><content type="html">Заканчиваем перевод статьи &lt;a href="http://www.oracle.com/technology/oramag/oracle/07-jan/o17browser.html?msgid=5276023"&gt;Sizing Up Performance&lt;/a&gt;, начатый в постах &lt;a href="http://apex-dev.blogspot.com/2007/05/1.html"&gt;"Повышаем производительность (часть 1)"&lt;/a&gt; и &lt;a href="http://apex-dev.blogspot.com/2007/05/2.html"&gt;"Повышаем производительность (часть 2)"&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;b&gt;Оптимизация элементов страниц&lt;/b&gt;&lt;br /&gt;Другими общедоступными возможностями настройки производительности приложений Oracle Appliccation Express являются такие элементы, как процессы(Page processes), вычисления(computations),авторизация(authorizations), валидация(validations) и условия (conditions). Производительность этих элементов на странице должна быть очевидной при работе приложения в режиме отладки (debug mode). Ниже приведены рекомендации для этих элементов страницы:&lt;br /&gt;&lt;br /&gt;Устанавливайте момент запуска процесса на уровне страницы (page processes) - один на страницу (per-page), а не на сессию. Если же используется процесс на уровне приложения (application-level processes) , то можно установить момент запуска - один на сессию (per session) или на показ страницы (page view). Имейте в виду, что использование опции по сессионного старта процесса уровня приложения, может повлиять на отображение всех страниц приложения.&lt;br /&gt;&lt;br /&gt;Оптимизируйте составляющие нулевой страницы (особенности этой страницы описаны &lt;a href="http://apex-dev.blogspot.com/2007/03/apex-page-0.html"&gt;здесь&lt;/a&gt;). Компоненты этой страницы отображаются на каждой странице приложения, поэтому стоит уделить особое внимание оптимизации логики именно этой страницы. Объединяйте различные PL/SQL блоки в пакеты, то есть, если на странице есть большие PL/SQL блоки, то лучше перенести эти блоки в PL/SQL пакет и вызывать его из приложения.&lt;br /&gt;&lt;br /&gt;Используйте декларативные условия. Такия условия быстрее, чем динамический SQL или PL/SQL-условия. Например, использование условие типа "Item=Value" будет быстрее, чем использование PL/SQL-выражения ":ITEM=value."&lt;br /&gt;&lt;br /&gt;Для отчетов, содержащих большое количество строк, лучше использовать нумерацию страниц типа "Rows X to Y". Нумерация типа "Rows X to Y of Z" занимает больше времени на выполнение, чем простая нумерация типа "Rows X to Y". Например, если в отчете, содержащем 900 строк, используется нумерация типа "Rows X to Y of Z", Oracle Application Express будет должен выполнить полную выборку данных, чтобы установить количество строк. А при использовании нумерации типа "Rows X to Y", будет необходимо выбрать только Y + 1 строку.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Выводы&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Использование представленного материала, поможет оценить производительность и масштабируемость приложений Oracle Application Express. Если производительность приложения оставляет желать лучшего, то использование выше представленных подсказок поможет установить самые медленные страницы и определить на них плохо реализованные компоненты. Используя данную информацию, можно будет гарантировать, что ваши приложения Oracle Application Express будут соответствовать заявленным требованиям по производительности.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-6965625835045936869?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/6965625835045936869/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=6965625835045936869" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/6965625835045936869" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/6965625835045936869" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/1aHOR3eeydM/3.html" title="Повышаем производительность (часть 3)" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2007/05/3.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-1619776076852062247</id><published>2007-05-23T23:45:00.000+04:00</published><updated>2007-06-06T11:52:13.350+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="performance" /><category scheme="http://www.blogger.com/atom/ns#" term="tips" /><category scheme="http://www.blogger.com/atom/ns#" term="apex" /><category scheme="http://www.blogger.com/atom/ns#" term="translation" /><title type="text">Повышаем производительность (часть 2)</title><content type="html">Продолжаем перевод статьи &lt;a href="http://www.oracle.com/technology/oramag/oracle/07-jan/o17browser.html?msgid=5276023"&gt;Sizing Up Performance&lt;/a&gt; о проблемах производительности в приложениях Oracle Application Express, начатый в предыдущем &lt;a href="http://apex-dev.blogspot.com/2007/05/1.html"&gt;посте&lt;/a&gt;.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;b&gt;Поиск и устранение узких мест&lt;/b&gt;&lt;br /&gt;Накладные расходы, связанные с созданием страницы в Apex, довольно статичны. Время потраченное на обработку SQL или PL/SQL кода, созданного разработчком, добавляется к тому, которое было использовано для генерации страницы. Используя "Monitor Activity", можно легко определить наихудшие по производительности страницы приложений:&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_rOh27G9-PIg/RmHNdDc1ABI/AAAAAAAAALs/zYUdB_Bu4H0/s320/MonAct.gif" alt="Monitor Activity feature of Oracle Application Express" id="BLOGGER_PHOTO_ID_5071560554422009874" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;После того, как определена самая медленная страница приложения, можно изучить ее в режиме отладки, нажав ссылку "Debug" в панели инструментов разработчика.&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center;" src="http://bp0.blogger.com/_rOh27G9-PIg/RmHYiDc1ACI/AAAAAAAAAL0/6ZqVEhrgyEk/s320/02.jpg" alt="Debug link in the Oracle Application Express Developer Toolbar" id="BLOGGER_PHOTO_ID_5071572734949261346" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;В режиме отладки, отдновременно с выводом самой страницы, выводится и информация о затраченном на вывод времени: отражаются временные интервалы, соответствующие конкретным действиям Oracle Application Express, а так же такая дополнительная информация, как названия элементов страницы, вычисления, точки обработки.&lt;br /&gt;&lt;br /&gt;Найти узкое место по производительности на странице довольно просто, для этого достаточно лишь опредедлить скачек потраченного времени в отладочных сообщениях. Например, ниже следует кусок отладочных сообщений:&lt;br /&gt;&lt;pre&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;0.05: Region: Projects&lt;br /&gt;0.06: Show report&lt;br /&gt;0.06: Determine column headings&lt;br /&gt;0.06: Activate sort&lt;br /&gt;0.07: Parse query as: MIKE1&lt;br /&gt;0.07: Binding: ":P24_SEARCH"="P24_SEARCH" value=""&lt;br /&gt;0.07: Print column headings&lt;br /&gt;0.07: Rows loop: 15 row(s)&lt;br /&gt;0.18: Region: Icon View&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Очевиден скачек потраченного времени с 0.07 секунд до 0.18. Этот скачок свидетельствует о том, что запрос занимает 0.11 секунд на выполнение, которое в данном примере имеет значительную долю в общем времени вывода страницы и, таким образом, является отличной целью для оптимизации.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Настройка SQL&lt;/b&gt;&lt;br /&gt;Наиболее распространенной областью настройки является SQL. Движок Oracle Application Express выполняет разбор, связывание, непосредственное выполнение и получение результирующих данных SQL-запросов отчетов. Использование связанных переменных (bind variables) везде, где это возможно, избавляет от ненужного разбора и способствует повторному использованию планов SQL-запросов.&lt;br /&gt;&lt;br /&gt;Кроме того, необходимо убедиться, что для запроса используется оптимальный план. Для генерации плана запроса можно использовать "Explain Plan" в окне "SQL Commands".&lt;br /&gt;&lt;br /&gt;Для более тщательного изучения каждого фрагмента SQL или PL/SQL кода на каждой странице, можно включить для нее SQL-трассировку. SQL-трассировка сгенерирует трейс файл на серевере, который можно будет проанализировать Oracle утилитой - TKPROF. (более подробную информацию об использовании TKPROF в Oracle Application Express можно найти в разделе &lt;a href="http://download-west.oracle.com/docs/cd/B32472_01/doc/appdev.300/b32471/debug.htm#BCGCIBJA"&gt;Debugging an Application&lt;/a&gt; в "Oracle Application Express User's Guide")&lt;br /&gt;(прим. автора - подробнее о связываемых переменных, планах выполнения, жестком/мягком разборе запросов и трассировке можно почитать в книге Т.Кайта "Oracle для проффесионалов").&lt;br /&gt;&lt;br /&gt;... продолжение следует ...&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-1619776076852062247?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/1619776076852062247/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=1619776076852062247" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/1619776076852062247" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/1619776076852062247" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/ml7zaD_F3Ps/2.html" title="Повышаем производительность (часть 2)" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp0.blogger.com/_rOh27G9-PIg/RmHNdDc1ABI/AAAAAAAAALs/zYUdB_Bu4H0/s72-c/MonAct.gif" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2007/05/2.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-2934343048424178704</id><published>2007-05-19T22:25:00.000+04:00</published><updated>2007-06-03T00:19:28.394+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="performance" /><category scheme="http://www.blogger.com/atom/ns#" term="tips" /><category scheme="http://www.blogger.com/atom/ns#" term="apex" /><category scheme="http://www.blogger.com/atom/ns#" term="translation" /><title type="text">Повышаем производительность (часть 1)</title><content type="html">Листал на днях &lt;a href="http://www.oracle.com/oramag/oracle/index.html"&gt;Oracle Magazine&lt;/a&gt;, и наткнулся на давольно интересную статью &lt;a href="http://www.oracle.com/technology/oramag/oracle/07-jan/o17browser.html?msgid=5276023"&gt;про оценку прозводительности приложений Apex&lt;/a&gt;. После беглого просмотра обратился к &lt;a href="http://www.oracle.com/global/ru/oramag/index.html"&gt;русской редакции данного журнала&lt;/a&gt; и, к своему удивлению, обнаружил, что перевода ее нет :(. После недолгих раздумий решил исправить положение :)...&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;b&gt;Советы и методы для оптимальной производительности Oracle Application Express&lt;/b&gt;&lt;br /&gt;В силу того, что Oracle Application Express становится все более популярным, все больше пользователей ищут руководства по настройке производительности для Apex приложений. Ниже будет продемострирован быстрый и удобный способ для оценки и изменения производительности. Так же будет продемонстрировано, как идентифицировать и решать проблемы производительности. Ниже перечислены наиболее общие вопросы, которые будут освещены:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Какое количество оборудования, особенно сколько процессоров (CPU), будет необходимо для работы с заданной нагрузкой&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Какое количество пользователей будет поддерживать приложение&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Как локализовать узкие места в производительности&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Понимание понятия "производительность" в приложениях Oracle Application Express&lt;/b&gt;&lt;br /&gt;    Ключ к оптимальной производительности для большинства приложений Oracle Application Express заключается в том, чтобы сохранять среднее время отображения страницы относительно небольшим. Масштабирование линейно: приложение со среднем временем вывода страницы в 10 милисекунд может быть вызвано в 10 раз больше конкурирующими пользователями, чем приложение со среднем временем вывода страницы в 100 милисекунд.&lt;br /&gt;    Для беглой оценки производительности приложений Apex, можно использовать статистику собранную Apex'ом, информация о которой доступна на странице "Monitor Activity". Если предположить, что приложение хорошо оптимизировано, включая эффективный SQL и PL/SQL, то самым важным изменяемым фактором является количество процессоров (CPU).&lt;br /&gt;Например, предположим, что разрабатывается приложение, которое должно обеспечивать 1000 показов страниц в минуту. Для системы с двумя процессорами, приложение должно обеспечивать 500 показов страниц в минуту на один процессор или 8.33 показа в секунду/процессор. Для того, чтобы удовлетворить этим требованиям, необходимо, чтобы среднее время вывода страницы не превышало 120 милисекунд.&lt;br /&gt;Отношение между доступным числом процессоров и требуемым числом показов страниц в минуту, выраженное в среднем времени отклика на страницу, может быть отражено с помощью следующей формулы:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;(N*60)&lt;br /&gt;------ = A&lt;br /&gt;  P&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;, где:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;N - количество процессоров&lt;/li&gt;&lt;br /&gt;&lt;li&gt;P - количество показов страниц в минуту&lt;/li&gt;&lt;br /&gt;&lt;li&gt;A - среднее время отклика на страницу&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Используя это простое уравнение, можно выполнять оценку среднего времени отображения страницы для  обеспечения заданного числа показов страниц в минуту. Изменяя число процессоров или количество показов страниц в минуту, можно установить четкие целевые показатели для приложения.&lt;br /&gt;Кроме того, среднее время отображения страницы может помочь в предсказании влияния изменения размера пользователей, то есть, для того, чтобы определить количество пользователей, которое может обеспечивать приложение, начиная с первого определения количества запросов страниц в течение определенного периода времени.&lt;br /&gt;Например, если средняя сессия, включающая 50 показов страниц, занимает 10 минут,а приложение поддерживает отображение пяти страниц в минуту для обычной сессии, то если приложение масштабируется для обеспечения 1000 показов страниц в минуту, то приложение будет поддерживать 200 одновременных пользователей на сессию.&lt;br /&gt;    Если экстраполировать эти данные для оценки количества ежедневных пользователей, то давайте так же считать, что все пользователи находятся в одном часовом поясе и, что в среднем каждый пользователь использует две сессии в один восьмичасовой рабочий день, в результате чего имеем 100 страниц (2 * 50 страниц в сессии). Поскольку приложение масштабируется на 1000 показов страниц в минуту,то умножим число минут в восьми часах (480) на страницы в минуту (1000), чтобы определить, что приложение может обеспечивать 480000 показов страниц на каждые восемь часов, или 4800 пользователей.&lt;br /&gt;    Как правило, приложение необходимо масштабировать для самого загруженного часа, так как нагрузка может быть 100 страниц в минуту в течение дня, а может быть и 1000 просмотров страниц в минуту в час пик.&lt;br /&gt;    Другое правило состоит в том, что необходимо обеспечивать среднее время показа страницы 300 милисекунд или менее. Для высоко производительных приложений, с многими сотнями или тысячи пользователей, необходимо стремиться к среднему времени показа страницы 150 милисекунд или менее.&lt;br /&gt;&lt;br /&gt;... продолжение следует...&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-2934343048424178704?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/2934343048424178704/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=2934343048424178704" title="Комментарии: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/2934343048424178704" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/2934343048424178704" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/nrV5vT-_re8/1.html" title="Повышаем производительность (часть 1)" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2007/05/1.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1045816305977712294.post-9069455101623016345</id><published>2007-05-15T23:41:00.000+04:00</published><updated>2007-05-29T00:49:08.796+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="sqldeveloper" /><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="tips" /><category scheme="http://www.blogger.com/atom/ns#" term="apex" /><title type="text">Отчеты по Apex в SQL Developer</title><content type="html">В одной из последних версий &lt;a href="http://www.oracle.com/technology/products/database/sql_developer/index.html"&gt;SQL Developer&lt;/a&gt;  были добавлены несколько отчетов для Application Express. Таким образом, теперь есть возможность просматривать некоторую информацию об Apex приложениях прямо из IDE (хотя доступ к ней был и раньше, так как всегда были общедоступные взгляды APEX_%, но теперь не надо будет писать даже запросов :).&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://bp2.blogger.com/_HTPuwjEAZfk/RkNSJPL9IzI/AAAAAAAAACM/qU55H7Bx2Cc/s320/ishot-1.png" alt="sqldeveloper apex reports"/&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Однако, доступ к функциональности будет только с версии Apex 3.0.1, а пока будем получать:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://bp0.blogger.com/_HTPuwjEAZfk/RkNSTvL9I1I/AAAAAAAAACc/2o3nD-ZtXNk/s320/ishot-3.png" alt="sqldeveloper message about apex version"/&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Но, по слухам, осталось ждать не долго :)... поговаривают, что уже в конце мая-начале июня должен появиться новый патч для Apex.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0876573933122504";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-04-11: http://apex-dev.blogspot.com/
google_ad_channel = "6107414183";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1045816305977712294-9069455101623016345?l=apex-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://apex-dev.blogspot.com/feeds/9069455101623016345/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1045816305977712294&amp;postID=9069455101623016345" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/9069455101623016345" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1045816305977712294/posts/default/9069455101623016345" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/apexdev/~3/9GiWpM3qoIo/apex-sql-developer.html" title="Отчеты по Apex в SQL Developer" /><author><name>Timoshinin Evgeny</name><uri>http://www.blogger.com/profile/16019140023057398100</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp2.blogger.com/_HTPuwjEAZfk/RkNSJPL9IzI/AAAAAAAAACM/qU55H7Bx2Cc/s72-c/ishot-1.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://apex-dev.blogspot.com/2007/05/apex-sql-developer.html</feedburner:origLink></entry></feed>

