ライブラリとは、オペレーティングシステムの共有ライブラリに関連付けられたスキーマ・オブジェクトである。
ライブラリ関するSQL文を次に示す。
CREATE LIBRARYとは、外部プロシージャライブラリを作成するSQL文である。
自分のスキーマに外部プロシージャライブラリを作成するには、CREATE LIBRARYシステム権限が必要である。任意のスキーマに外部プロシージャライブラリを作成するには、CREATE ANY LIBRARYシステム権限が必要である。
CREATE [OR REPLACE] LIBRARY [schema.]name {AS|IS} 'filename'
ライブラリを作成する例を示す。
CREATE OR REPLACE LIBRARY mylib AS '/opt/app/oracle/product/11.2.0/db_64/lib/libmylib.so'
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 は、現在のユーザが所有する外部プロシージャ・ライブラリを示すデータ・ディクショナリ・ビューである。