EXTERNAL LOB (BFILE) 처리 예제 프로그램

제품 : PRECOMPILERS
작성날짜 : 1998-09-15
EXTERNAL LOB (BFILE) 처리 예제 프로그램
======================================
BFILE type은 화일시스템에 존재하는 FILE을 가리키는 LOCATOR를 저장하는 데이타
타입이다. 이 LOCATOR는 디렉토리 ALIAS, FILENAME, 기타 상태 정보를 포함하고
있다. BFILE은 Directory를 통해 access될 수 있다.
디렉토리란 시스템 상의 물리적 디렉토리를 논리적으로 매핑한 alias명을 말한다.
이 오브젝트는 시스템 소유로서, 디렉토리를 생성/삭제하기 위해서는 create[drop]
any directory 권한이 있어야 한다. sys로 connect하여 grant를 실행한다.
SQL> grant create any directory to scott;
디렉토리 생성 시는 실제 디렉토리가 있는지 여부는 확인하지 않는다는 점을 주의
해야 한다. 현재 생성된 디렉토리와 관련된 정보는 all_directories,
dba_directories를 조회하면 확인 가능하다.
Bfile은 pointer 형태로 저장하기 때문에, 여러 record에서 동일한 file을 value
로 가질 수 있다. file에 대한 처리는 Read만 가능하고, 디렉토리와 마찬가지로
BFILE 컬럼에 insert 시 oracle process가 read 권한이 있는지 여부는 확인하지
않는다.
이는 insert하는 user가 미리 확인해야 한다. 하나의 세션에서 동시에 열 수 있는
file 개수는 session_max_open_files parameter에 의해 제한받는다.
1) 사전 수행 SQL 문
SQL> connect sys/manager
SQL> grant create any directory to scott;
SQL> connect scott/tiger
SQL> create or replace directory bfile_dir as '/mnt3/rctest80/';
SQL> create table image_file
2 (a varchar2(10),
3 b bfile);
SQL> desc blobs
Name Null? Type
ID VARCHAR2(255)
BLOB_COL BLOB
2) 프로그램 예제
#include <stdio.h>
#include <sqlca.h>
char username[10] ="ejpark";
char password[10] ="ejpark";
char i_rep_file_dir[20];
char i_rep_file_name[20];
void sql_error();
main()
EXEC SQL WHENEVER SQLERROR DO sql_error("oracle error --");
EXEC SQL CONNECT :username IDENTIFIED BY :password;
printf(" DB connected \n");
/* bfile 컬럼을 insert */
EXEC SQL INSERT INTO image_file VALUES
('abc' , bfilename('BFILE_DIR','a30.bmp') );
printf(" Bfile inserted \n");
EXEC SQL COMMIT ;
EXEC SQL EXECUTE
DECLARE
i_rep_file BFILE;
temp_blob BLOB;
v_rqid NUMBER;
len NUMBER;
BEGIN
/* bfile 컬럼을 select */
SELECT b INTO i_rep_file FROM image_file WHERE a='abc';
IF i_rep_file is not null THEN
IF DBMS_LOB.fileisopen(i_rep_file) = 1 THEN
DBMS_LOB.fileclose(i_rep_file);
END IF;
DBMS_LOB.FILEGETNAME(i_rep_file,:i_rep_file_dir,:i_rep_file_name);
len := DBMS_LOB.GETLENGTH(i_rep_file);
/* 해당 데이타 화일을 읽어 lob table에 insert */
INSERT INTO blobs VALUES ('abc', empty_blob())
RETURNING blob_col INTO temp_blob;
DBMS_LOB.FILEOPEN(i_rep_file, dbms_lob.file_readonly);
DBMS_LOB.LOADFROMFILE(temp_blob,i_rep_file,len);
DBMS_LOB.FILECLOSE(i_rep_file);
END IF;
COMMIT;
END;
END-EXEC;
printf("name %s %s", i_rep_file_dir,i_rep_file_name);
void sql_error(msg)
char* msg;
char err_msg[130];
int buf_len, msg_len;
EXEC SQL WHENEVER SQLERROR CONTINUE;
printf("\n%s\n",msg);
buf_len = sizeof(err_msg);
sqlglm(err_msg, &buf_len, &msg_len);
printf("%.*s\n", msg_len, err_msg);
EXEC SQL ROLLBACK RELEASE;
exit(1);
}

Similar Messages

  • External LOBs (BFILEs) ==== please help me ++ Urgent

    Hi,
    I am trying to execute a video clips stored in a database containing a bfile using JDeveloper.
    Can you help me or give me an example
    Your help appreciated

    Help me please!!!!

  • Intermittent  SYS.DBMS_LOB error

    Approximately 20% of the time my BLOB inserts fail on my Oracle
    8.1.7 instance that's running on Solaris. I'm doing all my db
    calls via JDBC.
    The same code works flawlessly against an 8.1.7 instance running
    on Linux. The only difference between the two instances, other
    than the OS, is that the BLOBS are stored in an NFS-mounted
    volume for the Solaris instance (the one with the problems).
    The error I'm getting is as follows:
    java.io.IOException: ORA-27052: unable to flush file data
    SVR4 Error: 11: Resource temporarily unavailable
    Additional information: 3
    ORA-06512: at "SYS.DBMS_LOB", line 700
    ORA-06512: at line 1
    at oracle.jdbc.dbaccess.DBError.SQLToIOException
    (DBError.java:531)
    at oracle.jdbc.driver.OracleBlobOutputStream.flushBuffer
    (OracleBlobOutputStream.java:179)
    at oracle.jdbc.driver.OracleBlobOutputStream.write
    (OracleBlobOutputStream.java:125)
    This same thing seems to happen no matter what version of
    Oracle's JDBC driver I use. I've tried the jdk 1.2 drivers for
    Oracle 8.1.7, 8.1.7.1 and even 9.0.1.
    I'm guessing that the DB is trying to flush the buffer out to
    the filesystem and the NFS call is taking too long, or possibly
    something else along these lines.
    Any ideas on how to solve this one? Pointers would be
    appreciated because the documentation doesn't have a lot to say
    on this, and I haven't been able to find anything similar in the
    discussion forums.
    Thanks in advance!

    You may helpful this link.
    https://kr.forums.oracle.com/forums/thread.jspa?threadID=354057
    External LOBs
    For an external LOB (BFILE) to be represented by a LOB locator, you must:
    Ensure that a DIRECTORY object representing a valid, existing physical directory has been defined, and that physical files (the LOBs you plan to add) exist with read permission for the database. If your operating system uses case-sensitive path names, then be sure you specify the directory in the correct format.
    Pass the DIRECTORY object and the filename of the external LOB you are adding to the BFILENAME function to create a LOB locator for your external LOB.
    Once you have completed these tasks, you can insert or update a row containing a LOB column using the given LOB locator.
    After the LOBs are defined and created, you can then SELECT from a LOB locator into a local PL/SQL LOB variable and use this variable as an input parameter to DBMS_LOB for access to the LOB value.
    For details on the different ways to do this, you must refer to the section of the Oracle Database Application Developer's Guide - Large Objects that describes "Accessing External LOBs (BFILEs)."

  • Error in creating an external table referring to a XML file

    I've got an XML file and I've tried to create an external table referring to it in this way:
    CREATE TABLE mytable
        XML_DATA_COLUMN XMLType
      ORGANIZATION EXTERNAL
        TYPE ORACLE_LOADER DEFAULT DIRECTORY TEST_DIR
        ACCESS PARAMETERS ( records delimited BY newline
        (XML_DATA_COLUMN LOB) ) LOCATION ( 'myfile.xml' )
    where TEST_DIR is the directory where myfile.xml is stored,
    but I get this message:
    Error at Command Line:3 Column:4
    Error report:
    SQL Error: ORA-30656: column type not supported on external organized table
    30656.0000 -  "column type not supported on external organized table"
    *Cause:    Attempt to create an external organized table with a column
               of type LONG, LOB, BFILE, ADT, or VARRAY.
    *Action:   These column types are not supported, change the DDL.
    I want to have in the XML_DATA_COLUMN the content of myfile.xml so as to handle it by using extract and extractvalue functions.
    My oracle version is 10gR2 Express Edition
    Thanks!

    The examples in the following thread include an insert, but you could also use the select statement alone without the insert.
    http://www.orafaq.com/forum/mv/msg/172162/511897/0/#msg_511897

  • BFileSample:  Error while selecting BFILE Locator java.sql.SQLException: ORA-22288:

    Hello, i have compiled and executed the BFileSample java standalone successfully. I am wondering how to use this in a production environment where there may be hundreds of image files stored categorically over a period of years? is it possible to use the BFILE_TABLE in conjunction w/ other tables e.g. use the BFILE_TABLE as fk to some table to query the oracle instance for select image files based on say some category: time, location and other relations? i have tried select * on BFILE_TABLE but i get the following errors:
    SQL> select BFILE_COLUMN from BFILE_TABLE;
    SP2-0678: Column or attribute type can not be displayed by SQL*Plus
    Is the BFILE_TABLE usefull in anyway outside of the current implementation? thanx, david.

    Hi David,
    BFILE's are also called external LOB's, since data is stored in OS files outside the database and use reference semantics.
    Apart from conventional secondary storage devices such as hard disks, BFILEs may also be located on tertiary block storage devices such as CD-ROMs, PhotoCDs and DVDs.
    A table having BFILE column can be used like any other table, you can reference any column and have fk relationships. The only disadvantage of BFILE's is that backup doesn't happen automatically (since reference is only stored), the OS has to take care of backups of BFILE data.
    LOB's(BLOB, CLOB, BFILE) cannot be viewed in SQL Plus using selects, you can either get length or any associated attributes of these datatypes.
    example:
    select dbms_lob.getlength( BFILE_COLUMN) from bfile_table;
    I would suggest BFILE when you don't want to stress your tablespace(CLOB and BLOB sit on tablespace) and also when data need not be replicated .i.e if you copy a BFILE record, data is not copied, only the reference is copied(both reference will point to same file), but in case of CLOB and BLOB complete data is duplicated.
    http://otn.oracle.com/docs/products/oracle9i/doc_library/release2/appdev.920/a96591/adl12bfl.htm#99013
    Hope this helps.
    Elango.

  • I wonder why it could be useful for bfile datatype

    may be i do know understand exactly,
    i always wonder, why we need a bfile for storage?
    we also can store the path/filename as a string in any char datatype, so as to get the feaures of bfile more easily, then why oracle make up a datatype as bfile.
    what is its special advantages?
    thanks for your tips
    null

    Hi,
    Following is a very brief explanation of the BFILE data type. See the Oracle8i documentation for more information. Oracle8i Application Developer's Guide - Large Objects (LOBs) can be found at: http://otn.oracle.com/docs/products/oracle8i/doc_library/817_doc/appdev.817/a76940/toc.htm
    The BFILE data type is one of the Oracle data types used to access Large OBjects or LOBs. A BFILE is an external LOB type (that is to say, the data is stored externally to the database), while BLOBs and CLOBs are internal LOB types (that is to say, the data is stored internally in the database). All the LOB types share a common API, with the methods such as open and close, read and write (write support for internal LOBs only), and others such as methods to get the LOB length. The LOB interface is the only way to access LOB data from within the database, whether the data is stored internally, as BLOBs or CLOBs, or externally, as BFILEs. (Actually, it is possible to access files on the database server using Java Stored Procedures in the database, given the right access permissions. But that's a different story and doesn't have anything to do with LOBs as such.)
    An application can choose whether to store a 'reference' to an external LOB as a BFILE, or as a database directory name plus the file name. If the reference is stored as a BFILE, then the application can access the LOB data directly. If the reference is stored as a database directory name plus file name, then, before accessing the LOB data, the application must first create a BFILE LOB locator using the BFILENAME SQL function.
    To sum up:
    1) The Oracle BFILE LOB data type is used to specify a LOB locator using which applications access the LOB data.
    2) Do applications have to use the BFILE data type to reference external LOB data? No, an application can store the database directory name plus the file name, and create a BFILE data type only when the application needs to read the LOB data.
    Hope that helps,
    Simon
    null

  • Search for documents using External Data on list content type

    hi,
    say we have clients in an external database, we create the external content type for use in sharepoint 2013
    we create two content types, Quote and Order for use in a library
    we create a document library that uses the above content types
    we then add a column for the external data ( in this case Client Name- but also include ID) , we have the option to copy to content type selected. so now library shows 'Client' and 'Client:ID'
    I believe that column gets added to  list content types based on the 2 document content types.
    so we have list items , which have a document , a content type and a piece of data from the external LOB system.
    now that is fine, works great, however, how do you configure the content search web part to return documents based on the piece of external data - ie client:ID ? or Client Name ?
    I can map the client:ID to one of the Int00 managed properties and crawl etc - but do not see a way to use that to return documents
    any help would be appreciated :)
    thanks
    MrP

    Create a scopr with that in managed properies and then u can get results from  external sources

  • Renaming VARRAY LOB

    hello,
    We am facing an issue using while renaming a table name. The issue is when I rename a table, it leaves external LOB table name unchanged.
    For example, I create the table using the following. And when I try to rename TABLE_ALLWAVE to TEST_NEW_ALLWAVE, “VOLTS_TEST”, external LOB table doesn’t change. Is there a way I can rename external VARRAY LOB table? Any help will really be appreciated.
    CREATE TABLE TEST_allwave (
    PROBEPOINT VARCHAR2(32),
    NETNAME VARCHAR2(32),
    MECH VARCHAR2(32),
    UDATE DATE,
    SAMPLES NUMBER(6),
    PERIOD NUMBER(15,13),
    FILE_NAME VARCHAR2(32),
    TAIL VARCHAR2(32),
    TRIGMECH VARCHAR2(32),
    VOLTS asi_varray,
    ANNOTATION CLOB default EMPTY_CLOB(),
    INSERT_DT DATE)
    VARRAY VOLTS STORE AS LOB VOLTS_TEST
    storage (initial 1m next 1m)
    tablespace abc_data;

    Are you using the table created by Schema Registration ? Are you sure you had the correct namespace defined for the xdb prefix.. Can you run the following query
    select table_name, parent_table_column, parent_table_name
    from user_nested_tables

  • LOB, LONG, LONG RAW 데이터 타입 간의 비교

    제품 : ORACLE SERVER
    작성날짜 : 2002-11-19
    LOB, LONG, LONG RAW 데이터 타입 간의 비교
    =========================================
    PURPOSE
    이 문서는 LOB 데이터 타입과 LONG이나 LONG Raw 데이터 타입의 차이점 및
    LOB 사용에 따라 발생하는 제약 사항을 기술하는 데 목적이 있다.
    Explanation
    LOB (Large Object)는 LONG이나, LONG RAW 데이터 타입과 유사하지만, 일부 차이점이 존재한다.
    1. 테이블의 한 ROW에 여러 LOB 컬럼이 있을 수 있는 반면, LONG 또는 LONG RAW 컬럼은
    한 ROW에 하나 밖에 사용될 수 없다.
    2. LOB는 사용자 정의 데이터 타입 (user-defined datatype)의
    속성 (attribute) 으로 사용될 수 있는 반면, LONG이나 LONG RAW는 속성으로
    사용될 수 없다.
    3. LONG 또는 LONG RAW는 값 전체가 테이블 내에 저장이 되는 반면, LOB는 테이블 컬럼
    내에 LOB locator만 저장이된다. BLOB과 CLOB (내부 LOB) 데이터는 별도의 테이블스페이스에
    저장시킬 수 있으며, BFILE (외부 LOB) 데이터는 데이터베이스 외부의 별도 파일로 존재한다.
    따라서 LOB 컬럼을 액세스할 경우에는, locator 값만 return되는 반면, LONG이나
    LONG RAW 컬럼을 액세스할 경우에는, 전체 값이 return된다.
    4. LOB 데이터는 4GB까지 저장이 가능하며, BFILE 컬럼이 가리키는 파일 크기는 4GB 이내에서
    OS에서 지원하는 최대 크기까지 가능하다. 액세스 가능한 범위는 1부터 (232-1) 까지이다.
    한편 LONG이나 LONG RAW 데이터 타입에서는 2GB 까지만 지원이 가능하다.
    5. 데이터에 대한 랜덤 액세스 기능 또는 데이터 조작을 할 경우 LOB를 사용하는 것이
    LONG 또는 LONG RAW를 사용하는 것에 비해 훨씬 많은 기능을 사용할 수 있다.
    6. LOB는 랜덤 액세스가 가능한 반면, LONG 타입에 저장된 데이터는 처음부터 원하는
    지점까지 순차적으로 읽어 처리하여야 한다.
    7. LOB 데이터에 대한 replication을 local 또는 remote에서 수행할 수 있는 반면,
    LONG / LONG RAW 컬럼 데이터는 replication이 되지 않는다.
    8. LONG 컬럼의 데이터는 TO_LOB()라는 함수를 사용하여 LOB로 변환 가능하지만,
    LOB를 LONG / LONG RAW로 변환 하는 기능은 제공되지 않는다.
    한편, LOB 사용을 하는데 다음과 같은 제약 사항이 따른다.
    1. LOB는 클러스터 테이블에서는 사용할 수 없으며, 따라서 클러스터 키
    로도 사용할 수 없다.
    2. LOB 컬럼은 GROUP BY, ORDER BY, SELECT DISTINCT 등에 사용할 수 없으며
    JOIN 에도 사용할 수 없다. 그러나 LOB 컬럼을 사용하는 테이블에 대한
    UNION ALL은 지원이 된다. UNION MINUS나 SELECT DISTINCT는 OBJECT TYPE의
    MAP이나 ORDER 함수가 정의된 경우 사용할 수 있다.
    3. LOB 컬럼은 ANALYZE ... COMPUTE/ESTIMATE STATISTICS 명령 사용 시에도
    analyze 되지 않는다.
    4. LOB는 파티션된 IOT (Index Organized Table)에는 사용할 수 없다. 그러나
    파티션 되어 있지 않은 IOT에는 사용할 수 있다.
    5. LOB는 VARRAY에는 사용할 수 없다.
    6. NCLOB은 OBJECT TYPE의 속성(attribute)으로 사용될 수 없으나, 메소드 정의를
    하는 데는 NCLOB 파라미터를 사용할 수 있다.
    Example
    none
    Reference Documents
    Oracle8i Application Developer's Guide
    Note:107441.1

  • Please answer these questions.....Urgent

    Q You are using Data Guard to ensure high availability. The directory structures on the primary and the standby hosts are different.
    Referring to the scenario above, what initialization parameter do you set up during configuration of the standby database?
    db_convert_dir_name
    db_convert_file_name
    db_dir_name_convert
    db_directory_convert
    db_file_name_convert
    Oracle 9i Administration, Question 1 of 12
    Q What facility does Oracle provide to detect chained and migrated rows after the proper tables have been created?
    The RDBMS cannot detect this. It must use regular export and import with compress=y to remove chained and migrated rows as part of the regular database.
    The UTLCHAIN utility
    The DBMS_REPAIR package
    The ANALYZE command with the LIST CHAINED ROWS option
    The DBMS_MIG_CHAIN built-in package
    Q While doing an export, the following is encountered:
    ORA-1628 ... max # extents ... reached for rollback segment ..
    Referring to the scenario above, what do you do differently so that the export is resumed even after getting the space allocation error?
    Use the RESUMABLE=Y option for the export.
    Run the export with the AUTO_ROLLBACK_EXTEND=Y option.
    Increase the rollback segment extents before running the export.
    Use THE RESUME=Y option for the export.
    Monitor the rollback segment usage while the export is running and increase it if it appears to be running out of space.
    Q
    The DBCA (Database Configuration Assistant) prompts the installer to enter the password for which default users?
    SYS and SYSTEM
    OSDBA and INTERNAL
    SYSOPER and INTERNAL
    SYS and INTERNAL
    SYSTEM and SYSDBA
    Q You are designing the physical database for an application that stores dates and times. This will be accessed by users from all over the world in different time zones. Each user needs to see the time in his or her time zone.
    Referring to the scenario above, what Oracle data type do you use to facilitate this requirement?
    DATE
    TIMESTAMP WITH TIME ZONE
    TIMESTAMP
    DATETIME
    TIMESTAMP WITH LOCAL TIME ZONE
    Q Which one of the following conditions prevents you from redefining a table online?
    The table has a composite primary key.
    The table is partitioned by range.
    The table's organization is index-organized.
    The table has materialized views defined on it.
    The table contains columns of data type LOB.
    Q An Oracle database administrator is upgrading from Oracle 8.1.7 to Oracle 9i.
    Referring to the scenario above, which one of the following scripts does the Oracle database administrator run after verifying all steps in the upgrade checklist?
    u8.1.7.sql
    u81700.sql
    u0900020.sql
    u0801070.sql
    u0817000.sql
    Q What command do you use to drop a temporary tablespace and the associated OS files?
    ALTER DATABASE TEMPFILE '/data/oracle/temp01.dbf' DROP;
    ALTER DATABASE DATAFILE '/data/oracle/temp01.dbf' DROP;
    ALTER DATABASE TEMPFILE '/data/oracle/temp01.dbf' DROP INCLUDING DATAFILES;
    ALTER DATABASE DATAFILE '/data/oracle/temp01.dbf' DROP CASCADE;
    ALTER DATABASE DATAFILE '/data/oracle/temp01.dbf' DROP INCLUDING CONTEN
    Q You wish to use a graphical interface to manage database locks and to identify blocking locks.
    Referring to the scenario above, what DBA product does Oracle offer that provides this functionality?
    Oracle Expert, a tool in the Oracle Enterprise Manager product
    Lock Manager, a tool in the base Oracle Enterprise Manager (OEM) product, as well as the console
    Lock Manager, a tool in Oracle Enterprise Manager's Tuning Pack
    The console of Oracle Enterprise Manager
    Viewing the Lock Manager charts of the Oracle Performance Manager, a tool in the Diagnostics Pack add on
    Q CREATE DATABASE abc
    MAXLOGFILES 5
    MAXLOGMEMBERS 5
    MAXDATAFILES 20
    MAXLOGHISTORY 100
    Referring to the code segment above, how do you change the MAX parameters shown?
    They can be changed using an ALTER SYSTEM command, but the database must be in the NOMOUNT state.
    The MAX parameters cannot be changed without exporting the entire database, re-creating it, and importing.
    They can be changed using an ALTER SYSTEM command while the database is open.
    They can be changed in the init.ora file, but the database must be restarted for the values to take effect.
    They cannot be changed unless you re-create your control file
    Q You need to change the archivelog mode of an Oracle database.
    Referring to the scenario above, what steps do you take before actually changing the archivelog mode?
    Execute the archive log list command
    Start up the instance and mount the database but do not open it.
    Start up the instance and mount and open the database in restricted mode.
    Kill all user sessions to ensure that there is no database activity that might trigger redolog activity.
    Take all tablespaces offline
    Q You are experiencing performance problems due to network traffic. One way to tune this is by setting the SDU size.
    Referring to the scenario above, why do you change the SDU size?
    A high-speed network is available where the data transmission effect is negligible.
    The application can be tuned to account for the delays.
    The requests to the database return small amounts of data as in an OLTP system.
    The data coming back from the server are fragmented into several packets.
    A large number of users are logged on concurrently to the system.
    Q When interpreting statistics from the v$sysstat, what factor do you need to keep in mind that can skew your statistics?
    Choice 1 The statistics are static and must be updated by running the analyze command to include the most recent activity.
    Choice 2 The statistics are only valid as a point in time snapshot of activity.
    Choice 3 The statistics gathered by v$sysstat include database startup activities and database activity that initially populates the database buffer cache and shared pool.
    Choice 4 The statistics do not include administrative users.
    Choice 5 The statistics gathered are based on individual sessions, so you must interpret them based on the activity and application in which the user was involved at the time you pull the statistics.
    Q When interpreting statistics from the v$sysstat, what factor do you need to keep in mind that can skew your statistics?
    Choice 1 The statistics are static and must be updated by running the analyze command to include the most recent activity.
    Choice 2 The statistics are only valid as a point in time snapshot of activity.
    Choice 3 The statistics gathered by v$sysstat include database startup activities and database activity that initially populates the database buffer cache and shared pool.
    Choice 4 The statistics do not include administrative users.
    Choice 5 The statistics gathered are based on individual sessions, so you must interpret them based on the activity and application in which the user was involved at the time you pull the statistics.
    Q You want to shut down the database, but you do not want client connections to lose any non-committed work. You also do not want to wait for every open session to disconnect.
    Referring to the scenario above, what method do you use to shut down the database?
    Choice 1 Shutdown abort
    Choice 2 Shutdown immediate
    Choice 3 Shutdown transactional
    Choice 4 Shutdown restricted sessions
    Choice 5 Shutdown normal
    Q What step or steps do you take to enable Automatic Undo Management (AUM)?
    Choice 1 Create the UNDO tablespace, then ALTER SYSTEM SET AUTO_UNDO.
    Choice 2 Use ALTER SYSTEM SET AUTO_UNDO; parameter.
    Choice 3 Add UNDO_MANAGEMENT=AUTO parameter to init.ora, stop/start the database.
    Choice 4 Add UNDO_AUTO to parameter to init.ora, stop/start the database, and create the UNDO tablespace.
    Choice 5 Add UNDO_MANAGEMENT=AUTO parameter to init.ora, create the UNDO tablespace, stop/start the database
    AUTOMATIC UNDO PARAMETER SETTINGS.
    Q What Oracle 9i feature allows the database administrator to create tablespaces, datafiles, and log groups WITHOUT specifying physical filenames?
    Choice 1 Dynamic SGA
    Choice 2 Advanced Replication
    Choice 3 Data Guard
    Choice 4 Oracle Managed Files
    Choice 5 External Tables
    Q What Oracle 9i feature allows the database administrator to create tablespaces, datafiles, and log groups WITHOUT specifying physical filenames?
    Choice 1 Dynamic SGA
    Choice 2 Advanced Replication
    Choice 3 Data Guard
    Choice 4 Oracle Managed Files
    Choice 5 External Tables
    Q What package is used to specify audit requirements for a given table?
    Choice 1 DBMS_TRACE
    Choice 2 DBMS_FGA
    Choice 3 DBMS_AUDIT
    Choice 4 DBMS_POLICY
    Choice 5 DBMS_OBJECT_AUDIT
    Q What facility does Oracle provide to detect chained and migrated rows after the proper tables have been created?
    Choice 1 The ANALYZE command with the LIST CHAINED ROWS option
    Choice 2 The RDBMS cannot detect this. It must use regular export and import with compress=y to remove chained and migrated rows as part of the regular database.
    Choice 3 The DBMS_MIG_CHAIN built-in package
    Choice 4 The DBMS_REPAIR package
    Choice 5 The UTLCHAIN utility
    Q What are the three functions of an undo segment?
    Choice 1 Rolling back archived redo logs, database recovery, recording user trace information
    Choice 2 The rollback segment has only one purpose, and that is to roll back transactions that are aborted.
    Choice 3 Rolling back uncommitted transactions, maintaining read consistency, logging processed SQL statements
    Choice 4 Rolling back transactions, maintaining read consistency, database recovery
    Choice 5 Rolling back transactions, recording Data Manipulation Language (DML) statements processed against the database, recording Data Definition Language (DDL) statements processed against the database
    Q Which one of the following describes locally managed tablespaces?
    Choice 1 Tablespaces within a Recovery Manager (RMAN) repository
    Choice 2 Tablespaces that are located on the primary server in a distributed database
    Choice 3 Tablespaces that use bitmaps within their datafiles, rather than data dictionaries, to manage their extents
    Choice 4 Tablespaces that are managed via object tables stored in the system tablespace
    Choice 5 External tablespaces that are managed locally within an administrative repository serving an Oracle distributed database or Oracle Parallel Server
    Q The schema in a database you are administering has a very complex and non-user friendly table and column naming system. You need a simplified schema interface to query and on which to report.
    Which one of the following mechanisms do you use to meet the requirement stated in the above scenario?
    Choice 1 Synonym
    Choice 2 Stored procedure
    Choice 3 Labels
    Choice 4 Trigger
    Choice 5
    View
    Q You need to change the archivelog mode of an Oracle database.
    Referring to the scenario above, what steps do you take before actually changing the archivelog mode?
    Choice 1 Start up the instance and mount the database but do not open it.
    Choice 2 Execute the archive log list command
    Choice 3 Kill all user sessions to ensure that there is no database activity that might trigger redolog activity.
    Choice 4 Take all tablespaces offline.
    Choice 5 Start up the instance and mount and open the database in restricted mode.
    Q The Oracle Internet Directory debug log needs to be changed to show the following events information.
    Given the Debug Event Types and their numeric values:
    Starting and stopping of different threads. Process related. - 4
    Detail level. Shows the spawned commands and the command-line arguments passed - 32
    Operations being performed by configuration reader thread. Configuration refresh events. - 64
    Actual configuration reading operations - 128
    Operations being performed by scheduler thread in response to configuration refresh events, and so on - 256
    What statement turns debug on for all of the above event types?
    Choice 1 oidctl server=odisrv debug=4 debug=32 debug=64 debug=128 debug=256 start
    Choice 2 oidctl server=odisrv debug="4,32,64,128,256" start
    Choice 3 oidctl server=odisrv flags="debug=4 debug=32 debug=64 debug=128 debug=256" start
    Choice 4 oidctl server=odisrv flags="debug=484" start
    Choice 5 oidctl server=odisrv flags="debug=4,32,64,128,256" start
    Q Which Data Guard mode has the lowest performance impact on the primary database?
    Choice 1 Instant protection mode
    Choice 2 Guaranteed protection mode
    Choice 3 Rapid protection mode
    Choice 4 Logfile protection mode
    Choice 5 Delayed protection mode
    Q In a DSS environment, the SALES data is kept for a rolling window of the past two years.
    Referring to the scenario above, what type of partitioning do you use for this data?
    Choice 1 Hash Partitioning
    Choice 2 Range Partitioning
    Choice 3 Equipartitioning
    Choice 4 List Partitioning
    Choice 5 Composite Partitioning
    Q What are the three main areas of the SGA?
    Choice 1 Log buffer, shared pool, database writer
    Choice 2 Database buffer cache, shared pool, log buffer
    Choice 3 Shared pool, SQL area, redo log buffer
    Choice 4 Log writer, archive log, database buffer
    Choice 5
    Database buffer cache, log writer, shared pool
    Q When performing full table scans, what happens to the blocks that are read into buffers?
    Choice 1 They are put on the MRU end of the buffer list by default.
    Choice 2 They are put on the MRU end of the buffer list if the NOCACHE clause was used while altering or creating the table.
    Choice 3 They are read into the first free entry in the buffer list.
    Choice 4 They are put on the LRU end of the buffer list if the CACHE clause was used while altering or creating the table.
    Choice 5 They are put on the LRU end of the buffer list by default
    Q Standard security policy is to force users to change their passwords the first time they log in to the Oracle database.
    Referring to the scenario above, how do you enforce this policy?
    Choice 1 Use the FORCE PASSWORD EXPIRE clause when the users are first created in the database.
    Choice 2 Ask the users to follow the standards and trust them to do so.
    Choice 3 Periodically compare the users' passwords with their initial password and generate a report of the users violating the standard.
    Choice 4 Use the PASSWORD EXPIRE clause when the users are first created in the database.
    Choice 5 Check the users' passwords after they first log in to see if they have changed it. If not, remind them to do so.
    Q What object privilege is necessary for a foreign key constraint to be created and enforced on the referenced table?
    Choice 1 References
    Choice 2 Alter
    Choice 3 Update
    Choice 4 Resource
    Choice 5 Select
    Q What command do you use to drop a temporary tablespace and the associated OS files?
    Choice 1 ALTER DATABASE DATAFILE '/data/oracle/temp01.dbf' DROP INCLUDING CONTENTS
    Choice 2 ALTER DATABASE TEMPFILE '/data/oracle/temp01.dbf' DROP INCLUDING DATAFILES;
    Choice 3 ALTER DATABASE TEMPFILE '/data/oracle/temp01.dbf' DROP;
    Choice 4 ALTER DATABASE DATAFILE '/data/oracle/temp01.dbf' DROP;
    Choice 5 ALTER DATABASE DATAFILE '/data/oracle/temp01.dbf' DROP CASCADE;
    Q You need to implement a failover strategy using TAF. You do not have enough resources to ensure that your backup Oracle instance will be up and running in parallel with the primary.
    Referring to the scenario above, what failover mode do you use?
    Choice 1 FAILOVER_MODE=manual
    Choice 2 FAILOVER_MODE=none
    Choice 3 FAILOVER_MODE=auto
    Choice 4 FAILOVER_MODE=basic
    Choice 5 FAILOVER_MODE=preconnect
    Q An Oracle database used for an OLTP application is encountering the "snapshot too old" error.
    Referring to the scenario above, which database object or objects do you query in order to set the OPTIMAL parameter for the rollback segments?
    Choice 1 V$ROLLNAME and V$ROLLSTAT
    Choice 2 V$ROLLNAME
    Choice 3 V$ROLLSTAT
    Choice 4 DBA_ROLL and DBA_ROLLSTAT
    Choice 5 DBA_ROLLBACK_SEG
    QWhat are five background processes that must always be running in a functioning Oracle Instance?
    Choice 1 SMON (system monitor), PMON (process monitor), RECO (recoverer process), ARCH (archive process), CKPT (checkpoint process)
    Choice 2 DBW0 (database writer), SMON (system monitor), PMON (process monitor), LGWR (log writer), CKPT (checkpoint process)
    Choice 3 DBW0 (database writer), SMON (system monitor), PMON (process monitor), D000 (Dispatcher process), CKPT (checkpoint process)
    Choice 4 DBW0 (database writer), CKPT (checkpoint process), RECO (recoverer process), LGWR (log writer), ARCH (archive process)
    Choice 5 DBW0 (database writer), LGWR (log writer), ARCH (archive process), CKPT (checkpoint process), RECO (recoverer process)
    You have two large tables with thousands of rows. To select rows from the table_1, which are not referenced by an indexed common column (e.g. col_1) in table_2, you issue the following statement:
    select * from table_1
    where col_1 NOT in (select col_1 from table_2);
    This statement is taking a very long time to return its result set.
    Referring to the scenario above, which equivalent statement returns much faster?
    Choice 1
    select * from table_1
    where not exists (select * from table_2)
    Choice 2
    select * from table_2
    where col_1 not in (select col_1 from table_1)
    Choice 3
    select * from table_1
    where col_1 in (select col_1 from table_2 where col_1 = table_1.col_1)
    Choice 4
    select * from table_1
    where not exists (select 'x' from table_2 where col_1 = table_1.col_1)
    Choice 5
    select table_1.* from table_1, table_2
    where table_1.col_1 = table_2.col_1 (+)
    Performance is poor during peak transaction periods on a database you administer. You would like to view some statistics on areas such as LGWR (log writer) waits.
    Referring to the scenario above, what performance view do you query to access these statistics?
    Choice 1
    DBA_CATALOG
    Choice 2
    V$SESS_IO
    Choice 3
    V$SYSSTAT
    Choice 4
    V$PQ_SYSSTAT
    Choice 5
    V$SQLAREA
    You need to assess the performance of your shared pool at instance startup, but you cannot restart the database.
    Referring to the scenario above, how do you empty your SGA?
    Choice 1
    Execute $ORACLE_HOME/bin/db_shpool_flush
    Choice 2
    ALTER SYSTEM FLUSH SHARED_POOL
    Choice 3
    ALTER SYSTEM CLEAR SHARED POOL
    Choice 4
    DELETE FROM SYS.V$SQLAREA
    Choice 5
    DELETE FROM SYS.V$SQLTEXT
    You are reading the explain plan of a problem query and notice that full table scans are used with a HASH join.
    Referring to the scenario above, in what instance is a HASH join beneficial?
    Choice 1
    When joining two small tables--neither having any primary keys or unique indexes
    Choice 2
    When no indexes are present
    Choice 3
    When using the parallel query option
    Choice 4
    When joining two tables where one table may be significantly larger than the other
    Choice 5
    Only when using the rule-based optimizer
    An Oracle database administrator is upgrading from Oracle 8.1.7 to Oracle 9i.
    Referring to the scenario above, which one of the following scripts does the Oracle database administrator run after verifying all steps in the upgrade checklist?
    Choice 1
    u0817000.sql
    Choice 2
    u0900020.sql
    Choice 3
    u8.1.7.sql
    Choice 4
    u81700.sql
    Choice 5
    u0801070.sql
    You have a large On-Line Transaction Processing (OLTP) database running in archive log mode with two redo log groups that have two members each.
    Referring to the above scenario, to avoid stalling during peak activity periods, which one of the following actions do you take?
    Choice 1
    Add a third member to each of the groups.
    Choice 2
    Increase your LOG_CHECKPOINT_INTERVAL setting.
    Choice 3
    Turn off archive logging.
    Choice 4
    Add a third redo log group.
    Choice 5
    Turn off redo log multiplexing
    What object does a database administrator create to store precompiled summary data?
    Choice 1
    Replicated Table
    Choice 2
    Archive Log
    Choice 3
    Temporary Tablespace
    Choice 4
    Cached Table
    Choice 5
    Materialized View
    Which one of the following statements do you execute in order to find the current default temporary tablespace?
    Choice 1
    SELECT property_name, property_value FROM v$database_properties
    Choice 2
    show parameter curr_default_temp_tablespace
    Choice 3
    SELECT property_name, property_value FROM all_database_properties
    Choice 4
    SELECT property_name, property_value FROM database_properties
    Choice 5
    SELECT property_name, property_value FROM dba_database_properties
    In which one of the following situations do you use a bitmap index?
    Choice 1
    With column values that are guaranteed to be unique
    Choice 2
    With column values having a high cardinality
    Choice 3
    With column values having a consistently uniform distribution
    Choice 4
    With column values having a low cardinality
    Choice 5
    With column values having a non-uniform distribution
    A table has more than two million rows and, if exported, will exceed 4 GB in size with data, indexes, and constraints. The UNIX you are using has a 2 GB limit on file sizes. This table needs to be backed up using Oracle EXPORT.
    There are two ways this table can be exported and split into multiple files. One way is to use the UNIX pipe, split, and compress commands in conjunction with the Oracle EXPORT utility to generate multiple equally-sized files.
    Referring to the scenario above, what is the other way that you can export and split into multiple files?
    Choice 1
    Export the data into one file and the index into another file.
    Choice 2
    Use a WHERE clause with the export to limit the number of rows returned.
    Choice 3
    Vertically partition the table into sizes of less than 2 GB and then export each partition as a separate file.
    Choice 4
    Specify the multiple files in the FILE parameter and specify the FILESIZE in the EXPORT parameter file.
    Choice 5
    Horizontally partition the table into sizes of less than 2 GB and then export each partition as a separate file.
    Which one of the following statements describes the PASSWORD_GRACE_TIME profile setting?
    Choice 1
    It specifies the grace period, in days, for changing the password once expired.
    Choice 2
    It specifies the grace period, in days, for changing the password from the time it is initially set and the time the account is made active.
    Choice 3
    It specifies the grace period, in minutes, for changing the password once expired.
    Choice 4
    It specifies the grace period, in days, for changing the password after the first successful login after the password has expired.
    Choice 5
    It specifies the grace period, in hours, for changing the password once expired.
    In OEM, what color and icon are associated with a warning?
    Choice 1
    Yellow hexagon
    Choice 2
    Yellow flag
    Choice 3
    Red flag
    Choice 4
    Gray flag
    Choice 5
    Red hexagon
    What parameter in the SQLNET.ORA file specifies the order of the naming methods to be used?
    Choice 1
    NAMES.SEARCH_ORDER
    Choice 2
    NAMES.DOMAIN_HINTS
    Choice 3
    NAMES.DIRECTORY_PATH
    Choice 4
    NAMES.DOMAINS
    Choice 5
    NAMES.DIRECTORY
    An Oracle 9i database instance has automatic undo management enabled. This allows you to use the Flashback Query feature of Oracle 9i.
    Referring to the scenario above, what UNDO parameter needs to be set so that this feature allows consistent queries of data up to 90 days old?
    Choice 1
    UNDO_TABLESPACE
    Choice 2
    UNDO_TIMELIMIT
    Choice 3
    UNDO_MANAGEMENT
    Choice 4
    UNDO_FLASHBACKTO
    Choice 5
    UNDO_RETENTION
    An Oracle 9i database instance has automatic undo management enabled. This allows you to use the Flashback Query feature of Oracle 9i.
    Referring to the scenario above, what UNDO parameter needs to be set so that this feature allows consistent queries of data up to 90 days old?
    Choice 1
    UNDO_TABLESPACE
    Choice 2
    UNDO_TIMELIMIT
    Choice 3
    UNDO_MANAGEMENT
    Choice 4
    UNDO_FLASHBACKTO
    Choice 5
    UNDO_RETENTION
    DB_BLOCK_SIZE=8192
    DB_CACHE_SIZE=128M
    DB_2K_CACHE_SIZE=64M
    DB_4K_CACHE_SIZE=32M
    DB_8K_CACHE_SIZE=16M
    DB_16K_CACHE_SIZE=8M
    Referring to the initialization parameter settings above, what is the size of the cache of standard block size buffers?
    Choice 1
    8 M
    Choice 2
    16 M
    Choice 3
    32 M
    Choice 4
    64 M
    Choice 5
    128 M
    DB_CREATE_FILE_DEST='/u01/oradata/app01'
    DB_CREATE_ONLINE_LOG_DEST_1='/u02/oradata/app01'
    Referring to the sample code above, which one of the following statements is NOT correct?
    Choice 1
    Data files created with no location specified are created in the DB_CREATE_FILE_DEST directory.
    Choice 2
    Control files created with no location specified are created in the DB_CREATE_ONLINE_LOG_DEST_1 directory.
    Choice 3
    Redolog files created with no location specified are created in the DB_CREATE_ONLINE_LOG_DEST_1 directory.
    Choice 4
    Control files created with no location specified are created in the DB_CREATE_FILE_DEST directory.
    Choice 5
    Temp files created with no location specified are created in the DB_CREATE_FILE_DEST directory.
    LogMiner GUI is a part of which one of the following?
    Choice 1
    Oracle Enterprise Manager
    Choice 2
    Oracle LogMiner Plug-In
    Choice 3
    Oracle Diagnostics Pack
    Choice 4
    Oracle Performance Tuning Pack
    Choice 5
    Oracle LogMiner StandAlone GUI
    The schema in a database you are administering has a very complex and non-user friendly table and column naming system. You need a simplified schema interface to query and on which to report.
    Which one of the following mechanisms do you use to meet the requirement stated in the above scenario?
    Choice 1
    View
    Choice 2
    Trigger
    Choice 3
    Stored procedure
    Choice 4
    Synonym
    Choice 5
    Labels
    alter index gl.GL_JE_LINES_N1 rebuild
    You determine that an index has too many extents and want to rebuild it to avoid fragmentation performance degradation.
    When you issue the above scenario, where is the rebuilt index stored?
    Choice 1
    In the default tablespace for the login name you are using
    Choice 2
    You cannot rebuild an index. You must drop the existing index and re-create it using the create index statement.
    Choice 3
    In the system tablespace
    Choice 4
    In the same tablespace as it is currently stored
    Choice 5
    In the index tablespace respective to the data table on which the index is built
    Which one of the following describes locally managed tablespaces?
    Choice 1
    Tablespaces within a Recovery Manager (RMAN) repository
    Choice 2
    External tablespaces that are managed locally within an administrative repository serving an Oracle distributed database or Oracle Parallel Server
    Choice 3
    Tablespaces that are located on the primary server in a distributed database
    Choice 4
    Tablespaces that use bitmaps within their datafiles, rather than data dictionaries, to manage their extents
    Choice 5
    Tablespaces that are managed via object tables stored in the system tablespace
    Which method of database backup supports true incremental backups?
    Choice 1
    Export
    Choice 2
    Operating System backups
    Choice 3
    Oracle Enterprise Backup Utility
    Choice 4
    Incremental backups are not supported. You must use full or cumulative backups.
    Choice 5
    Recovery Manager
    You are using Data Guard to ensure high availability. The directory structures on the primary and the standby hosts are different.
    Referring to the scenario above, what initialization parameter do you set up during configuration of the standby database?
    Choice 1
    db_dir_name_convert
    Choice 2
    db_convert_dir_name
    Choice 3
    db_convert_file_name
    Choice 4
    db_directory_convert
    Choice 5
    db_file_name_convert
    Tablespace APP_INDX is put in online backup mode when redo log 744 is current. When APP_INDX is taken out of online backup mode, redo log 757 is current.
    Referring to the scenario above, if the backup is restored, what are the start and end redo logs used, in order, to perform a successful point-in-time recovery of APP_INDX?
    Choice 1
    Start Redo Log 744, End Redo Log 757
    Choice 2
    Start Redo Log 743, End Redo Log 756
    Choice 3
    Start Redo Log 745, End Redo Log 756
    Choice 4
    Start Redo Log 744, End Redo Log 756
    Choice 5
    Start Redo Log 743, End Redo Log 757
    You want to make new data entered or changed in a table adhere to a given integrity constraint, but data exist in the table that violates the constraint.
    Referring to the scenario above, what do you do?
    Choice 1
    Use an enabled novalidate constraint.
    Choice 2
    Use an enabled validate constraint.
    Choice 3
    Use a deferred constraint.
    Choice 4
    Use a disabled constraint.
    Choice 5
    You cannot enforce this type of constraint
    In Oracle 9i, the connect internal command has been discontinued.
    Referring to the text above, how do you achieve a privileged connection in Oracle 9i?
    Choice 1
    CONNECT <username> AS SYSOPER where username has DBA privileges.
    Choice 2
    CONNECT <username> as SYSDBA.
    Choice 3
    Connect using Enterprise Manager.
    Choice 4
    CONNECT sys.
    Choice 5
    Use CONNECT <username> as normal but include the user in the external password file.
    How many partitions can a table have?
    Choice 1
    64
    Choice 2
    255
    Choice 3
    1,024
    Choice 4
    65,535
    Choice 5
    Unlimited
    In Cache Fusion, when does a request by one process for a resource owned by another process fail?
    Choice 1
    When a null mode resource request is made for a resource already owned in exclusive mode by another process
    Choice 2
    When a shared mode resource request is made for a resource already owned in shared mode by another process
    Choice 3
    When a shared mode resource request is made for a resource already owned in null mode by another process
    Choice 4
    When an exclusive mode resource request is made for a resource already owned in null mode by another process
    Choice 5
    When an exclusive mode resource request is made for a resource already owned in shared mode by another process
    The Oracle Internet Directory debug log needs to be changed to show the following events information.
    Given the Debug Event Types and their numeric values:
    Starting and stopping of different threads. Process related. - 4
    Detail level. Shows the spawned commands and the command-line arguments passed - 32
    Operations being performed by configuration reader thread. Configuration refresh events. - 64
    Actual configuration reading operations - 128
    Operations being performed by scheduler thread in response to configuration refresh events, and so on - 256
    What statement turns debug on for all of the above event types?
    Choice 1
    oidctl server=odisrv flags="debug=4 debug=32 debug=64 debug=128 debug=256" start
    Choice 2
    oidctl server=odisrv debug="4,32,64,128,256" start
    Choice 3
    oidctl server=odisrv flags="debug=4,32,64,128,256" start
    Choice 4
    oidctl server=odisrv flags="debug=484" start
    Choice 5
    oidctl server=odisrv debug=4 debug=32 debug=64 debug=128 debug=256 start
    A new OFA-compliant database is being installed using the Oracle installer. The mount point being used is /u02.
    Referring to the scenario above, what is the default value for ORACLE_BASE?
    Choice 1
    /usr/app/oracle
    Choice 2
    /u02/oracle
    Choice 3
    /u02/app/oracle
    Choice 4
    /u01/app/oracle
    Choice 5
    /u02/oracle_base
    You need to start the Connection Manager Gateway and the Connections Admin processes.
    Referring to the scenario above, what command do you execute?
    Choice 1
    CMCTL START CM
    Choice 2
    CMCTL START CMADMIN
    Choice 3
    CMCTL START CMAN
    Choice 4
    CMCTL START CMGW
    Choice 5
    CMCTL START CMGW CMADM
    When performing full table scans, what happens to the blocks that are read into buffers?
    Choice 1
    They are read into the first free entry in the buffer list.
    Choice 2
    They are put on the MRU end of the buffer list if the NOCACHE clause was used while altering or creating the table.
    Choice 3
    They are put on the LRU end of the buffer list if the CACHE clause was used while altering or creating the table.
    Choice 4
    They are put on the LRU end of the buffer list by default.
    Choice 5
    They are put on the MRU end of the buffer list by default.
    You wish to take advantage of the Oracle datatypes, but you need to convert your existing LONG or LONG RAW columns to Character Large Object (CLOB) and Binary Large Object (BLOB) datatypes.
    Referring to the scenario above, what is the quickest method to use to perform this conversion?
    Choice 1
    Use the to_lob function when selecting data from the existing table into a new table.
    Choice 2
    Use the ALTER TABLE statement and MODIFY the column to the new LOB datatype.
    Choice 3
    You must export the existing data to external files and then re-import them as BFILE external LOBS.
    Choice 4
    Create a new table with the same columns but with the LONG or LONG RAW column changed to a CLOB or BLOB type. The next step is to INSERT INTO newtable select * from oldtable.
    Choice 5
    LONG and LONG RAW datatypes are not compatible with LOBS and cannot be converted within the Oracle database.
    You need to redefine the JOURNAL table in the stress test environment. You want to check first to see if it is possible to redefine this table online.
    Referring to the scenario above, what statement do you execute that checks whether or not the JOURNAL table can be redefined online if you are connected as the table owner?
    Choice 1
    Execute DBMS_REDEFINITION.CHECK_TABLE_REDEF(USER,'JOURNAL');
    Choice 2
    Execute DBMS_REDEFINITION.VERIFY_REDEF_TABLE(USER,'JOURNAL');
    Choice 3
    Execute DBMS_REDEFINITION.CAN_REDEF_TABLE(USER,'JOURNAL');
    Choice 4
    Execute DBMS_REDEFINITION.START_REDEF_TABLE(USER,'JOURNAL');
    Choice 5
    Execute DBMS_REDEFINITION.SYNC_INTERIM_TABLE(USER,'JOURNAL');
    An Oracle 9i database instance has automatic undo management enabled. This allows you to use the Flashback Query feature of Oracle 9i.
    Referring to the scenario above, what UNDO parameter needs to be set so that this feature allows consistent queries of data up to 90 days old?
    Choice 1
    UNDO_TIMELIMIT
    Choice 2
    UNDO_MANAGEMENT
    Choice 3
    UNDO_RETENTION
    Choice 4
    UNDO_TABLESPACE
    Choice 5
    UNDO_FLASHBACKTO
    Which one of the following procedures is used for the extraction of the LogMiner dictionary?
    Choice 1
    DBMS_LOGMNR_D.EXTRACT
    Choice 2
    DBMS_LOGMNR.BUILD
    Choice 3
    DBMS_LOGMINER_D.BUILD
    Choice 4
    DBMS_LOGMNR_D.BUILD_DICT
    Choice 5
    DBMS_LOGMNR_D.BUILD
    set pause on;
    column sql_text format a35;
    select sid, osuser, username, sql_text
    from v$session a, v$sqlarea b
    where a.sql_address=b.address
    and a.sql_hash_value=b.hash_value
    Why is the SQL*Plus sample code segment above used?
    Choice 1
    To view full text search queries by issuing user
    Choice 2
    To list all operating system users connected to the database
    Choice 3
    To view SQL statements issued by connected users
    Choice 4
    To detect deadlocks
    Choice 5
    To view paused database sessions
    When dealing with very large tables in which the size greatly exceeds the size of the System Global Area (SGA) data block buffer cache, which one of the following operations must be avoided?
    Choice 1
    Group operations
    Choice 2
    Aggregates
    Choice 3
    Index range scans
    Choice 4
    Multi-table joins
    Choice 5
    Full table scans
    You are reading the explain plan of a problem query and notice that full table scans are used with a HASH join.
    Referring to the scenario above, in what instance is a HASH join beneficial?
    Choice 1
    Only when using the rule-based optimizer
    Choice 2
    When joining two small tables--neither having any primary keys or unique indexes
    Choice 3
    When no indexes are present
    Choice 4
    When joining two tables where one table may be significantly larger than the other
    Choice 5
    When using the parallel query option
    Performance is poor during peak transaction periods on a database you administer. You would like to view some statistics on areas such as LGWR (log writer) waits.
    Referring to the scenario above, what performance view do you query to access these statistics?
    Choice 1
    V$SQLAREA
    Choice 2
    V$SYSSTAT
    Choice 3
    V$SESS_IO
    Choice 4
    V$PQ_SYSSTAT
    Choice 5
    DBA_CATALOG
    What security feature allows the database administrator to monitor successful and unsuccessful attempts to access data?
    Choice 1
    Autotrace
    Choice 2
    Fine-Grained Auditing
    Choice 3
    Password auditing
    Choice 4
    sql_trace
    Choice 5
    tkprof
    You need to configure a default domain that is automatically appended to any unqualified net service name.
    What Oracle-provided network configuration tool do you use to accomplish the above task?
    Choice 1
    Oracle Names Control Utility
    Choice 2
    Configuration File Utility
    Choice 3
    Oracle Network Configuration Assistant
    Choice 4
    Listener Control Utility
    Choice 5
    Oracle Net Manager
    You are experiencing performance problems due to network traffic. One way to tune this is by setting the SDU size.
    Referring to the scenario above, why do you change the SDU size?
    Choice 1
    The requests to the database return small amounts of data as in an OLTP system.
    Choice 2
    The application can be tuned to account for the delays.
    Choice 3
    The data coming back from the server are fragmented into several packets.
    Choice 4
    A large number of users are logged on concurrently to the system.
    Choice 5
    A high-speed network is available where the data transmission effect is negligible.
    You have partitioned the table ORDER on the ORDERID column using range partitioning. You want to create a locally partitioned index on this table. You also want this index to be unique.
    Referring to the scenario above, what is required for the creation of this unique locally partitioned index?
    Choice 1
    A unique partitioned index on a table cannot be local.
    Choice 2
    There can be only one unique locally partitioned index on the table.
    Choice 3
    The index has to be equipartitioned.
    Choice 4
    The table's primary key columns should be included in the index key.
    Choice 5
    The ORDERID column has to be part of the index's key.
    You have a large On-Line Transaction Processing (OLTP) database running in archive log mode with two redo log groups that have two members each.
    Referring to the above scenario, to avoid stalling during peak activity periods, which one of the following actions do you take?
    Choice 1
    Turn off redo log multiplexing.
    Choice 2
    Increase your LOG_CHECKPOINT_INTERVAL setting.
    Choice 3
    Add a third member to each of the groups.
    Choice 4
    Add a third redo log group.
    Choice 5 Turn off archive logging
    When transporting a tablespace, the tablespace needs to be self-contained.
    Referring to the scenario above, in which one of the following is the tablespace self-contained?
    Choice 1 A referential integrity constraint points to a table across a set boundary.
    Choice 2 A partitioned table is partially contained in the tablespace.
    Choice 3 An index inside the tablespace is for a table outside of the tablespace.
    Choice 4 A corresponding index for a table is outside of the tablespace.
    Choice 5 A table inside the tablespace contains a LOB column that points to LOBs outside the tablespace.
    You have experienced a database failure requiring a full database restore. Downtime is extremely costly, as is any form of data loss. You run the database in archive log mode and have a full database backup from three days ago. You have a database export from last night. You are not running Oracle Parallel Server (OPS).
    Referring to the above scenario, how do you minimize downtime and data loss?
    Choice 1 Import the data from the export using direct-path loading.
    Choice 2 Create a standby database and activate it.
    Choice 3 Perform a restore of necessary files and use parallel recovery operations to speed the application of redo entries.
    Choice 4 Conduct a full database restore and bring the database back online immediately. Apply redo logs during a future maintenance window.
    Choice 5 Perform a restore and issue a recover database command
    You have two large tables with thousands of rows. To select rows from the table_1, which are not referenced by an indexed common column (e.g. col_1) in table_2, you issue the following statement:
    select * from table_1
    where col_1 NOT in (select col_1 from table_2);
    This statement is taking a very long time to return its result set.
    Referring to the scenario above, which equivalent statement returns much faster?
    Choice 1 select * from table_1
    where col_1 in (select col_1 from table_2 where col_1 = table_1.col_1)
    Choice 2 select * from table_2
    where col_1 not in (select col_1 from table_1)
    Choice 3 select * from table_1
    where not exists (select 'x' from table_2 where col_1 = table_1.col_1)
    Choice 4 select table_1.* from table_1, table_2
    where table_1.col_1 = table_2.col_1 (+)
    Choice 5 select * from table_1
    Which one of the following initialization parameters is obsolete in Oracle 9i?
    Choice 1 LOG_ARCHIVE_DEST
    Choice 2 GC_FILES_TO_LOCKS
    Choice 3 FAST_START_MTTR_TARGET
    Choice 4 DB_BLOCK_BUFFERS
    Choice 5 DB_BLOCK_LRU_LATCHES
    You find that one of your tablespaces is running out of disk space.
    Referring to the scenario above, which one of the following is NOT a valid option to increase the space available to the tablespace?
    Choice 1 Move some segments to other tablespaces.
    Choice 2 Resize an existing datafile in the tablespace.
    Choice 3 Add another datafile to the tablespace.
    Choice 4 Increase the MAX_EXTENTS for the tablespace.
    Choice 5 Turn AUTOEXTEND on for one or more datafiles in the tablespace.
    What tools or utilities do you use to transfer the data dictionary's structural information of transportable tablespaces?
    Choice 1 DBMS_TTS
    Choice 2 SQL*Loader
    Choice 3 Operating System copy commands
    Choice 4 DBMS_STATS
    Choice 5 EXP and IMP
    Which one of the following, if backed up, is potentially problematic to a complete recovery?
    Choice 1
    Control file
    Choice 2
    System Tablespace
    Choice 3
    Data tablespaces
    Choice 4
    Online Redo logs
    Choice 5
    All archived redologs after the last backup
    Your database warehouse performs frequent full table scans. Your DB_BLOCK_SIZE is 16,384.
    Referring to the scenario above, what parameter do you use to reduce disk I/O?
    Choice 1 LOG_CHECKPOINT_TIMEOUT
    Choice 2 DBWR_IO_SLAVES
    Choice 3 DB_FILE_MULTIBLOCK_READ_COUNT
    Choice 4 DB_WRITER_PROCESSES
    Choice 5 DB_BLOCK_BUFFERS
    Which one of the following describes the "Reset database to incarnation" command used by Recovery Manager?
    Choice 1 It performs a resynchronization of online redo logs to a given archive log system change number (SCN).
    Choice 2 It performs point-in-time recovery when using Recovery Manager.
    Choice 3 It restores the database to the initial state in which it was found when first backing it up via Recovery Manager.
    Choice 4 It restores the database to a save point as defined by the version control number or incarnation number of the database.
    Choice 5 It is used to undo the effect of a resetlogs operation by restoring backups of a prior incarnation of the database.
    You are using the CREATE TABLE statement to populate the data dictionary with metadata to allow access to external data, where /data is a UNIX writable directory and filename.dbf is an arbitrary name.
    Referring to the scenario above, which clause must you add to your CREATE TABLE statement?
    Choice 1
    organization external
    Choice 2 external file /data/filename.dbf
    Choice 3 ON /data/filename.dbf
    Choice 4 organization file
    Choice 5 file /data/filename.dbf
    Your business user has expressed a need to be able to revert back to data that are at most eight hours old. You decide to use Oracle 9i's FlashBack feature for this purpose.
    Referring to the scenario above, what is the value of UNDO_RETENTION that supports this requirement?
    Choice 1 480
    Choice 2 8192
    Choice 3 28800
    Choice 4 43200
    Choice 5 28800000
    Materialized Views constitute which data warehousing feature offered by Oracle?
    Choice 1 FlashBack Query
    Choice 2 Summary Management
    Choice 3 Dimension tables
    Choice 4 ETL Enhancements
    Choice 5 Updateable Multi-table Views
    DB_BLOCK_SIZE=8192
    DB_CACHE_SIZE=128M
    DB_2K_CACHE_SIZE=64M
    DB_4K_CACHE_SIZE=32M
    DB_8K_CACHE_SIZE=16M
    DB_16K_CACHE_SIZE=8M
    Referring to the initialization parameter settings above, what is the size of the cache of standard block size buffers?
    Choice 1 8 M
    Choice 2 16 M
    Choice 3 32 M
    Choice 4 64 M
    Choice 5 128 M
    You need to send listener log information to the Oracle Support Services. The listener name is LSNRORA1.
    Referring to the scenario above, which one of the following statements do you use in the listener.ora file to generate this log information?
    Choice 1 TRACE_LEVEL_LSNRORA1=debug
    Choice 2 TRACE_LEVEL_LSNRORA1=admin
    Choice 3 TRACE_LEVEL_LSNRORA1=5
    Choice 4 TRACE_LEVEL_LSNRORA1=support
    Choice 5 TRACE_LEVEL_LSNRORA1=on
    Which one of the following statements causes you to choose the NOARCHIVELOG mode for an Oracle database?
    Choice 1
    The database does not need to be available at all times.
    Choice 2
    The database is used for a DSS application, and updates are applied to it once in 48 hours.
    Choice 3
    The database needs to be available at all times.
    Choice 4
    It is unacceptable to lose any data if a disk failure damages some of the files that constitute the database.
    Choice 5
    There will be times when you will need to recover to a point-in-time that is not current.
    You are experiencing performance problems due to network traffic. One way to tune this is by setting the SDU size.
    Referring to the scenario above, why do you change the SDU size?
    Choice 1 A large number of users are logged on concurrently to the system.
    Choice 2 A high-speed network is available where the data transmission effect is negligible.
    Choice 3 The data coming back from the server are fragmented into several packets.
    Choice 4 The application can be tuned to account for the delays.
    Choice 5 The requests to the database return small amounts of data as in an OLTP system.

    Post a few if you need answers to a few.
    Anyway, my best shot:-
    Q. Directories are different
    A. Use db_file_name_convert why? read about it.
    Q What facility does Oracle provide to detect chained and migrated rows after the proper tables have been created?
    A.The ANALYZE command with the LIST CHAINED ROWS option
    Q While doing an export, the following is encountered:
    my best guess
    Use the RESUMABLE=Y option for the export.
    Q. The DBCA (Database Configuration Assistant) prompts the installer to enter the password for which default users?
    A. SYS and SYSTEM
    Q You are designing the physical database for an application that stores dates and times. This will be accessed by users from all over the world in different time zones. Each user needs to see the time in his or her time zone.
    A. TIMESTAMP WITH LOCAL TIME ZONE
    Q What command do you use to drop a temporary tablespace and the associated OS files?
    A. ALTER DATABASE TEMPFILE '/data/oracle/temp01.dbf' DROP INCLUDING DATAFILES;
    Q You wish to use a graphical interface to manage database locks and to identify blocking locks.
    A. Lock Manager, a tool in the base Oracle Enterprise Manager (OEM) product, as well as the console
    Q CREATE DATABASE abc
    A. They cannot be changed unless you re-create your control file
    Q You need to change the archivelog mode of an Oracle database.
    A. Execute the archive log list command
    Q When interpreting statistics from the v$sysstat, what factor do you need to keep in mind that can skew your statistics?
    A.
    Choice 3 The statistics gathered by v$sysstat include database startup activities and database activity that initially populates the database buffer cache and shared pool.
    Q You want to shut down the database, but you do not want client connections to lose any non-committed work. You also do not want to wait for every open session to disconnect.
    Choice 3 Shutdown transactional
    Q What step or steps do you take to enable Automatic Undo Management (AUM)?
    A.Choice 5 Add UNDO_MANAGEMENT=AUTO parameter to init.ora, create the UNDO tablespace, stop/start the database
    Q What Oracle 9i feature allows the database administrator to create tablespaces, datafiles, and log groups WITHOUT specifying physical filenames?
    A. Choice 4 Oracle Managed Files

  • How to store PDF files in a table

    Hi,
    Is there a way to store PDF files in a table? Do I use LOB? How do I automatically read them if I want them to be available in a web site?
    Thanks.
    Camille

    U have to use either BLOBs (internal LOBs) or BFILEs (external LOBs). check out docu. at http://www.akadia.com/services/ora_blob.html

  • Directory problem....(utl_file related)

    create directory test_sukanta_dir as 'C:/Oracle/Sukanta';+
    when this statement run successfully ..its mean it create a Directory named by Sukanta which is inside C drive , Oracle Directory..is it..if yes when this statement run successfully no such directory created..inside C drive named by Oracle..what is the problem...plzzz help me...
    i am create this directory from a user..it have the privilege to create directory..

    Create directory doesnot create the directory, its an alias to an already existing directory.
    The following is a snippet from oracle docs -
    http://download.oracle.com/docs/cd/B14117_01/server.101/b10759/statements_5007.htm
    Use the CREATE DIRECTORY statement to create a directory object. A directory object specifies an alias for a directory on the server file system where external binary file LOBs (BFILEs) and external table data are located. You can use directory names when referring to BFILEs in your PL/SQL code and OCI calls, rather than hard coding the operating system path name, for management flexibility.

  • Reg : txt Files in Server directory (UTL_FILE)

    Hi Experts,
    Suppose, I've placed 5 +.txt+ files (procedure/table creation scripts) in a db server directory.
    Is there any way I can loop through each of the files?
    I need to pull the content of each file into oracle table using a procedure. So, I'm trying dynamically trying to use External Tables with Execute Immediate inside my proc. Will package UTL_FILE help in this?
    Please give some suggestions.
    Let me know if you have any concerns.
    Ranit B.

    As an alternative solution, have you considered using external LOB's? Using this approach could save significant overhead vs. the external tables solution because it doesn't require any schema objects for accessing the txt files (if you use an SQL script instead of a stored procedure).
    http://docs.oracle.com/cd/B14117_01/appdev.101/b10796/adlob_bf.htm#1010878
    Below is an excerpt from the link the Oracle docs above; this could be used as a starting point. (Substitute your directory name/file name for the BFILENAME arguments.)
    /* This file is installed in the following path when you install */
    /* the database: $ORACLE_HOME/rdbms/demo/lobs/plsql/fdisplay.sql */
    /* Displaying BFILE data.  */
    /* Procedure displayBFILE_proc is not part of DBMS_LOB package: */
    CREATE OR REPLACE PROCEDURE displayBFILE_proc IS
       file_loc BFILE := BFILENAME('MEDIA_DIR', 'monitor_3060.txt');
       Buffer   RAW(1024);
       Amount   BINARY_INTEGER := 200;
       Position INTEGER        := 1;
    BEGIN
       DBMS_OUTPUT.PUT_LINE('------------ BFILE DISPLAY EXAMPLE ------------');
       /* Opening the BFILE: */
       DBMS_LOB.OPEN (file_loc, DBMS_LOB.LOB_READONLY);
       LOOP
          DBMS_LOB.READ (file_loc, Amount, Position, Buffer);
          /* Display the buffer contents: */
          DBMS_OUTPUT.PUT_LINE(substr(utl_raw.cast_to_varchar2(Buffer), 1, 250));
          Position := Position + Amount;
       END LOOP;
       /* Closing the BFILE: */
       DBMS_LOB.CLOSE (file_loc);
       EXCEPTION
       WHEN NO_DATA_FOUND THEN
          DBMS_OUTPUT.PUT_LINE('End of data');
    END;
    SHOW ERRORS;

  • ORACLE8 ENTERPRISE EDITION의  주요 신기능

    제품 : ORACLE SERVER
    작성날짜 : 2004-08-16
    Oracle 8 Enterprise Edition 의 주요 신기능
    ==========================================
    Purpose
    이 자료는 Oracle8 version의 주요한 new feature에 대해 간략히 설명한다.
    * Oracle8 Enterprise Edition 릴리스 8.0의 주요 기능은 다음과 같다.
    분할 테이블과 인덱스를 통한 사용과 관리의 편리함
    병렬 처리의 향상
    데이타 웨어하우스 애플리케이션의 성능 및 관리 기능 향상
    메인프레임 급의 OLTP 지원
    보안 관리 향상
    분산 컴퓨팅 향상
    객체(Object) 기술과 확장성
    사용하기 쉬운 관리 툴
    이전 버전과의 원활한 통합과 상호 운용 지원
    Explanation
    1. 테이블과 인덱스의 분할
    대용량 데이타베이스로 인해 기업은 어려움을 겪고 있다. 특히 많은 양의 데이타를
    관리하고 운영하는 것은 쉬운 일이 아니다. 대부분의 작업이 짧은 시간에
    이루어지므로 온라인 처리 성능에 큰 영향을 미치지 않는다. 하지만 테이블이
    많아짐에 따라, 작업을 원하는 시간에 완료하기 위해서는 데이타의 임포트 및
    익스포트, 백업 및 복구, 테이블 분할(defragment)과 같은 작업을 수동적으로
    나누어 처리해야 한다. 또한, 큰 테이블의 일부를 포함하는 디스크에 장애가 발생
    하면 전체 테이블을 이용할 수 없게 되므로 이 테이블과 관련된 모든 프로세스는
    멈추게 된다.
    Oracle8은 테이블과 인덱스를 키 값에 따라 더 작은 부분으로 분할하거나
    나눔으로써 관리를 쉽게 하며 미션-크리티컬 데이타의 이용, 질의(query) 및
    데이타 처리 언어(DML)의 성능을 향상 시켜 준다. 분할(Partitioning)은 데이타
    웨어하우스와 OLTP 시스템의 관리와 성능면에서 향상된 기능을 제공한다. 분할된
    테이블들은 각각 독립적으로 운영되기 때문에, 분할된 테이블 중 한곳에 이상이
    발생하더라도 다른 곳의 분할된 테이블의 데이타는 이용할 수 있다. 분할을 통해
    큰 테이블을 작게 나누어 관리를 쉽게 하고 병렬 처리도 할 수 있다. 테이블과
    인덱스 분할은 사용되지 않는 부분을 실행 계획 단계에서 제거하므로 데이타 처리
    속도를 향상 시킬 수 있다.
    분할은 애플리케이션과 표준 DML 문에 투명성을 제공한다. Oracle8 옵티마이저
    (optimizer)는 분할 기능을 제공하며 질의(query)시 필요한 데이타를 포함하지
    않는 분할된 테이블은 검색에서 제외되므로 수행 성능을 향상 시킨다.
    (1) 분할(Partitioning) 이란?
    하나의 테이블과 인덱스는 여러 작은 조각으로 분할되거나 나누어 질 수 있다.
    테이블과 인덱스의 구조를 생성할 때 분할을 정의한다. 분할 키(partition key)로
    사용될 하나의 컬럼이나 여러 컬럼을 선택한다. 이 키로 데이타가 분할된 위치를
    찾아간다. Oracle8은 삽입(insert) 작업시 데이타를 적절히 분할한다-
    애플리케이션의 재작성 없이 분할 기능을 활용할 수 있다.
    테이블에 관한 모든 조작이 분할된 테이블의 각각에 대해서도 수행될 수 있다.
    예를 들면, 전체 테이블을 익스포트하지 않고 분할된 테이블의 한 부분만
    익스포트 할 수 있으며, 분할된 테이블 각각에 대해 ANALYZE 명령을 동시에
    수행하여 비용-기반(cost-based)의 최적화 값을 신속히 얻을 수 있다.
    분할된 테이블과 인덱스는 각각 독립적으로 운영되므로 분할된 테이블이나
    인덱스에서 수행되는 조작은 다른 곳의 분할된 테이블이나 인덱스에 영향을 미치지
    않는다. 만약 디스크 장애나 관리 미숙으로 인해 분할된 부분에 장애가 발생
    하더라도 다른 부분에 있는 데이타는 여전히 작동한다.
    (2) 향상된 데이타 컨트롤
    화일 시스템에서 분할에 관한 정보 즉, 저장 속성과 위치 등을 명시하여 대용량
    데이타베이스에 대한 컨트롤 효과를 높여준다. 분할된 부분 각각에서 오프라인,
    온라인, 백업, 복구, 익스포트, 임포트, 로딩 등이 수행될 수 있다-관리 시간을
    줄여준다. 하나의 분할 테이블에 하나의 분할 인덱스를 생성하여 인덱스 관리
    시간을 줄일 수 있다. 지역(local)과 전역(global) 인덱스를 위해 다양한 기능을
    제공한다. 분할 조작은 병렬로 수행될 수 있으며 다운되거나 오프라인 된 부분의
    데이타를 요구하지 않는 애플리케이션의 경우는 애플리케이션 장애에도 불구하고
    계속 수행될 수 있는 장점을 가진다.
    (3) 관리 용이
    Oracle8은 사용하기 쉬운 분할 기능을 제공한다. 예를 들어, 연속적인 데이타를
    포함하는 테이블의 경우 단지 일년간의 데이타만 테이블이 가질 수 있다. 이를
    위해 새로 분할된 부분을 테이블 끝에 첨가하고 일년 이상 된 데이타를 포함하는
    부분을 드롭하면 된다. 분할된 데이타간의 밸런스를 위해 다시 분할하여 재 조정
    할 수도 있다. 또한 Oracle7* 릴리스 7.3 UNION ALL 뷰(view)를 이용하는
    stand-alone 테이블이 하나의 테이블 분할로 전환되므로 대용량 Oracle7
    데이타베이스 사용자가 큰 테이블을 재 구축하지 않고도 Oracle8 분할 기능을
    활용할 수 있다.
    2. 데이타 웨어하우스 성능 향상
    Oracle7 릴리스 7.3의 데이타 웨어하우스 기능이 Oracle8에서 향상되었다.
    Oracle7에서 제공된 데이타 웨어하우스 애플리케이션을 위한 기능과 함께
    Oracle8은 다음 주요 기능을 제공한다:
    * 향상된 스타 질의(star query) 프로세싱
    * 병렬 처리 기능 향상
    * 데이타베이스 사이즈 증가
    (1) 향상된 스타 질의(Star Query) 프로세싱
    Oracle8은 데이타 웨어하우스 애플리케이션에서 보편적으로 수행되는 스타 질의에
    대한 성능을 향상시켰다. 스타 질의 또는 스타 스키마(star schema)는 팩트
    (fact) 테이블이라 불리는 하나 이상의 큰 테이블이 존재할 때 일어난다. 팩트
    테이블은 여러 개의 더 작은 테이블인 차원(dimension) 테이블과 연관되어있다.
    Oracle7에서 성능 향상을 위해 최적화된 스타 질의 기능을 소개하였고 Oracle8에서
    스타 질의는 훨씬 더 향상된 기능을 보여준다.
    Oracle8에서, 스타 질의를 실행하는 혁신적인 새로운 방법이 도입되었다 . 더
    효과적인 알고리즘을 이용하므로, Oracle8의 스타 질의는 데이타 웨어하우스
    애플리케이션을 위해 최적의 성능을 제공한다.
    Oracle8에서 여러 타입의 스타 질의 성능이 향상되었으며 조건을 통해 팩트
    테이블의 많은 행을 제거한 스파스(sparse) 테이블을 가진 스타 스키마는 그 좋은
    예이다. 또한, 하나의 스키마가 여러 팩트 테이블을 가질 때도 옵티마이저는
    효과적으로 질의를 수행한다. Oracle8은 크고 많은 차원 테이블, 제약 없는
    (unconstrained) 차원 테이블, 많은 양의 스키마 디자인을 가진 차원 테이블에
    대해 효과적으로 스타 질의를 수행한다.
    Oracle7과 달리, Oracle8 스타 질의 최적화 알고리즘은 카티션(Cartesian-
    product) 조인을 하지 않는다. Oracle8은 두 가지 기본 단계로 스타 질의를
    수행한다. 첫째 단계는, 팩트 테이블로 부터 필요한 행(row)을 조회하며, 이
    조회는 비트맵 인덱스(bitmapped index)를 통해 효과적으로 이루어진다. 둘째
    단계는 팩트 테이블에서의 결과를 관련 차원 테이블과 결합하는 것이다. 이로
    인해 여러 팩트 테이블을 가진 복잡한 스타 질의의 성능이 향상될 수 있다.
    B-tree 인덱스를 이용한 이전 방법에 비해 새로운 알고리즘은 비트맵 인덱스를
    통해 저장 공간을 절약할 수 있다. 새로운 알고리즘은 분할 테이블과 비분할
    테이블 모두에 대해 병렬 인덱스 스캔을 할 수 있으며 완벽한 병렬 기능을 제공한다.
    (2) 새로운 병렬 옵션
    삽입, 갱신, 삭제 트랜잭션이 Oracle8에서 병렬로 수행될 수 있다. 병렬 DML
    (Data Manipulation Language)로 잘 알려진 이 오퍼레이션은 여러 프로세스를
    통해 병렬로 실행된다. 오퍼레이션이 병렬로 실행되므로, 동일한 트랜잭션이
    순차적으로 실행되었을 때보다 트랜잭션은 훨씬 더 빠르게 수행된다. 병렬 DML은
    질의와 수정을 병렬로 실행하여 기존의 병렬 질의 기능을 보강시켰다. 병렬 DML은
    대량의 DML 오퍼레이션이 많이 일어나는 의사 결정 시스템(DSS) 또는 데이타
    웨어하우스 환경에 유용하다. 또한, 병렬 DML 오퍼레이션은 OLTP 데이타베이스에서
    운영 중인 일괄처리 작업을 빠르게 수행할 수 있다.
    Oracle8은 분할된 테이블에 대한 병렬 삽입, 갱신, 삭제 기능을 지원한다.
    Oracle8은 분할되지 않은 테이블에 대한 병렬 삽입도 지원한다. 병렬 삽입
    오퍼레이션은 Oracle7의 직접 경로(path) 로드와 유사하다. 테이블에 대한 병렬
    삽입은 디스크 블록을 직접 데이타 화일로 포맷하고 작성하므로 버퍼 캐시와
    스페이스 관리의 어려움을 해결해 준다. 이 경우 질의에 대한 각각의 스캔
    프로세스가 데이타를 테이블의 high watermark(강물의 수준점과 같이 테이블이
    데이타로 채워져 있을 때 가장 윗부분) 다음의 세그먼트로 삽입한다. 모든 삽입
    프로세스가 완료 되었을 때, 트랜잭션은 커밋되고 high watermark는 새로운
    세그먼트 다음으로 이동한다.
    병렬 DML은 삽입, 갱신, 삭제 오퍼레이션 실행 이전에 지정되어야 한다.
    일반적으로 병렬 DML은 배치(batch) 프로그램이나 대량의 삽입, 갱신, 삭제 작업을
    실행하는 애플리케이션 내에서 이루어진다. 병렬 DML에 대한 새로운 힌트도 제공된다.
    (3) 증가된 데이타베이스 사이즈
    Oracle8은 수백 테라 바이트까지 확장 가능한 대용량 데이타베이스를 지원한다.
    데이타 웨어하우스의 사이즈는 계속해서 증가하며, 그 사이즈로 인해 관리는 더
    어려워 지고 있다. Oracle8은 화일과 메모리의 향상된 사용을 위해 64-비트 화일
    시스템을 지원한다. 또한, 오라클은 테이블 저장 공간의 무한한 확장을 지원한다.
    물론, 데이타를 백업, 로딩, 재저장할 수 있는 툴을 가지고 있지않다면 대용량의
    데이타를 저장하는 것은 무의미할 것이다. Oracle8은 분할, 향상된 병렬 처리,
    고도의 백업 및 복구 툴 과 대용량 데이타 관리를 위해 여러 기능을 제공한다.
    3. 메인프레임 급의 OLTP
    Oracle8은 OLTP 애플리케이션을 위한 확장성, 수행 성능, 관리 기능의 향상도
    제공한다.
    (1) 대량의 사용자 지원
    Oracle8 Server와 네트웍 기능의 향상으로 운영 체계와 네트웍 자원의 활용도가
    증가되었다. 커넥션 풀링(connection pooling)은 요청이 없는 사용자를
    일시적으로 드롭하여(요구가 있으면 연결이 다시 확립된다) , 더 많은 사용자를
    지원할 수 있는 기술이다. 오라클 커넥션 매니저(Oracle Connection Manager)는
    멀티플렉싱을 이용 여러 소스로 부터 다양한 프로토콜을 지원하는 단일 서버로
    데이타를 넘겨주고, 필요시 방화벽으로 작용한다. 공유 데이타베이스는 많은
    사용자를 한번의 연결로 하나의 데이타베이스 서버에 링크하므로 특히, 다중
    애플리케이션 구조에서 필요한 자원의 요구를 줄일 수 있다.
    (2) 첨단 큐잉(Queuing)
    첨단 큐잉은 트랜잭션을 나중에 실행한다거나 특정한 순서로 실행할 수 있는 기능을
    추가한다. 이로 인해 분산 애플리케이션의 커플링을 피할 수 있으며 고도의
    확장성이 요구되는 애플리케이션을 위해 외부 시스템에 대한 종속을 없애준다.
    인큐(enque)와 디큐(dequeue) 오퍼레이션은 트랜잭션 내의 프로세싱을 백그라운드
    프로세싱으로 전환하는데 이용되어 트랜잭션 응답 시간을 줄일 수 있다. 또한 큐는
    데이타의 상태가 변함에 따라 데이타를 시스템으로 옮기는 워크플로우
    애플리케이션을 구현하는 데 사용될 수 있다. 예를 들어, 하나의 주문이 전체 주문
    단계 동안 주문 엔트리로 부터 출하 시스템으로, 그리고 이를 청구 시스템으로
    옮기는 애플리케이션을 생각해볼 수 있다. Oracle8의 첨단 큐는 Tuxedo의 /Q와
    같은 인기 있는 트랜잭션 프로세싱(TP) 모니터와 결합하여 사용될 수 있다.
    (3) 향상된 병렬 서버
    Oracle8 병렬 서버(Oracle8 Parallel Server*)는 수행 성능, 확장성, 메모리
    이용, 가용성 등에서 뛰어난 향상을 가져왔다. 통합된 기능을 제공하는 분산 록
    매니저(distributed lock manager)는 다른 OS 업체에 의해 제공된 록 매니저와
    달리 대부분의 플랫폼에서 우수한 성능과 이식성을 제공한다. 수행 성능의 향상은
    Oracle8 병렬 서버의 속도를 향상시켰다. 또한, 새로운 전역(global) V$
    테이블의 관리도 용이해졌다.
    Oracle8 병렬 서버는 노드 간 요청을 처리를 위해 자체에서 제공하는 통합된 분산
    록 매니저(DLM)를 이용한다. 이전에 오라클은 특정 OS 업체가 제공하는 DLM
    기능에 의존하였고, 따라서 주어진 플랫폼만 지원했었다. 이제 Oracle8과 DLM의
    통합으로 병렬 서버가 모든 플랫폼에 걸쳐 다양한 기능을 제공할 수 있게 되었다.
    이로 인해 자원의 크로스-노드 공유를 지원하지 않던 플랫폼에서도 이제 Oracle8
    병렬 서버를 사용할 수 있게 되었다.
    Oracle8에서는 병렬 서버의 성능 향상을 위해 여러 특징이 추가되었다. 시스템
    변경 번호 (System Change Number : SCN) 생성이 최적화되어 인스턴스간 SCN
    부여가 더 효과적이 되도록 하고 있다. 이 기능 향상만으로 약 10-15%의 병렬 서버
    성능 향상을 가져올 수 있다. 또한, DLM은 록 정보가 노드를 통해 분산되는 것을
    막기 위해 록을 캐시한다. 충돌 블록에 대한 액세스를 통제할 수 있는 알고리즘이
    노드에 있는 블록들의 핑(Ping)과 충돌을 줄여 준다. 리버스 키(reverse-key)
    인덱스는 블록의 바이트를 전환하여 인스턴스상의 블록 충돌을 없애므로 *hot
    spot*인덱스 - 특히 주 키 (primary key)인덱스 - 에서의 충돌을 줄여준다.
    분할을 통해 사용자가 위치를 파악하므로 병렬 서버 성능을 향상 시킬 수 있고,
    따라서 Oracle8 병렬 서버의 록킹 관련 메모리 부하를 줄일 수 있다.
    Oracle8에서 병렬 질의 혹은 병렬 DML 프로세싱을 위한 인스턴스를 지정할 수
    있다. 어느 그룹에 인스턴스가 속하는지 파악할 수 있으며 특정 애플리케이션으로
    부터 문장을 처리하기 위해 그 그룹을 이용할 수 있다. 이것은 서버간 데이타
    웨어하우스 프로세싱과 OLTP를 분리하는데 매우 유용하다. Oracle8 병렬 서버는
    분리된 인스턴스를 이용하므로 데이타 웨어하우스 질의가 OLTP 애플리케이션의
    성능에 영향을 미치지 않는다.
    Oracle8은 Oracle8 병렬 서버에 대한 글로벌 고정 뷰(global fixed view)를
    제공한다. 이로 인해 관리자는 병렬 서버상의 하나의 인스턴스에 로그인 하여 전체
    환경에 대한 모니터링을 수행하므로 조작을 간단하게 할 수 있으며 생산성을 향상
    시킬 수 있다.
    (4) 투명한 애플리케이션 장애 복구(Failover)
    병렬 서버상의 하나의 노드에 장애가 발생하였을 때, 투명한 애플리케이션 장애
    복구에 의해 사용자의 커넥션이 다른 노드의 세션으로 옮겨지며 세션이 자동으로
    재확립된다. 애플리케이션이 계속해서 실행되므로 사용자들은 장애를 인식하지
    못한다. 이것은 계획된 사건이나 계획되지 않은 장애 발생시 지속적인 이용을
    보장한다.
    클라이언트에서 발생하는 부하의 양에 따라, 인스턴스 장애 발생시 사용자를 장애
    복구 노드로 완벽하고 투명하게 이전 연결해 준다. 모든 질의는 클라이언트에
    저장되어 장애 복구 노드상에서 다시 실행될 수 있다. 또한, 세션을 장애 복구
    노드에 미리 연결할 수 있어 장애 복구 인스턴스에 다시 연결하는 시간을 줄일 수도
    있다.
    투명한 애플리케이션 장애 복구는 가용성을 높일 뿐 아니라, 수동적인 부하
    조절이나 강제적인 시스템의 셧다운에도 효과적이다. 너무 많은 사용자가
    인스턴스에 연결하였을 경우, 일부 세션을 정지하고 다른 노드로 투명하게 이전할
    수 있다. 또한 현재의 트랜잭션이 완료된 후에 노드를 셧다운하고 장애 복구 노드로
    투명하게 이전할 수 있게 한다. 사용자의 작업은 셧 다운으로 인해 더 이상 방해
    받지 않게된다.
    (5) TP 모니터 지원 향상
    다이내믹 XA 지원으로 산업 표준 XA 호환 TP 모니터를 이용한 다층 애플리케이션이
    최적의 성능을 발휘할 수 있게 되었다. Oracle8은 다음과 같은 XA 인터페이스에
    대한 기능을 지원한다:
    * 다이내믹 등록(registration) 지원
    * 약결합(loosely-coupled) 트랜잭션 지원
    * Oracle 병렬 서버에 대한 향상된 트랜잭션 복구
    * 세션 캐싱의 불필요
    * Oracle Call Interface* (OCI) 애플리케이션을 위한 SQLLIB 불필요
    * 모든 플랫폼에서의 OPS를 위한 XA 라이브러리 제공
    * Oracle8에서 XA 애플리케이션을 실행하기 위한 스크립트 인스톨 불필요
    * Oracle8은 동일 XA 연결내에서 전역 및 지역 트랜잭션 동시 허용
    (6) 백업/복구 서브시스템의 확장
    Oracle8 서버는 고도의 백업 및 복구 기능을 제공한다. Oracle8은 백업 시작
    시간, 백업할 데이타베이스의 부분, 화일이 저장될 위치 등에 관한 상세한
    정보를 가지고 있다. 복구가 필요하다면 Oracle8은 데이타베이스의 상태를 분석하며
    수행에 필요한 오퍼레이션을 결정한다. Oracle8은 이러한 조작을 자동으로
    수행하므로 관리자의 작업을 단순화하며 에러 발생을 줄여 준다. Oracle
    Enterprise Manager*의 그래픽 사용자 인터페이스는 백업과 복구 작업을 수행할
    수 있으며 써드-파티 애플리케이션을 위한 애플리케이션 프로그래밍 인터페이스
    (API)도 제공된다. Legato 와 같이 써드-파티의 테이프 관리 제품을 위한 미디어
    관리 인터페이스가 있다.
    Multilevel, incremental 백업은 단지 변화된 블록만을 백업하므로 백업 사이즈를
    상당히 줄일 수 있다. 이로 인해 데이타 화일의 백업 시간을 상당히 줄일 수 있다.
    테이블스페이스(Tablespace)의 적절한 복구로 하나 이상의 테이블스페이스가 좀더
    빠른 시간에 복구 되게 하며 나머지 데이타베이스는 계속 운영될 수 있다. 이로
    인해 사용자 에러가 쉽게 수정될 수 있다. 예를 들면, 사용자 실수로 테이블의 여러
    레코드를 갱신하는 작업을 배치 형태로 실행하였을 때, 테이블은 배치 작업이
    일어나기 이전 형태로 다시 저장될 수 있다. 또한, 테이블이 우연히 드롭되거나
    잘려졌을 때, 조작 이전 단계로 다시 저장될 수 있다.
    Oracle8은 블록을 읽고 쓰는 수를 제한하므로 장애 및 인스턴스 복구 속도를 항상
    시켰다. 이는 미션-크리티컬 시스템의 이용성을 높여 준다. Oracle은 인스턴스
    복구를 위한 초기 변수를 최대치로 설정할 수 있다. 따라서 버퍼 캐시가 매우 큰
    상황에서 적절한 복구 시간을 설정할 수 있다.
    4. 보안 관리 향상
    Oracle8은 사용자와 롤(role)을 중앙에서 관리할 수 있는 환경인 Security
    Server를 포함한다. Oracle Security Server는 공공/개인 키 검증을 위한 X.509
    인증 기반의 보안 표준과 호환된다. 클라이언트와 서버 간의 완벽한 검증은
    클라이언트 통신을 갈무리하기 위해 디자인된 "rogue" 데이타베이스로 부터 방해
    받지 않도록 한다. 또한 디지털 서명(signature) 툴 킷으로 애플리케이션 생성시
    데이타의 부정 갱신을 방지 할 수 있다.
    Oracle8은 향상된 패스워드 유지와 관리 기능을 제공한다. Oracle8에서 보안
    스키마를 강화하기 위해 패스워드 프로필(profile)을 정의할 수 있다. 패스워드는
    특정시간이 지난 후에 소멸되거나 유효성 여부가 체크될 수 있다. 자신만의
    패스워드를 생성하거나 새로운 패스워드의 길이, 내용, 재사용 여부 등을 체크하기
    위해 표준 저장 함수(stored function)를 이용할 수 있다. 사용자 계정을 생성할
    수 있으며 사용자는 시스템에 최초 액세스 하였을 때 패스워드를 즉시 변경해야 한다.
    Oracle8은 또한 특권이 부여된 링크를 통해 데이타베이스 링크시 패스워드가 필요
    없게 하기도 하며, OCI 와 PL/SQL*에서 부를 수 있는 데이타 해독(encryption)
    서비스도 제공한다.
    5. 복제(이중화; REPLICATION)
    복제 옵션 부분도 현저하게 개선되었다. Oracle8의 복제는 광범위하게 구축된
    분산 시스템, 높은 생산성의 장애 복구 환경, 데이타 웨어하우스 시스템 등을
    지원한다.
    영업활동을 지원하기 위한 "Salesforce Automation 애플리케이션"과 같은 대량
    전개(mass deployment) 시스템은 Oracle8의 서브 세팅(subsetting) 기능으로
    관리와 디자인이 훨씬 간편해질 수 있다. 복잡한 부분 질의(subquery) 스냅샷
    (snapshot)은 다른 테이블 질의에 기반한 스냅샷을 구축할 수 있도록 *fast
    refresh* 항목을 포함할 수 있다. 예를 들면, ORDERS 테이블에 기반해서 각각의
    영업사원에 대한 스냅샷을 구축할 수 있다. 이 스냅샷은 ASSIGNMENTS 테이블로
    부터 표준에 맞는 주문을 선택하여 각각의 영업 사원에 대한 주문만을 포함하게
    된다. 각 영업 사원은 자신의 주문만을 볼 수 있으며 새로운 주문을 반영할 경우
    마스터 테이블과 연동한다.
    Oracle8에서 복제의 성능이 상당히 향상 되었다. 복제 사이트에 대한 변화 적용은
    병렬로 처리되며 복제시 처리량의 제한은 없으며, 트랜잭션 무결성 또한 유지된다.
    또한, 대부분의 복제 기능은 PL/SQL 트리거에서 C코드로 재 작성되었으며 오라클
    커널에서 높은 성능을 제공하고 있다. 마침내, 네트웍을 통해 각각의 복제된
    트랜잭션으로 보내져야 할 데이타의 양이 현저히 감소하여 네트웍 부하를 최소로
    줄여 준다.
    Oracle8 복제 기능은 관리와 사용면에서도 향상을 가져왔다. 위저드(wizard)를
    포함한 Oracle Replication Manager*의 기능 향상으로 복제 환경을 더 쉽게 설치
    하고 유지할 수 있다. 이외에 복제 관리를 위한 개선 사항으로는, 어느 사이트가
    스냅샷과 관계를 맺고 있는지 정보를 알 수 있는 스냅샷 등록, 테이블 재구성 후
    더 빠른 스냅샷 refresh를 제공하는 주 키(primary key) 스냅샷, 편리한
    관리를 위한 새로운 보안 알고리즘; 다른 사람이 작업 중일 때 하나의 복제 그룹에
    스키마 레벨의 변화를 가할 수 있는 fine-grain quiesce등이 있다.
    6. 객체-관계형(OBJECT-RELATIONAL) 데이타베이스
    Oracle8은 객체-관계형 패러다임으로 데이타 관리 기술을 한 차원 높였다. 오늘
    날의 데이타베이스 스키마와 애플리케이션은 점점 복잡해 지고 있다. 종종 고객
    정보, 청구, 발송과 같이 비슷한 데이타를 가진 여러 분리된 애플리케이션들이 다른
    데이타베이스 스키마로 존재하며 MIS 부서는 상호작용에 대해 고려해야 한다. 여러
    업체에서 제공되는 서로 다른 관계형 객체와 애플리케이션을 더 밀접한 엔드-유저
    데이타 모델로 통합하는 정보의 통합 관리는 쉬운 일이 아니다. 완벽한 객체-관계형
    솔루션을 위해 관계형 데이타베이스에 객체 개념을 추가하므로, 오라클은 데이타
    모델링을 단순화하며 새로운 데이타 타입으로 데이타베이스를 확장할 수 있다.
    (1) 오라클의 객체-관계형 데이타베이스 기능은 다음과 같다
    * 애플리케이션 중심으로 서버를 확장하기 위한 객체 타입(object type)
    * 객체 메쏘드로서 외부 프로시저(external procedure)
    * 빠른 클라이언트-사이드 객체 검색 지원
    * 기존 관계형 환경의 개선
    * 객체 모델링을 위한 개발 툴
    * 비정형 데이타 지원(이미지, 비디오, 텍스트 등)
    * 개방형, 산업 표준 데이타 조작을 위한 자바 지원
    객체(object)는 모든 서버 레벨에서 Oracle8 전체에 걸쳐 완벽하게 통합된 기능을
    제공한다. Oracle universal data server 의 강력한 기능들은 객체와 함께 제공
    되며 오라클의 정교한 동시성 (concurrency) 모델 , 수행 성능, 확장성, 신뢰성,
    관리성, 가용성 등을 포함한다.
    (2) 객체 타입(Object Type)
    객체 타입은 오라클의 관계형 데이타 시스템의 확장을 위한 방법을 제공한다.
    관계형 데이타베이스는 세 가지 데이타 타입을 지원한다: character, number,
    date. 객체 타입으로 새로운 데이타 타입을 정의할 수 있으며 관계형 데이타
    타입을 정규화하는 것과 같이 사용할 수 있다. 예를 들어, 주소라는 새로운 타입을
    생성할 수 있다. 이 객체 타입은 속성이라 불리는 우편번호, 시, 구와 같은
    데이타를 가진다. 객체 타입은 또한 주소간의 길이를 계산하는 거리와 같은
    메쏘드를 가진다. 이 메쏘드는 PL/SQL, C 또는 자바로 작성될 수 있다. 주소는
    컬럼 정의, PL/SQL 변수 또는 객체 테이블을 위한 정의 등 데이타 타입 정의가
    가능한 모든 곳에서 사용될 수 있다.
    오라클의 객체 타입은 복잡한 객체 지원을 위해 강력한 객체 모델링 기능을 이용
    한다. 예를 들어, 배열 구조나 삽입(nested)된 테이블에서 비슷한 객체의 모임을
    표현할 수 있다. 테이블을 조인하지않고 빠르게 검색하기 위해 객체에 대한
    포인트를 저장할 수 있다.
    객체 타입은 개발자가 애플리케이션 로직을 클라이언트-사이드에 코딩하는 것이
    아니라 데이타베이스나 미들 계층인 애플리케이션 서버에서 코딩할 수 있게 한다.
    모든 애플리케이션은 새로운 데이타 타입의 로직을 공유하므로 개발자는 코드를
    다시 작성할 필요가 없다. 이것으로 재사용 가능한 코드 컴포넌트 생성과 투명한
    애플리케이션 분할이 가능하며 코드는 다음 중 최상의 성능을 지닌 계층에 위치하여
    실행될 수 있다: 클라이언트, 애플리케이션 서버, 데이타베이스 서버.
    Oracle8은 객체 타입 정의와 객체 모델링 기술을 위해 SQL3 표준을 따른다.
    SQL3는 객체 타입 생성 및 수정, 객체 식별자(object identifier, OID) 생성 및
    저장, 객체에 관한 레퍼런스 또는 포인터를 생성 및 저장, 비슷한 객체의 모임을
    모델링하기 위한 문장을 정의한다.
    (3) 데이타베이스내에서 외부 프로시저 호출
    오라클은 데이타베이스에서 C, C++, 혹은 자바로 작성된 외부 프로그램을 호출할
    수 있는 안전하고 빠른 방법을 제공한다. 호출은 HTTP나 IIOP(CORBA 표준)와 같은
    개방형 프로토콜을 통해 이루어질 수 있다. 외부 프로시저를 통해 기존 애플리케이션
    코드를 사용하거나 Fast Fourrier Transform (FFT)와 같이 수치적으로 복잡한
    알고리즘을 위해 고도로 최적화된 코드로 작성할 수 있다.
    또한 다른 애플리케이션 또는 삽입된 시스템과 같은 특정 장치와의 연동을 위해
    외부 프로시저를 이용할 수 있다.
    (4) 클라이언트-사이드 객체 지원
    클라이언트-사이드 객체 캐시는 사용자 애플리케이션이 복잡한 수직 구조의 객체를
    애플리케이션 캐시로 읽어 들이게 한다. 애플리케이션은 추가적이 네트웍 검색
    없이 객체를 검색 (traverse) 할 수 있다. 이런 편리하고 빠른 방법으로
    클라이언트 애플리케이션에서 객체를 사용할 수 있으며 네이티브 객체-지향 코드와
    같은 코드를 작성할 수 있다.
    (5) 관계형 환경의 개선
    Oracle8은 사용자가 쉽게 새로운 객체-지향 기능을 이용하도록 디자인 되었으며
    기존의 모든 애플리케이션에 대해 호환성을 제공한다. 새로운 객체-관계형 기능은
    관계형 기능과 동일한 기초에 기반하여 구축되었으므로 사용자들이 Oracle8으로
    마이그레이션 하기 위해 기존의 관계형 애플리케이션을 버리거나 다시 작성할
    필요가 없다. 다른 객체-관계형 데이타베이스와 달리, 이것은 행과 열을 읽고 쓰는
    전통적인 관계형 애플리케이션이 객체를 읽고 쓰는 객체-지향 애플리케이션과 공존할
    수 있게 한다. Oracle8은 관계형 데이타를 조회하여 마치 그것이 객체 데이타인
    것처럼 클라이언트에 나타내거나 그 반대로 데이타를 나타낼 수 있는 객체 뷰를
    제공한다.
    예를 들어, 기존 관계형으로 구현된 주문 입력(order-entry) 시스템은 월드
    와이드 웹을 위해 새로운 전단부(front-end )를 필요로 할 수 있다. 관계형
    데이타베이스 스키마에 액세스하는 기존 애플리케이션은 유효하면서 웹
    클라이언트에서의 객체 표현을 위해 새로운 객체 뷰가 개발될 수 있다. 새로운
    애플리케이션과 기존 애플리케이션이 동일한 데이타에 기반할 수 있으나 각각은
    자신만의 표현을 가진다.
    (6) 객체 모델링을 위한 개발 툴
    개발 툴과 그래픽한 모델링 툴은 개발 프로젝트의 성공을 위해 매우 중요한
    요소이다. 새로운 객체 모델링 툴인 Designer/2000* 과 컴포넌트 조합 환경인
    Sedona는 완벽하게 Oracle8의 객체 모델을 지원한다.또한, Rational Software와
    같은 써드-파티 업체들이 Oracle8의 객체 개발을 지원한다.
    멀티미디어 데이타
    Large Object (LOB)는 이미지, 사운드, 비디오, 텍스트와 같은 비정형 데이타를
    처리하며 LONG이나 LONG RAW보다 훨씬 더 강력한 기능을 가진다. Character LOB
    (CLOB 혹은 NCLOB), Binary LOB, 그리고 BFILES (혹은 외부 저장된 LOB)는 복제
    되거나 객체의 속성이 될 수 있다. 테이블/객체 당 하나 이상의 LOB를 가질 수
    있다. LOB는 LONG 보다 더 큰 최대 사이즈를 가지며 읽기 일관성과 임의 액세스를
    위해 차별되는 메커니즘을 가지고 있다.
    LOB 데이타는 빠른 액세스를 위해 특정 바이트에서 시작할 수 있도록 인덱스 된다.
    예를 들어 특정 바이트-오프셋을 읽거나 쓸 수 있다. Oracle8 버퍼 캐시를 통해
    LOB를 읽고 쓰거나 디스크로 부터 LOB에 직접 액세스 할 수 있다.
    (7) 개방형 산업 표준 지원: 자바
    오라클의 두 가지 자바 지원 전략은 오라클의 객체 타입과 더 잘 통합될 수 있도록
    제공되는 JDBC 드라이버와 SQL문을 자바에 삽입하는 JSQL이다. JDBC는 자바
    클라이언트가 Oracle8에 액세스하게 해준다. 오라클은 Oracle8에서의 더 나은
    수행 성능을 위해 JDBC 드라이버를 제공할 것이다. JSQL은 SQL 문을 자바
    애플리케이션 내에 포함하게 한다. 그런 후 JSQL precompiler가 SQL을 JDBC
    call로 전환한다. 이로 인해 기존의 SQL 문을 새로운 자바 애플리케이션에서
    사용할 수 있다.
    7. 기타 향상된 기능
    인덱스로 구조화된 테이블은 Oracle8 B-tree 인덱스 구조의 노드 내에 컬럼
    데이타를 저장한다. 이는 대부분의 컬럼이 인덱스 되었을 때 인덱스와 분리된
    테이블 모두를 저장하는 것이 아니라 컬럼을 단 한번만 저장하므로 전체 저장
    공간을 줄여준다. 인덱스로 구조화된 테이블은 두 곳이 아니라 한 곳에서 모든
    컬럼을 조회하므로 액세스 시간을 줄여준다. PL/SQL에서 SQL를 부르는 속도가
    향상됨에 따라 PL/SQL 성능도 향상되었으며 반대의 경우도 마찬가지이다.
    Oracle8에서는 제약조건(constraint) 프로세싱이 향상되었으며 UNIQUE와
    PRIMARY KEY 제약 조건을 위해 non-unique 인덱스를 이용할 수 있다. 이로
    인해 엄청난 양의 인덱스를 제거할 수 있으며 제약 조건을 사용할 수 없게
    되더라도 인덱스는 유효하게 남아 있다. 지연-제약 조건(deferred-constraint)
    체크는 문장 실행 마지막이 아니라 트랜잭션 실행 마지막에 무결성-제약 조건
    (integrity-constraint) 체크가 이루어진다. 이로 인해 무결성-제약 조건을
    수반하는 오퍼레이션의 코딩이 간편해진다. 모든 제약 조건은 다른 제약 조건들과
    동시에 그리고 병렬로 처리될 수 있으며 concurrent DML을 처리한다.
    새로운 NCHAR 데이타 타입은 하나의 데이타베이스에서 두 번째 character set을
    사용할 수 있게 한다. 이는 아시아 언어와 멀티 바이트 문자 데이타에 대한
    성능과 저장 예측력을 향상시켰다. 고정-길이 네이티브 Unicode 2.0과 Chinese
    GBK 를 지원한다.
    리버스 키(reverse key) 인덱스를 통해 주 키(primary key) 인덱스의 부담을
    줄일 수 있다. 불균형 인덱스는 인덱스를 점점 심화되게 할 수 있다. 리버스 키
    인덱스는 블록 엔트리 바이트를 역으로 전환하여 인덱스가 "빠지는 것(sliding)"
    을 방지한다.
    Oracle8은 정교한 애플리케이션을 쉽게 개발할 수 있도록 여러 가지 강력한 툴을
    제공하고 있다. 이제 관계형 뷰에 기반한 데이타를 수정할 수도 있다. 새로운
    트리거는 사용자 자신의 로직을 동원하여 뷰(view)에서 INSERT, UPDATE, DELETE
    작업을 수행하므로 복잡한 조인 조건을 가진 뷰라 하더라도 수정될 수 있다. 또한
    질의의 select 리스트에 부분 질의를 둘 수 있으므로 조인을 수행하지 않고
    상세(detail) 테이블의 임의 목록으로 부터 결과값을 얻을 수 있다. Select
    리스트에 커서(cursor)를 사용하여 FROM 절에 복잡한 조인 조건을 사용하지 않고
    3GL 프로그램에 있는 상세 테이블로 부터 행을 가져올 수 있다. Oracle8은
    데이타베이스에서 C로 작성된 3GL 코드를 부를 수 있으므로 데이타베이스 테이블과
    외부 하드웨어를 통합할 수 있으며 기존 애플리케이션 코드를 이용하거나
    수치적으로 복잡한 프로세스를 처리할 수 있다.
    8. 마이그레이션(MIGRATION)과 상호 운용성(INTEROPERABILITY)
    간단하고 빠른 마이그레이션 유틸리티가 데이타 사전을 재 구축하며 콘트롤 화일,
    로그 화일, 데이타 화일 헤더를 전환한다. 마이그레이션 유틸리티는 Oracle 7.1,
    7.2, 7.3등을 포함하는 모든 데이타베이스를 Oracle8으로 전환해 준다. Oracle7
    애플리케이션은 아무런 변경 없이 Oracle8과 연동하고, Oracle8의 분산 명령
    또한 Oracle7에도 작용한다.

  • Partitioned IOT of Object Type - mapping table not allowed for bitmap index

    Hi,
    looks like a feature available for standard Partitioned IOTs is not supported for object based tables, namely the MAPPING TABLE construct to support secondary local bitmap indexes.
    Can you confirm behaviour is as expected/documented?
    If so, is a fix/enhancement to support mapping table for object-based Partitioned IOTs in the pipeline?
    Results for partition-wise load using pipelined table function are very good, look-ups across tens of millions of rows are excellent.
    Environment = Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    OS = Oracle Enterprise Linux Server release 5.2 (Carthage) 2.6.18 92.el5 (32-bit)
    Here's the potted test-case...
    1) First the non object based Partitioned IOT - data is range-partitioned across the alphabet
    CREATE TABLE IOT_Table (
    textData VARCHAR2(10),
    numberData NUMBER(10,0),
    CONSTRAINT IOT_Table_PK PRIMARY KEY(textData))
    ORGANIZATION INDEX MAPPING TABLE PCTFREE 0 TABLESPACE Firewire
    PARTITION BY RANGE (textData)
    (PARTITION Text_Part_A VALUES LESS THAN ('B') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_B VALUES LESS THAN ('C') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_C VALUES LESS THAN ('D') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_D VALUES LESS THAN ('E') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_E VALUES LESS THAN ('F') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_F VALUES LESS THAN ('G') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_G VALUES LESS THAN ('H') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_H VALUES LESS THAN ('I') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_I VALUES LESS THAN ('J') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_J VALUES LESS THAN ('K') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_K VALUES LESS THAN ('L') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_L VALUES LESS THAN ('M') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_M VALUES LESS THAN ('N') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_N VALUES LESS THAN ('O') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_O VALUES LESS THAN ('P') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_P VALUES LESS THAN ('Q') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_Q VALUES LESS THAN ('R') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_R VALUES LESS THAN ('S') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_S VALUES LESS THAN ('T') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_T VALUES LESS THAN ('U') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_U VALUES LESS THAN ('V') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_V VALUES LESS THAN ('W') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_W VALUES LESS THAN ('X') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_X VALUES LESS THAN ('Y') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_Y VALUES LESS THAN ('Z') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_Z VALUES LESS THAN (MAXVALUE) PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0))
    NOLOGGING PARALLEL -- FLASHBACK ARCHIVE IOT_Flashback_Data
    SQL> table IOT_TABLE created.
    2) Create the local secondary bitmap index utilising the underlying mapping table
    CREATE BITMAP INDEX IOT_Table_BMI1 ON IOT_Table (numberData)
    LOCAL STORAGE (INITIAL 1M PCTINCREASE 0 NEXT 512K) NOLOGGING PARALLEL;
    SQL> bitmap index IOT_TABLE_BMI1 created.
    3) Quick test to confirm all ok
    SQL> INSERT INTO IOT_Table VALUES ('ABC123',100);
    SQL> 1 rows inserted.
    SQL> SELECT * FROM IOT_Table;
    TEXTDATA NUMBERDATA
    ABC123     100
    4) Now create a minimal object type to use as the template for object table
    CREATE TYPE IOT_type AS OBJECT
    textData VARCHAR2(10 CHAR),
    numberData NUMBER(10,0)
    ) FINAL
    SQL> TYPE IOT_type compiled
    5) Attempt to create an object-based range partitioned IOT, including MAPPING TABLE clause as per step (1)
    CREATE TABLE IOTObj_Table OF IOT_type (textData PRIMARY KEY)
    OBJECT IDENTIFIER IS PRIMARY KEY ORGANIZATION INDEX
    MAPPING TABLE -- we'd like to use this feature to enable use of Bitmap Indexes...
    PCTFREE 0 TABLESPACE Firewire
    PARTITION BY RANGE (textData)
    (PARTITION Text_Part_A VALUES LESS THAN ('B') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_B VALUES LESS THAN ('C') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_C VALUES LESS THAN ('D') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_D VALUES LESS THAN ('E') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_E VALUES LESS THAN ('F') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_F VALUES LESS THAN ('G') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_G VALUES LESS THAN ('H') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_H VALUES LESS THAN ('I') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_I VALUES LESS THAN ('J') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_J VALUES LESS THAN ('K') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_K VALUES LESS THAN ('L') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_L VALUES LESS THAN ('M') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_M VALUES LESS THAN ('N') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_N VALUES LESS THAN ('O') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_O VALUES LESS THAN ('P') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_P VALUES LESS THAN ('Q') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_Q VALUES LESS THAN ('R') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_R VALUES LESS THAN ('S') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_S VALUES LESS THAN ('T') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_T VALUES LESS THAN ('U') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_U VALUES LESS THAN ('V') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_V VALUES LESS THAN ('W') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_W VALUES LESS THAN ('X') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_X VALUES LESS THAN ('Y') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_Y VALUES LESS THAN ('Z') PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0),
    PARTITION Text_Part_Z VALUES LESS THAN (MAXVALUE) PCTFREE 0 TABLESPACE Firewire Storage (Initial 10M Next 1M PCTIncrease 0))
    NOLOGGING PARALLEL -- FLASHBACK ARCHIVE IOT_Flashback_Data
    This errors out with the following...
    SQL Error: ORA-25182: feature not currently available for index-organized tables
    25182. 00000 - "feature not currently available for index-organized tables"
    *Cause:    An attempt was made to use one or more of the following feature(s) not
    currently supported for index-organized tables:
    CREATE TABLE with LOB/BFILE/VARRAY columns,
    partitioning/PARALLEL/CREATE TABLE AS SELECT options,
    ALTER TABLE with ADD/MODIFY column options, CREATE INDEX
    *Action:   Do not use the disallowed feature(s) in this release.
    6) Re-running the create table statement in step 5 without the MAPPING TABLE clause works fine. Not surprisingly an attempt to create a secondary local bitmap index on this table fails as there's no mapping table, like so...
    CREATE BITMAP INDEX IOTObj_Table_BMI1 ON IOTObj_Table (numberData)
    LOCAL STORAGE (INITIAL 1M PCTINCREASE 0 NEXT 512K) NOLOGGING PARALLEL;
    CREATE TABLE with LOB/BFILE/VARRAY columns,
    partitioning/PARALLEL/CREATE TABLE AS SELECT options,
    ALTER TABLE with ADD/MODIFY column options, CREATE INDEX
    *Action:   Do not use the disallowed feature(s) in this release.
    CREATE BITMAP INDEX IOTObj_Table_BMI1 ON IOTObj_Table (numberData)
    LOCAL STORAGE (INITIAL 1M PCTINCREASE 0 NEXT 512K) NOLOGGING PARALLEL
    Error at Command Line:99 Column:13
    Error report:
    SQL Error: ORA-00903: invalid table name
    00903. 00000 - "invalid table name"
    7) Creating a secondary local b-tree index is fine, like so...
    SQL> CREATE INDEX IOTObj_Table_I1 ON IOTObj_Table (numberData)
    LOCAL STORAGE (INITIAL 1M PCTINCREASE 0 NEXT 512K) NOLOGGING PARALLEL;
    index IOTOBJ_TABLE_I1 created.
    8) A quick test to ensure object table ok...
    SQL> INSERT INTO IOTObj_Table VALUES (IOT_Type('DEF456',500));
    SQL> 1 rows inserted.
    SQL> SELECT * FROM IOTObj_Table;
    TEXTDATA NUMBERDATA
    DEF456     500

    Thanks Dan,
    the intention is to range partition based on the initial character, so A* -> Text_Part_A, B* -> Text_Part_B, and so on.
    Here's an example, using an empty IOTObj_Table as created previously.
    1) Set up & confirm some test data (two 'D's, one 'N', and two 'Z's)
    SQL> INSERT INTO IOTObj_Table VALUES (IOT_Type('DEF456',500));
    SQL> INSERT INTO IOTObj_Table VALUES (IOT_Type('DDD111',510));
    SQL> INSERT INTO IOTObj_Table VALUES (IOT_Type('N3000',515));
    SQL> INSERT INTO IOTObj_Table VALUES (IOT_Type('ZZ1212',520));
    SQL> INSERT INTO IOTObj_Table VALUES (IOT_Type('Z111X',530));
    SQL> COMMIT;
    SQL> SELECT * FROM IOTObj_Table;
    TEXTDATA NUMBERDATA
    DDD111     510
    DEF456     500
    N3000     515
    Z111X     530
    ZZ1212     520
    2) Just to prove our IOT is enforcing the Primary Key based on the TextData attribute, try to insert a duplicate
    SQL> INSERT INTO IOTObj_Table VALUES (IOT_Type('Z111X',530));
    Error starting at line 141 in command:
    INSERT INTO IOTObj_Table VALUES (IOT_Type('Z111X',530))
    Error report:
    SQL Error: ORA-00001: unique constraint (OCDataSystems.SYS_IOT_TOP_84235) violated
    00001. 00000 - "unique constraint (%s.%s) violated"
    *Cause:    An UPDATE or INSERT statement attempted to insert a duplicate key.
    For Trusted Oracle configured in DBMS MAC mode, you may see
    this message if a duplicate entry exists at a different level.
    *Action:   Either remove the unique restriction or do not insert the key.
    3) Now confirm that our data has been slotted into the range-based partition we expect using the PARTITION clause of SELECT...
    - The two 'D's...
    SQL> SELECT * FROM IOTObj_Table PARTITION (Text_Part_D);
    TEXTDATA NUMBERDATA
    DDD111     510
    DEF456     500
    - The single 'N'...
    SQL> SELECT * FROM IOTObj_Table PARTITION (Text_Part_N);
    TEXTDATA NUMBERDATA
    N3000     515
    - The two 'Z's...
    SQL> SELECT * FROM IOTObj_Table PARTITION (Text_Part_Z);
    TEXTDATA NUMBERDATA
    Z111X     530
    ZZ1212     520
    4) And to wrap up confirm an empty partition
    SELECT * FROM IOTObj_Table PARTITION (Text_Part_W);

Maybe you are looking for

  • HP Photosmart Premium C309g-m on wireless for a wired PC

    I have a Photosmart Premium C309g-m connected wirelessly to the LAN, as also are several other computers (both Windows and Mac). No problem here, all connect and print fine. I also have an older desktop (windows) connected to the access point wired.

  • Only SOME Photos in an Event Folder Sync to iPhone

    I keep running into this issue and it's frustrating the heck out of me. When I sync my photos to my iphone, I select only a few Events to sync.  It will sync SOME of the photos in an Event over to the iPhone but then it stops as if it's finished when

  • Checked all areas still getting error message on f4480. what else can be done?

    what's the solution to an error message on a HP F4480 when I have tried restarting computer, checked all plugs on printer and still won't print?

  • My Win7 computer is unable to display ticked off check boxes.

    Am using the latest Acrobat version and this problem occurs on previous versions as well. When I tick off check boxes in writable forms, nothing appears in the check box. I suspect missing/corrupted fonts. My other Win7 computer displays ticked off c

  • SAP QM Audit Management

    Hi Experts, I am new in SAP QM Audit Management and need clarity to about below queries: - 1) What & how to configure the Partner Classification in SAP Audit 2) What & How to activate the Plan Notification in SAP Audit Would be highly appreciated, if