Catálogo de publicaciones - libros
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
2005
Información sobre derechos de publicación
© Apress 2005
Cobertura temática
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