From access2000 to oracle8.17

How to migrate a DB (table/query) from access2000 to oracle 8.17 ?
Does an 'official' toolkit Oracle exist?

Yes,
you can download OMWB (Oracle Migration Work Bench) from Oracle Web.
Click on gray Software tab on the current (i presume !) page, then choose to download omwb.
Regards
Pascal

Similar Messages

  • Migration from SQLBase to Oracle8i

    Hello,
    is there any special utility for direct migration from SQLBase to Oracle8i, or I have to unload the entire SQLBase
    database into text files and then load them into an Oracle database?
    Thanks for your help,
    Nina.

    Hi, You are suppost to use the Oracle Migration WorkBench, but you have to be sure what version you have to used to do it.
    I have not done a Migration that I am doing, and now I am trying with a different version (2.0.2.0.0) It is the one that the corporation says that work correctly
    If you have any information about it that could help me plase let me know
    Diego Merino
    Preventa
    ORACLE Ecuador

  • Import Failure from oracle805 to Oracle8i

    Dear Friend:
    The upgrade of the oracle database from oracle805 to oracle8i in
    Linux fails in my side. After I successfully export the whole
    database into the dump files and try to import into oracle8i, the
    following error message appears:
    Import: Release 8.1.5.0.0 - Production on Mon Jul 26 10:47:00
    1999
    (c) Copyright 1999 Oracle Corporation. All rights reserved.
    Connected to: Oracle8i Enterprise Edition Release 8.1.5.0.0 -
    Production
    With the Partitioning and Java options
    PL/SQL Release 8.1.5.0.0 - Production
    Export file created by EXPORT:V08.00.05
    import done in US7ASCII character set and US7ASCII NCHAR
    character set
    . importing SYSTEM's objects into SYSTEM
    IMP-00017: following statement failed with ORACLE error 2143:
    "CREATE TABLE "DEF$_PROPAGATOR" ("USERID" NUMBER, "USERNAME"
    VARCHAR2(30) NO"
    "T NULL ENABLE, "CREATED" DATE NOT NULL ENABLE) PCTFREE 10
    PCTUSED 40 INITR"
    "ANS 1 MAXTRANS 255 LOGGING STORAGE(INITIAL 12288 NEXT 1"
    IMP-00003: ORACLE error 2143 encountered
    ORA-02143: invalid STORAGE option
    IMP-00008: unrecognized statement in the export file:
    ^E^E^E^E^E^H^HC###^Q#^H^HA##~C
    IMP-00008: unrecognized statement in the export file:
    ^E^E^E^E^E^H^HC###^Q#^H^HA##~C
    IMP-00008: unrecognized statement in the export file:
    ^E^E^E^E^E^H^HC###^Q#^H^HA##~C
    IMP-00009: abnormal end of export file
    Import terminated successfully with warnings.
    Anyone has any idea on this case.
    Thanks.
    Rgds Johnny
    null

    For music: Download Senuti for Mac - Copy music from iPods to Macs ...
    For photos: plug in to iMac. iPhoto should open automatically if photos are on your device.
    not sure about the contacts, etc.

  • Is it possible to have the result from webservices with oracle8i

    hi,
    i call webservices MS .net with package utl_http under oracle 8i.
    exemple:
    DECLARE
    x utl_http.html_pieces;
    msg varchar2(12);
    BEGIN
    x := utl_http.request_pieces('http://localhost/ServiceNotification/Notification.asmx/NotifT?messagetmp=' || msg);
    END;
    I don't know how to have a result from a webservices!
    thanks for helping me.

    While the following paper is Oracle9i DB specific, conceptually, what is done should work with Oracle8i.
    Bear in mind that the use of XMLType is specific to Oracle9i DB R2 so if you were to follow the example, you would have to use varchars and probably acept the result into the PL/SQL XML Parser. See:
    http://otn.oracle.com/tech/webservices/htdocs/samples/dbwebservice/DBWebServices.html
    Mike.

  • CLOBS - Access2000 to Oracle8i

    Hi there,
    I'm migrating an ACCESS2000-DB to Oracle 8i using an ODBC connection for the ACCESS-DB.
    I wrote a SQL*PLUS script which uses the COPY command to import the data into oracle-db since the db-design in oracle does not match exactly to the access-db (-> redesign). This works very well, even for ACCESS-memo-fields converted to oracle-clobs. But I get an error message (ORA-00932: inconsistent datatypes) when I try to import a table with 2 or more CLOB-columns. I know the COPY command only supports 1 LONG column per statement, so I tried to fill the second CLOB per update from a temp. table. But it didn't work as well.
    Any comments would be appreciated.
    Regards
    null

    You should be able to use the gateway products for this. Take a look at http://otn.oracle.com/products/gateways/content.html.
    Thanks,
    Danny

  • Convert Code from MSSSQL7 to Oracle8

    Hi
    Is there any easy way or a tool to convert the sqlcode that's in Sqlserver7 to Oracle8 ??
    Thanks
    -Vijaya
    null

    Zhanbolat,
    In theory, conversion of this code is not difficult, especially because it is clear what the logic is designed to do. The issue is that you will not have an expected result once only this code is converted in isolation. This puppy uses some other objects that are written in AS2 including entities in the FLA library.
    In short, it looks like this application needs a total overhaul at every level in order for it to properly function as an AS3 program.
    With that said, although this is, again, not a difficult task, it is unlikely to find someone to do it for free. You may have a better luck if you start conversion yourself and post focused questions as you go.

  • Print to .pdf from Access2000

    Hi Forum, I have Office 2000 running on xp pro sp3 and Acrobat 5.0.
    When trying to get Access to print a report as .pdf automatically, I need to be able to see a Printer called Adobe PDF with Model called Adobe PDF Converter.
    We have Distiller and Writer showing as Printers but no Converter.
    Is there a way to get this printer showing??
    Appreciate any guidance

    At some point the Adobe PDF printer replaced the "Writer".
    I think this was with Acrobat 6.x.
    I've a vague recollection that there was something about both for Acrobat 5 & the install CD but maybe not - 5.x is a lot of water under the bridge.
    If you have the Acrobat 5 install CD you might want to look through it and view any readme files.
    Be well...

  • 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에도 작용한다.

  • Oracle8i, OAS, NT - Can not service this request, please try again later

    Hello,
    I've installed OAS 4.0.7.1 (including the patch download from Oracle) and Oracle8i in two separate Oracle_Homes on an NT 4, sp4 machine.
    I've managed to get the JWEB, Livehtml and JCO samples running, however the PLSQL and CWEB samples won't run...giving a really useful error message of:
    'Can not service this request, please try again later'
    oh, and I have installed the PLSQL toolkit etc.
    I've previously had an OAS 4.0.5 app up and running fine on NT 4 sp4, against an 8.0.4 DB.
    Has anyone got any ideas on what the problem is with the PLSQL/CWeb cartridges?
    thanks
    David
    [email protected]

    Hi David,
    This could be because of low physical & virtual memory, but if you can post errors that are in log file(wrb.log) it will help to
    solve the problem
    Ganesh

  • Convert "select top 5 ..." in Oracle8i

    -- We are in the process of migrating application from SQLserver7 to Oracle8i,
    -- and trying to convert a procedure to return top 5
    -- rows given a search string.
    -- In SQLserver7, "select top 5 ... "
    -- The Oracle8i Application Developer's Guide - Fundamentals
    -- recommends to use rownum, the query runs OK in SQL*Plus,
    -- but gets error when used in a procedure with returned cursor.
    -- Is there any solution for it?
    -- Following is the sample query and procedure (in a package)
    -- Query returns top 5 rows
    select t.rank, t.productid, t.productname
    from (
    Select score(0) as rank, productid, productname
    from Product
    where status = 'A'
    and contains(productname, 'Frog', 0) > 0
    order by rank desc, productid
    ) t
    where rownum < 6;
    -- Proc Name: Pr_Test
    -- Purpose: Retrieve product data for a specified search string
    CREATE OR REPLACE PACKAGE pkg_test
    IS
    TYPE RT1 IS RECORD (
    Rank NUMBER(10),
    ProductID Product.ProductID%TYPE,
    ProductName Product.ProductName%TYPE
    TYPE RCT1 IS REF CURSOR RETURN RT1;
    PROCEDURE pr_test
    (i_searchstring IN VARCHAR2 ,
    io_prdcursor IN OUT RCT1);
    END pkg_test;
    CREATE OR REPLACE PACKAGE BODY pkg_test
    AS
    PROCEDURE pr_test
    (i_searchstring IN VARCHAR2 ,
    io_prdcursor IN OUT RCT1)
    IS
    BEGIN
    OPEN io_prdcursor FOR
    select t.rank, t.productid, t.productname
    from (
    Select score(0) as rank, productid, productname
    from Product
    where status = 'A'
    and contains(productname, i_searchstring, 0) > 0
    order by rank desc, productid
    ) t
    where rownum < 6;
    END pr_test;
    END pkg_test;
    -- Following is the error message when compiling the package body:
    Warning: Package Body created with compilation errors.
    SQL> show error
    Errors for PACKAGE BODY PKG_TEST:
    LINE/COL ERROR
    19/7 PLS-00103: Encountered the symbol "ORDER" when expecting one of
    the following:
    ) * & - + / mod rem with an exponent (**) and or group having
    intersect minus start union where connect &#0124; &#0124;
    The symbol ")" was substituted for "ORDER" to continue.
    20/11 PLS-00103: Encountered the symbol ")" when expecting one of the
    following:
    . ( , * @ % & - + ; / for mod rem an exponent (**) asc desc
    &#0124; &#0124;
    -- Run the procedure and get the results
    declare
    i number := 0;
    v_string varchar2(50) := 'CAT';
    -- v_string varchar2(50) := 'FROG%';
    v_RC1 pkg_test.RCT1;
    v_Score NUMBER(10);
    v_ProductID Product.ProductID%TYPE;
    v_ProductName Product.ProductName%TYPE;
    begin
    pkg_test.pr_test (v_string, v_RC1);
    LOOP
    FETCH v_RC1 INTO v_Score,v_ProductID,v_ProductName;
    EXIT WHEN (v_RC1%NOTFOUND);
    DBMS_OUTPUT.put_line(substr('Score='&#0124; &#0124;v_score&#0124; &#0124;', ProdID='&#0124; &#0124;v_ProductID ,1,255));
    i := i + 1;
    END LOOP;
    DBMS_OUTPUT.put_line('Total '&#0124; &#0124;i&#0124; &#0124;' records retrieved.');
    end;
    null

    http://www.orafaq.org/faqsql.htm#TOP
    This may be of use, the plsql cursor declaration syntax may not have all the facilities of runnning the query from sqlplus:
    How does one select the TOP N rows from a table?
    Form Oracle8i one can have an inner-query with an ORDER BY clause. Look at this example:
    SELECT *
    FROM (SELECT * FROM my_table ORDER BY col_name_1 DESC)
    WHERE ROWNUM < 10;
    Use this workaround with prior releases:
    SELECT *
    FROM my_table a
    WHERE 10 >= (SELECT COUNT(DISTINCT maxcol)
    FROM my_table b
    WHERE b.maxcol >= a.maxcol)
    ORDER BY maxcol DESC;
    Turloch

  • Problems in migrating SQLServer to Oracle8i

    Hi,
    Iam converting from SQLServer2000 to Oracle8i. Iam trying to find out the equivalent tables for syscolumns, sysobjects. In syscolumns we use a condtion such as :: name=’property_id’ . SQLServer has this name field in syscolumns. What is the equivalent of this in oracle.
    2) Also we use column_property( id, column_name, property) function in our storedprocs.
    Ex: column_property( 101, name, ‘IsIdentity/IsIndexable’) . In which tables would I get this information in oracle.
    3) Also we are using msdb.dbo.sp_add_job to create a job . How can I achieve this in oracle8i .
    Similary for msdb.dbo.sp_add_category -- > which creates a category.
    Your help is very nuch appreciated.

    < the equivalent tables for syscolumns, sysobjects >
    dba_tables or dba_objects :- sysobjects
    dba_tab_columns :- syscolumns
    << use column_property >>
    You can get this from dba_tab_columns
    Also run " desc table_name". Same as sp_help.
    << Also we are using msdb.dbo.sp_add_job to create a job . How can I achieve this in oracle8i . >>
    You can use DBMS_JOB package in oracle to setup jobs.

  • Different between Oracle 8.1.7.0.0 and Oracle 8.1.7.2 ?

    1) Hi all, i have some doubt about the oracle versioning technique. For example, i had installed oracle 8.1.7 release 3 in a SUN Solaris version 8 and the database character set is in UTF-8. Then i select sql : "Select * from product_component_version" and the result is "Oracle8i Enterprise Edition 8.1.7.0.0 ". What does that means ? Our DBA in another location had installed the oracle 8.1.7 release 2 in their db server with the same OS and same database character set which is UTF-8. But the result from the "Select * from product_component_version" is "Oracle8i Enterprise Edition 8.1.7.2 ".
    So as a conclusion, i had confused about the oracle versioning technique, can somebody please explain to me ?
    2) My second problem is actually related to problem stated above (1). In the Oracle 8.1.7 release 2 database,
    when i select a clob/blob value for update, i sometimes encountered the problem as follows but in our Oracle 8.1.7 release 3 the problem didn't exist at all after investigating that all the java code and other factor remain the same but not the oracle version.
    java.io.IOException: ORA-22990: LOB locators cannot span transactions
    ORA-06512: at "SYS.DBMS_LOB", line 700
    ORA-06512: at line 1
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Exception.<init>(Compiled Code)
    at java.io.IOException.<init>(Compiled Code)
    at oracle.jdbc.dbaccess.DBError.SQLToIOException(DBError.java)
    at oracle.jdbc.driver.OracleBlobOutputStream.flushBuffer(OracleBlobOutputStream.java)
    at oracle.jdbc.driver.OracleBlobOutputStream.write(Compiled Code)
    This was an error log in our backend log and in the web browser it showed "Request Timeout" in both IE and Netscape. We are using J2EE, Oracle DBMS and IBM Websphere App Server for our e-commerce system.
    But retrying the request sometimes may work but most of the time failed.
    The above error didn't exist in our server using Oracle version 8.1.7 release 3 (8.1.7.0.0) and Oracle
    version 8.1.6.0.0. But ORacle version 8.1.7.2 release 2 is encountering this problem now.
    Somebody please help me on this problem, our developers and DBA had try to solved this problem one week ago but still don't know what is the cause.

    Oracle 9i client would fit you well. You need ORACLE_HOME set, ORACLE_HOME/bin in the path variable and of cource check that the user has access there. Are you using OCI to connect to Oracle? JDBC thin client is a better approach, in my opinion, as it is pure java.
    Oracle also provides something called "instant client", which provides connectivity only for applications.

  • 64 bit or 32 bit installation of oracle 9i - which one?

    hi there - i have a sun solaris ultra 60 with 2gb ram and 32gb hdd and solaris 9-64bit on it. should i install oracle 9i 32 bit or 64 bit? Also after trying to install the 32 bit server version of Oracle 9i on the same machine we noticed a severe decrease in speed on the server but uptime doesnt show any processes taking over the machine. Any ideas? has it got anything to do with 32 bit 64 bit installation distributions for either oracle or solaris??
    thanks in advance guys

    If you have an instance running on it, you can query the v$version view. This will give your the 32/64 bit info.
    SQL> select * From v$version;
    Oracle8i Enterprise Edition Release 8.1.7.4.0 - 64bit Production
    PL/SQL Release 8.1.7.4.0 - Production
    CORE 8.1.7.0.0 Production
    TNS for Solaris: Version 8.1.7.4.0 - Production
    NLSRTL Version 3.4.1.0.0 - Production
    5 rows selected.

  • MS SQL Server/VB6 to Oracle 8i using OBDC

    OMW,
    I presently connect to MS SQL in Visual Basic 6.0 using ODBC. I
    would like to connect to Oracle in the same manner. Does the OMW
    do this, and if so are there any things I should know before
    attempting to use it in this application? I have purchased and
    installed a trial version of Oracle 8i, but I am experiencing
    some slight difficulties in the way Oracle handles Resultsets
    (RDO Components) compared to MS SQL.
    thanks
    g
    null

    Gary,
    There is some information in the faq (reproduced below), showing
    how the application may not need to be changed.
    Some of the functionality provided by the intersolve driver is
    now available in the oracle 8.1.5.3 odbc driver.
    Turloch
    Oracle Migration Workbench team
    from the faq (shipped with the workbench):
    How are result sets/dynasets returned to the calling program?
    The Oracle Migration Workbench parser adds an extra argument
    of type REF CURSOR for result sets/dynasets. This type is
    understood and can be
    manipulated by both PL/SQL and Oracle JDBC. Oracle8 release
    8.0.5 ODBC drivers support REF CURSORs which means that the
    additional argument must
    be explicitly handled by the application, and the client
    application code must be changed. However, some third-party
    vendors such as Intersolv supply ODBC
    drivers for Oracle that support REF CURSORs and can, in
    addition, implicitly make use of REF CURSORs for using result
    sets/dynasets. Therefore, no
    change is required in the client application code. This is
    illustrated in the following examples of an MS SQL Server stored
    procedure and its equivalent Oracle
    package and stored procedure as generated by the Oracle
    Migration Workbench parser.
    MS SQL Server Stored Procedure
    CREATE PROCEDURE byroyalty
    AS
    select au_id from titleauthor
    GO
    Oracle8i Package and Stored Procedure
    PACKAGE BYROYALTYPkg AS
    TYPE RT1 IS RECORD (
    au_id titleauthor.au_id%TYPE
    TYPE RCT1 IS REF CURSOR RETURN RT1;
    END;
    PROCEDURE byroyalty(
    RC1 IN OUT byroyaltyPkg.RCT1)
    AS
    StoO_selcnt INTEGER;
    StoO_error INTEGER;
    StoO_rowcnt INTEGER;
    StoO_errmsg VARCHAR2(255);
    StoO_sqlstatus INTEGER;
    BEGIN
    OPEN RC1 FOR
    SELECT au_id FROM titleauthor;
    END byroyalty;
    The following example illustrates the typical ODBC code used
    by Intersolv to call the above MS SQL Server stored procedure.
    This code also works for the
    above Oracle8i package and stored procedure. Note that error
    handling must be added in a real application:
    SQLPrepare(...,'{call byroyalty()}',...)
    SQLExecute()
    SQLBindCol()
    SQLFetch()
    Comments:
    SQLPrepare(...,'{call byroyalty()}',...) is the ODBC SQL
    syntax used to execute stored procedures.
    SQLExecute()executes the stored procedure.
    SQLBindCol()assigns storage for result column 1 in the
    result set (au_id).
    SQLFetch() fetches the first record from the result set
    generated by the stored procedure.
    The following examples illustrate how to call the above MS
    SQL Server stored procedure with result sets/dynasets in Visual
    Basic using DAO and RDO on
    top of ODBC. This code works for Oracle8i packages and
    stored procedures if you use an Intersolv ODBC driver to
    understand Oracle REF CURSORs.
    DAO
    Private Sub Command2_Click()
    Dim sSql As String
    sSql = "{call byroyalty()}"
    'In Oracle ODBC driver use refcusor argument to get
    result set
    Set rCustomers = dbsServer.OpenRecordset(sSql,
    dbOpenDynamic)
    Text4 = rCustomers.Fields(0)
    theend:
    End Sub
    Please note, this example assumes that a DAO connection has
    been set up already.
    RDO
    Private Sub Command1_Click()
    StrSql = "{call byroyalty}"
    'in oracle odbc driver uses refcusor argument to get
    result set
    Set Ps = connx1.CreatePreparedStatement("PsTest",
    StrSql)
    Set Rs = Ps.OpenResultSet(rdOpenStatic
    Text3 = Rs!au_id
    Rs.Close
    End Sub
    Please note, this example assumes that an RDO connection has
    been set up already.
    Gary (guest) wrote:
    : OMW,
    : I presently connect to MS SQL in Visual Basic 6.0 using ODBC. I
    : would like to connect to Oracle in the same manner. Does the
    OMW
    : do this, and if so are there any things I should know before
    : attempting to use it in this application? I have purchased and
    : installed a trial version of Oracle 8i, but I am experiencing
    : some slight difficulties in the way Oracle handles Resultsets
    : (RDO Components) compared to MS SQL.
    : thanks
    : g
    Oracle Technology Network
    http://technet.oracle.com
    null

  • 250GB database creation

    Hello all,
    I am a beginner and I am lost...I'm hoping that you can help me get started on the right path...
    I was asked by management to create a database with 250 GB in size. It is a data warehouse type of database that pulls data from 2 non-oracle sources weekly so that the users can generate reports from it.
    It will be query only, with many large sorts. Basically, I am worried about performance and it's effects on other 2 databases on the same server (64-bit, 1 CPU, 8GB memory).
    What should be the guidelines for creating:
    1. Tablespaces for data (One 250GB user tablespace or multiple tablespaces?). If multiple, what is the guideline?
    2. Temporary Tablespace for sorting (How much?)
    3. Should I set sort_area_size higher than its default value in the init. parameter? If so, what's the guideline? Will this slow down performance of 2 other database instances?
    Thank you very much in advance.
    GBS

    Hopefully, I have the info. you're looking for. Thanks again.
    Operating System (OS) name & version for DB server system.Model: 9000/800/rp3440#1
    HPUX Version: B.11.11
    vendor: NETAPP
    product id: LUN
    iSCSI-00     B.11.11.03d
    1000Base-T Gigabit Ethernet adptor (HP A6825-60101 A6825A)
    SQL> SELECT * from v$version
    Oracle8i Release 8.1.7.0.0 - Production
    PL/SQL Release 8.1.7.0.0 - Production
    CORE 8.1.7.0.0 Production
    TNS for HPUX: Version 8.1.7.0.0 - Development
    NLSRTL Version 3.4.1.0.0 - Production

Maybe you are looking for

  • Run a report in Form10g using Application Server

    I Installed Oracle Developer Suite and Oracle Business Intelligence Tools 10g (10.1.2.02). I create a report City.jsp in Report Builder 10g. I create a report object in Form10g. In dialog box I select use exiting file and browse the file CITY.JSP. se

  • How to convert the date format 'm/d/yyyy hh:mi:ss AM' to 'MM/DD/YYYY HH:M'

    How can i convert a the date format 'm/d/yyyy hh:mi:ss AM' to 'MM/DD/YYYY HH:MI:SS AM' in Oracle I have a query select UPPER(t.val_10) "TYPE", count(val_3) "Number of Transfers" from table1 t where t.is_active = 1 and t.val_4 = 'INBOUND' and to_date(

  • Can't show 7PM with Time Stamp Control

    Maybe it's just me, but I can't seem to get any time stamp controls to accept 7PM as an entry.   ....this is kind of a problem for the data entry I'm supposed to be doing this weekend.   Any workaround? Patrick Allen

  • Fu...ing albums and photo books !!!!!!!!

    I sow LR 3 beta and was upset WHEN WHEN WHEN in lightroom will be PHOTO BOOK or ALBUM editing function like this : http://www.apple.com/aperture/tutorials/#publishoutput-book-gallery1 http://www.yervant.com.au/About%20PG.html i will start to cry why

  • Help enabling AES 256-bit cipher suites

    I can't seem to create an SSLServerSocket with the 2 AES 256-bit cipher suites that are supposed to be available in JDK1.4.2. As you can see in the following code, the SSLServerSocket, ss, is enabled with the 2 AES_256 cipher suites. But, when ss.get