Oracleデータベースのライブラリ

ライブラリとは、オペレーティングシステムの共有ライブラリに関連付けられたスキーマ・オブジェクトである。

SQL

ライブラリ関するSQL文を次に示す。

CREATE LIBRARY
ライブラリを作成する。
ALTER LIBRARY
ライブラリを変更する。
DROP LIBRARY
ライブラリを削除する。

CREATE LIBRARY

CREATE LIBRARYとは、外部プロシージャライブラリを作成するSQL文である。

自分のスキーマに外部プロシージャライブラリを作成するには、CREATE LIBRARYシステム権限が必要である。任意のスキーマに外部プロシージャライブラリを作成するには、CREATE ANY LIBRARYシステム権限が必要である。

CREATE [OR REPLACE] LIBRARY [schema.]name {AS|IS} 'filename'
OR REPLACE
作成するライブラリが既に存在した場合は、ライブラリを再作成する。
schema
ライブラリを作成するスキーマを指定する。スキーマの指定を省略した場合は、自分のスキーマにライブラリを作成する。
name
作成するライブラリの名前を指定する。
filename
ライブラリのパスを指定する。

ライブラリを作成する例を示す。

CREATE OR REPLACE LIBRARY mylib AS '/opt/app/oracle/product/11.2.0/db_64/lib/libmylib.so'

ALTER LIBRARY

ALTER LIBRARYとは、外部プロシージャライブラリを明示的に再コンパイルするSQL文である。 ALTER LIBRARYでライブラリファイルのパス名を変更することはできない。 ライブラリファイルのパス名を変更するには、CREATE OR REPLACE LIBRARYで外部プロシージャライブラリを再定義する。

任意のスキーマの外部プロシージャライブラリを明示的に再コンパイルするには、ALTER ANY LIBRARYシステム権限が必要である。

ALTER LIBRARY [schema.]name COMPILE

システム権限

ライブラリに関するシステム権限を次に示す。

ALTER ANY LIBRARY
任意のスキーマの外部プロシージャライブラリを明示的に再コンパイルできる。
CREATE LIBRARY
自分のスキーマに外部プロシージャライブラリを作成できる。
CREATE ANY LIBRARY
任意のスキーマに外部プロシージャライブラリを作成できる。
DROP ANY LIBRARY
任意のスキーマの外部プロシージャライブラリを削除できる。

データディクショナリ

ライブラリに関するデータ・ディクショナリ・ビューを次に示す。

ALL_LIBRARIES
現在のユーザがアクセスできるライブラリを示す。
DBA_LIBRARIES
Oracleデータベース内すべてのライブラリを示す。
USER_LIBRARIES
現在のユーザが所有するライブラリを示す。