Posts tagged application context
I have just completed my first ever presentation on the Expertezed.com network – http://www.expertezed.com/ , a reprise from my session on Oracle OpenWorld 2012. This presentation includes a number of slides regarding 12c features, based on the session and slides from Tom Kyte (Top 12 new features) and my notes from the excellent session CON8511 – Temporal Database Capabilities with the Latest Generation of Database Technology that I attended during the conference.
You can download the slides from this presentation here:Expertezed_OOW2012_TheVeryVeryLatestInDatabaseDevelopment.pptx .
Database development in the Oracle Database is crucial for creating well balanced multi tier applications. This presentation describes a number of useful facilities and application architecture considerations around the database, taking into account some of the most recent insights.
The official slide deck from this presentation at Oracle Open World 2012:
Reduce occurrence of ORA-04068 while upgrading PL/SQL packages by moving global variables to Application Context0
This article will argue against the use of (stateful) global PL/SQL variables – as they are both a potential problem for stateless web applications and the availability experienced by end users during database upgrades.
In various database releases, Oracle did a lot of work in supporting online redefinition of database objects, striving to a reduction of the impact of changes both in terms of unavailability (through locks) and invalidation of dependent objects. When a table is redefined online, it is accessible to both queries and DML during much of the redefinition process. The table is locked in the exclusive mode only during a very small window that is independent of the size of the table and complexity of the redefinition, and that is completely transparent to users. Through fine grained dependency tracking, the number of occasions on which dependent objects are rendered invalid is reduced to those situations where it is really justified. In database releases prior to 11g, object dependencies were managed at the object level, so altering an object automatically invalidated all dependent objects. Oracle 11g has more granular dependency management, so only changes that directly More >
Xenogenetics for PL/SQL: Infusing with Java Best Practices and Design Patterns (presentation at OOW 2010)0
Xenogenetics for PL/SQL: Infusing with Java Best Practices and Design Patterns – Alex Nuijten and Lucas JellemaPL/SQL is a venerable programming language that is both vital and very much alive. This session will discuss how we further rejuvenate and enhance the way we create PL/SQL programs. We’ll tap into the world of .NET, Java, and other modern programming language to do some cherry picking: what are the very best practices, concepts, and design patterns and how can we apply them to PL/SQL? We’ll explain and demonstrate dependency injection, the observer pattern based on listeners, aspect-oriented programming (AOP), the decorator and template pattern, use of user-defined nested types, and collections.
PL/SQL is a venerable programming language that is both vital and very much alive. This session will discuss how we further rejuvenate and enhance the way we create PL/SQL programs. We’ll tap into the world of .NET, Java, and other modern programming language to do some cherry picking: what are the very best practices, concepts, and design patterns and how can we apply them to PL/SQL? We’ll explain and demonstrate dependency injection, the observer pattern based on listeners, More >
An Application Context in the Oracle Database is a name in-memory collection of key-value pairs. Applications can store values in an Application Context – using a package associated with the context – and retrieve values from them using sys_context( name of context, key for value). Sys_context can be used in PL/SQL as well as in SQL. Note that references to context values using sys_context are treated as bind-variables by the SQL engine – and evaluated only once at the start of the query.
An application context is usually associated with a session, its data stored in the UGA and the values only accessible within the session itself. There is however a second type of application context, that is accessible from all sessions in the database instance. The data in such a global application context lives in the SGA and survives the end of the session that stored the data in the context – as well as other session until the database shuts down.
This type of context can be used to exchange and share data between sessions. In particular it can be used as a global cache for global settings and values that are used frequently but may be somewhat expensive to retrieve. This article shows how More >