How to Drop UNDO Tablespace?

It is not an easy task to drop the undo tablespace . Once I have to delete the undo tablespace due to some reason and i  find that it is not straight forward to delete the undo tablespace . I got the following error while dropping the error :

SQL> select tablespace_name,file_name from dba_data_files;

TABLESPACE_NAME                FILE_NAME
—————————— ———————————————————————
USERS                               D:\ORACLE\ORADATA\NOIDA\USERS01.DBF
UNDOTBS1                       D:\ORACLE\ORADATA\NOIDA\UNDOTBS01.DBF
SYSAUX                             D:\ORACLE\ORADATA\NOIDA\SYSAUX01.DBF
SYSTEM                            D:\ORACLE\ORADATA\NOIDA\SYSTEM01.DBF
EXAMPLE                          D:\ORACLE\ORADATA\NOIDA\EXAMPLE01.DBF

SQL> drop tablespace undotbs1;
drop tablespace undotbs1
*
ERROR at line 1:
ORA-30013: undo tablespace ‘UNDOTBS1’ is currently in use

As the error indicate that the undo tablespace is in use so i issue the following command.

SQL> alter tablespace undotbs1  offline;
alter tablespace undotbs1  offline
*
ERROR at line 1:
ORA-30042: Cannot offline the undo tablespace.

Therefore, to drop undo  tablespace, we have to perform following steps:

1.) Create new undo tablespace
2.) Make it defalut tablepsace and undo management manual by editting parameter file and restart it.
3.) Check the all segment of old undo tablespace to be offline.
4.) Drop the old tablespace.
 5.) Change undo management to auto by editting parameter file and restart the database

Step 1 : Create Tablespace   :  Create undo tablespace undotbs2    

SQL> create undo tablespace UNDOTBS2 datafile  ‘D:\ORACLE\ORADATA\NOIDA\UNDOTBS02.DBF’  size 100M;
Tablespace created.

Step 2 : Edit the parameter file

SQL> alter system set undo_tablespace=UNDOTBS2 ;
System altered.

SQL> alter system set undo_management=MANUAL scope=spfile;
System altered.

SQL> shut immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup
ORACLE instance started.
Total System Global Area  426852352 bytes
Fixed Size                  1333648 bytes
Variable Size             360711792 bytes
Database Buffers           58720256 bytes
Redo Buffers                6086656 bytes
Database mounted.
Database opened.
SQL> show parameter undo_tablespace
NAME                                 TYPE        VALUE
———————————— ———– ——————————
undo_tablespace                      string      UNDOTBS2

Step 3: Check the all segment of old undo tablespace to be offline

SQL> select owner, segment_name, tablespace_name, status from dba_rollback_segs order by 3;

OWNER  SEGMENT_NAME                   TABLESPACE_NAME                STATUS
—— —————————— —————————— —————-
SYS                 SYSTEM                                     SYSTEM                            ONLINE
PUBLIC       _SYSSMU10_1192467665$          UNDOTBS1                       OFFLINE
PUBLIC        _SYSSMU1_1192467665$           UNDOTBS1                       OFFLINE
PUBLIC        _SYSSMU2_1192467665$           UNDOTBS1                       OFFLINE
PUBLIC        _SYSSMU3_1192467665$           UNDOTBS1                       OFFLINE
PUBLIC        _SYSSMU4_1192467665$           UNDOTBS1                       OFFLINE
PUBLIC        _SYSSMU5_1192467665$           UNDOTBS1                       OFFLINE
PUBLIC        _SYSSMU6_1192467665$           UNDOTBS1                       OFFLINE
PUBLIC        _SYSSMU7_1192467665$           UNDOTBS1                       OFFLINE
PUBLIC        _SYSSMU8_1192467665$           UNDOTBS1                       OFFLINE
PUBLIC        _SYSSMU9_1192467665$           UNDOTBS1                       ONLINE
PUBLIC      _SYSSMU12_1304934663$          UNDOTBS2                        OFFLINE
PUBLIC      _SYSSMU13_1304934663$          UNDOTBS2                        OFFLINE
PUBLIC      _SYSSMU14_1304934663$          UNDOTBS2                        OFFLINE
PUBLIC      _SYSSMU15_1304934663$          UNDOTBS2                        OFFLINE
PUBLIC      _SYSSMU11_1304934663$          UNDOTBS2                        OFFLINE
PUBLIC      _SYSSMU17_1304934663$          UNDOTBS2                        OFFLINE
PUBLIC      _SYSSMU18_1304934663$          UNDOTBS2                        OFFLINE
PUBLIC      _SYSSMU19_1304934663$          UNDOTBS2                        OFFLINE
PUBLIC      _SYSSMU20_1304934663$          UNDOTBS2                        OFFLINE
PUBLIC      _SYSSMU16_1304934663$          UNDOTBS2                        OFFLINE

21 rows selected.

If any one the above segment is online then change it status to offline by using below command .

SQL>alter rollback segment “_SYSSMU9_1192467665$” offline;

Step 4 : Drop old undo tablespace

SQL> drop tablespace UNDOTBS1 including contents and datafiles;
Tablespace dropped.

Step  5 : Change undo management to auto and restart the database

SQL> alter system set undo_management=auto scope=spfile;
System altered.

SQL> shut immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area  426852352 bytes
Fixed Size                  1333648 bytes
Variable Size             364906096 bytes
Database Buffers           54525952 bytes
Redo Buffers                6086656 bytes
Database mounted.
Database opened.

SQL> show parameter undo_tablespace
NAME                                       TYPE        VALUE
————————————   ———– ——————————
undo_tablespace                      string      UNDOTBS2

 

Reference:http://neeraj-dba.blogspot.com/2011/05/how-to-drop-undo-tablespace.html

Advertisements

Setting Up Oracle Data Miner 11g Release 2

In the following topics, you perform the steps required to set up Oracle Data Miner 11g Release 2 for use within SQL Developer 3.0.

Important: As stated above, you need the SYS user credentials in order to install the Oracle Data Miner Repository . In addiiton, you will use the SYS user to create a database user account for data mining purposes.

Create a Data Miner User Account

SQL Developer is a client to the Oracle Database software. Before you can perform actions such as creating a user, you must connect to the database from SQL Developer.

To connect to the database, you will define an administrative (SYS) connection in SQL Developer, and then use that connection to create the data miner user.

Perform the following steps.

1. To open SQL Developer, double-click sqldeveloper.exe in the directory where you unzipped SQL Developer.

For example, double-click C:\SQLDev\sqldeveloper.exe, as shown below:

Show Screenshot for Step

Notes:

  • If you are prompted to import settings from an earlier version, click Yes if you have been using an earlier version of SQL Developer and want to preserve those settings.
  • If you wish, create a shortcut to C:\SQLDev\sqldeveloper.exe and move it to your desktop.

 

2. In the the SQL Developer Connections tab, right-click Connections and select New Connection from the pop-up menu.

Show Screenshot for Step

Result: The New / Select Database Connection dialog box appears.

Notes:

  • Your SQL Developer interface may also display the Reports tab next to the Connections tab.
  • In this lesson, we have already closed the SQL Developer Reports tab.

 

3. In the New / Select Database Connection dialog box:

A. Enter the following parameters:

  • Connection Name: admin
  • Username: sys
  • Password: The Administrative password for your database
  • Connection Type: Basic
  • Role: SYSDBA
  • Hostname: The host name of your database server (localhost if the database is installed on your PC)
  • Port: Enter the apropriate port number (1521 is the default)
  • SID: The name of SID for your database (orcl the default)

Show Screenshot for Step

B. Click Test to test the connection.

Note: If the connection is successful, Status (just above the Help button) changes to “Success!”

C. Click Connect to save the connection and to also establish a connection to the database.

 

4 . Next, create an account for data mining.

A. In the SQL Developer Connections tab, drill on the admin connection.

B. Then, right-click the Other Users node and select Create User from the pop-up menu, like this:

Show Screenshot for Step

C. In the Create/Edit User window, select the User tab and specify a username, password, default tablespace, and temporary tablespace for the user account. In the example below, the parameters include:

  • User Namedmuser
  • Password: Create a password of your choice
  • Default TablespaceUSERS
  • Temporary Tablespace: TEMP

Note: Your available tablespaces may differ if you are using an existing database that does not have the standard default tablespaces.

Show Screenshot for Step

D. Still in the Create/Edit User window, select the Roles tab and click the check box in the Granted Column forCONNECT.

Show Screenshot for Step

E. Still in the Create/Edit User window, select the Quotas tab and click the check box to set Tablespace toUnlimited (for the default tablespace).

Show Screenshot for Step

F. Click Apply to create the account.

Note: The Results tab displays the following:

Show Screenshot for Step

E. Click Close to dismiss the Create/Edit User window.

 

Create a SQL Developer Connection for the Data Miner User

In this topic, you create a SQL Developer connection for the data miner user.

You can create this connection either by using the SQL Developer Connections tab or the Data Miner tab. In either case, the same New / Edit Database Connection dialog box appears. All saved SQL Developer connections appears in both tabs.

Follow these steps to create a connection for the data miner user:

1 . In the SQL Developer Connections tab, right-click the Connections node and select New Connection from the pop-menu.

Show Screenshot for Step

 

2 . In the New / Select Database Connection dialog box, specify the following parameters:

  • Connection Name: dmuser
  • Username: dmuser
  • Password: Enter the password that you created for the data miner user
  • Connection Type: Basic
  • Role: default
  • Host Name: Enter the appropriate host name for your database server
  • Port: Enter the apropriate port number (1521 is the default)
  • SID: Enter the approriate value (orcl the default)

Note: If you wish to avoid prompts for passwords, you can select the Save Password option.

Show Screenshot for Step

 

3 . Still in the New / Select Database Connection dialog box:

A. Click Test to test the Connection.

Result: The Status prompt should display “Success!”

B. Click Connect.

Result: The SQL Developer Connections tab now displays both connections, like this:

Show Screenshot for Step

Note: When you activate a connection from the SQL Developer Connections tab, a SQL Developer Worksheet window automatically opens for that user.

 

4 . Close both the dmuser and admin Worksheet windows, like this:

Show Screenshot for Step

Next, you will install the Data Miner Repository.

 

Install the Data Miner Repository

At this stage, you have created a database account for the data miner user (dmuser), and have created a SQL Developer connection for that user. Next, you install the Data Miner Repository in the database using an automated process.

To accomplish this, you simply display the Oracle Data Miner tab ( which looks similar to the SQL Developer Connections tab), and then connect to the data miner user from the Data Miner tab.

Notes:

  • The Data Miner Repository installation routine automatically starts the first time that you activate a SQL Developer connection from the Data Miner tab.
  • Once the Data Miner Repository has been installed in the database, other data miner users may be granted the required privileges to the repository by an automated process that is similar to the installation routine examined here.

Follow these steps:

1. From the SQL Developer menu, select View > Data Miner > Data Miner Navigator, as shown here:

Show Screenshot for Step

Result: The Data Miner tab appears below the SQL Developer Connections tab.

Show Screenshot for Step

 

2. Dismiss the SQL Developer Connections tab by clicking the Close (X) icon, like this:

Show Screenshot for Step

Result: The Data Miner tab now appears directly below the SQL Developer main menu.

Show Screenshot for Step

 

3 . To begin the installation process of the Data Miner Repository:

A. Double-click on dmuser (and not the admin user).

Result: A message tells you that the Data Miner Repository is not installed in the database, and asks you if you want to install the Repository.

Show Screenshot for Step

B. Click Yes to launch the installation process.

 

4 . In the Connection Information dialog box:

A. Enter the Administrative password for the database.

Show Screenshot for Step

Note: You must be logged in as SYS to install the repository.

B. Click OK to continue.

 

5 . In the Repository Installation Settings dialog box:

A. Select the Default Tablespace and the Temporary Tablespace for the repository account named ODMRSYS.

Show Screenshot for Step

Notes:

  • The initial space requirement for the Data Miner Repository is 200MB; however, the tablespace grows as metadata is added.
  • In our example, we select the default values, which are USERS for Default Tablespace and TEMP for Temporary Tablespace.

B. Click OK to display the Install Data Miner Repository dialog box.

 

6 . In the Install Data Miner Repository dialog box:

  • The Install Demo Data option is preselected (the demo data is used by subsequent Oracle Data Miner OBE tutorials).

Show Screenshot for Step

A. Click Start to begin the repository installation.

Notes:

  • The Installation takes approximately 10 minutes for remote database installations and 2 minutes for local database installations.
  • The scroll bar provides a visual indication of the installation process progress, as shown below.

Show Screenshot for Step

B. When the installation completes, click Close to dismiss the dialog box.

 

You are now ready to perform data mining with the dmuser account. You can begin with the tutorial Using Oracle Data Miner 11g Release 2.

Summary

In this lesson, you learned how to set up the Oracle Data Miner graphical user interface for use within SQL Developer, version 3.0.

 

Reference: http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r2/prod/bidw/datamining/ODM11gR2-SetUp.htm

Oracle Data Miner

The free Oracle Data Miner GUI is an extension to Oracle SQL Developer 3.1 that enables data analysts to work directly with data inside the database, explore the data graphically, build and evaluate multiple data mining models, apply Oracle Data Mining models to new data and deploy Oracle Data Mining’s predictions and insights throughout the enterprise. Oracle Data Miner work flows capture and document the user’s analytical methodology and can be saved and shared with others to automate advanced analytical methodologies. oaaodmrgui

Oracle Data Miner creates predictive models that application developers can integrate into applications to automate the discovery and distribution of new business intelligence-predictions, patterns and discoveries—throughout the enterprise.   (To see details about the prior release of Oracle Data Miner,  Oracle Data Miner Classic, click here.)

Getting Started

Oracle Data Miner is comprised of three components:

  • Oracle Database 12c or Oracle Database 11 Release 2
  • SQL Developer (client) which bundles the Oracle Data Miner work flow GUI
  • Data Miner Repository – installed in the Oracle Database

Installation

Follow these steps to install Oracle Data Miner:

  • Step 1: Install Oracle Database 12c or Oracle Database 11Release 2
    • Download the software from Oracle Database Software Downloads athttp://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html.
    • To use Oracle Data Miner, you must connect to an Oracle database that satisfies these requirements:
      • The Oracle Data Mining option is installed. Oracle Data Mining is installed automatically when you install Oracle Database Enterprise Edition.
      • Oracle Text is installed. Oracle Text is installed automatically when you install Oracle Database Enterprise Edition.
      • Oracle XML DB is installed. Oracle XML DB is installed automatically when you install Oracle Database Enterprise Edition.
      • Data used by the cue card sets and the Oracle By Example tutorials requires the SH schema. If you install a starter database when you install Oracle Database Enterprise Edition, SH is automatically installed.
    • Chapter 2 of Oracle Data Miner Administrator’s Guide athttp://download.oracle.com/docs/cd/E11882_01/datamine.112/e16807/toc.htm describes how to install Oracle Database Enterprise Edition on Microsoft Windows. For instructions for other platforms, see the Installing and Upgrading section of the Documentation Library.
  • Step 2: Download the SQL Developer client from the SQL Developer Download site,  following the instructions provided at this site: SQL Developer.
  • Step 3: Install the Data Miner Repository by following the Oracle By Example “Setting Up Oracle Data Miner”
    Install Data Miner Repository

Release Notes

Oracle Data Miner Tutorials

Oracle by Example (OBE) tutorials provide hands-on, step-by-step instructions on how to implement various technology solutions to business problems.There are four OBE Tutorials:  Setting Up Oracle Data Miner,  Using Oracle Data Miner,   Star Schema Mining, and Text  Mining.   You can find them listed as a group in the  Learning Library.

Downloads

Reference: http://www.oracle.com/technetwork/database/options/advanced-analytics/odm/dataminerworkflow-168677.html

STEP BY STEP RENAME DATAFILE

 

Suppose to rename datafileDATA201009.dbftodatafileDATA201009_02.dbf

Step 1: Check path of datafile on tablespace

In the command below, we can detect the datafile with the same name but different paths, which determine what should rename datafile, avoid mistakes

SELECT file_name, tablespace_name

FROM dba_data_files

WHERE FILE_NAME like ‘%DATA201009.dbf%’;

Step 2 :Offline tablespacecontaining thehave datafile which rename

altertablespace“DATA201009” offline immediate;

Step 3 : Login operating system by user oracle or administrator to copy datafile to new location.

–         Use parameter -i in commandcp to datafile in path2 not overwrite

–         You should check path2 before execute.

cp-i path1/DATA201009.dbf path2/DATA201009_02.dbf

Step 4 : Rename datafile.

altertablespaceDATA201009 rename datafile‘/u02/oradata/DATA201009.dbf’ to ‘/u02/oradata/DATA201009_02.dbf’

Step 5 :Online tablespace.

alter tablespace“DATA201009” online ;

Step 6 :Check all datafile again in tablespace have tablespace name.

SELECT file_name, tablespace_name

FROM dba_data_files

WHERE file_nameLIKE ‘%DATA201009.dbf%’;

Move datafile to different location

From time to time a DBA might need move an Oracle database datafile from one location to another. Reasons for this might include: I/O balancing for performance reasons, or to rectify incorrect naming standards.

Choose one of the following procedures based on the log mode of your database (select log_mode from sys.v_$database):

Database is in ARCHIVELOG mode

  • Take the datafile offline with the “ALTER DATABASE DATAFILE ‘/old/location’ OFFLINE;” command.
  • Copy or move the datafile to its new location. On Unix this can be done with the “dd” command.

Example:

dd if=/old/location of=/new/location bs=4096

SQL> ALTER DATABASE RENAME FILE '/old/location' TO '/new/location';
SQL> RECOVER DATAFILE '/new/location';
SQL> ALTER DATABASE DATAFILE '/new/location' ONLINE;

Database is in NOARCHIVELOG mode

  • Shutdown the database
  • Copy or move the datafile to its new location. On Unix this can be done with the “dd” command. Example:
dd if=/old/location of=/new/location bs=4096
  • Start SQL*Plus, do a “STARTUP MOUNT” and rename the file:
SQL> ALTER DATABASE RENAME FILE '/old/location' TO '/new/location';
SQL> ALTER DATABASE OPEN;

Check current location of datafiles

If the database is offline you can still check the current location of the datafiles and archive log mode.

SQL> select log_mode from v$database;
SQL> select name from v$datafile;
SQL> select member from v$logfile;
SQL> select name from v$controlfile;

Note that the location of data files (and other fixed tables/views) is stored in the control files, and the location of the control files is stored in the init file (pfile or spfile).

 

Reference : http://www.orafaq.com/wiki/Move_datafile_to_different_location

Introduction to Oracle Reports

Oracle Reports is Oracle’s award-winning, high-fidelity enterprise reporting tool. It enables businesses to give immediate access to information to all levels within and outside of the organization in an unrivaled scalable and secure environment.

Using Oracle Reports, you can rapidly develop and deploy sophisticated Web and paper reports against any data source (including an Oracle database, JDBC, XML, and text files). Leveraging Java EE technologies such as JSP and XML, you can publish your reports in a variety of formats (including HTML, XML, PDF, Enhanced Spreadsheet, Spreadsheetdata, delimited text, delimiteddata, PostScript, and RTF) to any destination (including e-mail, Web browser, WebDav, FTP, Oracle Portal, and file system) in a scalable, efficient manner.

Oracle Reports consists of Oracle Reports Developer (a component of the Oracle Developer Suite) and Oracle Reports Services (a component of Oracle Fusion Middleware).

Oracle Reports Developer includes the following component:

Oracle Reports Services is the focus of this manual. It executes, distributes, and publishes your reports for enterprise wide reporting. Using Oracle Reports Services to deploy your reports results in gains of flexibility, time savings, and processing capacity. It includes the following components:

For more resources for information about Oracle Reports, refer to “Related Documentation” in the Preface.

1.1.1 Oracle Reports Builder

As its name implies, Oracle Reports Builder (rwbuilder) is the report-building component of Oracle Reports. Report developers use the Oracle Reports Builder design-time user interface to create and maintain report definitions, using:

  • user-friendly wizards that guide you through the report design process
  • pluggable data sources (PDSs), such as JDBC and XML, that provide access to data from any source for your reports
  • a query builder with a graphical representation of the SQL statement to obtain report data
  • default report templates and layout styles that can be customized if needed
  • a live editor that enables you to modify paper report layouts in WYSIWYG mode
  • the ability to add dynamic report output to an HTML page by embedding custom JSP tags within an HTML document
  • an integrated graph builder to graphically represent report data
  • the ability to generate code to customize how reports will run
  • tools that dynamically generate Web pages based on your data
  • standard report output formats such as HTML, HTMLCSS, XML, PDF, RTF, spreadsheet, PCL, PostScript, and ASCII
  • client-side parameter validation using JavaScript
  • the ability to execute dynamic SQL statements within PL/SQL procedures
  • support for Oracle database objects
  • event-based reporting (report execution based on database events)
  • seamless integration of Oracle Reports with Oracle Portal for administering report security and publishing report output to portlets

For more information, refer to the Oracle Reports online Help (select Help > Contents in Oracle Reports Builder), and the Oracle Reports Building Reports manual.

1.1.2 Oracle Reports Bridge

Oracle Reports Bridge (rwbridge) provides functionality for discovering a Reports Server across farms. For more information, see Section 2.3.4.1.2, “Server Discovery Across Subnets”.

1.1.3 Oracle Reports Client

Oracle Reports Client (rwclient) provides a command-line interface to send a report to a remote Reports Server (rwserver).

1.1.4 Oracle Reports Runtime

rwrun (Reports Runtime) runs a report by starting its own in-process server (not to be confused with the default in-process Reports Server), which runs in the same JVM as the rwrun process. The configuration file for this in-process server is rwbuilder.conf and trace files are saved in the rep_machinename-rwbuilder directory.

Note:

It is recommended that you use rwrun for testing purposes only. Use rwservlet and rwclient in your production environment to take full advantage of the power of Oracle Reports Services.

1.1.5 Oracle Reports Servlet

Oracle Reports Servlet (rwservlet) is a component of Oracle Reports Services that translates and delivers information between either a Web Server or a Java EE Container (for example, Oracle WebLogic Server) and the Reports Server, enabling you to run a report dynamically from your Web browser.

1.1.6 Oracle Reports Server

Oracle Reports Server (rwserver) is a component of Oracle Fusion Middleware that provides reporting services to execute, distribute, and publish your reports for enterprise-wide reporting. This component processes client requests, including user authentication, scheduling, caching, and report distribution. Use Oracle Reports clients such as Oracle Reports Servlet (rwservlet), Reports JSP, and Oracle Reports Client (rwclient) to send a report to Oracle Reports Server (generally referred to as Reports Server).

Reference : http://docs.oracle.com/cd/E15523_01/bi.1111/b32121/pbr_intro001.htm#CEGIFHGJ

What is PL/SQL?

PL/SQL stands for Procedural Language extension of SQL.

PL/SQL is a combination of SQL along with the procedural features of programming languages. It was developed by Oracle Corporation in the early 90’s to enhance the capabilities of SQL.

The PL/SQL Engine:

Oracle uses a PL/SQL engine to processes the PL/SQL statements. A PL/SQL code can be stored in the client system (client-side) or in the database (server-side).

A Simple PL/SQL Block:

Each PL/SQL program consists of SQL and PL/SQL statements which from a PL/SQL block.

A PL/SQL Block consists of three sections:

  • The Declaration section (optional).
  • The Execution section (mandatory).
  • The Exception (or Error) Handling section (optional).

Declaration Section:

The Declaration section of a PL/SQL Block starts with the reserved keyword DECLARE. This section is optional and is used to declare any placeholders like variables, constants, records and cursors, which are used to manipulate data in the execution section. Placeholders may be any of Variables, Constants and Records, which stores data temporarily. Cursors are also declared in this section.

Execution Section:

The Execution section of a PL/SQL Block starts with the reserved keyword BEGIN and ends with END. This is a mandatory section and is the section where the program logic is written to perform any task. The programmatic constructs like loops, conditional statement and SQL statements form the part of execution section.

Exception Section:

The Exception section of a PL/SQL Block starts with the reserved keyword EXCEPTION. This section is optional. Any errors in the program can be handled in this section, so that the PL/SQL Blocks terminates gracefully. If the PL/SQL Block contains exceptions that cannot be handled, the Block terminates abruptly with errors.

Every statement in the above three sections must end with a semicolon ; . PL/SQL blocks can be nested within other PL/SQL blocks. Comments can be used to document code.

This is how a sample PL/SQL Block looks.

DECLARE
Variable declaration
BEGIN
Program Execution
EXCEPTION
Exception handling
END;