Dba_rollback_segs in Oracle 11.1.0.7.0

Hi.
As far i Know Oracle 10 and 11 g uses undo segments instead of roll back segments.
Then what is the purpose of dba_rollback_segs in 11g.
SQL> select * from v$version;
BANNER
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
PL/SQL Release 11.1.0.7.0 - Production
CORE    11.1.0.7.0      Production
TNS for Linux: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - ProductionI can able to query fro this table
SQL> select SEGMENT_NAME,TABLESPACE_NAME,STATUS from dba_rollback_segs
2  where SEGMENT_NAME='_SYSSMU72$';
SEGMENT_NAME                   TABLESPACE_NAME                STATUS
_SYSSMU72$                     APPS_UNDOTS1                   ONLINEPlease clarify .
Thanks in Advance
Edited by: Vijay.Cherukuri on Jun 25, 2012 1:10 PM

Hi Srini ,
Thanks for you reply.
As per MOS DOC its says " ROLLBACK segments are called UNDO segments when AUM is enabled. " .
That means When we have AUM enabled . there no difference between undo and rollback segments (both are same ) . Only difference is we can not manage them manually as we can in version 8i and 9i. They are managed by RDBMS in 10 and 11g when AUM enabled.
-- If AUM is disabled then there are no rollback segments in 10 and 11g ,we have only undo segs ? is it correct ?
Please clarify
Thanks

Similar Messages

  • Oracle 10g - Database does not respond to the application users

    Hi all,
    I am using ORACLE 10g database with 75 users connections 50 local and 20 remote users using ADSL and dial up modem. Operating system on server is
    Windows 2003.
    All of a sudden users making the entry get disconnected getting the error as
    ORA-12516: TNS:listener could not find available handler with matching protocol stack
    Other case users when using the appliaction get their PC hanged and connection
    to oracle fails again. they cannot login to the application that time, the error is
    ORA-04031: unable to allocate %s bytes of shared memory ("%s","%s","%s","%s")
    Twice a day the users trying to login cannot access the database server.
    Front end application is in VB using exe file. When the users cannot logon
    to the database. I manually stop the ORACLE services(including DB console) and
    then stop the listener.
    This practice is going on since last two months.
    Server Scenario
    After Installing Oracle Standard Edition 10g.
    System tablespace utilization is 98.5% which is 465 MB out of total 470 MB.
    There is only one Rollback Segment named as SYSTEM.
    when we install 9i 4 rollback segments as RO1, RO2, RO3, RO4 are created
    by default.
    Do I need to add the datafile to SYSTEM table space as its current usage is 99.15% and its auto extend is ticked on using auto extent as 10 MB. I tried adding another datafile during weekend downtime. when I resumed on saturday morning I found it did not add any datafile which I had put on thursday eveninig as system02.dbf.
    Do I need to add a new datafile to the SYSTEM tablespace ?
    Do I need to create new rollback segments apart from SYSTEM rollback segment ?
    My current schema size 15360Mb with its usage as 9.32% (1432.25 Mb).
    Please reply !!!

    Hi Paul
    My Server configuration is
    Compaq ML 370
    3.4 Ghz Processor
    3.5 GB RAM
    SQL> show sga
    Total System Global Area 171966464 bytes
    Fixed Size 787988 bytes
    Variable Size 145488364 bytes
    Database Buffers 25165824 bytes
    Redo Buffers 524288 bytes
    SQL> select * from v$sgastat;
    POOL NAME BYTES
    fixed_sga 787988
    buffer_cache 25165824
    log_buffer 524288
    shared pool subheap 55600
    shared pool KQR L SO 218160
    shared pool KQR M PO 1329244
    shared pool KQR M SO 605364
    shared pool KQR S PO 164156
    shared pool KQR S SO 6144
    shared pool KTI-UNDO 1235304
    shared pool sql area 5368208
    shared pool KGLS heap 1597560
    shared pool joxs heap 6004
    shared pool row cache 3707272
    shared pool parameters 17520
    shared pool repository 19396
    shared pool ASH buffers 4194304
    shared pool free memory 16586072
    shared pool PL/SQL DIANA 679456
    shared pool KSPD key heap 4220
    shared pool PL/SQL MPCODE 1167992
    shared pool library cache 11368964
    shared pool miscellaneous 25942980
    shared pool pl/sql source 88
    shared pool PLS non-lib hp 29816
    shared pool XDB Schema Cac 3594144
    shared pool alert threshol 3460
    shared pool joxlod exec hp 355820
    shared pool table definiti 5880
    shared pool temporary tabl 4932
    shared pool trigger defini 12848
    shared pool trigger inform 1892
    shared pool type object de 20256
    shared pool private strands 1198080
    shared pool event statistics per sess 4384640
    shared pool fixed allocation callback 304
    large pool free memory 8388608
    java pool joxs heap 233856
    java pool free memory 44743296
    java pool joxlod exec hp 5354496
    40 rows selected.
    SQL> select segment_name, owner, status
    2 from dba_rollback_segs;
    SEGMENT_NAME OWNER STATUS
    SYSTEM SYS ONLINE
    _SYSSMU1$                      PUBLIC ONLINE
    _SYSSMU2$                      PUBLIC ONLINE
    _SYSSMU3$                      PUBLIC ONLINE
    _SYSSMU4$                      PUBLIC ONLINE
    _SYSSMU5$                      PUBLIC ONLINE
    _SYSSMU6$                      PUBLIC ONLINE
    _SYSSMU7$                      PUBLIC ONLINE
    _SYSSMU8$                      PUBLIC ONLINE
    _SYSSMU9$                      PUBLIC ONLINE
    _SYSSMU10$                     PUBLIC ONLINE
    SEGMENT_NAME OWNER STATUS
    _SYSSMU11$                     PUBLIC ONLINE
    _SYSSMU12$                     PUBLIC ONLINE
    _SYSSMU13$                     PUBLIC ONLINE
    _SYSSMU14$                     PUBLIC ONLINE
    _SYSSMU15$                     PUBLIC OFFLINE
    _SYSSMU16$                     PUBLIC OFFLINE
    _SYSSMU17$                     PUBLIC OFFLINE
    _SYSSMU18$                     PUBLIC OFFLINE
    _SYSSMU19$                     PUBLIC OFFLINE
    _SYSSMU20$                     PUBLIC OFFLINE
    _SYSSMU21$                     PUBLIC OFFLINE
    SEGMENT_NAME OWNER STATUS
    _SYSSMU22$                     PUBLIC OFFLINE
    _SYSSMU23$                     PUBLIC OFFLINE
    _SYSSMU24$                     PUBLIC OFFLINE
    _SYSSMU25$                     PUBLIC OFFLINE
    _SYSSMU26$                     PUBLIC OFFLINE
    27 rows selected.
    Currently AUTOEXTEND is ticked as on for SYSTEM tablespace and its size is showing as 99.16% (466.06 mb) used which is very much nearing to its full capacity of 470 mb.
    Currently 75 users - 50 Local users and 20 Remote Users are connected to the server. Is there any limit that Server should have limited connections.
    Server has Windows 2003 Standard Edition. Has Windows 2003 anything to do
    with the no. of users getting connected ?

  • Oracle Export and Import of XE application

    I am trying to do an Oracle Export of an EX application and an Import to another PC. Can it be done?
    I have encountered several problems. Either it brought over the application, but no Pages or I cannot access the Login page.
    My reason for this is to handle application updates/changes for 50 odd remote users.
    I am using APEX Release 2.1.0.00.39

    Yes it was a full database export with all schemas.
    I ran the following query before and after the import:
    select object_type, count(*) from dba_objects where owner = 'FLOWS_020100' group by object_type order by 1;
    After the IMPORT, I had less LOBs (4) and Tables(8).
    The missing tables are:
    DR$WWV_FLOW_OH_IDX$I
    DR$WWV_FLOW_OH_IDX$K
    DR$WWV_FLOW_OH_IDX$N
    DR$WWV_FLOW_OH_IDX$R
    DR$WWV_FLOW_OH_PT_IDX$I
    DR$WWV_FLOW_OH_PT_IDX$K
    DR$WWV_FLOW_OH_PT_IDX$N
    DR$WWV_FLOW_OH_PT_IDX$R
    The script below was used to reinstate the SYS grants to flows_020100:
    Select owner||':'||table_name||':'||privilege from dba_tab_privs where grantee='FLOWS_020100' and grantor='SYS';
    The results from the script:
    grant SELECT on SYS.OBJ$ to Flows_020100;
    grant SELECT on SYS.USER$ to Flows_020100;
    grant SELECT on SYS.V_$SESSION to Flows_020100;
    grant SELECT on SYS.V_$PARAMETER to Flows_020100;
    grant SELECT on SYS.V_$TIMER to Flows_020100;
    grant SELECT on SYS.DBA_IND_COLUMNS to Flows_020100;
    grant SELECT on SYS.DBA_OBJECTS to Flows_020100;
    grant SELECT on SYS.DBA_ROLLBACK_SEGS to Flows_020100;
    grant SELECT on SYS.DBA_ROLE_PRIVS to Flows_020100;
    grant SELECT on SYS.DBA_SYS_PRIVS to Flows_020100;
    grant SELECT on SYS.DBA_SEQUENCES to Flows_020100;
    grant SELECT on SYS.DBA_TABLES to Flows_020100;
    grant SELECT on SYS.DBA_TAB_COLUMNS to Flows_020100;
    grant SELECT on SYS.DBA_TAB_PRIVS to Flows_020100;
    grant SELECT on SYS.DBA_USERS to Flows_020100;
    grant EXECUTE on SYS.UTL_FILE to Flows_020100;
    grant EXECUTE on SYS.UTL_SMTP to Flows_020100;
    grant EXECUTE on SYS.UTL_HTTP to Flows_020100;
    grant SELECT on SYS.DBA_SEGMENTS to Flows_020100;
    grant SELECT on SYS.DBA_FREE_SPACE to Flows_020100;
    grant SELECT on SYS.DBA_DATA_FILES to Flows_020100;
    grant SELECT on SYS.DBA_TABLESPACES to Flows_020100;
    grant EXECUTE on SYS.DBMS_LOCK to Flows_020100;
    grant EXECUTE on SYS.DBMS_SYS_SQL to Flows_020100;
    grant EXECUTE on SYS.DBMS_FLASHBACK to Flows_020100;
    grant EXECUTE on SYS.DBMS_RLS to Flows_020100;
    grant EXECUTE on SYS.DBMS_CRYPTO to Flows_020100;
    grant EXECUTE on SYS.WWV_FLOW_VAL to Flows_020100;
    grant SELECT on SYS.FLOW_SESSIONS to Flows_020100;
    grant SELECT on SYS.FLOW_PARAMETERS to Flows_020100;
    grant SELECT on SYS.FLOW_SQLAREA to Flows_020100;
    grant SELECT on SYS.FLOW_SGA to Flows_020100;
    32 rows selected.
    FYI:
    When I Imported this last time, I Imported by users. Three imports statements for each user flows_020100, flows_files and apex_public_user (XE_DBA).
    imp system/passwrd file=g:\common\xe\xedba_full.dmp ignore=y fromuser=flows_020100 touser=flows_020100 log=c:\flows_logs.log
    imp system/passwrd file=g:\common\xe\xedba_full.dmp ignore=y fromuser=flows_files touser=flows_files log=c:\files_logs.log
    imp system/passwrd file=g:\common\xe\xedba_full.dmp ignore=y fromuser=xe_dba touser=xe_dba log=c:\xe_dba_logs.log
    as opposed to my initial IMPORT:
    imp system/passwrd file=g:\common\xe\xefull.dmp ignore=y
    FYI: I am not getting the Err-1016 "4550" Page "1" not found error. It now lets me log in , but there are[b] no applications. It should have been 5 applications.
    Hey, in typing the above statement, I realized that my login page is "101" (default) and Page "1" is a data entry page.

  • ORA-01552 error in Oracle 10g DB!!!

    Hi,
    I have an application running with an Oracle 10g db in Solaris 10 platform.
    recently when i tried logging in to my Applicn. i get the following error in its log:-
    *"sqociExec error: sqlcode=1552 message=ORA-01552: cannot use system rollback segment for non-system tablespace 'USERS'"*
    and my login fails.
    Am this apllicn. guy and don't know much about Oracle DB. Also i don't seem to have the comfort of DBA here so am hoping to receive help from
    you guys in here.
    i tried few tips which i picked from this forum but don't know what to do with its results...here they are..
    *1) "SELECT segment_name, tablespace_name, initial_extent, status from dba_rollback_segs;"*
    SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
    STATUS
    SYSTEM SYSTEM 114688
    ONLINE
    _SYSSMU1$                      UNDOTBS1                               131072
    ONLINE
    _SYSSMU2$                      UNDOTBS1                               131072
    ONLINE
    SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
    STATUS
    _SYSSMU3$                      UNDOTBS1                               131072
    ONLINE
    _SYSSMU4$                      UNDOTBS1                               131072
    ONLINE
    _SYSSMU5$                      UNDOTBS1                               131072
    ONLINE
    SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
    STATUS
    _SYSSMU6$                      UNDOTBS1                               131072
    ONLINE
    _SYSSMU7$                      UNDOTBS1                               131072
    ONLINE
    _SYSSMU8$                      UNDOTBS1                               131072
    ONLINE
    SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
    STATUS
    _SYSSMU9$                      UNDOTBS1                               131072
    ONLINE
    _SYSSMU10$                     UNDOTBS1                               131072
    ONLINE
    _SYSSMU11$                     UNDOTBS1                               131072
    OFFLINE
    SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
    STATUS
    _SYSSMU12$                     UNDOTBS1                               131072
    OFFLINE
    _SYSSMU13$                     UNDOTBS1                               131072
    OFFLINE
    _SYSSMU14$                     UNDOTBS1                               131072
    OFFLINE
    SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
    STATUS
    _SYSSMU15$                     UNDOTBS1                               131072
    OFFLINE
    _SYSSMU16$                     UNDOTBS1                               131072
    OFFLINE
    _SYSSMU17$                     UNDOTBS1                               131072
    OFFLINE
    18 rows selected.
    2)*"select name, value from v$parameter where name like '%undo%';"*
    NAME
    VALUE
    undo_management
    AUTO
    undo_tablespace
    UNDOTBS1
    undo_retention
    900
    What next????
    Guys Please help me out!!! i have to get the application running soon!!!
    please do give steps clearly bcoz am real newbie and the DB we are working on is a *"PRODUCTION"* one
    Thanks
    kris

    890466 wrote:
    @orawiss
    Sorry what precisely should i give in place of 'name' in
    *"ALTER ROLLBACK SEGMENT 'name' online."*
    In my case?
    thanks
    kris
    Edited by: 890466 on Oct 10, 2011 3:41 AMUndo tablespace names which status are offline shown in your query.

  • (V7.2)ORACLE RDBMS에 대한 Q&A

    제품 : ORACLE SERVER
    작성날짜 : 1998-01-20
    (V7.2)ORACLE RDBMS에 대한 Q&A
    =============================
    1. Q) 여러 사용자들에게 특정 프로그램에 대한 동등한 권한을 주려고 하는데,
    GRANT 명령을 반복해서 사용하지 않고 할 수 있는 방법은 무엇입니까?
    A) 가장 쉬운 방법은 role을 만들어서 그 role에 새로운 사용자들의 그룹을 지정
    하는 방법입니다.
    아래의 예제는 scott을 owner로 하는 emp 테이블에 대한 읽기 권한을 부여하는
    예제입니다.
    SQL> CONNECT system/manager
    Connected.
    SQL> CREATE ROLE empread;
    Role created.
    SQL> CONNECT scott/tiger
    Connected.
    SQL> GRANT SELECT ON emp TO empread;
    Grant succeeded.
    SQL>CONNECT system/manager
    Connected.
    SQL> GRANT empread TO aa;
    Grant succeeded.
    위 예제는 시스템 권한을 가진 DBA가 role을 만드는 과정을 보여줍니다.
    다음과 같이 scott 유저로도 role을 생성하고, 관리하는 것이 가능합니다.
    SQL> CONNECT scott/tiger
    Connected.
    SQL> CREATE ROLE empread;
    Role created.
    SQL> GRANT SELECT ON emp TO empread;
    Grant succeeded.
    SQL> GRANT empread TO aa;
    Grant succeeded.
    2. Q) 테이블에 레코드를 insert하려고 하는데, 다음과 같은 에러가 발생합니다.
    "unable to extend table table_name in tablespace tablespace_name "
    이라는 ORA-1653 에러입니다. 무엇이 문제입니까?
    A) 이 에러는 테이블스페이스에 새로운 extent를 생성할 공간이 부족할 때 발생하
    는 에러입니다.
    이 문제를 해결하기 위해서는 해당 테이블스페이스에 새로운 데이타화일을 생성
    해야 합니다.
    다음과 같은 명령문을 사용하여 데이타화일을 추가하시기 바랍니다.
    SQL> ALTER TABLESPACE tablespace_name ADD DATAFILE datafile SIZE size;
    위 명령문을 실행시 datafile을 지정하실 때 실제 물리적인 path를 모두 명시
    해 주셔야 합니다.
    대안으로, 'ALTER DATABASE DATAFILE name AUTOEXTEND ON' 을 실행하시면,
    동적으로 영역을 할당하실 수 있습니다.
    3.Q) 데이타베이스에 트랜잭션이 증가하여 'CREATE ROLLBACK SEGMENT' 명령으로
    새로운 롤백세그먼트를 생성하였습니다. 그런데, DML문장을 실행시마다 문제가 발
    생합니다. 무엇이 문제입니까?
    A) 새로 생성한 롤백 세그먼트가 ON-LINE인지 확인해 보아야 합니다.
    SQL> CONNECT system/manager
    Connected.
    SQL> SELECT SEGMENT_NAME, STATUS FROM DBA_ROLLBACK_SEGS;
    SEGMENT_NAME STATUS
    SYSTEM ONLINE
    R01 ONLINE
    R02 ONLINE
    R03 ONLINE
    R04 OFFLINE
    OFFLINE을 ONLINE으로 만들기 위해서는 다음 명령을 사용하시기 바랍니다.
    SQL> ALTER ROLLBACK SEGMENT r04 ONLINE;
    Rollback segment altered.
    만약, r04를 계속 ONLINE으로 작업하시고자 한다면, init.ora 화일을 열어
    다음과 같이 ROLLBACK_SEGMENTS 파라미터에 r04를 추가하시기 바랍니다.
    > ROLLBACK_SEGMENTS = (r01, r02, r03, r04)
    4. Q) 새로운 유저들을 생성하였는데, 모든 오브젝트들과 temporary segments에
    대해서 고정된 테이블스페이스를 유지하려고 한다면 그 방법은 무엇입니까?
    A) 다음과 같이 'ALTER USER' 명령문을 사용하시기 바랍니다.
    SQL> ALTER USER user_name DEFAULT TABLESPACE users
    TEMPORARY TABLESPACE temp;
    현재 지정된 테이블스페이스를 보고자 한다면, DBA_USERS 뷰를 조회하시기 바
    랍니다.
    SQL> SELECT USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE
    FROM DBA_USERS;
    [USERNAME] [DEFAULT_TABLESPACE] [TEMPORARY_TABLESPACE]
    SYS SYSTEM TEMP
    SYSTEM TOOLS TEMP
    WWW_DBA SYSTEM SYSTEM
    SCOTT USERS TEMP
    5. Q) 데이타베이스에 새로운 사용자를 생성하여, default 테이블스페이스와
    temporary 테이블스페이스를 지정하였는데, 데이타베이스에 로그온할 수 없다면,
    무엇이 문제입니까?
    A) 아마 ORA-1045 에러가 발생하였을 것입니다. 이 에러는 CREATE SESSION 권한
    이 해당 유저에게 없다는 메시지입니다. GRANT 명령을 사용하여 CREATE SESSION
    권한을 해당 유저에게 부여하여야 합니다. 방법은 다음과 같습니다.
    SQL> GRANT CONNECT TO newuser;
    Grant succeeded.
    6. Q) Oracle 데이타베이스에 update 명령을 실행하였는데, hanging 상태입니다.
    무엇이 문제입니까?
    A) 아마 다른 트랜잭션이 lock을 걸고 있는 레코드에 대해서 update하려고 하였을
    것입니다. 새로운 트랜잭션이 시작되기 전에 COMMIT이나 ROLLBACK을 사용하여 해
    당 트랜잭션을 종결시켜야 합니다.
    이와 같은 상황은 같은 Oracle 유저를 사용하여 각각 다른 윈도우로부터 다중
    세션을 열려고할 때나, LOCK이나 SELECT FOR UPDATE 와 같은 명령을 사용하여
    EXPLICIT lock을 사용할 때 발생합니다.
    7. Q) Alert log 화일을 살펴보니, 'Thread 1 cannot allocate new log
    sequence number'라는 메시지가 여러 번 발생한 것을 볼 수 있었습니다.
    이 문제를 어떻게 해결해야 합니까?
    A) 아마도, redo log 그룹을 사용할 수 있을 때까지 기다리고 있는 상황인 것 같
    습니다.
    'ALTER DATABASE ADD LOGFILE' 명령을 사용하여 하나 이상의 redo log 그룹을
    추가하시기 바랍니다.
    8. Q) 50명의 사용자들이 데이타베이스를 액세스하려고 하는데, Multi-Threaded
    서버옵션을 사용하지 않습니다. MTS를 사용하려면, 어떻게 해야 합니까?
    A) init.ora 화일의 PROCESSES라는 파라미터를 적당히 셋팅해야 합니다.
    이 파라미터는 데이타베이스에 동시에 접속할 수 있는 operating system 사용자
    프로세스의 최대 수를 지정합니다.
    프로세스의 수를 계산할 때, background 프로세스의 수도 더해야 합니다.
    9. Q) Parallelism degree 8을 갖는 테이블에 액세스하려고 하는데, 실패하는
    경우 무엇이 문제입니까?
    A) init.ora 화일의 파라미터 PARALLEL_MAX_SERVERS 값이 적당히 셋팅되어 있어
    야 합니다.
    10. Q) 새로운 PL/SQL 프로그램을 작성한 후, 그 프로그램들을 실행시키기 전에
    shared pool size를 늘리고 싶습니다. 방법은 무엇입니까?
    A) init.ora 화일의 파라미터 SHARED_POOL_SIZE 값을 늘려주시기 바랍니다.
    이 파라미터는 바이트 단위의 shared pool size를 지정하는 파라미터입니다.
    11. Q) 새로운 데이타화일을 추가하려고 하다가 MAXDATAFILES 값에 도달하게 되
    어 문제가 생겼습니다.
    이 파라미터를 수정할 수 있는 방법은 무엇입니까?
    A) MAXDATAFILES라는 파라미터는 init.ora 파라미터가 아닙니다.
    모든 MAX 파라미터들은 데이타베이스가 생성될 때 결정되어집니다. 데이타베이스
    를 생성할 때, 파라미터를 어떻게 셋팅했는지 보려면, 다음 명령문을 실행시켜
    보시기 바랍니다.
    SVRMGR> alter database backup controlfile to trace;
    다음은 몇 개의 데이타베이스 명령문을 포함하는 SQL 스크립트입니다.
    > CREATE CONTROLFILE REUSE DATABASE "733" NORESETLOGS ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 2
    MAXDATAFILES 30
    MAXINSTANCES 1
    MAXLOGHISTORY 100
    LOGFILE
    GROUP 1 '/home/orahome/data/733/redo01.log' SIZE 500K,
    GROUP 2 '/home/orahome/data/733/redo02.log' SIZE 500K,
    GROUP 3 '/home/orahome/data/733/redo03.log' SIZE 500K
    DATAFILE
    '/home/orahome/data/733/system01.dbf' SIZE 500K,
    '/home/orahome/data/733/rbs01.dbf' SIZE 500K,
    '/home/orahome/data/733/tools01.dbf' SIZE 500K,
    '/home/orahome/data/733/users01.dbf' SIZE 500K,
    '/home/orahome/data/733/test1.dbf' SIZE 500K,
    '/home/orahome/data/733/temp.dbf' SIZE 500K;
    위의 화일을 보면, MAX 파라미터 값을 알 수 있을 것이며, 이 값을 수정하려면
    데이타베이스를 재생성하거나, control 화일을 재생성하셔야 합니다. 두 가지 방
    법 중에서는 두 번째 방법을 사용하시기 바랍니다. CREATE CONTROLFILE이란 명령
    을 사용하시면, 새로운 control 화일을 만들면서 MAX 파라미터 값을 새로 지정합
    니다.
    12. Q) 데이타베이스를 아카이브로그 모드로 운용하기 위해, 데이타베이스를
    shutdown하고, mount한 후에, 데이타베이스를 아카이브로그 모드로 셋팅하였습니
    다. 그런데, 접속을 하니 데이타베이스가 hanging 상태가 되었습니다.
    이러한 일이 발생한 원인은 무엇이며, 해결방법은 무엇입니까?
    A) 데이타베이스를 아카이브로그 모드로 운용하기 위해서는 두 가지 작업이 필요
    합니다.
    SVRMGR> alter database archivelog;
    SVRMGR> log archive start;
    아마 첫 번째 작업은 하셨을 것입니다. 그런데, 두 번째 작업을 해주시지 않
    았기 때문에 hanging 상태가 된 것입니다. Oracle은 automatic archiving이 되
    지 않고, 사용자가 manual archiving을 하기를 기다리고 있는 것입니다.
    Archiving을 해 주지 않으면, 새로운 redo log 화일을 생성할 수가 없습니다.
    데이타베이스를 열 때마다 이 작업을 해 주셔야하기 때문에, init.ora 화일의
    LOG_ARCHIVE_START라는 파라미터를 true로 하시면 automatic archiving이 설정
    됩니다.
    13. Q)'ALTER DATABASE CREATE DATAFILE'이란 명령을 사용할 때, 주의할 사항은
    무엇입니까?
    A) 새로운 데이타화일을 생성한 후에, 그 데이타화일을 control 화일에 포함시켜
    주어야 합니다.
    만약, 백업 control 화일을 사용 중이라면, 새로운 데이타화일을 추가한 후에
    control 화일이 백업되어야 한다는 것입니다.

    제품 : ORACLE SERVER
    작성날짜 : 1998-01-20
    (V7.2)ORACLE RDBMS에 대한 Q&A
    =============================
    1. Q) 여러 사용자들에게 특정 프로그램에 대한 동등한 권한을 주려고 하는데,
    GRANT 명령을 반복해서 사용하지 않고 할 수 있는 방법은 무엇입니까?
    A) 가장 쉬운 방법은 role을 만들어서 그 role에 새로운 사용자들의 그룹을 지정
    하는 방법입니다.
    아래의 예제는 scott을 owner로 하는 emp 테이블에 대한 읽기 권한을 부여하는
    예제입니다.
    SQL> CONNECT system/manager
    Connected.
    SQL> CREATE ROLE empread;
    Role created.
    SQL> CONNECT scott/tiger
    Connected.
    SQL> GRANT SELECT ON emp TO empread;
    Grant succeeded.
    SQL>CONNECT system/manager
    Connected.
    SQL> GRANT empread TO aa;
    Grant succeeded.
    위 예제는 시스템 권한을 가진 DBA가 role을 만드는 과정을 보여줍니다.
    다음과 같이 scott 유저로도 role을 생성하고, 관리하는 것이 가능합니다.
    SQL> CONNECT scott/tiger
    Connected.
    SQL> CREATE ROLE empread;
    Role created.
    SQL> GRANT SELECT ON emp TO empread;
    Grant succeeded.
    SQL> GRANT empread TO aa;
    Grant succeeded.
    2. Q) 테이블에 레코드를 insert하려고 하는데, 다음과 같은 에러가 발생합니다.
    "unable to extend table table_name in tablespace tablespace_name "
    이라는 ORA-1653 에러입니다. 무엇이 문제입니까?
    A) 이 에러는 테이블스페이스에 새로운 extent를 생성할 공간이 부족할 때 발생하
    는 에러입니다.
    이 문제를 해결하기 위해서는 해당 테이블스페이스에 새로운 데이타화일을 생성
    해야 합니다.
    다음과 같은 명령문을 사용하여 데이타화일을 추가하시기 바랍니다.
    SQL> ALTER TABLESPACE tablespace_name ADD DATAFILE datafile SIZE size;
    위 명령문을 실행시 datafile을 지정하실 때 실제 물리적인 path를 모두 명시
    해 주셔야 합니다.
    대안으로, 'ALTER DATABASE DATAFILE name AUTOEXTEND ON' 을 실행하시면,
    동적으로 영역을 할당하실 수 있습니다.
    3.Q) 데이타베이스에 트랜잭션이 증가하여 'CREATE ROLLBACK SEGMENT' 명령으로
    새로운 롤백세그먼트를 생성하였습니다. 그런데, DML문장을 실행시마다 문제가 발
    생합니다. 무엇이 문제입니까?
    A) 새로 생성한 롤백 세그먼트가 ON-LINE인지 확인해 보아야 합니다.
    SQL> CONNECT system/manager
    Connected.
    SQL> SELECT SEGMENT_NAME, STATUS FROM DBA_ROLLBACK_SEGS;
    SEGMENT_NAME STATUS
    SYSTEM ONLINE
    R01 ONLINE
    R02 ONLINE
    R03 ONLINE
    R04 OFFLINE
    OFFLINE을 ONLINE으로 만들기 위해서는 다음 명령을 사용하시기 바랍니다.
    SQL> ALTER ROLLBACK SEGMENT r04 ONLINE;
    Rollback segment altered.
    만약, r04를 계속 ONLINE으로 작업하시고자 한다면, init.ora 화일을 열어
    다음과 같이 ROLLBACK_SEGMENTS 파라미터에 r04를 추가하시기 바랍니다.
    > ROLLBACK_SEGMENTS = (r01, r02, r03, r04)
    4. Q) 새로운 유저들을 생성하였는데, 모든 오브젝트들과 temporary segments에
    대해서 고정된 테이블스페이스를 유지하려고 한다면 그 방법은 무엇입니까?
    A) 다음과 같이 'ALTER USER' 명령문을 사용하시기 바랍니다.
    SQL> ALTER USER user_name DEFAULT TABLESPACE users
    TEMPORARY TABLESPACE temp;
    현재 지정된 테이블스페이스를 보고자 한다면, DBA_USERS 뷰를 조회하시기 바
    랍니다.
    SQL> SELECT USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE
    FROM DBA_USERS;
    [USERNAME] [DEFAULT_TABLESPACE] [TEMPORARY_TABLESPACE]
    SYS SYSTEM TEMP
    SYSTEM TOOLS TEMP
    WWW_DBA SYSTEM SYSTEM
    SCOTT USERS TEMP
    5. Q) 데이타베이스에 새로운 사용자를 생성하여, default 테이블스페이스와
    temporary 테이블스페이스를 지정하였는데, 데이타베이스에 로그온할 수 없다면,
    무엇이 문제입니까?
    A) 아마 ORA-1045 에러가 발생하였을 것입니다. 이 에러는 CREATE SESSION 권한
    이 해당 유저에게 없다는 메시지입니다. GRANT 명령을 사용하여 CREATE SESSION
    권한을 해당 유저에게 부여하여야 합니다. 방법은 다음과 같습니다.
    SQL> GRANT CONNECT TO newuser;
    Grant succeeded.
    6. Q) Oracle 데이타베이스에 update 명령을 실행하였는데, hanging 상태입니다.
    무엇이 문제입니까?
    A) 아마 다른 트랜잭션이 lock을 걸고 있는 레코드에 대해서 update하려고 하였을
    것입니다. 새로운 트랜잭션이 시작되기 전에 COMMIT이나 ROLLBACK을 사용하여 해
    당 트랜잭션을 종결시켜야 합니다.
    이와 같은 상황은 같은 Oracle 유저를 사용하여 각각 다른 윈도우로부터 다중
    세션을 열려고할 때나, LOCK이나 SELECT FOR UPDATE 와 같은 명령을 사용하여
    EXPLICIT lock을 사용할 때 발생합니다.
    7. Q) Alert log 화일을 살펴보니, 'Thread 1 cannot allocate new log
    sequence number'라는 메시지가 여러 번 발생한 것을 볼 수 있었습니다.
    이 문제를 어떻게 해결해야 합니까?
    A) 아마도, redo log 그룹을 사용할 수 있을 때까지 기다리고 있는 상황인 것 같
    습니다.
    'ALTER DATABASE ADD LOGFILE' 명령을 사용하여 하나 이상의 redo log 그룹을
    추가하시기 바랍니다.
    8. Q) 50명의 사용자들이 데이타베이스를 액세스하려고 하는데, Multi-Threaded
    서버옵션을 사용하지 않습니다. MTS를 사용하려면, 어떻게 해야 합니까?
    A) init.ora 화일의 PROCESSES라는 파라미터를 적당히 셋팅해야 합니다.
    이 파라미터는 데이타베이스에 동시에 접속할 수 있는 operating system 사용자
    프로세스의 최대 수를 지정합니다.
    프로세스의 수를 계산할 때, background 프로세스의 수도 더해야 합니다.
    9. Q) Parallelism degree 8을 갖는 테이블에 액세스하려고 하는데, 실패하는
    경우 무엇이 문제입니까?
    A) init.ora 화일의 파라미터 PARALLEL_MAX_SERVERS 값이 적당히 셋팅되어 있어
    야 합니다.
    10. Q) 새로운 PL/SQL 프로그램을 작성한 후, 그 프로그램들을 실행시키기 전에
    shared pool size를 늘리고 싶습니다. 방법은 무엇입니까?
    A) init.ora 화일의 파라미터 SHARED_POOL_SIZE 값을 늘려주시기 바랍니다.
    이 파라미터는 바이트 단위의 shared pool size를 지정하는 파라미터입니다.
    11. Q) 새로운 데이타화일을 추가하려고 하다가 MAXDATAFILES 값에 도달하게 되
    어 문제가 생겼습니다.
    이 파라미터를 수정할 수 있는 방법은 무엇입니까?
    A) MAXDATAFILES라는 파라미터는 init.ora 파라미터가 아닙니다.
    모든 MAX 파라미터들은 데이타베이스가 생성될 때 결정되어집니다. 데이타베이스
    를 생성할 때, 파라미터를 어떻게 셋팅했는지 보려면, 다음 명령문을 실행시켜
    보시기 바랍니다.
    SVRMGR> alter database backup controlfile to trace;
    다음은 몇 개의 데이타베이스 명령문을 포함하는 SQL 스크립트입니다.
    > CREATE CONTROLFILE REUSE DATABASE "733" NORESETLOGS ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 2
    MAXDATAFILES 30
    MAXINSTANCES 1
    MAXLOGHISTORY 100
    LOGFILE
    GROUP 1 '/home/orahome/data/733/redo01.log' SIZE 500K,
    GROUP 2 '/home/orahome/data/733/redo02.log' SIZE 500K,
    GROUP 3 '/home/orahome/data/733/redo03.log' SIZE 500K
    DATAFILE
    '/home/orahome/data/733/system01.dbf' SIZE 500K,
    '/home/orahome/data/733/rbs01.dbf' SIZE 500K,
    '/home/orahome/data/733/tools01.dbf' SIZE 500K,
    '/home/orahome/data/733/users01.dbf' SIZE 500K,
    '/home/orahome/data/733/test1.dbf' SIZE 500K,
    '/home/orahome/data/733/temp.dbf' SIZE 500K;
    위의 화일을 보면, MAX 파라미터 값을 알 수 있을 것이며, 이 값을 수정하려면
    데이타베이스를 재생성하거나, control 화일을 재생성하셔야 합니다. 두 가지 방
    법 중에서는 두 번째 방법을 사용하시기 바랍니다. CREATE CONTROLFILE이란 명령
    을 사용하시면, 새로운 control 화일을 만들면서 MAX 파라미터 값을 새로 지정합
    니다.
    12. Q) 데이타베이스를 아카이브로그 모드로 운용하기 위해, 데이타베이스를
    shutdown하고, mount한 후에, 데이타베이스를 아카이브로그 모드로 셋팅하였습니
    다. 그런데, 접속을 하니 데이타베이스가 hanging 상태가 되었습니다.
    이러한 일이 발생한 원인은 무엇이며, 해결방법은 무엇입니까?
    A) 데이타베이스를 아카이브로그 모드로 운용하기 위해서는 두 가지 작업이 필요
    합니다.
    SVRMGR> alter database archivelog;
    SVRMGR> log archive start;
    아마 첫 번째 작업은 하셨을 것입니다. 그런데, 두 번째 작업을 해주시지 않
    았기 때문에 hanging 상태가 된 것입니다. Oracle은 automatic archiving이 되
    지 않고, 사용자가 manual archiving을 하기를 기다리고 있는 것입니다.
    Archiving을 해 주지 않으면, 새로운 redo log 화일을 생성할 수가 없습니다.
    데이타베이스를 열 때마다 이 작업을 해 주셔야하기 때문에, init.ora 화일의
    LOG_ARCHIVE_START라는 파라미터를 true로 하시면 automatic archiving이 설정
    됩니다.
    13. Q)'ALTER DATABASE CREATE DATAFILE'이란 명령을 사용할 때, 주의할 사항은
    무엇입니까?
    A) 새로운 데이타화일을 생성한 후에, 그 데이타화일을 control 화일에 포함시켜
    주어야 합니다.
    만약, 백업 control 화일을 사용 중이라면, 새로운 데이타화일을 추가한 후에
    control 화일이 백업되어야 한다는 것입니다.

  • ORACLE PARALLEL SERVER (OPS)

    제품 : ORACLE SERVER
    작성날짜 : 2004-08-13
    ORACLE PARALLEL SERVER (OPS)
    ==============================
    PURPOSE
    다음은 OPS(ORACLE PARALLEL SERVER) 의 구조에 대해서 알아본다.
    SCOPE
    Standard Edition 에서는 Real Application Clusters 기능이 10g(10.1.0) 이상 부터 지원이 됩니다.
    Explanation
    1. Parallel Server Architecture
    OPS는 다수의 Loosely Coupled System들 간의 원활한 Resource
    Sharing을 위해 제공하는 DLM(PCM)을 이용하여 동시에 다수의
    사용자가 각 Node를 통해 한 Database를 Access함으로써 System의
    가용성과 전체적인 성능을 극대화시키기 위한 다중처리 System
    구성이다.
    (1) Loosely Coupled System
    SMP Machine과 같이 Tightly Coupled System들 간에 Data Files,
    Print Queue 같은 Resource를 공유하기 위한 Shared Disk
    Architecture로 Node간의 정보전송은 Common High-Speed Bus를
    이용한다.
    (2) Distributed Lock Manager(DLM)
    Loosely Coupled System에서 Resource Sharing을 조정,관리하는
    Software로 Application들이 같은 Resource에 대해 동시에 Access를
    요구할 때 서로간의 Synchronization을 유지하며 Conflict가
    발생하지 않도록 하는 기능을 담당한다.
    다음은 DLM의 주요 Service이다
    - Resource에 대한 Current "ownership" 유지 관리
    - Application Process들의 Resource Request Accept
    - 요구한 Resource가 가용할 경우 해당 Process에 공지
    - Resource에 대한 Exclusive Access 허용
    (3) Parallel Cache Management(PCM)
    Data File내의 하나 이상의 Data Block을 관리하기 위해
    할당되는 Distributed Lock을 PCM Lock이라 하며 어떤 Instance가
    특정 Resource를 Access하기 위해서는 반드시 그 Resource의 Master
    Copy의 "owner"가 되어야 한다.
    이는 곧 그 Resource를 Cover하는 Distributed Lock의 "owner"가
    됨을 의미한다. 이러한 "owner ship"은 다른 Instance가 동일
    Data Block 또는 그 PCM Lock에 의해 Cover되고 있는 다른 Data
    Block에 대한 Update 요구가 있을때까지 계속 유지된다.
    "owner ship"이 한 Instance에 다른 Instance로 전이 되기 전에
    변경된 Data Block은 반드시 Disk로 "write"하므로 각 Node의
    Instance간 Cache Coherency는 철저하게 보장된다.
    2. Parallel Server의 특성
    - Network상의 각 Node에서 Oracle Instance 기동 가능
    - 각 Instance는 SGA + Background Processes로 구성
    - 모든 Instance는 Control File과 Datafile들을 공유
    - 각 Instance는 자신의 Redo Log를 보유
    - Control File, Datafiles, Redo Log Files는 하나 이상의
    Disk에 위치
    - 다수의 사용자가 각 Instance를 통해 Transaction 실행 가능
    - Row Locking Mode 유지
    3. Tuning Focus
    서로 다른 Node를 통해서 하나의 Database 구성하의 Resource를
    동시에 사용하는 OPS 환경에서 Data의 일관성과 연속성을 위한
    Instance간의 Lock Managing은 불가피한 현실이다. 즉, 위에서
    언급한 Instance간의 Resource "owner ship"의 전이(pinging 현상)
    와 같은 Overhead를 최소화하기 위해선 효율적인 Application
    Partition(Job의 분산)이 가장 중요한 현실 Factor이다.
    다시 말해 서로 다른 Node를 통한 동일 Resource에의 Cross-Access
    상황을 최소화해야 함을 의미한다.
    다음은 OPS 환경에서 Database Structure 차원의 Tuning Point로서
    PCM Lock 관련 GC(Global Constant) Parameters와 Storage에 적용할
    Options 및 기타 필요한 사항이다.
    (1) Initial Parameters
    OPS 환경에서 PCM Locks를 의해 주는 GC(Global Constant)
    Parameters는 Lock Managing에 절대적인 영향을 미치며 각 Node마다
    반드시 동일한 Value로 설정(gc_lck_procs 제외)되어야 한다.
    일반적인 UNIX System에서 GC Parameters로 정의하는 PCM Locks의
    총합은 System에서 제공하는 DLM Configuration 중 "Number of
    Resources"의 범위 내에서 설정 가능하다.
    - gc_db_locks
    PCM Locks(DistributedLocks)의 총합을 정의하는 Parameter로
    gc_file_to_locks Parameter에 정의한 Locks의 합보다 반드시
    커야 한다.
    너무 작게 설정될 경우 하나의 PCM Lock이 관리하는 Data Blocks가
    상대적으로 많아지므로 Pinging(False Pinging) 현상의 발생
    가능성도 그만큼 커지게 되며 그에 따른 Overhead로 인해 System
    Performance도 현격히 저하될 가능성이 크다. 따라서 가능한
    최대의 값으로 설정해야 한다.
    - False Pinging
    하나의 PCM Lock이 다수의 Data Blocks를 관리하므로 자신의
    Block이 아닌 같은 PCM 관할하의 다른 Block의 영향으로 인해
    Pining현상이 발생할 수 있는 데 이를 "False Pinging"이라 한다.
    Database Object별 발생한 Pinging Count는 다음과 같이 확인할 수
    있으며 sum(xnc) > 5(V$PING) 인 경우에 더욱 유의해야 한다.
    - gc_file_to_locks
    결국 gc_db_locks에 정의된 전체 PCM Locks는 각 Datafile 당
    적절히 안배가 되는데 전체 Locks를 운용자의 분석 결과에 의거
    각 Datafile에 적절히 할당하기 위한 Parameter이다.
    운용자의 분석 내용은 각 Datafile 내에 존재하는 Objects의 성격,
    Transaction Type, Access 빈도 등의 세부 사항을 포함하되 전체
    PCM Locks 대비 Data Blocks의 적절하고도 효율적인 안배가
    절대적이다.
    이 Parameter로 각 Datafile당 PCM Locks를 안배한 후 Status를
    다음의 Fixed Table로 확인할 수 있다.
    Sample : gc_db_locks = 1000
    gc_file_to_locks = "1=500:5=200"
    X$KCLFI ----> 정의된 Bucket 확인
    Fileno      Bucket     
    1     1     
    2      0      
    3     0     
    4      0     
    5     2     
    X$KCLFH ----> Bucket별 할당된 Locks 확인
    Bucket     Locks     Grouping     Start     
    0     300     1     0     
    1     500     1     300     
    2     200     1     800     
    gc_files_to_locks에 정의한 각 Datafile당 PCM Locks의 총합은 물론
    gc_db_locks의 범위를 초과할 수 없다.
    다음은 각 Datafile에 할당된 Data Blocks의 수를 알아보는 문장이다.
    select e.file_id id,f.file_name name,sum(e.blocks) allocated,
    f.blocks "file size"
    from dba_extents e,dba_data_files f
    where e.file_id = f.file_id
    group by e.file_id,f.file_name,f.blocks
    order by e.file_id;
    - gc_rollback_segments
    OPS로 구성된 각 Node의 Instance에 만들어진 Rollback Segment
    (Init.ora의 rollback_segments에 정의한)의 총합을 정의한다.
    다수의 Instance가 Rollback Segment를 공용으로 사용할 수는 있으나
    OPS 환경에서는 그로 인한 Contention Overhead가 엄청나므로 반드시
    Instance당 독자적인 Rollback Segment를 만들어야 하며 Instance간
    동일한 이름의 부여는 불가하다.
    select count(*) from dba_rollback_segs
    where status='ONLINE';
    위의 결과치 이상의 값으로 정해야 한다.
    - gc_rollback_locks
    하나의 Rollback Segment에서 동시에 변경되는 Rollback Segment
    Blocks에 부여하는 Distributed Lock의 수를 정의한다.
    Total# of RBS Locks = gc_rollback_locks * (gc_rollback_segments+1)
    위에서 "1"을 더한 것은 System Rollback Segment를 고려한 것이다.
    전체 Rollback Segment Blocks 대비 적절한 Locks를 정의해야 한다.
    다음은 Rollback Segment에 할당된 Blocks의 수를 알아보는 문장이다.
    select s.segment_name name,sum(r.blocks) blocks
    from dba_segments s,dba_extents r
    where s.segment_name = r.segment_name
    and s.segment_type = 'ROLLBACK'
    group by s.segment_name;
    - gc_save_rollback_locks
    특정 시점에서 어떤 Tablespace 내의 Object를 Access하고 있는
    Transaction이 있어도 그 Tablespace를 Offline하는 것은 가능하다.
    Offline 이후에 발생된 Undo는 System Tablespace내의 "Differred
    Rollback Segment"에 기록, 보관 됨으로써 Read Consistency를
    유지한다. 이 때 생성되는 Differred Rollback Segment에 할당하는
    Locks를 정의하는 Parameter이다.
    일반적으로 gc_rollback_locks의 값과 같은 정도로 정의하면 된다.
    - gc_segments
    모든 Segment Header Blocks를 Cover하는 Locks를 정의한다. 이 값이
    작을 경우에도 Pinging 발생 가능성은 그 만큼 커지므로 해당
    Database에 정의된 Segments 이상으로 설정해야 한다.
    select count(*) from dba_segments
    where segment_type in ('INDEX','TABLE','CLUSTER');
    - gc_tablespaces
    OPS 환경에서 동시에 Offline에서 Online으로 또는 Online에서
    Offline으로 전환 가능한 Tablespace의 최대값을 정의하는 것으로
    안전하게 설정하기 위해서 Database에 정의된 Tablespace의 수만큼
    설정한다.
    select count(*) from dba_tablespaces;
    - gc_lck_procs
    Background Lock Process의 수를 정하는 것으로 최대 10개까지
    설정(LCK0-LCK9)할 수 있다. 기본적으로 하나가 설정되지만 필요에
    따라 수를 늘려야 한다.
    (2) Storage Options
    - Free Lists
    Free List는 사용 가능한 Free Blocks에 대한 List를 의미한다.
    Database에서 새롭게 가용한 Space를 필요로 하는 Insert나
    Update시엔 반드시 Free Space List와 관련 정보를 가지고 있는
    Blocks Common Pool을 검색한 후 필요한 만큼의 충분한 Blocks가
    확보되지 않으면 Oracle은 새로운 Extent를 할당하게 된다.
    특정 Object에 동시에 다수의 Transaction이 발생한 경우 다수의
    Free Lists는 그만큼 Free Space에 대한 Contention을 감소시킨다.
    결국 Free List의 개수는 Object의 성격과 Access Type에 따라
    적절히 늘림으로써 커다란 효과를 거둘 수 있다.
    예를 들면 Insert나 크기가 늘어나는 Update가 빈번한 Object인
    경우엔 Access 빈도에 따라 3 - 5 정도로 늘려줘야 한다.
    - freelist groups
    Freelist group의 수를 정의하며 전형적으로 OPS 환경에서
    Instance의 수만큼 설정한다. 특정 Object의 Extent를 특정
    Instance에 할당하여 그 Instance에 대한 Freelist Groups를
    유지하므로 Instance별 Free List 관리도 가능하다.
    (3) 기타
    - Initrans
    동시에 Data Block을 Access할 때 필요한 Transaction Entries에
    대한 초기치를 의미하며 Entry당 23Byte의 Space를 미리 할당한다.
    기본값은 Table이 "1" 이고 Index와 Cluster는 "2" 이다. Access가
    아주 빈번한 Object인 경우 Concurrent Transactions를 고려하여
    적절히 설정한다.
    4. Application Partition
    OPS Application Design의 가장 중요한 부분으로 Partitioning의
    기본 원리는 다음과 같다.
    . Read Intensive Data는 Write Intensive Data로부터 다른
    Tablespaces로 분리한다.
    . 가능한 한 하나의 Application은 한 Node에서만 실행되도록
    한다. 이는 곧 다른 Application들에 의해 Access되는 Data에
    대한 Partition을 의미한다.
    . 각 Node마다 Temporary Tablespaces를 할당한다.
    . 각 Node마다 Rollback Segments를 독립적으로 유지한다.
    5. Backup & Recovery
    일반적으로 OPS 환경의 Sites는 대부분 24 * 365 Online 상황이므로
    전체적인 Database 운영은 Archive Log Mode & Hot Backup으로 갈
    수에 없으며 Failure 발생시 얼마나 빠른 시간 안에 Database를
    완벽하게 복구 할 수 있는 지가 최대 관건이라 하겠다.
    모든 Backup & Recovery에 관한 일반적인 내용은 Exclusive Mode
    Database 운영 환경에서와 동일하다.
    (1) Backup
    - Hot Backup Internal
    Archive Mode로 DB를 정상적으로 운영하며 Online Data Files를
    Backup하는 방법으로 Tablespace 단위로 행해진다.
    alter tablespace - begin backup이 실행되면 해당 Tablespace를
    구성하는 Datafiles에 Checkpoint가 발생되어 Memory상의 Dirty
    Buffers를 해당 Datafiles(Disk)에 "Write"함과 동시에 Hot Backup
    Mode에 있는 모든 Datafiles의 Header에 Checkpoint SCN을 Update
    하는데 이는 Recovery시에 중요한 Point가 된다.
    또한 alter tablespace - end backup이 실행되기 전까지 즉,
    Hot Backup이 행해지는 동안 해당 Datafiles는 "fuzzy" Backup
    Data가 생성되며 특정 Record의 변형 시에도 해당 Block이 Redo
    Log에 기록 되므로 다수의 Archive File이 더 생성되는 것을 볼 수
    있다. 따라서 Admin이 해당 Datafiles를 모두 Backup하고도 end
    backup을 실행하지 않으면 전체 인 System 성능에 심각한 영향을
    미치게 되므로 특히 주의해야 한다.
    Hot Backup 중인지의 여부는 다음 문장을 통해 확인할 수 있다.
    select * from v$backup; -> status 확인
    - Hot Backup Step (Recommended)
    ① alter system archive log current
    ② alter tablespace tablespacename begin backup
    ③ backup the datafiles,control files,redo log files
    ④ alter tablespace tablespacename end backup
    ⑤ alter database backup controlfile to 'filespec'
    ⑥ alter database backup controlfile to trace noresetlogs(safety)
    ⑦ alter system archive log current
    (2) Recovery
    - Instance Failure시
    OPS 환경에서 한 Instance의 Failure시 다른 Instance의 SMON이
    즉시 감지하여 Failed Instance에 대한 Recovery를 자동으로
    수행한다. 이 때 운영중인 Instance는 Failed Instance가 생성한
    Redo Log Entries와 Rollback Images를 이용하여 Recovery한다.
    Multi-Node Failure시엔 바로 다음에 Open 된 Instance가 그 역할을
    담당하게 된다. 아울러 Failed Instance가 Access하던 모든 Online
    Datafiles에 대한 Recovery도 병행되는 데 이런 과정의 일부로
    Datafiles에 관한 Verification이 실패하여 Instance Recovery가 되지
    않을 경우엔 다음 SQL Statement를 실행시키면 된다.
    alter system check datafiles global;
    - Media Failure시
    다양한 형태로 발생하는 Media Failure시엔 Backup Copy를
    Restore한 후 Complete 또는 Incomplete Media Recovery를 행해야
    하며 이는 Exclusive Mode로 Database를 운영할 때와 전혀 다르지
    않다.
    Node별 생성된 즉, Thread마다 생성된 모든 Archived Log Files는
    당연히 필요하며 많은 OPS Node 중 어디에서든지 Recovery 작업을
    수행할 수 있다.
    - Parallel Recovery
    Instance 또는 Media Failure시 ORACLE 7.1 이상에서는 Instance
    Level(init.ora) 또는 Command Level(Recover--)에서 Parallel
    Recovery가 가능하다. 여러 개의 Recovery Processes를 이용하여
    Redo Log Files를 동시에 읽어 해당 After Image를 Datafiles에
    반영시킬 수 있다. Recovery_Parallelism Parameter는 Concurrent
    Recovery Processes의 수를 정하며 Parallel_Max_Servers Parameter의
    값을 초과할 수는 없다.
    (3) 운영 시 발생 가능한 Error
    - ORA-1187 발생
    ORA-1187 : can not read from file name because it
    failed verification tests.
    (상황) 하나의 Node에서 create tablespace ... 한 상태에
    정상적으로 운영하던 중 다른 Node를 통해 특정 Object를
    Access하는데 ORA-1187 발생.
    (원인) 다른 Node에서 raw disk의 owner, group, mode 등을
    Tablespace가 생성된 후 뒤늦게 전환.
    (Admin의 Fault)
    (조치) SQL> alter system check datafiles global;
    Reference Documents
    --------------------

    hal lavender wrote:
    Hi,
    I am trying to achieve Load Balancing & Failover of Database requests to two of the nodes in 8i OPS.
    Both the nodes are located in the same data center.
    Here comes the config of one of the connection pools.
    <JDBCConnectionPool CapacityIncrement="5" ConnLeakProfilingEnabled="true"
    DriverName="oracle.jdbc.driver.OracleDriver" InactiveConnectionTimeoutSeconds="0"
    InitialCapacity="10" MaxCapacity="25" Name="db1Connection598011" PasswordEncrypted="{3DES}ARaEjYZ58HfKOKk41unCdQ=="
    Properties="user=ts2user" Targets="ngusCluster12,ngusCluster34" TestConnectionsOnCreate="false"
    TestConnectionsOnRelease="false" TestConnectionsOnReserve="true" TestFrequencySeconds="0"
    TestTableName="SQL SELECT 1 FROM DUAL" URL="jdbc:oracle:thin:@192.22.11.160:1421:dbinst01" />
    <JDBCConnectionPool CapacityIncrement="5" ConnLeakProfilingEnabled="true"
    DriverName="oracle.jdbc.driver.OracleDriver" InactiveConnectionTimeoutSeconds="0"
    InitialCapacity="10" MaxCapacity="25" Name="db2Connection598011" PasswordEncrypted="{3DES}ARaEjYZ58HfKOKk41unCdQ=="
    Properties="user=ts2user" Targets="ngusCluster12,ngusCluster34" TestConnectionsOnCreate="false"
    TestConnectionsOnRelease="false" TestConnectionsOnReserve="true" TestFrequencySeconds="0"
    TestTableName="SQL SELECT 1 FROM DUAL" URL="jdbc:oracle:thin:@192.22.11.161:1421:dbinst01" />
    <JDBCMultiPool AlgorithmType="Load-Balancing" Name="pooledConnection598011"
    PoolList="db1Connection598011,db2Connection598011" Targets="ngusCluster12,ngusCluster34" />
    Please let me know , if you need further information
    HalHi Hal. All that seems fine, as it should be. Tell me how you
    enact a failure so that you'd expect one pool to still be good
    when the other is bad.
    thanks,
    Joe

  • ORacle is not starting..

    Hi..
    I am using oralce 10g om windows machine .
    my oracle is sudendly down ..
    when I am trying to start it .it mount and give error as end of the communication error.
    And in alert log file I get this error ..
    Mem# 0 errs 0: C:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\ORCL2069\REDO02.LOG
    Block recovery completed at rba 21719.1507.16, scn 0.3240444804
    Fri Nov 07 16:45:16 2008
    SMON: slave died unexpectedly, downgrading to serial recovery
    Fri Nov 07 16:45:16 2008
    Errors in file c:\oracle\product\10.2.0\admin\orcl2069\bdump\orcl2069_smon_240.trc:
    ORA-00600: internal error code, arguments: [kghstack_free2], [], [], [], [], [], [], []
    Fri Nov 07 16:45:18 2008
    Errors in file c:\oracle\product\10.2.0\admin\orcl2069\bdump\orcl2069_smon_240.trc:
    ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [kghstack_err+95] [PC:0x4F14339] [ADDR:0xFFFFFFFFFFFFFFFF] [UNABLE_TO_READ] []
    ORA-00600: internal error code, arguments: [kghstack_free2], [], [], [], [], [], [], []
    Fri Nov 07 16:45:22 2008
    Errors in file c:\oracle\product\10.2.0\admin\orcl2069\bdump\orcl2069_pmon_8784.trc:
    ORA-00474: SMON process terminated with error
    Fri Nov 07 16:45:22 2008
    PMON: terminating instance due to error 474
    Fri Nov 07 16:45:22 2008
    Errors in file c:\oracle\product\10.2.0\admin\orcl2069\bdump\orcl2069_m000_392.trc:
    ORA-00474: SMON process terminated with error
    Fri Nov 07 16:45:22 2008
    Errors in file c:\oracle\product\10.2.0\admin\orcl2069\bdump\orcl2069_lgwr_6164.trc:
    ORA-00474: SMON process terminated with error
    Fri Nov 07 16:45:22 2008
    Errors in file c:\oracle\product\10.2.0\admin\orcl2069\bdump\orcl2069_q000_8564.trc:
    ORA-00474: SMON process terminated with error
    Can you tell mi the reason and solution for this issuue?

    harshalpatil wrote:
    I checked as select * from dba_rollback_segs
    I found that one of the segment for UNDO is OFFline is this root cause of error?No, the segment can be offline just like that. Its the feature of Automatic Undo that Oracle would keep on switching them on /off depending upon the requirement.
    I asked you to set the event to disable the transaction recovery for the database.
    In the other workaround, you may want to disable the IMU by putting
    _in_memory_undo=falseBeware, any setting like this needs Oracle support's consent beforehand or it MUST not be done.
    HTH
    Aman....

  • Not able to see rollback segment in oracle 10g

    hi all
    I created rollback segment by using command
    CREATE ROLLBACK SEGMENT rs1 TABLESPACE rbs_ts
    and made it online but not able to see
    segment name by using
    select * from dba_rollback_segs
    Please help me
    Ragards
    Edited by: 174313 on Dec 1, 2008 3:19 PM

    You can start with the following links in 10g documentation.
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/mgmt_db.htm#sthref2230
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/logical.htm#CHDGJJEJ
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/logical.htm#CNCPT305

  • Oracle 9i - Rollback Segment Needs Recovery

    I have been noticing for a few days that my UNDO tablespace has been growing in size for no apparent reason. My datafiles have only increased by 400 Meg over last 4 days, but UNDO tablespace has grown from 100 Meg - 5.6 Gig....
    I decided to create a new UNDO tablespace and drop the old one.....
    I created a new tablespace, changed the UNDO configuration to point to new tablespace and bounced the instance. The instance came back up fine, using the new UNDO tablespace....I then went to take the old tablespace offline and drop it....It went offline fine, but when I went to remove it, I received an Oracle error saying tablespaces was using rollback segment _SYSSMU24$.....
    I looked in the alert log and I'm getting a message:
    SMON: about to recover undo segment 24
    SMON: mark undo segment 24 as needs recovery
    When I query the dba_rollback_segs table, it shows that all rollback segments prior to _SYSSMU24$ are online, 24 & 25 are listed as NEEDS RECOVERY, and all others below that are offline....
    Any help on resolving this issue would be appreciated....

    Metalink overrides any thing said, adviced, or written in this forum, if you have already opened a Service Request, as suggested by Daniel Morgan.
    Just in case this may be helpful to you or others facing a similar situation, I suggest you to check this case Re: Error while Droping Undo Tablespace.
    Make sure you have a full useful database backup as well as the required archive log files.
    ~ Madrid

  • Scrpits for health monitoring of the oracle data base

    Hi Folks
    Can some one help me in finding the oracle database health monitoring scripts ...
    Thanks in Advance

    Find one which i prepared.
    REM Database Health monitoring script.
    REM
    REM Segments Max extents & Current extent comparison
    REM ***************************************************
    set line 180
    set pagesize 10000
    set feedback off
    prompt
    col Time format a50 heading "System Time"
    select to_char(sysdate,'DD-MON-YYYY:HH24:MI:SS') Time from dual;
    prompt
    prompt
    prompt
    prompt**---------------Objects Reaching Max extents-----------------------**
    prompt
    col segment_name format a40 heading "Object Name"
    col max_extents format 9999999999 heading "Max Extents"
    col curr_extents format 99999999999 heading "Curent Extents"
    select a.segment_name,a.max_extents,b.curr_extents from dba_segments a,(select
    segment_name,max(extent_id) curr_extents from dba_extents group by segment_name) b where a.segment_name = b.segment_name
    and (a.max_extents - b.curr_extents) <= 10;
    prompt
    prompt**---------------User Session Information----------------------------**
    prompt
    col sid format 9999 heading "SID"
    col serial# format 9999999 heading "SERIAL NO"
    col logon_time format 9999999 heading "Login Time"
    col username format a12
    col osuser format a24
    col program format a38
    select s.sid,s.serial#,p.spid,s.username,s.osuser,s.program,to_char(s.LOGON_TIME,'DD-MON-YY:HH24:MI:SS') "Log on Time",round((s.LAST_CALL_ET/(60*60*24)),2)"Wait in Days" from v$session s,v$process p where s.paddr = p.addr and s.username is not null order by 8 desc;
    prompt
    prompt**---------------File Information-------------------------------------**
    prompt
    col file_name format a55 heading "File Name"
    col SizeInMB format 99999999 heading "Total Size (MB)"
    col MAXSIZE format 99999999 heading "Maximum Size (MB)"
    select file_name,BYTES/(1024*1024) SizeInMB,AUTOEXTENSIBLE,MAXBYTES/(1024*1024) MAXSIZE from dba_data_files;
    prompt
    prompt**---------------Tablespace Information-------------------------------**
    prompt
    col tablespace_name format a25 heading "Tablespace Name"
    col logging format a10
    col status format a12
    col extent_management format a30 heading "Local/Dict"
    select tablespace_name,status,contents,decode(logging,LOGGING,'YES','NO') Logging,extent_management from dba_tablespaces;
    SELECT Total.name "Tablespace Name",
    Free_space, (total_space-Free_space) Used_space, total_space
    FROM
    (select tablespace_name, sum(bytes/1024/1024) Free_Space
    from sys.dba_free_space
    group by tablespace_name
    ) Free,
    (select b.name, sum(bytes/1024/1024) TOTAL_SPACE
    from sys.v_$datafile a, sys.v_$tablespace B
    where a.ts# = b.ts#
    group by b.name
    ) Total
    WHERE Free.Tablespace_name = Total.name;
    prompt
    prompt**---------------Tablespace Fragmentation Status----------------**
    prompt
    col TABLESPACE_NAME format a25 heading "Tablespace Name"
    select TABLESPACE_NAME Name,TOTAL_EXTENTS "Total Extents",EXTENTS_COALESCED,decode(PERCENT_EXTENTS_COALESCED,100,'NO','YES') "Frag" from
    dba_free_space_coalesced;
    prompt
    prompt**---------------Latch Contention-------------------------------**
    prompt
    col name format a40 heading "Latch Name"
    SELECT name, gets, misses,
    round((gets-misses)/decode(gets,0,1,gets),3) hit_ratio,
    sleeps,
    round(sleeps/decode(misses,0,1,misses),3) "sleeps/misses"
    from v$latch
    where gets != 0
    order by name;
    select name,immediate_gets,immediate_misses,(immediate_gets)/(immediate_gets+immediate_misses) Hit_Ratio
    from v$latch where immediate_gets != 0;
    prompt
    prompt**---------------Shared Pool Statistics-------------------------------**
    prompt
    col namespace format a22
    select namespace,gets,gethits,round(gethitratio,2) gethitratio,pins,pinhits,round(pinhitratio,2)
    pinhitratio,reloads,invalidations from v$librarycache where namespace in ('SQL AREA','TABLE/PROCEDURE','BODY','TRIGGER');
    prompt
    prompt**---------------Reload Hit Ratio-------------------------------**
    prompt
    SELECT SUM(reloads)/SUM(pins) "Reload Ratio"
    FROM v$librarycache;
    prompt
    prompt
    prompt**--------------- Data Dictionary Hit Ratio-------------------------------**
    prompt
    SELECT 1-(SUM(getmisses)/SUM(gets))
    "Data Dictionary Hit Ratio"
    From v$rowcache;
    prompt
    prompt**---------------Buffer Cache statistics-------------------------------**
    prompt
    select (1-(a.value/(b.value+c.value))) *100 "Buffer Cache Hit ratio" from v$sysstat a,v$sysstat b,v$sysstat c where a.name
    = 'physical reads' and b.name = 'consistent gets' and c.name = 'db block gets';
    col name format a20 heading "Buffer Pool Name"
    select name,free_buffer_wait,write_complete_wait,buffer_busy_wait,db_block_gets,consistent_gets,physical_reads,physical_writes
    from v$buffer_pool_statistics;
    prompt
    prompt
    prompt**---------------Roll back segment Statistics-------------------------------**
    prompt
    col segment_name format a30 heading "Segment Name"
    col status format a15
    select segment_name,a.status,initial_extent/(1024) "Initial KB",next_extent/(1024)"NextKB",max_extents,min_extents,optsize/102
    "Opt Size KB",curext "Current Extents" from dba_rollback_segs a,v$rollstat b where a.segment_id = b.usn;
    prompt
    prompt**---------------Roll Back Segment Header Get Ratio-------------------------------**
    prompt
    SELECT n.name,s.usn,DECODE(s.waits,0,1,1-(s.waits/s.gets)) "RBS Header Get Ratio"
    FROM v$rollstat s,v$rollname n
    WHERE s.usn=n.usn
    ORDER BY usn;
    prompt
    prompt**---------------Top 20 Events and System Statistics-------------------------------**
    prompt
    col event format a40 heading "Event Name"
    col Stat format a40 heading "Stat Name"
    select * from ( select name "Stat",value from v$sysstat order by value desc ) where rownum <= 20 ;
    select * from ( select event,total_waits from v$system_event order by total_waits desc ) where rownum <=
    20;
    prompt
    prompt
    prompt**---------------File I/O statistics-------------------------------**
    prompt
    col file# format 99 heading "File No"
    select file#,PHYRDS "Physical Reads",PHYWRTS "Physical Writes",READTIM "Read Time",WRITETIM "Write Time",AVGIOTIM "Avg Time" from v$filestat;
    set feedback on
    Regards
    Jafar

  • Error while invoking a WS-Security secured web service from Oracle BPEL..

    Hi ,
    We are facing some error while invoking a WS-Security secured web service from our BPEL Process on the windows platform(SOA 10.1.3.3.0).
    For the BPEL process we are following the same steps as given in an AMIS blog : - [http://technology.amis.nl/blog/1607/how-to-call-a-ws-security-secured-web-service-from-oracle-bpel]
    but sttill,after deploying it and passing values in it,we are getting the following error on the console :-
    &ldquo;Header [http://schemas.xmlsoap.org/ws/2004/08/addressing:Action] for ultimate recipient is required but not present in the message&rdquo;
    Any pointers in this regard will be highly appreciated.
    Thanks,
    Saurabh

    Hi James,
    Thanks for the quick reply.
    We've tried to call that web service from an HTML designed in Visual Studios with the same username and password and its working fine.
    But on the BPEL console, we are getting the error as mentioned.
    Also if you can tell me how to set the user name and password in the header of the parter link.I could not find how to do it.
    Thanks,
    Saurabh

  • Error while running a customize report in oracle ebs

    Hi ..
    can anybody suggest how to solve the follwing error while running a customize report in oracle ebs?
    XXIFMS: Version : UNKNOWN
    Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
    Current system time is 03-JUN-2011 11:09:24
    +-----------------------------
    | Starting concurrent program execution...
    +-----------------------------
    Arguments
    P_DATE_FROM='2010/04/01 00:00:00'
    P_DATE_TO='2011/06/03 00:00:00'
    Forcing NLS_NUMERIC_CHARACTERS to: '.,' for XDO processing
    APPLLCSP Environment Variable set to :
    Current NLS_LANG and NLS_NUMERIC_CHARACTERS Environment Variables are :
    American_America.AL32UTF8
    stat_low = 9
    stat_high = 0
    emsg:was terminated by signal 9
    ld.so.1: rwrun: fatal: librw.so: open failed: No such file or directory
    Start of log messages from FND_FILE
    End of log messages from FND_FILE
    Program was terminated by signal 9
    Concurrent Manager encountered an error while running Oracle*Report for your concurrent request 1068011.
    Review your concurrent request log and/or report output file for more detailed information.
    Executing request completion options...
    ------------- 1) PUBLISH -------------
    Beginning post-processing of request 1068011 on node D0005 at 03-JUN-2011 11:09:24.
    Post-processing of request 1068011 failed at 03-JUN-2011 11:09:24 with the error message:
    One or more post-processing actions failed. Consult the OPP service log for details.
    Finished executing request completion options.
    Concurrent request completed
    Current system time is 03-JUN-2011 11:09:24

    Please post the details of the application release, database version and OS.
    Is the issue with this specific concurrent program?
    Can you find any errors in the CM/OPP log files?
    Please see if these docs help.
    On R12.1.1/Solaris Platform While Generating Oracle Reports Files Failed With Error " ld.so.1: rwconverter: fatal: librw.so: open failed: No such file or directory [ID 1067786.1]
    Apps UPG Fail With Error Ld.So.1: Rwserver: Fatal: Librw.So [ID 961222.1]
    Thanks,
    Hussein

  • HELP! Can not install Oracle 8.1.5 w/ RedHat 6.1!

    I can not get Oracle 8.1.5 to install onto Linux RedHat 6.1. The
    Oracle installation script generates several errors. I have
    tried several attempts, using different options, but they all
    generate errors.
    Please help. The Oracle Installation scripts appear to be very
    buggy... or perhaps they are incompatible with the standard
    RedHat 6.1 release. Either way, it is very frustrating.
    I have documented one of my (failed) installation attempts below.
    Does anyone have any words of wisdom?
    I am installing Oracle onto a Dell Latitude CPi PC w/ 128MB RAM,
    a 366MHz Pentium II, and RedHat 6.1 (using the standard Linux
    2.2.12-2 kernel). RedHat was installed using the standard "Gnome
    Workstation" configuration.
    The Oralce CD is labeled:
    "Oralce 8i Enterprise Edition
    Release 8.1.5
    for Linux
    (c) Oracle Corporation 1999"
    I got this CD about one week ago at Oracle OpenWorld '99 in Los
    Angeles... it should be their "latest & greatest" version so far.
    1. Pre-Installation and ./runInstall
    I created an "oracle" Unix account w/ groups "oinstall" (the
    primary group) and "dba" (a secondary group).
    I created directories /u01 through /u04, belonging to oracle.
    I setup .cshrc and sourced it, containing:
    umask 022
    setenv DISPLAY `hostname`:0
    xhost +
    setenv ORACLE_BASE /u01/app/oracle
    setenv ORACLE_HOME ${ORACLE_BASE}/product/8.1.5
    setenv ORACLE_SID cprtest
    setenv PATH ${ORACLE_HOME}/bin:${PATH}
    setenv LD_LIBRARY_PATH ${ORACLE_HOME}/lib
    setenv NLS_LANG US7ASCII
    I downloaded jre116_v5 and installed to /usr/local/jre.
    Finally, I executed (from the "oracle" Unix account):
    cd /mnt/cdrom
    ./runInstall
    Problem: I got the error (from ./runInstall):
    Initializing Java Virtual Machine from /usr/local/jre/bin/jre.
    Please wait...
    Error in CreateOUIProcess(): -1
    : Bad address
    Workaround: Executed the following commands instead:
    cd /mnt/cdrom/install/linux
    ./runIns.sh
    3. runIns.sh and root.sh
    I selected the following options (from ./runIns.sh):
    Source: /mnt/cdrom/stage/products.jar
    Destination: /u01/app/oracle/product/8.1.5
    Oracle 8i Enterprise Edition 8.1.5.0.0
    Typical (585MB)
    Installable Components: Oralce Intelligent Agent 8.1.5.0.0
    Global Database Name: cprtest.parkrussell.com
    SID: cprtest
    Directory for Database Files: /u02
    Then (when instructed by ./runIns.sh), I attempted to execute
    (from the
    "root" Unix account):
    cd /u01/app/oracle/product/8.1.5
    ./root.sh
    Problem: I got the error:
    "bash: ./root.sh: Permission denied"
    The execute bit was not set.
    Workaround: I executed:
    chmod a+x root.sh
    ./root.sh
    5. Configuration Tools
    The Oracle Installer (./runIns.sh) attempted to execute:
    A. Net8 Configuration Agent
    B. Oracle Database Configuration Agent
    Problem: The "Oracle Database Configuration Agent" failed with
    the following error message:
    "One or more tools have failed. It is recommended but not
    required that these tools succeed for this installation.
    You can now select these tools, read its details to examine
    why they have failed, fix those problems, and retry them.
    Or, you can click "Next" to continue."
    When I selected the "Oracle Database Configuration Agent" for
    more info, I got the following additional details (as the cause
    of the error):
    "A required command line argument is missing."
    The log file
    "/u01/app/oracle/oraInventory/logs/installActions.log" recorded:
    "Command which is being spawned is /usr/local/jre/bin/jre
    -Duser.dir=/u01/app/oracle/product/8.1.5/assistants/dbca/jlib
    -classpath
    /usr/local/jre/lib/rt.jar:/u01/app/oracle/product/8.1.5/jlib/ewt-3_1_10.jar:/u01/app/oracle/produc
    /8.1.5/jlib/share-1_0_6.jar:/u01/app/oracle/product/8.1.5/assistants/dbca/jlib/DBAssist.jar:/u01/a
    p/oracle/product/8.1.5/assistants/jlib/jnls.jar:/u01/app/oracle/product/8.1.5/assistants/jlib/ACC.
    AR:/u01/app/oracle/product/8.1.5/jlib/help-3_0_7.jar:/u01/app/oracle/product/8.1.5/jlib/oracle_ice
    4_03_3.jar:/u01/app/oracle/product/8.1.5/jlib/HotJavaBean.jar:/u01/app/oracle/product/8.1.5/jlib/n
    tcfg.jar:/usr/local/jre/lib/i18n.jar
    DBCreateWizard /createtype seed /numusers NO_VALUE /apptype
    NO_VALUE /cartridges NO_VALUE /options NO_VALUE /demos NO_VALUE
    /seedloc NO_VALUE /sid cprtest /orahome
    /u01/app/oracle/product/8.1.5 /orabase /u01/app/oracle /dbloc
    /u02 /clususer NO_VALUE /cluspswd NO_VALUE /nodeinfo NO_VALUE
    /gdbName cprtest.parkrussell.com
    Invalid Exit Code. The following result code will be used for
    configuration tool: 1
    Configuration tool Oracle Database Configuration Assistant
    failed"
    Workaround: There is obviously nothing I can do to fix this
    problem. It appears to be an internal bug in ./runIns.sh.
    Therefore, I selected "Next" and executed "dbassist" directly.
    6. dbassist
    I executed:
    dbassist
    Problem: I got the following error:
    "JNLS Execution:oracle.ntpg.jnls.JNLSException
    Unable to find any National Character Sets. Please
    check your Oracle installation."
    Workaround: Press "OK" and ignore the error.
    7. dbassist (cont.)
    I selected the following options:
    Create database
    Typical
    Copy existing database files from the CD
    Global Database Name: cprtest.parkrussell.com
    SID: cprtest
    Problem: I got the following error:
    "CD-ROM drive not detected on this system.
    Database not created."
    (Note: I've been running the installation scripts from the
    CDROM drive this entire time. "df" shows the CDROM drive
    mounted on /mnt/cdrom. "ls /mnt/cdrom" works too.)
    Workaround: Abort (which generated the additional error: "Unable
    to create database. DBCA-00003: No CD-ROM drive detected.") and
    run dbassist again, this time using different parameters.
    8. dbassist, again
    I executed "dbassist" again and selected the following options:
    Create database
    Typical
    Create new database files
    Hybrid
    Concurrently connected users: 5
    Options: Oralce interMedia, Oralce JServer, and iM demos
    Global Database Name: cprtest2.parkrussell.com
    SID: cprtest2
    Create database now
    Problem: I got the following error:
    "ORA-01012: not logged on"
    Workaround: Try, try again.
    9. dbassist, one last time
    Executed "dbassist" once more and selected the following options:
    Create database
    Typical
    Create new database files
    Hybrid
    Concurrently connected users: 5
    Options: Oralce interMedia, Oralce JServer, and interMedia
    demos
    Global Database Name: cprtest3.parkrussell.com
    SID: cprtest3
    Output creation script
    Then, I executed (from the "oracle" Unix account):
    cd /u01/app/oracle/product/8.1.5/install
    setenv ORACLE_SID cprtest3
    ./sqlcprtest3.sh
    Problem: I got the following output:
    "Oracle Server Manager Release 3.1.5.0.0 - Production
    (c) Copyright 1997, Oracle Corporation. All Rights Reserved.
    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
    SVRMGR> SVRMGR> Connected.
    SVRMGR> ORACLE instance started.
    ORA-01012: not logged on
    SVRMGR> 2> 3> 4> 5> 6> 7>
    8> 9> CREATE DATABASE "cprtest3"
    ORA-01012: not logged on
    SVRMGR> Disconnected."
    Workaround: Beats me.
    10. sqlplus
    I attempted to execute sqlplus, but got the following error
    message:
    "/u01/app/oracle/product/8.1.5/bin/sqlplus: Permission denied."
    The execute bit was not set.
    Workaround: I executed:
    chmod a+x /u01/app/oracle/product/8.1.5/bin/sqlplus
    sqlplus
    I gave up for now... there were just too many things wrong with
    this installation, starting with the very first command I was
    supposed to execute (./runInstaller).
    I can't fathom why Oracle's installation script has so many bugs.
    Am I just doing something terribly wrong?
    Please help.
    null

    I'm using enlightenment version 0.15.5-41, which is more recent
    than the 0.15.5-37 version (containing the Oracle installer
    patch) that you recommended. Unfortunately, it fails when using
    this version.
    I also tried installing Oracle using twm, with enlightenment
    disabled. This didn't help either.
    Furthermore, the errors that I'm encountering in the OUI are
    not just toward the end of the installation. They happen from
    the very beginning, right after I enter "./runInstall", and
    continue every step of the way.
    Calvin Mitchell (guest) wrote:
    : Check out my thread: "Assistants Failure Toward end of Oracle
    : Install" to see where i've gone with this.
    : if your running Enlightenment as your window manager you need
    to
    : upgrade to 0.15.5-37, that will solve the OUI error.
    : Let me know if you solve any of your problems.
    : Chris Russell (guest) wrote:
    : : I can not get Oracle 8.1.5 to install onto Linux RedHat 6.1.
    : The
    : : Oracle installation script generates several errors. I have
    : : tried several attempts, using different options, but they all
    : : generate errors.
    : : Please help. The Oracle Installation scripts appear to be
    very
    : : buggy... or perhaps they are incompatible with the standard
    : : RedHat 6.1 release. Either way, it is very frustrating.
    : : I have documented one of my (failed) installation attempts
    : below.
    : : Does anyone have any words of wisdom?
    : : I am installing Oracle onto a Dell Latitude CPi PC w/ 128MB
    : RAM,
    : : a 366MHz Pentium II, and RedHat 6.1 (using the standard Linux
    : : 2.2.12-2 kernel). RedHat was installed using the standard
    : "Gnome
    : : Workstation" configuration.
    : : The Oralce CD is labeled:
    : : "Oralce 8i Enterprise Edition
    : : Release 8.1.5
    : : for Linux
    : : (c) Oracle Corporation 1999"
    : : I got this CD about one week ago at Oracle OpenWorld '99 in
    Los
    : : Angeles... it should be their "latest & greatest" version so
    : far.
    : : 1. Pre-Installation and ./runInstall
    : : I created an "oracle" Unix account w/ groups "oinstall" (the
    : : primary group) and "dba" (a secondary group).
    : : I created directories /u01 through /u04, belonging to oracle.
    : : I setup .cshrc and sourced it, containing:
    : : umask 022
    : : setenv DISPLAY `hostname`:0
    : : xhost +
    : : setenv ORACLE_BASE /u01/app/oracle
    : : setenv ORACLE_HOME ${ORACLE_BASE}/product/8.1.5
    : : setenv ORACLE_SID cprtest
    : : setenv PATH ${ORACLE_HOME}/bin:${PATH}
    : : setenv LD_LIBRARY_PATH ${ORACLE_HOME}/lib
    : : setenv NLS_LANG US7ASCII
    : : I downloaded jre116_v5 and installed to /usr/local/jre.
    : : Finally, I executed (from the "oracle" Unix account):
    : : cd /mnt/cdrom
    : : ./runInstall
    : : Problem: I got the error (from ./runInstall):
    : : Initializing Java Virtual Machine from
    : /usr/local/jre/bin/jre.
    : : Please wait...
    : : Error in CreateOUIProcess(): -1
    : : : Bad address
    : : Workaround: Executed the following commands instead:
    : : cd /mnt/cdrom/install/linux
    : : ./runIns.sh
    : : 3. runIns.sh and root.sh
    : : I selected the following options (from ./runIns.sh):
    : : Source: /mnt/cdrom/stage/products.jar
    : : Destination: /u01/app/oracle/product/8.1.5
    : : Oracle 8i Enterprise Edition 8.1.5.0.0
    : : Typical (585MB)
    : : Installable Components: Oralce Intelligent Agent 8.1.5.0.0
    : : Global Database Name: cprtest.parkrussell.com
    : : SID: cprtest
    : : Directory for Database Files: /u02
    : : Then (when instructed by ./runIns.sh), I attempted to execute
    : : (from the
    : : "root" Unix account):
    : : cd /u01/app/oracle/product/8.1.5
    : : ./root.sh
    : : Problem: I got the error:
    : : "bash: ./root.sh: Permission denied"
    : : The execute bit was not set.
    : : Workaround: I executed:
    : : chmod a+x root.sh
    : : ./root.sh
    : : 5. Configuration Tools
    : : The Oracle Installer (./runIns.sh) attempted to execute:
    : : A. Net8 Configuration Agent
    : : B. Oracle Database Configuration Agent
    : : Problem: The "Oracle Database Configuration Agent" failed
    with
    : : the following error message:
    : : "One or more tools have failed. It is recommended but not
    : : required that these tools succeed for this installation.
    : : You can now select these tools, read its details to
    examine
    : : why they have failed, fix those problems, and retry them.
    : : Or, you can click "Next" to continue."
    : : When I selected the "Oracle Database Configuration Agent" for
    : : more info, I got the following additional details (as the
    cause
    : : of the error):
    : : "A required command line argument is missing."
    : : The log file
    : : "/u01/app/oracle/oraInventory/logs/installActions.log"
    : recorded:
    : : "Command which is being spawned is /usr/local/jre/bin/jre
    : : -Duser.dir=/u01/app/oracle/product/8.1.5/assistants/dbca/jlib
    : : -classpath
    /usr/local/jre/lib/rt.jar:/u01/app/oracle/product/8.1.5/jlib/ewt-
    : 3_1_10.jar:/u01/app/oracle/product/8.1.5/jlib/share-
    1_0_6.jar:/u01/app/oracle/product/8.1.5/assistants/dbca/jlib/DBAs
    sist.jar:/u01/app/oracle/product/8.1.5/assistants/jlib/jnls.jar:/
    u01/app/oracle/product/8.1.5/assistants/jlib/ACC.JAR:/u01/app/ora
    : cle/product/8.1.5/jlib/help-
    : 3_0_7.jar:/u01/app/oracle/product/8.1.5/jlib/oracle_ice-
    4_03_3.jar:/u01/app/oracle/product/8.1.5/jlib/HotJavaBean.jar:/u0
    1/app/oracle/product/8.1.5/jlib/netcfg.jar:/usr/local/jre/lib/i18
    : n.jar
    : : DBCreateWizard /createtype seed /numusers NO_VALUE /apptype
    : : NO_VALUE /cartridges NO_VALUE /options NO_VALUE /demos
    NO_VALUE
    : : /seedloc NO_VALUE /sid cprtest /orahome
    : : /u01/app/oracle/product/8.1.5 /orabase /u01/app/oracle /dbloc
    : : /u02 /clususer NO_VALUE /cluspswd NO_VALUE /nodeinfo NO_VALUE
    : : /gdbName cprtest.parkrussell.com
    : : Invalid Exit Code. The following result code will be used
    for
    : : configuration tool: 1
    : : Configuration tool Oracle Database Configuration Assistant
    : : failed"
    : : Workaround: There is obviously nothing I can do to fix this
    : : problem. It appears to be an internal bug in ./runIns.sh.
    : : Therefore, I selected "Next" and executed "dbassist"
    directly.
    : : 6. dbassist
    : : I executed:
    : : dbassist
    : : Problem: I got the following error:
    : : "JNLS Execution:oracle.ntpg.jnls.JNLSException
    : : Unable to find any National Character Sets. Please
    : : check your Oracle installation."
    : : Workaround: Press "OK" and ignore the error.
    : : 7. dbassist (cont.)
    : : I selected the following options:
    : : Create database
    : : Typical
    : : Copy existing database files from the CD
    : : Global Database Name: cprtest.parkrussell.com
    : : SID: cprtest
    : : Problem: I got the following error:
    : : "CD-ROM drive not detected on this system.
    : : Database not created."
    : : (Note: I've been running the installation scripts from the
    : : CDROM drive this entire time. "df" shows the CDROM drive
    : : mounted on /mnt/cdrom. "ls /mnt/cdrom" works too.)
    : : Workaround: Abort (which generated the additional error:
    : "Unable
    : : to create database. DBCA-00003: No CD-ROM drive detected.")
    : and
    : : run dbassist again, this time using different parameters.
    : : 8. dbassist, again
    : : I executed "dbassist" again and selected the following
    options:
    : : Create database
    : : Typical
    : : Create new database files
    : : Hybrid
    : : Concurrently connected users: 5
    : : Options: Oralce interMedia, Oralce JServer, and iM demos
    : : Global Database Name: cprtest2.parkrussell.com
    : : SID: cprtest2
    : : Create database now
    : : Problem: I got the following error:
    : : "ORA-01012: not logged on"
    : : Workaround: Try, try again.
    : : 9. dbassist, one last time
    : : Executed "dbassist" once more and selected the following
    : options:
    : : Create database
    : : Typical
    : : Create new database files
    : : Hybrid
    : : Concurrently connected users: 5
    : : Options: Oralce interMedia, Oralce JServer, and interMedia
    : : demos
    : : Global Database Name: cprtest3.parkrussell.com
    : : SID: cprtest3
    : : Output creation script
    : : Then, I executed (from the "oracle" Unix account):
    : : cd /u01/app/oracle/product/8.1.5/install
    : : setenv ORACLE_SID cprtest3
    : : ./sqlcprtest3.sh
    : : Problem: I got the following output:
    : : "Oracle Server Manager Release 3.1.5.0.0 - Production
    : : (c) Copyright 1997, Oracle Corporation. All Rights
    Reserved.
    : : 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
    : : SVRMGR> SVRMGR> Connected.
    : : SVRMGR> ORACLE instance started.
    : : ORA-01012: not logged on
    : : SVRMGR> 2> 3> 4> 5> 6> 7>
    : : 8> 9> CREATE DATABASE "cprtest3"
    : : ORA-01012: not logged on
    : : SVRMGR> Disconnected."
    : : Workaround: Beats me.
    : : 10. sqlplus
    : : I attempted to execute sqlplus, but got the following error
    : : message:
    : : "/u01/app/oracle/product/8.1.5/bin/sqlplus: Permission
    : denied."
    : : The execute bit was not set.
    : : Workaround: I executed:
    : : chmod a+x /u01/app/oracle/product/8.1.5/bin/sqlplus
    : : sqlplus
    : : I gave up for now... there were just too many things wrong
    with
    : : this installation, starting with the very first command I was
    : : supposed to execute (./runInstaller).
    : : I can't fathom why Oracle's installation script has so many
    : bugs.
    : : Am I just doing something terribly wrong?
    : : Please help.
    null

  • Logical operators in Oracle select query

    Hello all,
    Can i use logical operators in oracle select queries?
    for 1 and 0 =0 ; 1 or 0 =0
    if i have two fileds in a table COL1 have a value of 1010 and COL2 have a value of 0001.
    Is there any way to use select col1 or col2 from table? where or is a logical operator?
    Regards,

    Hi,
    NB wrote:
    Hello all,
    Can i use logical operators in oracle select queries?Sure; Oracle has the logical operators AND, NOT and OR. All the comparison operators, including >, >=, = !=, EXISTS, IN, IS NULL, LIKE and REGEXP_LIKE are really logical operators, since they return logical values. You can use them in SELECT statements, and other places, too.
    for 1 and 0 =0 ; 1 or 0 =0
    if i have two fileds in a table COL1 have a value of 1010 and COL2 have a value of 0001.It's unclear what you want. Maybe you'd be interested in the BITAND function:
    http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/functions014.htm#sthref1080
    BITAND is the only logical function that I know of. Many other functions, especially numberical fucntions such as MOD, have applications in logic.
    Is there any way to use select col1 or col2 from table? where or is a logical operator?Whenever you have a question, please post a little sample data (CREATE TABLE and INSERT statements), and also post the results you want from that data.
    Explain how you get those results from that data.
    Always say which version of Oracle you're using.

  • Strange scenario,Oracle can not display the data in mysql correctly

    I use Heterogeneous Service+ODBC to achieve "oracle access mysql"(any other method?),and now i find Oracle can not display the data in mysql correctly:
    -------mysql------------
    mysql> create table tst(id int,name varchar(10));
    Query OK, 0 rows affected (0.00 sec)
    mysql> insert into tst values(1,'a');
    Query OK, 1 row affected (0.00 sec)
    mysql> select * from tst;
    ------------+
    | id | name |
    ------------+
    | 1 | a |
    ------------+
    1 row in set (0.00 sec)
    mysql> show create table tst\G
    *************************** 1. row ***************************
    Table: tst
    Create Table: CREATE TABLE `tst` (
    `id` int(11) DEFAULT NULL,
    `name` varchar(10) DEFAULT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8
    1 row in set (0.00 sec)
    -------------oracle ------------------
    SQL> select count(*) from "tst"@mysql;
    COUNT(*)
    49
    SQL> select * from "tst"@mysql;
    id
    1
    SQL> desc "tst"@mysql;
    Name Null? Type
    id NUMBER(10)

    You can make the following query on the result page:
    "select * from the_table where movietitle = ? and cinema = ?"
    then you set movietitle and cinema to those which the user selected. If the resultset contains more than 0 rows, that means the movie is available.
    Below is the sample code, it assumes you have a connection to the database:
    PreparedStatement stat = myConnection.prepareStatement("select * from the_table where movietitle = ? and cinema = ?");
    stat.setString(1, usersMovieTitleSelection);
    stat.setString(2, usersCinemaSelection);
    ResultSet res = stat.executeQuery();
    if (res.next()) {
    out.print("The movie is available");
    } else {
    out.print("The movie is not available");
    }Now just add that to your JSP page. Enjoy ! =)

Maybe you are looking for

  • Xfce takes long to start

    Hi! Since the day before yesterday, xfce is taking longer than normal to start. It is taking 15-20 seconds to boot to the desktop after the password is input on SLiM. At first I thought it was a matter of slim, since I switched to it recently from li

  • Sorting in Adobe Bridge

    When I add a photo to a folder how do I get the thumbnails in Bridge to sort automatically?  Right now I have to move them around manually.  This becomes quite a chore when I add several pictures.

  • I believe my facetime on my imac is corrupted.  I cannot get past the verify screen. Is it possible to reinstall the programme?

    I believe my facetime on my imac is corrupted.  When I open the programme I get the screen which indicates "preference" and that the toggle shows the programme is off.  If I toggle it on, facetime does not turn on but shows that it is trying to load(

  • Install perl module

    I am trying to install the essbase.pm and have some trouble. The makefile refers to /api/lib/libmaxl directory which is not part of the windows install. Does anyone have any clue as to how to modify the makefile.PL.win32 file?ThanksRandy

  • Number of processes in 1 BPM DC ?

    Hello Experts, Can anyone please tell me how many no. of processes there should be in 1 BPM DC ? We have a scenario where we need 4 processes.  Each process comprises of 4-5 human tasks. Can I put them in single DC or should be placed in separate DC