Database Reference
In-Depth Information
----------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | 425 (100)| |
|* 1 | VIEW | | 25 | 7250 | 425 (1)| 00:00:01 |
|* 2 | WINDOW SORT PUSHED RANK | | 25 | 1050 | 425 (1)| 00:00:01 |
|* 3 | FILTER | | | | | |
|* 4 | TABLE ACCESS FULL | T3 | 25 | 1050 | 425 (1)| 00:00:01 |
----------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter(("from$_subquery$_002"."rowlimit_$$_rownumber"<=CASE WHEN
(:A>=0) THEN FLOOR(TO_NUMBER(TO_CHAR(:A))) ELSE 0 END +:A AND
"from$_subquery$_002"."rowlimit_$$_rownumber">:A))
2 - filter(ROW_NUMBER() OVER ( ORDER BY
"OBJECT_NAME","SUBOBJECT_NAME")<=CASE WHEN (:A>=0) THEN
FLOOR(TO_NUMBER(TO_CHAR(:A))) ELSE 0 END +:A)
3 - filter(:A<CASE WHEN (:A>=0) THEN FLOOR(TO_NUMBER(TO_CHAR(:A)))
ELSE 0 END +:A)
4 - filter("OWNER"='MARTIN')
31 rows selected.
The approach well since the offset thankfully accepts a value of 0 rows as well. Your web frontend could simply
keep track of the number of records already displayed and passes the bind variables :first_row_to_fetch as well as a
constant for the :number_of_rows to fetch.
Changes Relevant to Database Availability
Oracle has always been one at the forefront when it came to supporting a highly available infrastructure for its
database product. Broadly speaking you can categorize the high availability options into two categories. The first is
all about protecting a single instance database. A database instance in Oracle's terminology broadly speaking is what
you find in memory on a database server or within a virtual machine. An instance is gone as soon as the power is
turned off, as it does not have a persistent part. The persistent information, or in other words the database, is separate
from the instance. A single instance database has a one-to-one mapping with the database, and is most likely the
predominant deployment method of an Oracle database. It is also by far the easiest to manage. A multi-instance
database is called a Real Application Clusters (RAC) Database. In RAC the strict mapping of instance to database is
lifted, and you can have n-to-1 mappings between instances and databases. Bear in mind that with RAC you always
get only one copy of the database; it therefore does not qualify as a disaster recovery (DR) solution!
Among the options for protecting your single instance database you can choose from are:
Virtualization
Active/Passive Clusters
The loss of the instance even for the briefest of moments always means a loss of connectivity to the database.
This connectivity loss is going to be noticed by the user. Depending on how well your application has been written the
end-users will either see the ORA-03113 “end of file on communication channel” or a friendlier variant of the same.
Loss of the instance can be completely acceptable, for as long as the service can be restored in a reasonable recovery
period. If all goes well then all there is to do is for the SMON process to perform instance recovery. Worse cases
 
Search WWH ::




Custom Search