Catálogo de publicaciones - libros

Compartir en
redes sociales


Expert Oracle

Thomas Kyte

Resumen/Descripción – provisto por la editorial

No disponible.

Palabras clave – provistas por la editorial

Software Engineering/Programming and Operating Systems

Disponibilidad
Institución detectada Año de publicación Navegá Descargá Solicitá
No detectada 2005 SpringerLink

Información

Tipo de recurso:

libros

ISBN impreso

978-1-59059-525-1

ISBN electrónico

978-1-4302-0019-2

Editor responsable

Springer Nature

País de edición

Reino Unido

Fecha de publicación

Información sobre derechos de publicación

© Apress 2005

Tabla de contenidos

Java Stored Procedures

Thomas Kyte

In this chapter, we explored how to implement stored procedures in Java. This does not mean that you should run out and re-code all of your PL/SQL in Java stored procedures. It does mean that when you hit the wall with what PL/SQL can do, typically when you attempt to reach out of the database and do operating system interactions, Java should be the first thing you think of.

Using the material presented in this chapter you should be able to pass all of the mainstream SQL datatypes from a PL/SQL layer down to Java, and send them back, including arrays of information. You have a handful of useful snippets of Java that can be of immediate use and as you peruse the Java documentation, you’ll find dozens more that apply in your installation.

Used judiciously, a little Java can go a long way in your implementation.

Pp. 843-866

Using Object Relational Features

Thomas Kyte

To conclude this book, I’ve presented some of the more advanced topics found within the .NET Framework and Mono. First, you saw how to assess the performance of your application using both built-in and additional . This followed with a discussion on how to address performance, assuming that you have first diagnosed the problem(s) using profiling. I then introduced the topic of reflection, showing how you can obtain introspective information on your assemblies and classes at runtime using the reflection application programming interface. You also looked at increasing your application’s response time yet further by tapping into the power of multithreaded applications, allowing (what often appears to be) simultaneous processing of code. Finally, I provided some tips on how to work toward the utopia of true interoperability between your applications running on different operating systems.

Pp. 867-911

Fine Grained Access Control

Thomas Kyte

To conclude this book, I’ve presented some of the more advanced topics found within the .NET Framework and Mono. First, you saw how to assess the performance of your application using both built-in and additional . This followed with a discussion on how to address performance, assuming that you have first diagnosed the problem(s) using profiling. I then introduced the topic of reflection, showing how you can obtain introspective information on your assemblies and classes at runtime using the reflection application programming interface. You also looked at increasing your application’s response time yet further by tapping into the power of multithreaded applications, allowing (what often appears to be) simultaneous processing of code. Finally, I provided some tips on how to work toward the utopia of true interoperability between your applications running on different operating systems.

Pp. 913-961

n-Tier Authentication

Thomas Kyte

In this chapter, we learned about the proxy authentication or n-Tier authentication capabilities available to us when programming in OCI. This feature allows a middle tier application server to act as a trusted agent into the database, on behalf of a client known to the application. We have seen how Oracle allows us to restrict the set of roles available to the application server proxy account, so that the proxy account can only perform application specific operations. Further, we have seen how auditing has been enhanced to support this new feature. We can audit actions specifically performed by proxy accounts on behalf of any given user or all users. We can clearly see when a given user, via the application proxy account, performed an action, and when it was done by the user directly.

We modified one of Oracle’s simple demonstration programs to provide us with a simple SQL*PLUSlike environment to test this feature. The environment it provides is optimal for testing out various pieces of this functionality, and will help you see how it works interactively.

Pp. 963-979

Invoker and Definer Rights

Thomas Kyte

In this chapter we thoroughly explored the concepts of definer rights and invoker rights procedures. We learned how easy it is to enable invoker rights, but we also learned of the price that is to be paid with regards to:

At first glance, these seem too high a price to pay - and in many cases it is. In other cases, such as the generic routine to print out comma-separated data from any query, or to print out the results of a query down the screen instead of across the screen, it is an invaluable feature. Without it, we just could not accomplish what we set out to do.

Invoker rights routines make the most sense in the following cases:

Invoker rights be used to provide access to different schemas based on the current schema (as returned by SYS_CONTEXT(‘USERENV’,‘CURRENT_SCHEMA’)), but care must be taken here to ensure the schemas are consistent with each other, and that the necessary privileges are in place (or that your code is set up to handle the lack of access gracefully). You must also be prepared to pay the price in shared pool utilization, and additional overhead with regards to parsing.

Definer rights procedures are still the correct implementation for almost all stored procedures. Invoker rights routines is a powerful tool, but should only be used where appropriate.

Pp. 981-1026