packages databases encapsulate related procedures, functions, and associated cursors and variables together as a unit in the database. Packages usually have two parts, a specification and a body. The specification is the interface with your applications; it declares the types, variables, constants, exceptions, cursors, and subprograms available for use. The body fully defines cursors and subprograms, and so implements the specification.BenefitsEncapsulation of related procedures and variables in a single named, stored unit in the database. This provides for better organization during the development process and makes privilege management easier. Separation of public and private procedures, variables, constants, and cursors. Improved performance since the entire package is loaded into memory when an object from the package is called for the first time.
Database packages contain database object creation scripts representing the state of a database (including any static data). Packages can also contain: upgrade scripts to upgrade a database from previous versions you have deployed with Deployment Manager creation scripts to create a database HTML documentation of the database