Instance administrators can manage existing workspaces within an Oracle Application Express instance.
Use the Existing Workspaces report to view an interactive report of existing workspaces. From the Existing Workspaces report, you can view or edit workspace details.
To view and edit existing workspaces:
Deleting a workspace does not remove any of the associated database objects. To remove the associated schemas, a database administrator (DBA) must use a standard database administration tool, such as Oracle Enterprise Manager or SQL*Plus.
See Also:
"Viewing the Workspace Summary Report" and "Creating Workspaces"
This section describes how to identify inactive workspaces.
If you are managing a large hosted Oracle Application Express instance, manually deleting inactive workspaces can free up resources for other users. The process of manually deleting inactive workspaces consists of the following steps:
Step 1: Identify inactive workspaces. See "Identifying Inactive Workspaces By Checking Recent Updates" and "Viewing Workspaces with Only a Sample Application."
Step 2: Remove the resources (that is, the database schemas, tablespaces, and data files) associated with each inactive workspace. See "Removing the Resources Associated with Inactive Workspaces."
Step 3: Drop the inactive workspaces from Oracle Application Express. See "Deleting Inactive Workspaces."
Tip:
To systematically purge inactive workspaces you must configure Workspace Purge settings. See "Purging Inactive Workspaces."
The first step in determining if a workspace is inactive is to establish some basic rules. A common approach is to base the rules on the Oracle Application Express activity records found in the current Application Express engine schema.
The following DDL (data definition language) creates a table of all workspaces requested before June 28, 2004 but that have been inactive since June 10, 2004. In this example, inactivity is determined by checking a key within the Application Express engine schema for the most recent updates by each workspace.
ALTER SESSION SET CURRENT_SCHEMA = APEX_050100; CREATE TABLE ws_to_purge AS SELECT c.security_group_id, c.company_name, c.admin_email, c.request_date, SYSDATE last_updated_on, 'Y' ok_to_delete FROM wwv_flow_provision_company c WHERE c.request_date <= to_date('20040628','YYYYMMDD') AND ( not exists (SELECT NULL /* Activity Log */ FROM wwv_flow_activity_log l WHERE l.security_group_id = c.security_group_id AND l.time_stamp > to_date('20040610','YYYYMMDD')) ) AND NOT EXISTS (SELECT NULL /* workspace applications */ FROM wwv_flows f WHERE f.security_group_id = c.security_group_id AND f.last_updated_on > to_date('20040610','YYYYMMDD')) AND NOT EXISTS (SELECT NULL /* Pages */ FROM wwv_flow_steps s WHERE s.security_group_id = c.security_group_id AND s.last_updated_on > to_date('20040610','YYYYMMDD')) AND NOT EXISTS (SELECT NULL /* Regions */ FROM wwv_flow_page_plugs p WHERE p.security_group_id = c.security_group_id AND p.last_updated_on > to_date('20040610','YYYYMMDD')) AND NOT EXISTS (SELECT NULL /* Items */ FROM wwv_flow_step_items i WHERE i.security_group_id = c.security_group_id AND i.last_updated_on > to_date('20040610','YYYYMMDD')) AND NOT EXISTS (SELECT NULL /* Templates */ FROM wwv_flow_templates t WHERE t.security_group_id = c.security_group_id AND t.last_updated_on > to_date('20040610','YYYYMMDD')) AND NOT EXISTS (SELECT NULL /* Files uploaded */ FROM wwv_flow_file_objects$ o WHERE o.security_group_id = c.security_group_id AND o.created_on > to_date('20040610','YYYYMMDD')) AND NOT EXISTS (SELECT NULL /* SQL Workshop history */ FROM wwv_flow_sw_sql_cmds s WHERE s.security_group_id = c.security_group_id AND s.created_on > to_date('20040610','YYYYMMDD'));
Another way to identify potentially inactive workspaces is to view the Workspaces with Only Sample Application report.
To view a report or workspaces only containing only a sample application:
After you have identified inactive workspaces in a single table, the next step is to remove them.
Note:
Before removing the schemas, tablespaces, or data files associated with inactive workspaces, make sure these resources are not being used in any other workspace or application.
To remove the resources associated with inactive workspaces:
Once you remove the resources associated with an inactive workspace, you can delete the workspace. You can delete inactive workspaces manually using the Oracle Application Express Administration Services application. Or, you can delete them programmatically as shown in the following PL/SQL example.
BEGIN FOR c1 IN (SELECT security_group_id FROM ws_to_purge WHERE ok_to_delete = 'Y') LOOP WWV_FLOW_PROVISIONING.TERMINATE_SERVICE_BY_SGID(c1.security_group_id); END LOOP; END;
Delete workspaces in a full development environment.
To delete a workspace:
Instance administrators can lock a workspace to address security or performance issues.
Locking a workspace immediately locks all workspace administrator, developer, and user accounts in the workspace. It also changes the status of all applications in the workspace to Unavailable.
Warning:
Locking a workspace makes it permanently inaccessible.
To lock a workspace:
Instance administrators can view, edit, and remove schema and workspace assignment, associate additional schemas with a workspace, and create new schemas.
When users sign in to Oracle Application Express, they access a shared work area called a workspace. Each workspace can have multiple associated (or mapped) schemas. By associating a workspace with a schema, developers in that workspace can create new database objects in that schema and build applications that interact with the database objects in that schema.
See Also:
View an existing schema to workspace assignments in a full development environment.
To view an existing schema to workspace assignment:
View the existing schema to workspace assignments in a runtime environment.
To view the existing schema to workspace assignment in a runtime environment:
Edit existing schema and workspace assignments.
To edit an existing schema and workspace assignment:
Associate existsing or new schemas with a workspace on the Manage Workspace to Schema Assignments page..
To associate an schemas with a workspace:
Associate additional schemas with a workspace in a runtime environment.
To associate additional schemas with a workspace in a runtime environment:
Control which components are available within an Oracle Application Express instance, including App Builder, SQL Workshop, Allow PL/SQL Editing in SQL Workshop, Team Development, or packaged applications.
To configure component availability:
See Also:
Create a workspace message in Administration Services.
Workspace messages display both on the Workspace home page and on the Workspace Administration page. Nn the Workspace home page, workspace message display in the News and Messages region.
To define a workspace message:
See Also:
Perform a workspace search by clicking Find a Workspace on the Worspace Tasks page.
To perform a workspace search:
Instance administrators can configure limits to isolate a workspace and prevent browser attacks.
See Also:
"About Isolating Workspaces" in Oracle Application Express App Builder User’s Guide
Isolating workspaces is an effective approach to preventing browser attacks.
The only way to truly isolate a workspace is to enforce different domains in the URL by configuring the Allow Hostnames attribute. When the URLs of the attacker and the victim have different domains and hostnames, the browser's same-origin policy prevents attacks.
View workspace information by viewing the Workspace Summary Report.
To view the Workspace Summary Report:
View a summary of workspace database privileges on the Workspace Database Privileges page.
To view workspace database privileges:
See Also:
View total file size and file count by workspace on the File Utilization by Workspace page.
To view total file size and file count by workspace:
Move a workspace and all associated users to a new Oracle Application Express instance by exporting and importing.
Tip:
To review recommendations about optimizing the development and deployment of Oracle Application Express applications throughout their life-cycle, see Life Cycle Management with Oracle Application Express. Go to Life Cycle Management with Oracle Application Express.
APEXExport
and APEXExportSplitter
programs located in the Utilities
folder in the downloaded installation zip file.To move a workspace and all associated users to a new Oracle Application Express instance, you export the workspace.
When you export a workspace, Oracle Application Express generates a text file. This file contains information about your workspace, all the users in your workspace, and any groups in your workspace (if applicable). You can import this file into another Oracle Application Express instance.
Exporting a workspace and importing it into a new database instance enables developers to import application components. When building new environments (for example, moving from development to testing or testing to production), Oracle recommends creating workspaces by importing them.
Keep in mind, this method only imports workspace, users, and groups. This file does not contain:
The schemas associated with this workspace or the objects in those schemas.
Any applications, images, cascading style sheets, and static text files.
These items must be exported separately.
See Also:
"Deploying an Application" in Oracle Application Express App Builder User’s Guide
Export a workspace by clicking Export Workspace on the Manage Workspaces page.
To export a workspace:
Import a workspace by clicking Import Workspace on the Manage Workspaces page.
To import a workspace:
You can also export workspaces, applications, and related files from a command-line using the APEXExport
and APEXExportSplitter
programs located in the Utilities
folder in the downloaded installation zip file.
APEXExport
program to export Oracle Application Express applications or workspaces from the command-line, without requiring a manual export from the Web interface of Oracle Application Express.APEXExportSplitter
program to split Oracle Application Express export files into separate SQL scripts. This is useful when managing files corresponding to the discrete elements of an Oracle Application Express application.Use the APEXExport
program to export Oracle Application Express applications or workspaces from the command-line, without requiring a manual export from the Web interface of Oracle Application Express.
Program Requirements
The APEXExport
program requires:
JDK (Java Development Kit) release 1.5 or higher
the Oracle JDBC class libraries must be in your CLASSPATH
About APEXExport
To use APEXExport
:
Set the CLASSPATH. For example:
On UNIX and Linux:
export CLASSPATH=.:${ORACLE_HOME}/jdbc/lib/ojdbc5.jar...from the Bash shell or ...
From the Bash shell or ...
set CLASSPATH=%CLASSPATH%;.\;%ORACLE_HOME%\jdbc\lib\ojdbc5.jar
On Windows:
From the apex/utilities
directory, issue the command:
java oracle.apex.APEXExport
Returns the following output with both usage directions and examples.
Usage APEXExport -db -user -password -applicationid -workspaceid -instance -expWorkspace -expMinimal -expFiles -skipExportDate -expPubReports -expSavedReports -expIRNotif -expTranslations -expTeamdevdata -expFeedback -deploymentSystem -expFeedbackSince -expOriginalIds -debug- -db: Database connect url in JDBC format -user: Database username -password: Database password -applicationid: ID for application to be exported -workspaceid: Workspace ID for which all applications to be exported or the workspace to be exported -instance: Export all applications -expWorkspace: Export workspace identified by -workspaceid or all workspaces if -workspaceid not specified -expMinimal: Only export workspace definition, users, and groups -expFiles: Export all workspace files identified by -workspaceid -skipExportDate: Exclude export date from application export files -expPubReports: Export all user saved public interactive reports -expSavedReports: Export all user saved interactive reports -expIRNotif: Export all interactive report notifications -expTranslations: Export the translation mappings and all text from the translation repository -expFeedback: Export team development feedback for all workspaces or identified by -workspaceid to development or deployment -expTeamdevdata: Export team development data for all workspaces or identified by -workspaceid -deploymentSystem: Deployment system for exported feedback -expFeedbackSince: Export team development feedback since date in the format YYYYMMDD -expOriginalIds: If specified, the application export will emit ids as they were when the application was imported
Single Application Example: APEXExport -db localhost:1521:ORCL -user scott -password scotts_password -applicationid 31500 All Applications in a Workspace Example: APEXExport -db localhost:1521:ORCL -user scott -password scotts_password -workspaceid 9999 All Applications in an Instance Example: APEXExport -db localhost:1521:ORCL -user system -password systems_password -instance Export All Workspaces Example: APEXExport -db localhost:1521:ORCL -user system -password systems_password -expWorkspace Export Feedback to development environment: APEXExport -db localhost:1521:ORCL -user scott -password scotts_password -workspaceid 9999 -expFeedback Export Feedback to deployment environment EA2 since 20100308: APEXExport -db localhost:1521:ORCL -user scott -password scotts_password -workspaceid 9999 -expFeedback -deploymentSystem EA2 -expFeedbackSince 20100308
Use the APEXExportSplitter
program to split Oracle Application Express export files into separate SQL scripts. This is useful when managing files corresponding to the discrete elements of an Oracle Application Express application.
Program Requirements
The APEXExportSplitter
program requires:
JDK (Java Development Kit) release 1.5 or higher
That Oracle JDBC class libraries must be in your CLASSPATH
About APEXExportSplitter
To use APEXExportSplitter
:
Set the CLASSPATH. For example:
On UNIX and Linux:
export CLASSPATH=.:$CLASSPATH
From the Bash shell or ...
set CLASSPATH=%CLASSPATH%;.\;
On Windows:
From the apex/utilities
directory, issue the command:
java oracle.apex.APEXExportSplitter
Returns the following output with usage directions.
Usage java oracle.apex.APEXExportSplitter filename -help : < print this syntax > -flat : < flat file structure > -debug : < print debug info > -update : < create update file > -nochecksum : < do not check for changes
To split an application export file and create a sub directories for each component type, issue the command:
java oracle.apex.APEXExportSplitter f123.sql
Where f123.sql
is the application export file.
To split an application export file containing the component type in the file name an not create any directories), issue the command:
java oracle.apex.APEXExportSplitter f123.sql -flat
Where f123.sql
is the application export file.
An Instance administrator can change the build status of an application.
Use the Build Status attribute to prevent an application from being modified by other developers.
The Build Status attribute has two settings:
Run and Build Application - Developers can both run and edit an application.
Run Application Only - Developers can only run an application.
Setting the Build Status to Run Application Only is an effective way to prevent other developers from modifying it.
Ways to Modify Build Status
You can change the Build Status of an application as follows:
Application-level - Developers and administrators can change the Build Status attribute on the Edit Application page. See "Availability" in Oracle Application Express App Builder User’s Guide.
Workspace-level - Workspace administrators can change the Build Status of applications within the current workspace on the Manage Application Build Status page. See "Changing Build Status for Multiple Applications."
Instance-level -Instance administrators can change the Build Status of an application on the Build Status page as described in "Changing Build Status in Administration Services."
Change a Build Status in Administration Services under Manage Workspaces, Manage Applications.
To change a Build Status in Administration Services:
Tip:
Note that if you select Build Application Only during deployment, the only way to change this setting is change it on the Build Status page in Oracle Application Express Administration Services.
Use the Parsing Schemas report to identify the current parsing schema of each application in any workspace.
The Parsing Schemas report identifies the Oracle database schema whose privileges are used when Application Express dynamically executes the application's SQL and PL/SQL code at runtime.
To view the Parsing Schemas report:
See Also:
"Managing Schemas" and "Managing Workspace to Schema Assignments"