2009年5月14日 (木)

Leopard de Oracle10g R2 (Intel x86-64) #8 - (APEX3.2と遊ぶ #1)

さて、前回予告していたようにOracle10g R2 10.2.0.4.0 for MacOSX (Intel x86-64)へOracle Application Express 3.2をインストールして無理矢理使ってみましょう! の第一話。

Oracle Application Express3.2(以下、APEX3.2)は、http://www.oracle.com/technology/products/database/application_express/download.htmlからダウンロード。


2

今回はOracle10g R2 10.2.0.4.0 for MacOSX (Intel x86-64)APEX3.2の英語環境をインストールするところまでを試してみる。
PL/SQLパッケージ等の作成がメインだから問題になりそうな箇所はないんだけど、なんで未サポートなんだろう?。 Oracle HTTP Serverが未サポートだからその影響か?


上記URLからダウンロードしたAPEX3.2を解凍したディレクトリに移動(MacOSX Leopardでは通常Downloadフォルダへダウンロードされる。)

guppy:˜ oracle$ 
guppy:˜ oracle$ cd /Users/oracle/Downloads/apex
guppy:apex oracle$ ll
total 424
-r--r--r--@ 1 oracle oinstall 690 9 10 2008 apex_epg_config.sql
-r--r--r--@ 1 oracle oinstall 15749 1 18 17:38 apex_epg_config_core.sql
-r--r--r--@ 1 oracle oinstall 5208 1 8 13:33 apexins.sql
-r--r--r--@ 1 oracle oinstall 8476 1 8 13:33 apexvalidate.sql
-r--r--r--@ 1 oracle oinstall 1549 1 8 13:33 apxchpwd.sql
-r--r--r--@ 1 oracle oinstall 2830 12 23 18:39 apxconf.sql

・・・・中略・・・・

drwxr-xr-x@ 873 oracle oinstall 29682 2 11 05:50 images
-r--r--r--@ 1 oracle oinstall 1295 12 23 18:39 load_trans.sql
drwxr-xr-x@ 64 oracle oinstall 2176 2 8 19:34 owa
drwxr-xr-x@ 9 oracle oinstall 306 2 8 21:30 utilities
-rw-rw-r-- 1 oracle oinstall 4803 2 17 12:13 welcome.html
guppy:apex oracle$
guppy:apex oracle$

ディレクトリを移動後、SQL*Plusから赤太文字で示したapexins.sql(前述)を実行する。
実行時のパラメータはAPEXのマニュアルを見てね

guppy:apex oracle$ sqlplus /nolog

SQL*Plus: Release 10.2.0.4.0 - Production on 水 5月 13 19:08:04 2009

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

> conn / as sysdba
接続されました。
SYS> @apexins SYSAUX SYSAUX TEMP /i/

セッションが変更されました。

. ____ ____ ____ ____
. / \ | \ /\ / | /
.| || / / \ | | |
.| ||--- ---- | | |--
.| || \ / \ | | |
. \____/ | \/ \ \____ |____ \____
.
. Application Express Installation.
...................................
.
... Checking prerequisites

・・・・中略・・・・

I. I N S T A L L P R E - C R E A T E T A B L E S P E C S
...wwv_flow_init_htp_buffer

プロシージャが作成されました。

エラーはありません。

権限付与が成功しました。

・・・・中略・・・・

II. I N S T A L L F L O W T A B L E S
...create v function stub

ファンクションが作成されました。

エラーはありません。
...create nv function stub

ファンクションが作成されました。

エラーはありません。

・・・・中略・・・・

III. I N S T A L L F L O W P A C K A G E S P E C S
...wwv_flow_hot_http_links

ファンクションが作成されました。

エラーはありません。

・・・・中略・・・・

Package Specsのタイミング。
経過: 00:00:11.13

IV. I N S T A L L F L O W P A C K A G E B O D I E S
...wwv_dbms_sql
エラーはありません。

・・・・中略・・・・

Package Bodiesのタイミング。
経過: 00:02:50.20

V. P E R F O R M F L O W G R A N T S
Installing flows_files objects 2
...create flows_files
...trigger wwv_biu_flow_file_objects
エラーはありません。
Grantsのタイミング。
経過: 00:00:00.09

VI. I N S T A L L F L O W S
define "^" (hex 5e)
...internal messages
APPLICATION 4411 - APEX - System Messages
Set Credentials...
Check Compatibility...
WWV_FLOW_API.FLOWS_API_LAST_EXTENDED20090112
WWV_FLOW_API.CURRENT_FLOWS_VERSION20090112

・・・・中略・・・・

......Message f4400_p12_howto_step7
......Message internal_users
......Message database_users
......Message f4400_p22_obj_created
......Message f4400_p10_queries_help
......Message f4400_p9_tables_help
......Message f4400_p22_table_info
......Message f4400_p8_forms_help
......Message f4400_p20_reports_help
......Message f4400_p49_defs_help
......Message wwv_flow_item_protection_save_item_internal_only_show
......Message wwv_flow_sw_parser_line_exceeds_32k
......Message wwv_flow_sw_api_check_priv_obj
......Message f4050_approved_account_req_display
......Message archivelog

・・・・中略・・・・

Install Internal Flowsのタイミング。
経過: 00:00:34.94

...Development install if necessary

セッションが変更されました。

I. O R A C L E S Y S I N S T A L L P R O C E S S
dev_grants
...grant APEX owner development privileges

・・・・中略・・・・

...done grant APEX owner core privileges
...CONNECT as the Oracle user who will own the APEX engine

セッションが変更されました。

III. I N S T A L L F L O W P A C K A G E S P E C S
wwv_flow_plsql_editor.sql

・・・・中略・・・・

Development Package Specsのタイミング。
経過: 00:00:40.17
wwv_flow_plsql_editor.plb

パッケージ本体が作成されました。

・・・・中略・・・・

Development Package Bodiesのタイミング。
経過: 00:00:29.69

権限付与が成功しました。


PL/SQLプロシージャが正常に完了しました。

VI. I N S T A L L F L O W S
define "^" (hex 5e)
APPLICATION 4000 - APEX - Application Builder
Set Credentials...
Check Compatibility...
API Last Extended:20090112
Your Current Version:20090112

・・・・中略・・・・

Install Internal Development Applicationsのタイミング。
経過: 00:09:10.55

load verification images

PL/SQLプロシージャが正常に完了しました。

エラーはありません。

・・・・中略・・・・

Thank you for installing Oracle Application Express.

Oracle Application Express is installed in the APEX_030200 schema.

The structure of the link to the Application Express administration services is as follows:
http://host:port/pls/apex/apex_admin (Oracle HTTP Server with mod_plsql)
http://host:port/apex/apex_admin (Oracle XML DB HTTP listener with the embedded PL/SQL gateway)

The structure of the link to the Application Express development interface is as follows:
http://host:port/pls/apex (Oracle HTTP Server with mod_plsql)
http://host:port/apex (Oracle XML DB HTTP listener with the embedded PL/SQL gateway)

JOB_QUEUE_PROCESSES: 10

PL/SQLプロシージャが正常に完了しました。


セッションが変更されました。


Performing Application Express component validation - please wait...

Completing registration process.
Validating installation.

PL/SQLプロシージャが正常に完了しました。

Validate Installationのタイミング。
経過: 00:02:04.77

・・・・中略・・・・

VII. L O A D E N G L I S H D I C T I O N A R Y

トリガーが変更されました。

...10000 rows
...20000 rows
...30000 rows
...40000 rows
...50000 rows
...60000 rows
...70000 rows
English Dictionaryのタイミング。
経過: 00:02:58.72
Upgradeのタイミング。
経過: 00:00:01.15
...End of install if runtime install
...create null.sql
Development Installationのタイミング。
経過: 00:17:28.33
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsとの接続が切断されました。
guppy:apex oracle$
guppy:apex oracle$


特に問題もなくAPEX3.2の英語版はインストールできた。これなら次も順調かもよ・・・・・


次はAPEXのバージョン確認(FAQですが)。
apex_030200.wwv_flows_release関数を使えば確認できます。
ちなみにhtmldbなんて呼ばれていたころから flows_02000とか、リリース毎にスキーマ名が変る点にご注意を。但し関数名は変らないのでスキーマ名だけ注意すれば問題ないです。

guppy:apex oracle$ sqlplus /nolog

SQL*Plus: Release 10.2.0.4.0 - Production on 水 5月 13 19:08:04 2009

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

> conn / as sysdba
接続されました。

SYS> select apex_030200.wwv_flows_release from dual;

WWV_FLOWS_RELEASE
--------------------------------------------------------------------------------
3.2.0.00.27

SYS>

次回、日本語リソースのインストール。毎回思うけど、apexins.sqlで一緒にやってくれないかな?
jaとか指定するとenにつづいてjaをインストールしてくれるとか・・・・面倒で・・・。




バックナンバー

Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)
Leopard de Oracle10g R2 (Intel x86-64) #1
Leopard de Oracle10g R2 (Intel x86-64) #2
Leopard de Oracle10g R2 (Intel x86-64) #3 (ちょいと寄り道)
Leopard de Oracle10g R2 (Intel x86-64) #4 (Companion CD installation)
Leopard de Oracle10g R2 (Intel x86-64) #5 (dbstart and dbshut does not work!! But....)
Leopard de Oracle10g R2 (Intel x86-64) #6 (onsがバグっている?件..)
Leopard de Oracle10g R2 (Intel x86-64) #7 (iSQL*Plusのメッセージがものすごく怖い件)

| | コメント (0) | トラックバック (0)

2007年5月17日 (木)

Mac De Oracle : Oracleのバージョン確認(FAQ) #9

OCFS2 のバージョン確認方法は?

10万円 de RAC #22の最後にも記載してありますが、ググれば沢山ヒットすると思いますよ。   


Googleで検索する例も載せておきましょう!

how to determine ocfs2 version で検索すれば英語のページは沢山ヒットする。
ocfs2のバージョン確認 と入力して検索すれば、私のBlogも含んだ検索結果が返ってきますよ。

以下のスクリーンショットは、MacOSXのTerminalからCentOSへssh接続したもの
Mac_linux_ssh


[root@discus1 ˜]# cat /proc/fs/ocfs2/version
OCFS2 1.2.3 Thu Aug 10 18:16:03 PDT 2006 (build 6b798aaadf626d3b137c3952809b2f38)
[root@discus1 ˜]#

| | コメント (0) | トラックバック (0)

2007年5月16日 (水)

Mac De Oracle : Oracleのバージョン確認(FAQ) #8

Oracle JDBC Driverのバージョンは確認方法は?

マニュアルにしっかり載ってます。 
今回は、先日公開された、Oracle JDeveloper11g Technology Previewで試してみた。

ちなみに、接続先は、Oracle10g R2 EE 10.2.0.2.0
Jdev11g_jdbc11

よく見えないかもしれないので、ログペインを拡大したスクリーンショットも載せておく。
Jdbcversionresult

Oracle JDeveloper11g Technology Previewでは、Oracle JDBC Driver 11.1.0.0.0-Alpha が使われているんですね!。

Determining the Version of the JDBC Driverを見れば分かるし、マニュアルからコピペすればよいので、書くまでもないのだが。。。。。。。

読んでないのか!?、見つけられないのか?  よく聞かれるのでコードも載せておく。

package jp.macdeoracle.discus;

import oracle.jdbc.pool.OracleDataSource;
import java.sql.DatabaseMetaData;
import java.sql.Connection;
import java.sql.SQLException;

public class JdbcVersion
{
public static void main(String[] args)
{
OracleDataSource ods = null;
Connection conn = null;
try {
ods = new OracleDataSource();
ods.setURL("jdbc:oracle:thin:scott/tiger@192.168.1.2:1521:catfish");
conn = ods.getConnection();
DatabaseMetaData meta = conn.getMetaData();
System.out.println(meta.getDriverName() + "," + meta.getDriverVersion());
}
catch (SQLException se) {
System.out.println(se.getSQLState());
System.out.println(se.getErrorCode());
}
finally
{
try {
if (ods != null && conn != null && !conn.isClosed()) {
conn.close();
ods.close();
}
}
catch (SQLException se){
se.printStackTrace();
}
}
}
}

| | コメント (0) | トラックバック (0)

2007年5月14日 (月)

Mac De Oracle : Oracleのバージョン確認(FAQ) #7

Oracle Enterprise Manager 10g Database Controlのバージョンは以下のようにしても確認できる。ついでに、URLの確認にもなるから便利。

ちなみに、EM10g R1 と R2では、Port番号が異なっているので要注意。

G5Server:˜ oracle$ emctl status dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.1.0.3.0
Copyright (c) 1996, 2004 Oracle Corporation. All rights reserved.
http://192.168.1.19:5500/em/console/aboutApplication
Oracle Enterprise Manager 10g is not running.
G5Server:˜ oracle$

[oracle@discus1 ˜]$ emctl status dbconsole
TZ set to Japan
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://192.168.1.100:1158/em/console/aboutApplication
Oracle Enterprise Manager 10g is not running.
[oracle@discus1 ˜]$

| | コメント (0) | トラックバック (0)

2007年4月27日 (金)

Mac De Oracle : Oracleのバージョン確認(FAQ) #6

リスナーのバージョン確認方法は?

注意)この方法でバージョンを確認するには、リスナーが起動している必要があります。

[oracle@discus1 ˜]$ lsnrctl version

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 26-4月 -2007 22:44:06

Copyright (c) 1991, 2005, Oracle. All rights reserved.

(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))に接続中
TNSLSNR for Linux: Version 10.2.0.1.0 - Production
TNS for Linux: Version 10.2.0.1.0 - Production
Unix Domain Socket IPC NT Protocol Adaptor for Linux: Version 10.2.0.1.0 - Production
Oracle Bequeath NT Protocol Adapter for Linux: Version 10.2.0.1.0 - Production
TCP/IP NT Protocol Adapter for Linux: Version 10.2.0.1.0 - Production,,
コマンドは正常に終了しました。
[oracle@discus1 ˜]$

| | コメント (0) | トラックバック (0)

2007年4月25日 (水)

Mac De Oracle : Oracleのバージョン確認(FAQ) #5

APEXのバージョンを確認するには?

以下は、APEX3.0でのバージョン確認方法だが、APEX2.2の場合には、flows_020200.wwv_flows_release()ファンクションを実行する必要がある。この方法はバージョン毎にスキーマ異なるので少々面倒だ。(APEX上で表示するのならば話は別だが。。)

SYS> select flows_030000.wwv_flows_release from dual;

WWV_FLOWS_RELEASE
--------------------------------------------------------
3.0.0.00.20

SYS>

そこで、スキーマに関係なく確認する方法として、以前にも紹介した、DBA_REGISTRYビューを問い合わせる方法がある。

| | コメント (0) | トラックバック (0)

2007年4月24日 (火)

Mac De Oracle : Oracleのバージョン確認(FAQ) #4

Oracle WebTool kitのバージョンを確認するには?

OWA_UTILパッケージの get_version関数を使う!


ちなみに、SQL*Plusから接続するユーザは、SYSユーザである必要はないが、Web toolkit関連パッケージの実行を制限している場合には権限が付与されているユーザで接続すれはOK。


OWA_UTILパッケージにアクセスできるか簡単に確認するには、

SQL> desc owa_util

としてパッケージに定義されているプロシージャやファンクションの一覧がでてくれば実行可能だ。


SYS> select owa_util.get_version from dual;

GET_VERSION
--------------------------------------------------------------------------------
10.1.2.0.6

SYS>

| | コメント (0) | トラックバック (0)

2007年4月23日 (月)

Mac De Oracle : Oracleのバージョン確認(FAQ) #3

Oracleデータベースにロードされている各コンポーネントのバージョンを知りたいときは、dba_registryビューを問い合わせる。

マニュアル「Oracle® Database Reference 10g Release 2 (10.2)」 
普段参照することはなくても、こんなビューがあるということを思えておくだけでも、いざという時には役に立つんじゃないかなぁ。

SYS> select comp_name,version,status from dba_registry;

COMP_NAME VERSION STATUS
---------------------------------------- ------------------------------ -----------
Oracle Application Express 3.0.0.00.20 VALID
Oracle Ultra Search 10.1.0.3.0 VALID
Oracle Enterprise Manager 10.1.0.3.0 VALID
Oracle XML Database 10.1.0.3.0 VALID
OLAP Catalog 10.1.0.3.0 VALID
Oracle Text 10.1.0.3.0 INVALID
Spatial 10.1.0.3.0 VALID
Oracle interMedia 10.1.0.3.0 VALID
Oracle Expression Filter 10.1.0.3.0 VALID
Oracle Workspace Manager 10.1.0.2.0 VALID
Oracle Data Mining 10.1.0.3.0 VALID
Oracle Database Catalog Views 10.1.0.3.0 VALID
Oracle Database Packages and Types 10.1.0.3.0 INVALID
JServer JAVA Virtual Machine 10.1.0.3.0 VALID
Oracle XDK 10.1.0.3.0 VALID
Oracle Database Java Packages 10.1.0.3.0 VALID
OLAP Analytic Workspace 10.1.0.3.0 VALID
Oracle OLAP API 10.1.0.3.0 VALID

18行が選択されました。

SYS>

注意)この静的ディクショナリービューは、Oracle9i R2以降で利用可能。

| | コメント (0) | トラックバック (0)

Mac De Oracle : Oracleのバージョン確認(FAQ) #2

Oracleのバージョン確認 その2は、SQL*Plusのバージョン確認

特に解説することも無いが、SQL*Plusのバージョンを確認は以下の方法もある。
(たまに、Oracle Universal Installerを起動して確認している方もいるが、以下の方法で確認するほうが簡単。)

discus1:˜ oracle$ sqlplus -version

SQL*Plus: Release 10.2.0.2.0 - Production

discus1:&tilde oracle$

| | コメント (0) | トラックバック (0)

2007年4月21日 (土)

Mac De Oracle : Oracleのバージョン確認(FAQ) #1

検索ワードを見ていると、ORA-20000から ORA-20999までのエラーコードに次いで、バージョン確認というキーワードが目立つ。。。。。

基本はマニュアルを見ることですよ!

該当部分を発見しにくいマニュアルにも原因はあるかもしれないけど。。。(^^;;;;;

では、よく言聞かれるであろう、Oracle のバージョンや、Oracle のエディションの確認方法。

サポートに確認する場合、その他いろいろなフォーラムでオラクルに関する質問する際、バージョンやエティション、それにプラットフォームやそのバージョンを提示するのは当たり前のことなのだが、、、

最近、そのような基本的な事を提示しない方も多いなぁ、と感じる場面も少なくない。
しかも、検索ワードで、"Oracle Version確認" の検索数が目立つ状況だと、Blogのネタとしては面白くないのだが、確認方法を載せたほうがよいだろうと思い、FAQとして載せておく事にした。
(バージョンやエディションを提示するということ以前に、バージョンの確認方法を知らないという可能性もあるので。。。)

以下は、MacOSX Server版 Oracle10g R1 EEの例

v$version動的パフォーマンスビューを問い合わせれば確認することができる。
但し、Oracle9i 以降では、v$系のビューはselect any dictionaryシステム権限が無いと参照できないため、sysユーザか、systemユーザ、又は前述の権限を付与されたユーザで確認する。
SYS> conn / as sysdba
接続されました。
SYS>
SYS> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Prod
PL/SQL Release 10.1.0.3.0 - Production
CORE 10.1.0.3.0 Production
TNS for MacOS X Server: Version 10.1.0.3.0 - Production
NLSRTL Version 10.1.0.3.0 - Production

SYS>

v$version動的パフォーマンスビューを問い合わせれば、 Oracle のバージョン と エディション以外に、SQL*net や PL/SQLのバージョンも確認することができる。

尚、v$パフォーマンスビューや その他のビューからは有益な情報を問い合わせることが可能なので、暇のある時にでも眺めてみるだけでも見てみるといいだろう。 
「きっと、後々役に立つと思うよ。 あ、そういえば、あんなのがあったなぁ。とか。。。ね。」
Oracle Database リファレンス (10.2)

また、次のような確認方法もある。(但し、SQL*Plusがインストールされているという前提である。)

以下の例は、Oracle9i R2 9.2.0.1.0 のOracle Clientから、Oracle10g R2 10.2.0.2.0 EE へ接続した際のログであるが、接続後のバナーと、 exitコマンド入力後のバナーに、接続先データベースのバージョンとエディションが表示されるので、v$version動的パフォーマンスビューを問い合わせる権限の無いユーザで接続している場合でも、Oracleのversionとeditionを容易に確認することができる。 知っていて損はないだろう。
discus1:˜ oracle$ sqlplus scott@catfish

SQL*Plus: Release 9.2.0.1.0 - Production on 土 4月 21 12:49:12 2007

Copyright (c) 1982, 2002, Oracle. All rights reserved.

パスワードを入力してください:

Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
に接続されました。
SQL> exit
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
With the Partitioning, OLAP and Data Mining optionsとの接続が切断されました。
discus1:˜ oracle$

| | コメント (0) | トラックバック (0)