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

ライブラリに関する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;

DROP LIBRARY

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

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

DROP LIBRARY name;

外部プロシージャライブラリに関するシステム権限

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

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

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

データディクショナリ・ビュー 説明
ALL_LIBRARIES 現在のユーザがアクセスできるライブラリを示す。
DBA_LIBRARIES Oracleデータベース内すべてのライブラリを示す。
USER_LIBRARIES 現在のユーザが所有するライブラリを示す。
スポンサーリンク