Oracle APEXの管理マニュアルのスキーマの管理に記載がある内容です。
こちらの記事でワークスペースに複数のスキーマを割り当てる方法を紹介しています。
Oracle Databaseがデフォルトで持っているスキーマについては、ワークスペースに割り当て不可になっています。そうでないスキーマ、つまりユーザーによって作成されたスキーマはワークスペースに割り当てることができます。
Oracle APEXの管理アプリケーションよりワークスペースの管理を実行し、ワークスペースとスキーマの割り当ての管理より、ワークスペースへのスキーマの追加を行います。
ワークスペースにスキーマを割り当てることができると、Oracle APEXではそのスキーマの権限でアプリケーションを実行することが可能になります。
セキュリティ面で良いことはないので、Oracle APEXのアプリケーションに割り当てるべきでないスキーマについては、割り当てを制限しておきましょう。
すべてのワークスペースへの割り当てを制限する
スキーマPDBADMINは、スキーマの追加の選択肢として現れて欲しくありません。プロシージャAPEX_INSTANCE_ADMIN.RESTRICT_SCHEMAに引数としてスキーマ名PDBADMINを与えて呼び出すことにより、すべてのワークスペースへの割り当てを制限します。
begin
apex_instance_admin.restrict_schema(p_schema => 'PDBADMIN');
commit;
end;
/
結果としてスキーマPDBADMINは、ワークスペースに割り当てることができなくなります。
割り当て制限を解除するには、APEX_INSTANCE_ADMIN.UNRESTRICT_SCHMAを呼び出します。
begin
apex_instance_admin.unrestrict_schema(p_schema => 'PDBADMIN');
commit;
end;
/
特定のワークスペースに限定してスキーマの割り当てを許可する
スキーマHRをワークスペースAPEXDEVに限定して割り当てを許可します。
最初にAPEX_INSTANCE_ADMIN.RESTRICT_SCHEMAを呼び出し、スキーマHRの割り当てをすべてのワークスペースにたいして制限します。
begin
apex_instance_admin.restrict_schema(p_schema => 'HR');
commit;
end;
/
結果としてスキーマHRはワークスペースに割り当てることができなくなります。
begin
apex_instance_admin.create_schema_exception(
p_schema => 'HR'
, p_workspace => 'APEXDEV');
commit;
end;
/
ワークスペースAPEXDEVに限り、スキーマHRの割り当てが可能になります。
例外の解除にはプロシージャAPEX_INSTANCE_ADMIN.REMOVE_SCHEMA_EXCEPTIONを呼び出します。
begin
apex_instance_admin.remove_schema_exception(
p_schema => 'HR'
, p_workspace => 'APEXDEV');
commit;
end;
/
設定状況を確認する
設定状況を確認する方法として、マニュアルではreport_instance_configuration.sqlの実行が紹介されています。このスクリプトはインストール・メディアのutilities以下に含まれています。
実行の一例です。
スクリプトを実行すると最初にレポートのヘッダーが表示されます。
SQL> @report_instance_configuration
================================================================================
Oracle Application Express Instance Configuration 2021-07-20 14:38
================================================================================
Database Information
====================
Parameter Value
-------------------- -----------------------------------------------------------
Server Host localhost
Database Name XEPDB1
Instance Name XE
Version Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
AQ TM Processes 1
Dispatchers (PROTOCOL=TCP) (SERVICE=XEXDB)
Multitenant Enabled (connected to XEPDB1)
Job Queue Processes 4000
Shared Servers 1
DB Character Set AL32UTF8
Server Time Zone +09:00
Registry Information
====================
Instance Schema Version Status
--------------------- ----------- --------
APEX_210100 21.1.2 VALID
All Application Express Schemasとして、Oracle APEXに関連するスキーマが一覧されます。過去のバージョンのスキーマを削除していない場合は、それも一覧されます。容量に余裕がある場合、私は過去バージョンのスキーマを削除していません。以前のバージョンでパブリック・シノニムの更新に不備があり、過去バージョンのスキーマをdropしたときにオブジェクトがINVALIDになったことがあったためです。
削除をする場合は以下のようなSQLにて、パブリック・シノニムの更新を確認すると良いでしょう。
select count(*) from dba_synonyms
where owner = 'PUBLIC' and table_owner <> 'APEX_210100' and table_owner like 'APEX%'
OPENになっているアカウントはORDSからの接続に使用されます。
All Application Express Schemas
===============================
Schema Account Status Type Info
------------------------ ---------------- --------------------------- ---------------
FLOWS_FILES LOCKED APEX File Repository
ANONYMOUS EXPIRED & LOCKED APEX Instance (Development)
APEX_180200 LOCKED APEX Instance (Development) Old (remove)
APEX_190100 LOCKED APEX Instance (Development) Old (remove)
APEX_190200 LOCKED APEX Instance (Development) Old (remove)
APEX_200100 LOCKED APEX Instance (Development) Old (remove)
APEX_200200 LOCKED APEX Instance (Development) Old (remove)
APEX_210100 LOCKED APEX Instance (Development) Current - en
APEX_PUBLIC_USER OPEN APEX Run User (ORDS, OHS)
APEX_LISTENER OPEN ORDS REST Admin User
APEX_REST_PUBLIC_USER OPEN ORDS REST Run User
ORDS_PUBLIC_USER OPEN ORDS REST Run User
ORDS_METADATA LOCKED ORDS Repository User
Objects in APEX_210100はOracle APEXのデータベース・オブジェクトです。すべてVALIDになっているはずです。スキーマ名のAPEX_210100はインストールされているAPEXのバージョンによって変わります。
Objects in APEX_210100
======================
Status Type Count Last DDL
---------- ------------------------------ ------ ----------
VALID FUNCTION 8 2021-07-20
VALID INDEX 1251 2021-07-20
VALID JOB 10 2021-07-20
VALID LOB 150 2021-05-13
VALID PACKAGE 357 2021-07-05
VALID PACKAGE BODY 353 2021-07-20
VALID PROCEDURE 10 2021-05-13
VALID SEQUENCE 6 2021-05-13
VALID SYNONYM 3 2021-05-13
VALID TABLE 355 2021-07-20
VALID TRIGGER 418 2021-07-20
VALID TYPE 31 2021-05-13
VALID TYPE BODY 5 2021-05-13
VALID VIEW 353 2021-07-20
Constraints in APEX_210100はOracle APEXのデータベースの制約です。すべて有効(ENABLED)になっているはずです。
Constraints in APEX_210100
==========================
Owner Type Status Count
----------- ---- ---------- ------
APEX_210100 C ENABLED 2794
APEX_210100 P ENABLED 333
APEX_210100 R ENABLED 516
APEX_210100 U ENABLED 118
APEX_210100 V ENABLED 1
FLOWS_FILES C ENABLED 3
FLOWS_FILES P ENABLED 1
FLOWS_FILES R ENABLED 1
FLOWS_FILES U ENABLED 1
Constraints in other schemas referencing APEX
=============================================
Referencing Owner Referencing Constraint APEX Schema APEX Constraint Status
------------------------------ ------------------------------ ----------- ------------------------------ ----------
APEX_180200 WWV_FLOW_SW_RESULT_FK FLOWS_FILES WWV_FLOW_FILE_OBJ_PK ENABLED
APEX_180200 WWV_FLOW_SW_STMTS_FK FLOWS_FILES WWV_FLOW_FILE_OBJ_PK ENABLED
APEX_190100 WWV_FLOW_SW_RESULT_FK FLOWS_FILES WWV_FLOW_FILE_OBJ_PK ENABLED
APEX_190100 WWV_FLOW_SW_STMTS_FK FLOWS_FILES WWV_FLOW_FILE_OBJ_PK ENABLED
APEX_190200 WWV_FLOW_SW_RESULT_FK FLOWS_FILES WWV_FLOW_FILE_OBJ_PK ENABLED
APEX_190200 WWV_FLOW_SW_STMTS_FK FLOWS_FILES WWV_FLOW_FILE_OBJ_PK ENABLED
APEX_200100 WWV_FLOW_BACKUPS_FK2 FLOWS_FILES WWV_FLOW_FILE_OBJ_PK ENABLED
APEX_200100 WWV_FLOW_SW_RESULT_FK FLOWS_FILES WWV_FLOW_FILE_OBJ_PK ENABLED
APEX_200100 WWV_FLOW_SW_STMTS_FK FLOWS_FILES WWV_FLOW_FILE_OBJ_PK ENABLED
APEX_200200 WWV_FLOW_BACKUPS_FK2 FLOWS_FILES WWV_FLOW_FILE_OBJ_PK ENABLED
APEX_200200 WWV_FLOW_SW_RESULT_FK FLOWS_FILES WWV_FLOW_FILE_OBJ_PK ENABLED
APEX_200200 WWV_FLOW_SW_STMTS_FK FLOWS_FILES WWV_FLOW_FILE_OBJ_PK ENABLED
Versioned APIsはバージョン番号を持っているパッケージについて、そのバージョンを一覧しています。バージョンはOracle APEXとしてパッケージに定義しており、ファンクションGET_VERSION_IDENTIFIERを呼び出して取得します。
Versioned APIs
==============
Owner Object Name Version Identifier
----------- ------------------------------ -------------------------------------
APEX_210100 WWV_FLOW_API 92780 2021-04-15 08:54:43
APEX_210100 WWV_FLOW_INTERACTIVE_GRID 92634 2021-04-01 19:35:19
APEX_210100 WWV_FLOW_IR_RENDER
SYS WWV_FLOW_VAL 86212 2020-05-15 16:28:06
Single Sign-On (OSSO)
=====================
- WWV_FLOW_CUSTOM_AUTH_SSO is not installed
- Synonym WWSEC_ENABLER_CONFIG_INFO$ does not exist
- Synonym WWSEC_SSO_ENABLER_PRIVATE does not exist
- SELECT on WWSEC_ENABLER_CONFIG_INFO$ has NOT been granted
- EXECUTE on WWSEC_SSO_ENABLER_PRIVATE has NOT been granted
Network ACLs for APEX_210100
============================
Authorized URLsはOracle APEXの管理アプリケーションからインスタンスの管理を開き、セキュリティの認可済URLとして定義したURLです。
Authorized URLs
===============
Workspace Schema Restrictions And Exceptions
============================================
Restricted Schema Exception for Workspace
------------------------------ -------------------------------------------------
ANONYMOUS
APEX_180200
APEX_190100
APEX_190200
APEX_200100
APEX_200200
APEX_210100
APEX_INSTANCE_ADMIN_USER
APEX_LISTENER
APEX_PUBLIC_USER
APEX_REST_PUBLIC_USER
APPQOSSYS
AUDSYS
AURORA$JIS$UTILITY$
AURORA$ORB$UNAUTHENTICATED
AVSYS
CTXSYS
DBSFWUSER
DBSNMP
DGPDB_INT
DIP
DMSYS
DVF
DVSYS
EXFSYS
FLOWS_FILES
GGSYS
GSMADMIN_INTERNAL
GSMCATUSER
GSMUSER
HR APEXDEV
HTMLDB_PUBLIC_USER
LBACSYS
MDDATA
MDSYS
MGMT_VIEW
ODM
ODM_MTR
OE
OJVMSYS
OLAPSYS
ORACLE_OCM
ORDDATA
ORDPLUGINS
ORDSYS
ORDS_METADATA
ORDS_PUBLIC_USER
Restricted Schema Exception for Workspace
------------------------------ -------------------------------------------------
OSE$HTTP$ADMIN
OUTLN
OWBSYS
PDBADMIN
PERFSTAT
PM
QS
QS_ADM
QS_CB
QS_CBADM
QS_CS
QS_ES
QS_OS
QS_WS
REMOTE_SCHEDULER_AGENT
RMAN
SCOTT
SH
SI_INFORMTN_SCHEMA
SPATIAL_CSW_ADMIN_USR
SPATIAL_WFS_ADMIN_USR
SYS
SYS$UMF
SYSBACKUP
SYSDG
SYSKM
SYSMAN
SYSRAC
SYSTEM
TSMSYS
WKPROXY
WKSYS
WK_TEST
WMSYS
XDB
XS$NULL
Instance Parameters
===================
Name Value Updated On
--------------------------------------- ---------------------------------------- ----------
ALLOW_DB_MONITOR N 2018-10-22
ALLOW_PUBLIC_FILE_UPLOAD N 2018-10-22
ALLOW_RAS N 2018-10-22
APEX_BUILDER_AUTHENTICATION APEX 2018-10-22
APEX_LISTENER_FOP_PATH _/fop2pdf 2018-10-22
APEX_PATCH_STATUS APPLIED 2021-05-13
APEX_REST_PATH_PREFIX r 2018-10-22
APPLICATION_ACTIVITY_LOGGING U 2018-10-22
APPLICATION_ID_MIN 100 2018-10-22
APP_EXPORT_TO_DB_ENABLED Y 2018-10-22
AUDIT_LOG_RETENTION 90 2018-10-22
AUTOEXTEND_TABLESPACES Y 2018-10-22
AUTO_SCHEMA_NAME N 2018-10-22
AUTO_WORKSPACE_NAME N 2018-10-22
BIGFILE_TABLESPACES_ENABLED N 2018-10-22
CHECK_FOR_UPDATES Y 2018-10-22
CLONE_SESSION_ENABLED Y 2018-10-22
CONTENT_CACHE_MAX_FILE_SIZE 1048576 2018-10-22
CONTENT_CACHE_SIZE_TARGET 104857600 2018-10-22
DEBUG_MESSAGE_PAGE_VIEW_LIMIT 50000 2018-10-22
DEFAULT_THEMES 42,51 2021-05-13
DELETE_UPLOADED_FILES_AFTER_DAYS 14 2018-10-22
DG_ALLOW_FORMULAS Y 2021-05-13
DG_ALLOW_JSON_DATA_SOURCES Y 2021-05-13
DG_ALLOW_MULTI_VALUE Y 2021-05-13
DG_ALLOW_SQL_DATA_SOURCES Y 2021-05-13
DG_ALLOW_TABLE_DATA_SOURCES Y 2021-05-13
DG_ALLOW_TABLE_DATA_SOURCE_WHERE_CLAUSE Y 2021-05-13
DG_MAXIMUM_NUMBER_OF_JSON_ROWS_TO_LOAD_ 500000 2021-05-13
PER_BUILTIN
DG_MAXIMUM_NUMBER_OF_ROWS_TO_RETRIEVE_F 500000 2021-05-13
ROM_REST_DATA_SOURCE
DG_MAXIMUM_ROWS_PER_TABLE 500000 2021-05-13
DG_PRIORITIZE_SPEED_OVER_RANDOMNESS Y 2021-05-13
DG_USE_POWERSET_IF_AVAILABLE Y 2021-05-13
DISABLE_ADMIN_LOGIN N 2018-10-22
DISABLE_WORKSPACE_LOGIN N 2018-10-22
DISABLE_WS_PROV N 2018-10-22
EMAIL_IMAGES_URL http://localhost:8080/i/19.1.0.00.15/ 2019-05-14
EMAIL_INSTANCE_URL http://localhost:8080/ords/xepdb1/ 2018-10-22
ENABLE_TRANSACTIONAL_SQL N 2018-10-22
ENCRYPTED_TABLESPACES_ENABLED N 2018-10-22
EXPIRE_FND_USER_ACCOUNTS Y 2018-10-22
GETTING_STARTED_ENABLED N 2018-10-22
GET_STARTED_URL https://apex.oracle.com/go/get_started_a 2019-11-06
Name Value Updated On
--------------------------------------- ---------------------------------------- ----------
pex
HPROF_DIRECTORY - 2018-10-22
IGNORED_FRIENDLY_URL_PARAMETERS utm_campaign,utm_source,utm_medium,utm_t 2020-06-03
erm,utm_content,fbclid
IMAGE_PREFIX /i/21.1.0/ 2021-05-13
INSTANCE_ID 248259925035928 2018-10-22
KEEP_SESSIONS_ON_UPGRADE N 2018-10-22
KILL_SESSIONS_LAST_CALL_ET 3600 2021-05-13
KILL_SESSIONS_WAIT_TIME_SEC 120 2021-05-13
LOGIN_THROTTLE_DELAY 5 2018-10-22
LOGIN_THROTTLE_METHODS USERNAME_IP 2018-10-22
MAX_APPLICATION_BACKUPS 25 2020-04-24
MAX_LOGIN_FAILURES 4 2020-04-24
MAX_SCRIPT_SIZE 500000 2018-10-22
MAX_SESSION_IDLE_SEC 3600 2018-10-22
MAX_SESSION_LENGTH_SEC 28800 2018-10-22
MAX_WEBSERVICE_REQUESTS 1000 2018-10-22
MLE_LANGUAGES JAVASCRIPT 2020-10-22
MOBILE_DEVELOPMENT_ENABLED N 2018-10-22
PASSWORD_ALPHA_CHARACTERS abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN 2018-10-22
OPQRSTUVWXYZ
PASSWORD_PUNCTUATION_CHARACTERS !"#$%&()``*+,-/:;<=>?_ 2018-10-22
PKG_APP_AUTH_ALLOW_HHEAD N 2018-10-22
PKG_APP_AUTH_ALLOW_LDAP N 2018-10-22
PKG_APP_AUTH_ALLOW_SSO N 2018-10-22
PKG_APP_ENABLED Y 2018-10-22
PLSQL_EDITING Y 2018-10-22
PRINT_BIB_LICENSED APEX_LISTENER 2018-10-22
PRINT_SVR_TIMEOUT 300 2018-10-22
REJOIN_EXISTING_SESSIONS P 2018-10-22
REQUIRE_HTTPS N 2018-10-22
REQUIRE_VERIFICATION_CODE N 2018-10-22
REQ_NEW_SCHEMA N 2018-10-22
RESTFUL_SERVICES_ENABLED Y 2018-10-22
SELF_SERVICE_SCHEMA_PREFIX WKSP_ 2020-10-22
SERVICE_REQUESTS_ENABLED Y 2018-10-22
SERVICE_REQUEST_FLOW MANUAL 2018-10-22
SMTP_HOST_ADDRESS localhost 2018-10-22
SMTP_HOST_PORT 25 2018-10-22
SMTP_TLS_MODE N 2018-10-22
SQL_SCRIPT_MAX_OUTPUT_SIZE 200000 2018-10-22
STATS_LAST_SENT 20210720 2021-07-20
STRONG_SITE_ADMIN_PASSWORD Y 2018-10-22
SYSTEM_HELP_URL https://apex.oracle.com/doc211 2021-05-13
Name Value Updated On
--------------------------------------- ---------------------------------------- ----------
TOP_THEMES 42,51 2021-05-13
TRACING_ENABLED Y 2018-10-22
UPGRADE_DEFERRED N 2020-04-24
UPGRADE_DEFER_DAYS 30 2020-04-24
USERNAME_VALIDATION * 2018-10-22
WALLET_PATH file:///opt/oracle/product/apex/wallet 2018-10-22
WEBSERVICE_LOGGING U 2018-10-22
WEBSHEET_CREATE_ENABLED N 2020-10-22
WEBSHEET_SQL_ACCESS N 2018-10-22
WORKSPACE_EMAIL_MAXIMUM 1000 2018-10-22
WORKSPACE_ISSUE_FILES_YN Y 2019-11-06
WORKSPACE_ISSUE_FS_LIMIT 15728640 2019-11-06
WORKSPACE_MAX_OUTPUT_SIZE 2000000 2018-10-22
WORKSPACE_PROVISION_DEMO_OBJECTS N 2018-10-22
WORKSPACE_TEAM_DEV_FILES_YN N 2018-10-22
WORKSPACE_TEAM_DEV_FS_LIMIT 15728640 2018-10-22
WORKSPACE_WEBSERVICE_REQUEST_MAX 1000 2018-10-22
WORKSPACE_WEBSHEET_OBJECTS N 2018-10-22
WS_REQUEST_USAGE_Q N 2020-04-24
最後にInstance Administratorsとして、管理者の情報を表示します。
Instance Administrators
=======================
User Name Email Address Last Login Locked?
------------------------------ ---------------------------------------- ---------- -------
ADMIN ADMIN 2021-07-20 No
================================================================================
今回の記事は以上です。
完