Supplemental log group

I setup streams for 5 tables.I use uncodititional supplemental log group. 4 tables are okay,one is not working. I check dba_log_groups view. For four tables were generated 3 additional supplemental groups for each(primary key,unique key,foreign key), one does have only created by me supplemental log group.
What is the problem with this table?
Please help it is emergency, tommorow we need to go production
Thanks

Hi Mary,
Are you qualifying the pk for each of the tables?
Make sure you have defined your rules correctly (ex.: query dba_streams_table_rules).
The 3 additional log group are normal. What is not normal is the table that does not have these.
My guess would be that that table does not have a capture rule correctly defined.
I already noticed that the 3 log groups appear when you create the capture rule and they disappear when you drop the capture rule.
Regards,

Similar Messages

  • New column add in supplemental log group

    Hi All,
    How to add the new column in existing supplemental log group.
    Ex.
    SQL> desc scott.emp
    Name Null? Type
    EMPNO NOT NULL NUMBER(4)
    ENAME VARCHAR2(10)
    JOB VARCHAR2(9)
    MGR NUMBER(4)
    HIREDATE DATE
    SAL NUMBER(7,2)
    COMM NUMBER(7,2)
    DEPTNO NUMBER(2)
    And the existing supplemental group is
    Alter table emp add supplemental log group emp_log_grp (empno,ename,sal) always;
    Now I want to add comm column in log group.
    Pls. help.
    Thanks
    Naresh

    did you try..
    ALTER TABLE hr.departments ADD SUPPLEMENTAL LOG GROUP log_group_dep_pk
    (comm) ALWAYS;

  • Stream supplemental log group (10gR2).

    How can I find out all the specific tables/columns(primary key, unique, fk) that have been added to the supplemental group/data?

    dba_log_group_columns

  • Schema level and table level supplemental logging

    Hello,
    I'm setting up bi- directional DML replication between two oracle databases. I have enabled supplemental logging database level by running this command-
    SQL>alter database add supplemental log data (primary key) columns;
    Database altered.
    SQL> select SUPPLEMENTAL_LOG_DATA_MIN, SUPPLEMENTAL_LOG_DATA_PK, SUPPLEMENTAL_LOG_DATA_UI from v$database;
    SUPPLEME SUP SUP
    IMPLICIT YES NO
    -My question is should I enable supplemental logging table level also(for DML replication only)? should I run the below command also?
    GGSCI (db1) 1> DBLOGIN USERID ggs_admin, PASSWORD ggs_admin
    Successfully logged into database.
    GGSCI (db1) 2> ADD TRANDATA schema.<table-name>
    what is the deference between schema level and table level supplemental logging?

    For Oracle, ADD TRANDATA by default enables table-level supplemental logging. The supplemental log group includes one of the following sets of columns, in the listed order of priority, depending on what is defined on the table:
    1. Primary key
    2. First unique key alphanumerically with no virtual columns, no UDTs, no functionbased
    columns, and no nullable columns
    3. First unique key alphanumerically with no virtual columns, no UDTs, or no functionbased
    columns, but can include nullable columns
    4. If none of the preceding key types exist (even though there might be other types of keys
    defined on the table) Oracle GoldenGate constructs a pseudo key of all columns that
    the database allows to be used in a unique key, excluding virtual columns, UDTs,
    function-based columns, and any columns that are explicitly excluded from the Oracle
    GoldenGate configuration.
    The command issues an ALTER TABLE command with an ADD SUPPLEMENTAL LOG DATA clause that
    is appropriate for the type of unique constraint (or lack of one) that is defined for the table.
    When to use ADD TRANDATA for an Oracle source database
    Use ADD TRANDATA only if you are not using the Oracle GoldenGate DDL replication feature.
    If you are using the Oracle GoldenGate DDL replication feature, use the ADD SCHEMATRANDATA command to log the required supplemental data. It is possible to use ADD
    TRANDATA when DDL support is enabled, but only if you can guarantee one of the following:
    ● You can stop DML activity on any and all tables before users or applications perform DDL on them.
    ● You cannot stop DML activity before the DDL occurs, but you can guarantee that:
    ❍ There is no possibility that users or applications will issue DDL that adds new tables whose names satisfy an explicit or wildcarded specification in a TABLE or MAP
    statement.
    ❍ There is no possibility that users or applications will issue DDL that changes the key definitions of any tables that are already in the Oracle GoldenGate configuration.
    ADD SCHEMATRANDATA ensures replication continuity should DML ever occur on an object for which DDL has just been performed.
    You can use ADD TRANDATA even when using ADD SCHEMATRANDATA if you need to use the COLS option to log any non-key columns, such as those needed for FILTER statements and KEYCOLS clauses in the TABLE and MAP parameters.
    Additional requirements when using ADD TRANDATA
    Besides table-level logging, minimal supplemental logging must be enabled at the database level in order for Oracle GoldenGate to process updates to primary keys and
    chained rows. This must be done through the database interface, not through Oracle GoldenGate. You can enable minimal supplemental logging by issuing the following DDL
    statement:
    SQL> alter database add supplemental log data;
    To verify that supplemental logging is enabled at the database level, issue the following statement:
    SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;
    The output of the query must be YES or IMPLICIT. LOG_DATA_MIN must be explicitly set, because it is not enabled automatically when other LOG_DATA options are set.
    If you required more details refer Oracle® GoldenGate Windows and UNIX Reference Guide 11g Release 2 (11.2.1.0.0)

  • Avoid SUPPLEMENTAL LOG while comparing 2 tables using dbms_metadata_diff()

    Hi,
    I am using ORACLE DATABASE 11g R2. I am using a inbuilt package dbms_metadata_diff.compare_alter() to compare 2 tables and get the alter statements for them. I have applied GOLDEN GATE on one of the Schema's and as per the process we need to apply SUPPLEMENTAL LOGGING on the database. So when 2 tables are compared it also gives me the difference about the SUPPLEMENTAL LOG. I want to compare 2 tables but it should avoid the difference of the SUPPLEMENTAL LOG group.
    Below is a part of code which I use :-
    dbms_metadata.set_transform_param(DBMS_METADATA.SESSION_TRANSFORM,  -- Parameter to keep the DDL pretty.
                                                'PRETTY',
                                                TRUE);
              dbms_metadata.set_transform_param(DBMS_METADATA.SESSION_TRANSFORM, -- To put an SQL terminator(;) at the end of SQL.
                                                'SQLTERMINATOR',
                                                TRUE);
              dbms_metadata.set_transform_param(dbms_metadata.session_transform, -- Not to consider the SEGMENT attributes for comparison.
                                                'SEGMENT_ATTRIBUTES',
                                                false);
              dbms_metadata.set_transform_param(dbms_metadata.session_transform, -- Not to include the STORAGE clause.
                                                'STORAGE',
                                                false);
              dbms_metadata.set_transform_param(dbms_metadata.session_transform, -- Not to include the TABLESPACE Info.
                                                'TABLESPACE',
                                                false);
    -- Here I want some parameter which should avoid the SUPPLEMENTAL LOG group difference.
    SELECT dbms_metadata_diff.compare_alter('TABLE',    -- Compare 2 tables with respect to above parameters and give output as ALTER STATEMENTS.
                                                      V_OBJECT_NAME,
                                                      V_OBJECT_NAME,
                                                      V_DEST_SCHEMA_NAME,
                                                      V_SOURCE_SCHEMA_NAME,
                                                      null,
                                                      'DBLINK_TEMP')
                into V_TAB_DIFF_ALTER
                FROM dual;In the current case for all tables i get the output as below :- (sample table output)
    ALTER TABLE "BANK"."BA_EOD_SHELL_DRIVER" DROP SUPPLEMENTAL LOG GROUP GGS_BA_EOD_SHELL_DR_199689;I don't want such alter statements in my output as i am not going to execute this on the schema , because i need SUPPLEMENTAL LOG for GOLDEN GATE.
    Please suggest me some solution on it.
    Thanks in advance.

    It probably won't answer the question...
    The DBMS_METADATA_DIFF.COMPARE_ALTER function will return a CLOB containing all the ALTER TABLE statements.
    I have noticed that you hold your resoult in V_TAB_DIFF_ALTER variable. Why don't you search what you need and remove it?
    "The DBMS_LOB package provides subprograms to operate on BLOBs, CLOBs, NCLOBs, BFILEs, and temporary LOBs. You can use DBMS_LOB to access and manipulation specific parts of a LOB or complete LOBs."

  • Enabling supplemental logging for many tables

    Hi All,
    Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
    PL/SQL Release 9.2.0.8.0 - Production
    CORE     9.2.0.8.0     Production
    TNS for Solaris: Version 9.2.0.8.0 - Production
    NLSRTL Version 9.2.0.8.0 - Production
    I have 200 tables where i need to enable supplement logging.
    ALTER TABLE table_name ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS ==>not working==>ORA-00905: missing keyword
    so iam manually enabling the supplement logging
    alter table EMP_PER ADD SUPPLEMENTAL LOG GROUP EMP_PE_SLOG3(END_ADDR_ORG_ID,LOA_END_DT,LAST_PROMO_DT,LAST_ANNUAL_RVW_DT,HIRE_DT,CURR_SALARY_AMT,CURR_BONUS_TGT_PCT,CURR_AVAIL_UNTIL,COST_PER_HR)always;
    But as few of the tables are having more then 400 columns its taking lot of time to break the query into many group.
    Can any one help we with a PLSQL block to generate the script for all the tables

    Thanks Cj for your reply.
    I have checked the whole presensentaion but the issue is when we have more then 33 columns then we need to create a new log group to fit in else we are getting max column exceed.
    So now iam writting the queries manaually..for all the 200 tables...which is taking ,more time
    so could u hel;p me out with a proc or script or dynamic sql which can fetch me the supplement enabling query for many tables

  • SQL Server - Extract Error - OGG-00868  Supplemental logging is disabled

    Hello,
    We are trying to replicate from a SQL Server 2008 database to Oracle database, but when trying to start the extract process we are getting the following error message:
    OGG-00868 Supplemental logging is disabled for database 'GoldenGate'. To enable logging, perform the following: 1) Set 'trunc. log on chkpt.' to false. 2) Create a full backup of the database. Please refer to the "Oracle GoldenGate For Windows and UNIX Administration Guide" for details.
    I have read that for enabling the supplemental logging is enough to "add trandata table_name", and this is done, and the extract process we are using is the following:
    EXTRACT cap_or4
    SOURCEDB GoldenGate
    TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT
    EXTTRAIL c:\GoldenGate\V28983-01-GG-111112-SQLServer-Windows-x64\dirdat\C4
    TABLE GoldenGate.dbo.DES_T1;
    And the 'trunc.log on chkpt' is set to false.
    We don’t know what else to do, or to check... does anyone have any idea?!
    Thank you very much, best regards,
    Araitz.-

    Have you followed all the process for installing as per the guide? clearly you missed something
    Please follow below steps.
    Installation & Configuration of Oracle GoldenGate for MS SQL Server:
    Pre-requisites:
    1.Change Data Capture (CDC) must be enabled for Oracle GoldenGate and will be enabled by Oracle GoldenGate by means of the ADD TRANDATA command.
    2.SQL Server source database must be set to use the full recovery model.
    3.Oracle GoldenGate does not support system databases.
    4.After the source database is set to full recovery, a full database backup must be taken.
    5.SQL Server 2008 ODBC/OLE DB: SQL Server Native Client 10.0 driver
    6.Oracle GoldenGate processes can use either Windows Authentication or SQL Server Authentication to connect to a database.
    7.Before installing Oracle GoldenGate on a Windows system, install and configure the Microsoft Visual C ++ 2005 SP1 Redistributable Package. Make certain it
    is the SP1 version of this package, and make certain to get the correct bit version for your server. This package installs runtime components of Visual C++
    Libraries. For more information, and to download this package, go to http://www.microsoft.com.
    Privileges:
    1.Required SQL Server privileges for Manager when using Windows authentication
    Extract(source system)
    BUILTIN\Administrators account must be a member of the SQL Server fixed server role System Administrators.
    Account must be a member of the SQL Server fixed server role System Administrators
    Replicat (target system)
    BUILTIN\Administrators account must be at least a member of the db_owner fixed database role of the target database.
    Account must be at least a member of the db_owner fixed database role of the target database.
    2.Required SQL Server privileges for Extract and Replicat when using SQL Server authentication
    Extract - Member of the SQL Server fixed server role System Administrators.
    Replicat - At least a member of the db_owner fixed database role of the target database.
    Downloading Oracle GoldenGate
    Download the appropriate Oracle GoldenGate build to each system that will be part of the Oracle GoldenGate configuration.
    1. Navigate to http://edelivery.oracle.com.
    2. On the Welcome page:
    --Select your language.
    --Click Continue.
    3. On the Export Validation page:
    --Enter your identification information.
    --Accept the Trial License Agreement (even if you have a permanent license).
    --Accept the Export Restrictions.
    --Click Continue.
    4. On the Media Pack Search page:
    --Select the Oracle Fusion Middleware Product Pack.
    --Select the platform on which you will be installing the software.
    --Click Go.
    5. In the Results List:
    --Select the Oracle GoldenGate Media Pack that you want.
    --Click Continue.
    6. On the Download page:
    --Click Download for each component that you want. Follow the automatic download
    process to transfer the mediapack.zip file to your system.
    Installing the Oracle GoldenGate files
    1. Unzip the downloaded file(s) by using WinZip or an equivalent compression product.
    2. Move the files in binary mode to a folder on the drive where you want to install Oracle GoldenGate. Do not install Oracle GoldenGate into a folder that contains spaces in its name, even if the path is in quotes. For example:
    C:\“Oracle GoldenGate” is not valid.
    C:\Oracle_GoldenGate is valid.
    3. From the Oracle GoldenGate folder, run the GGSCI program.
    4. In GGSCI, issue the following command to create the Oracle GoldenGate working
    directories.
    CREATE SUBDIRS
    a.Create the necessary working directories for GG.
    Source DB:
    GGSCI>create subdirs
    Target DB:
    GGSCI>create subdirs
    Install the GoldenGate Manager process
    1.Create a GLOBALS parameter file
    --Execute the following commands from the <install location>.
    GGSCI> EDIT PARAMS ./GLOBALS
    --In the text editor, type the following:
    MGRSERVNAME <mgr service>
    Using a GLOBALS file in each GoldenGate instance allows you to run multiple Managers as services on Windows. When the service is installed, the Manager name
    is referenced in GLOBALS, and this name will appear in the Windows Services control panel.
    Note! Check to ensure that the GLOBALS file has been added in the GoldenGate installation directory and that it does not have an extension.
    --Execute the following command to exit GGSCI.
    GGSCI> EXIT
    2. Install the Manager service
    Execute the following command to run GoldenGate’s INSTALL.EXE . This executable installs Manager as a Windows service and adds GoldenGate events to the
    Windows Event Viewer.
    Shell> INSTALL ADDSERVICE ADDEVENTS
    Note: Adding the Manager as a service is an optional step used when there are multiple environments on the same system or when you want to control the name
    of the manager for any reason.
    Configuring an ODBC connection
    A DSN stores information about how to connect to a SQL Server database through ODBC (Open Database Connectivity). Create a DSN on each SQL Server source
    and target system.
    NOTE: Replicat will always use ODBC to query the target database for metadata.
    To create a SQL Server DSN
    1. Run one of the following ODBC clients:
    --If using a 32-bit version of Oracle GoldenGate on a 64-bit system, create the DSN by running the ODBCAD32.EXE client from the %SystemRoot%\SysWOW64
    folder.
    --If using a 64-bit version of Oracle GoldenGate on a 64-bit system, create a DSN by running the default ODBCAD32.EXE client in Control Panel>Administrative
    Tools>Data Sources (ODBC).
    --If using a version of Oracle GoldenGate other than the preceding, use the default ODBC client in Control Panel>Administrative Tools>Data Sources (ODBC).
    2. In the ODBC Data Source Administrator dialog box of the ODBC client, select the System DSN tab, and then click Add.
    3. Under Create New Data Source, select the correct SQL Server driver as follows:
    --SQL Server 2000: SQL Server driver
    --SQL Server 2005: SQL Native Client driver
    --SQL Server 2008: SQL Server Native Client 10.0 driver
    4. Click Finish. The Create a New Data Source to SQL Server wizard is displayed.
    5. Supply the following:
    --Name: Can be of your choosing. In a Windows cluster, use one name across all nodes in the cluster.
    --Server: Select the SQL Server instance name.
    6. Click Next.
    7. For login authentication, select With Windows NT authentication using the network login ID for Oracle GoldenGate to use Windows authentication, or select
    With SQL Server authentication using a login ID and password entered by the user for Oracle GoldenGate to use database credentials. Supply login information
    if selecting SQL Server authentication.
    8. Click Next.
    9. If the default database is not set to the one that Oracle GoldenGate will connect to,
    click Change the default database to, and then select the correct name. Set the other
    settings to use ANSI.
    10. Click Next.
    11. Leave the next page set to the defaults.
    12. Click Finish.
    13. Click Test Data Source to test the connection.
    14. Close the confirmation box and the Create a New Data Source box.
    15. Repeat this procedure from step 1 on each SQL Server source and target system.
    Setting the database to full recovery model
    Oracle GoldenGate requires a SQL Server source database to be set to the full recovery model.
    To verify or set the recovery model
    1. Connect to the SQL Server instance with either Enterprise Manager for SQL Server 2000 or SQL Server Management Studio for SQL Server 2005 and 2008.
    2. Expand the Databases folder.
    3. Right-click the source database, and then select Properties.
    4. Select the Options tab.
    5. Under Recovery, set Model to Full if not already.
    6. If the database was in Simple recovery or never had a Full database backup, take a Fulldatabase backup before starting Extract.
    7. Click OK.
    Enabling supplemental logging
    These instructions apply to new installations of Oracle GoldenGate for all supported SQL Server versions. You will enable supplemental logging with the ADD
    TRANDATA command so that Extract can capture the information that is required to reconstruct SQL operations on the target. This is more information than
    what SQL Server logs by default.
    --SQL Server 2005 updated to CU6 for SP2 or later: ADD TRANDATA calls the sys.sp_extended_logging stored procedure.
    --SQL Server 2005 pre-CU6 for SP2: ADD TRANDATA creates the following:
    A replication publication named [<source database name>]: GoldenGate<source database name> Publisher. To view this publication, look under Replication>Local
    Publications in SQL Server Management Studio. This procedure adds the specified table to the publication as an article.
    A SQL Server Log Reader Agent job for the publication. This job cannot run concurrently with an Extract process in this configuration.
    --SQL Server 2008: ADD TRANDATA enables Change Data Capture (CDC) and creates a minimal Change Data Capture on the specified table.
    a.Oracle GoldenGate does not use the CDC tables other than as necessary to enablesupplemental logging.
    b.As part of enabling CDC, SQL Server creates two jobs per database: <dbname>_capture and <dbname>_cleanup. The <dbname>_capture job adjusts the secondary
    truncation point and captures data from the log to store in the CDC
    tables. The <dbname>_cleanup job ages and deletes data captured by CDC.
    c.Using the TRANLOGOPTIONS parameter with the MANAGESECONDARYTRUNCATIONPOINT option for Extract removes the <dbname_capture> job, preventing the overhead of
    the job loading the CDC tables.
    d.The alternative (using TRANLOGOPTIONS with NOMANAGESECONDARYTRUNCATIONPOINT) requires the SQL Server Agent to be running and requires the <dbname>_capture and <dbname>_cleanup jobs to be retained. You will probably need to adjust the <dbname>_cleanup data retention period if the default of three days is not acceptable for storage concerns.
    To enable supplemental logging
    1. On the source system, run GGSCI.
    2. Log into the database from GGSCI.
    DBLOGIN SOURCEDB <DSN>[, USERID <user>, PASSWORD <password>]
    Where:
    -- SOURCEDB <DSN> is the name of the SQL Server data source.
    -- USERID <user> is the Extract login and PASSWORD <password> is the password that is required if Extract uses SQL Server authentication.
    3. In GGSCI, issue the following command for each table that is, or will be, in the Extract configuration. You can use a wildcard to specify multiple table
    names, but not owner names.
    ADD TRANDATA <owner>.<table>
    NOTE:The Log Reader Agent job cannot run concurrently with the GoldenGate Extract process.
    4.Configuration
    a.Create and start manager on the source and the destination.
    Source DB:
    shell>ggsci
    GGSCI> edit params mgr
    PORT 7809
    DYNAMICPORTLIST 7900-7950
    DYNAMICPORTREASSIGNDELAY 5
    AUTOSTART ER *
    AUTORESTART ER *, RETRIES 3, WAITMINUTES 5, RESETMINUTES 30
    LAGCRITICALMINUTES 60
    LAGREPORTMINUTES 30
    PURGEOLDEXTRACTS c:\ogg\dirdat\T*, USECHECKPOINTS, MINKEEPFILES 10
    GGSCI> start manager
    GGSCI>info all
    b. Create the extract group on the source side:
    GGSCI> edit params EXT1
    Add the following lines to the new parameter file
    EXTRACT EXT1
    SOURCEDB <DSN>, USERID ogg, PASSWORD ogg@321!
    TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT
    EXTTRAIL c:\ogg\dirdat\T1
    DISCARDFILE c:\ogg\dirrpt\EXT1.DSC, PURGE, MEGABYTES 100
    TABLE dbo.TCUSTMER;
    TABLE dbo.TCUSTORD;
    GGSCI>ADD EXTRACT EXT1, TRANLOG, BEGIN NOW
    GGSCI>ADD EXTTRAIL c:\ogg\dirdat\T1, EXTRACT EXT1, MEGABYTES 100
    GGSCI> edit params PMP1
    Add the following lines to the new parameter file
    EXTRACT PMP1
    SOURCEDB <DSN>, USERID ogg, PASSWORD ogg@321!
    PASSTHRU
    RMTHOST dr, MGRPORT 7810
    RMTTRAIL c:\ogg\dirdat\P1
    TABLE dbo.TCUSTMER;
    TABLE dbo.TCUSTORD;
    GGSCI> ADD EXTRACT PMP1, EXTTRAILSOURCE c:\ogg\dirdat\T1
    GGSCI> ADD EXTTRAIL c:\ogg\dirdat\P1, EXTRACT PMP1, MEGABYTES 100
    Target DB:
    ===========
    shell>ggsci
    GGSCI> edit params mgr
    PORT 7810
    AUTOSTART ER *
    AUTORESTART ER *, RETRIES 3, WAITMINUTES 5, RESETMINUTES 30
    LAGCRITICALMINUTES 60
    LAGREPORTMINUTES 30
    PURGEOLDEXTRACTS c:\ogg\dirdat\P*, USECHECKPOINTS, MINKEEPFILES 10
    GGSCI> start manager
    GGSCI>info all
    Create parameter file for replicat:
    GGSCI> edit params REP1
    REPLICAT REP1
    ASSUMETARGETDEFS
    TARGETDB <dsn>, USERID ogg@DR, PASSWORD ogg@321!
    DISCARDFILE c:\ogg\dirrpt\REP1.DSC, append, megabytes 100
    HANDLECOLLISIONS
    ASSUMETARGETDEFS
    MAP dbo.TCUSTMER, TARGET dbo.TCUSTMER;
    MAP dbo.TCUSTORD, TARGET dbo.TCUSTORD;
    GGSCI>ADD REPLICAT REP1, RMTTRAIL c:\ogg\dirdat\P1, nodbcheckpoint
    # Start extract and replicat:
    Source:
    GGSCI> start er *
    Destination:
    GGSCI> start er *Greetings,
    N K

  • What is the overhead of Supplemental Logging?

    We would like to copy data from a 600 GB Oracle database (9i) to a separate database for reporting. We want to use Data Guard in Logical Standby mode. The source database is heavily used and we can't afford a significant increase in system load (e.g. I/O activity) on that system.
    To set up a Logical Standby, we need to put the JD Edwards database into Supplemental Logging mode. I am concerned that this will noticibly increase the load on the source server.
    Has anyone analyzed the additional overhead of Supplemental Logging?
    I have done some testing using Oracle 10.2 (Oracle XE on my computer) which indicates that when I turn on Supplemental Logging, the size of the archive logs grows by 40%. I have not yet tested this on our 9i database.
    Thank you in advance for your help!
    Best Regards,
    Mike
    =================================
    The code below demonstrates the symptoms mentioned above:
    RESULTS - size of archive logs generated:
    - With Supplemental Logging: 120 MB
    - Without: 80 MB
    =================================
    CREATE TABLE "EMP"
    (     "EMPLOYEE_ID" NUMBER(6,0),
         "FIRST_NAME" VARCHAR2(20),
         "LAST_NAME" VARCHAR2(25) NOT NULL ENABLE,
         "EMAIL" VARCHAR2(25) NOT NULL ENABLE,
         "PHONE_NUMBER" VARCHAR2(20),
         "HIRE_DATE" DATE NOT NULL ENABLE,
         "JOB_ID" VARCHAR2(10) NOT NULL ENABLE,
         "SALARY" NUMBER(8,2),
         "COMMISSION_PCT" NUMBER(2,2),
         "MANAGER_ID" NUMBER(6,0),
         "DEPARTMENT_ID" NUMBER(4,0)
    alter table emp add CONSTRAINT "EMP_EMP_ID_PK" PRIMARY KEY ("EMPLOYEE_ID")
    CREATE TABLE "STAT"
    (     "F1" NUMBER,
         "ID" VARCHAR2(10)
    The "employee" table is from Oracle XE samples
    The procedure below generates transactions to test archive log size.
    To run, put the database in archive log mode. Then pop an archive log by executing
    ALTER SYSTEM ARCHIVE LOG CURRENT;
    To flip between running with Supplemental Logging, use one of:
    ALTER DATABASE drop SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE INDEX) COLUMNS;
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE INDEX) COLUMNS;
    declare
    i number;
    begin
    i := 0;
    while i < 1000
    loop
    delete from emp;
    insert into emp select * from employees;
    update emp set COMMISSION_PCT = COMMISSION_PCT * .5;
    update stat set f1 = i where id = 'UPD';
    commit;
    if i mod 1000 = 0 then
    dbms_output.put_line(i);
    end if;
    i := i + 1;
    end loop;
    end;
    /***********************************************/

    Unless the bottleneck of your system is related in any way to the redo log files, I don't see any risk in generating supplemental logging. A good way to find out is to look at a Statspack report, and see which events are the top 5 time-wise.
    Daniel

  • ORA-00313: open failed for members of log group 4 of thread 2

    Hi.
    i have found the below error in one of RAC instance.Could you please advise on this since i am new to RAC env
    ORA-00313: open failed for members of log group 4 of thread 2
    ORA-00312: online log 4 thread 2: '+NEWDISK_GROUP/DEMO/onlinelog/group_4.1453.1029312423'
    ORA-17503: ksfdopn:2 Failed to open file +NEWDISK_GROUP/DEMO/onlinelog/group_4.1453.1029312423
    ORA-15032: not all alterations performed
    ORA-29702: error occurred in Cluster Group Service operation
    ORA-29702: error occurred in Cluster Group Service operation
    Thanks
    Sai

    any update on this?

  • Confused about standby redo log groups

    hi masters,
    i am little bit confuse about creating redo log group for standby database,as per document number of standby redo group depends on following equation.
    (maximum number of logfiles for each thread + 1) * maximum number of threads
    but i dont know where to fing threads? actually i would like to know about thread in deep.
    how to find current thread?
    thanks and regards
    VD

    is it really possible that we can install standby and primary on same host??
    yes its possible and i have done it many times within the same machine.
    For yours confusion about spfile ,i agree document recommend you to use spfile which is for DG broker handling if you go with DG borker in future only.
    There is no concern spfile using is an integral step for primary and standby database implementation you can go with pfile but good is use spfile.Anyhow you always keep pfile on that basis you created spfile,i said you make an entry within pfile then mount yours standby database with this pfile or you can create spfile from this pfile after adding these parameter within pfile,i said cause you might be adding this parmeter from SQL prompt.
    1. logs are not getting transfered(even i configure listener using net manager)
    2.logs are not getting archived at standby diectory.
    3.'ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION' NEVER COMPLETE ITS RECOVERY
    4. when tried to open database it always note it 'always' said system datafile is not from sufficiently old backup.
    5.i tried 'alter database recover managed standby database camncel' also.Read yours alert log file and paste the latest log here..
    Khurram

  • Standby redo log group for particular thread

    hi masters,
    actually i am performing an experiment to create physical standbyt database on the same machine as my primary database.
    i ma going according to 'data guard admin guide'. while section for ading standby redo log group,it says that you have to add standby redo log group to "thread"....
    what is this thread? and how can i foind to which thread i have to assign the next redo log group??
    how can i find current thread??
    what if i dont add "to thread' clause in my statement:-
    ALTER DATABASE ADD STANDBY LOGFILE THREAD 5
    2> ('/oracle/dbs/log1c.rdo','/oracle/dbs/log2c.rdo') SIZE 500M;
    thanks and regards
    VD

    Vikrant,
    First a question: Do you have a RAC instance? If so the paragraph even doesn't apply to you and I'm not sure why you are questioning it.
    Secondly
    "The THREAD clause is required only if you want to add one or more standby redo log
    file groups to a specific primary database thread. If you do not include the THREAD
    clause and the configuration uses Real Application Clusters (RAC), Data Guard will
    automatically assign standby redo log file groups to threads at runtime as they are
    needed by the various RAC instances."
    this means you dont have to specify thread for RAC,as it will allocate one according to current thread.
    Your conclusion is incorrect.
    Where do you read the word 'current'?
    Oracle will likely simply make sure each instance has sufficient standby redolog groups, the requirement is 1 standby redolog group per group + 1 extra.
    Sybrand Bakker
    Senior Oracle DBA

  • ORA-00313: open failed for members of log group 1 of thread 1

    Hi
    I'm restoring a database on a different host. I have the backups, from which I want to restore the database. I made the corresponding changes in the initSID.ora file and started the script to do the restore.These are the steps I followed:
    connect target=/
    run{
    startup nomount;
    allocate channel c1 type disk;
    allocate channel c2 type disk;
    allocate channel c3 type disk;
    allocate channel c4 type disk;
    restore controlfile from '/tmp_backups/rman/lev0_open_cf_SID_2826_1';
    alter database mount;
    set newname for all datafiles
    restore database;
    set until logseq = 29317 thread = 1;
    switch datafile all;
    recover database;
    alter database open resetlogs;
    One mistake I made here is that logseq should have been last seq+1, which I did not do. I have it as last seq.
    Restore of datafiles and switching of datafiles was fine. But I get error for redo log files.
    ORA-00313: open failed for members of log group 1 of thread 1
    ORA-00312: online log 1 thread 1: '/u13/oradata/SID/redo02a.log'
    ORA-27037: unable to obtain file status
    SVR4 Error: 2: No such file or directory
    Additional information: 3
    Why is it looking for at the old path yet?
    I'm not sure what I missed and how to proceed. Please help.
    Thanks,
    Mamata

    I do believe that set newname for all datafiles only means actual datafiles and no redo logs. So with open resetlogs, Oracle tries to create new redo logfiles where the backup controlfiles says they are.
    As with creating a auxilliary database in another filesystem, we use DB_NAME_FILE_CONVERT and LOG_FILE_NAME_CONVERT.
    I am not sure if it is possible to type "set newname for all datafiles" and expect also the redo logfiles to change location.
    You might try to set these two parameters and see if it works.
    good luck.
    rgds
    Kjell Ove

  • ORA-00313: open failed for members of log group 3 of thread 1

    Whenever I try to login as a user I get the following:
    sqlplus user/user
    SQL*Plus: Release 10.2.0.2.0 - Production on Fri Nov 9 10:43:39 2007
    Copyright (c) 1982, 2005, Oracle. All Rights Reserved.
    ERROR:
    ORA-01033: ORACLE initialization or shutdown in progress
    So It occurs to me to login as sysdba and restart the DB …
    SQL> connect sys/manager as sysdba
    Connected.
    SQL> shutdown immediate;
    ORA-01109: database not open
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup
    ORACLE instance started.
    Total System Global Area 536870912 bytes
    Fixed Size 1281264 bytes
    Variable Size 150995728 bytes
    Database Buffers 377487360 bytes
    Redo Buffers 7106560 bytes
    Database mounted.
    ORA-00313: open failed for members of log group 3 of thread 1
    ORA-00312: online log 3 thread 1: '/u06/oradata/RKDB/redo03.log'
    ORA-27037: unable to obtain file status
    Intel SVR4 UNIX Error: 2: No such file or directory
    Additional information: 3
    SQL> quit
    I now realized what happened and how this happened. During a clean-up effort this file was accidentally deleted and unfortunately we don’t have any backups.
    I am willing to lose the data. Is there something I can do so that the startup does not try to open this file ?
    All I am able to do now is to mount the database but not open it.
    Thanks in advance,
    Daniel

    this is what I get now ...
    SQL> alter database open resetlogs;
    alter database open resetlogs
    ERROR at line 1:
    ORA-01194: file 1 needs more recovery to be consistent
    ORA-01110: data file 1: '/u02/oradata/RKDB/system01.dbf'
    SQL> Recover database until cancel;
    ORA-00279: change 608619 generated at 11/09/2007 10:00:41 needed for thread 1
    ORA-00289: suggestion : /u05/oradata/RKDB/arch/log1_33_633207859.arc
    ORA-00280: change 608619 for thread 1 is in sequence #33
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    ORA-00308: cannot open archived log
    '/u05/oradata/RKDB/arch/log1_33_633207859.arc'
    ORA-27037: unable to obtain file status
    Intel SVR4 UNIX Error: 2: No such file or directory
    Additional information: 3
    ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
    ORA-01194: file 1 needs more recovery to be consistent
    ORA-01110: data file 1: '/u02/oradata/RKDB/system01.dbf'
    SQL> alter database open resetlogs;
    alter database open resetlogs
    ERROR at line 1:
    ORA-01194: file 1 needs more recovery to be consistent
    ORA-01110: data file 1: '/u02/oradata/RKDB/system01.dbf'
    SQL>

  • Supplemental logging

    Hi,
    Presently we copy prod tables into reporting database using Mviews and they work like a charm, there are couple of problems with this setup we have right now one being it is not feasible when we keep adding/altering 20-30 tables every release, dropping/recreating the mlogs/mviews, secondly during the busy season the mview refresh data takes a very long time copying changes as there are just too much data to move around.
    Looks like people are not liking this delay in copying the tables, not often couple of times every month. so we are planning to implement logical standby, we already have a physical standby.
    After reading Oracle docs for some reason I get the feeling that supplemental logging is going to dump so much redo that it might eventually effect production performance, can this happen?
    and also in our database we have several history tables that don't have either primary keys or unique keys, in which can I will have to enable supplemental logging for ALL columns at least for those tables.
    does anyone had a similar situation and if so...does it make sense to go with logical standby or use streams instead ofcourse they both use the same technology?..
    please I need some insights into which might work best in my case..
    We are running Oracle 10.2.0.3 on RHEL5.
    Thanks,
    Ramki

    Thanks Justin!
    1) While generally I'd certainly rather deal with a logical standby than a bunch of >>materialized views if your reporting database needs to have most or all the tables in
    the production database Pretty much we copy all the tables over to reporting with fast refreshable mviews and we have a 100m line between prod and reporting which will eventually be moved to GIG network in fall, so this will not be a bottleneck any more.
    it is not obvious to me why that should substantially reduce the amount of data that >>needs to be moved around. it really doesn't matter whether the changes are coming >>via logical change records or MV log entries-- it's going to be roughly the same >>amount of change data flowing over.But with logical standby there is no additional I/O happening on the prod to figure out what has changed/updated/deleted when trying to refresh the reporting database using MLOGS.
    when you have 6 million changed rows sitting the MLOGS to be copied over to reporting all the additional I/O required on prod to get these rows over is minimized when using logical standby as everything happens on reporting, like looking for LCR's in the redo logs that are copied over?.
    2) Supplemental logging does increase redo volume a bit, so if you have an I/O bound >>source database, adding additional redo could certainly affect performance. Of >>course, you're also getting rid of the redo generated by writing to MV logs, so it may >>be a wash.that's a good point, so additional redo generated by supplemental logging will be offset by no redo being generated by writing into MLOGS.
    Is there a reason that you have history tables without a primary key? It may be >>substantially easier to add a primary key that just gets populated via a sequence >>than to supplementally log every column in the table. Of course, it may only matter if >>you update history table rows.Application only inserts into these history tables and never updates and these are not queried within the application, some of them are but they have primary keys but not all.
    So when we don't have PK or UK available on these tables do we need to enable supplemental logging for all columns on these tables or can we do minimal supplemental logging at the database level and do table level supp logging.
    I am still unable to get the whole picture on how this supp logging works for the tables that don't have any means to identify rows uniquely, does it write the whole rows to the redo, if so does this mean more redo gets generated in doing so?.
    I am doing a POC right now, but as usual I cannot really replay all the things that are happening in production on this test database (I wish I was running 11g).
    Thanks,
    Ramki

  • After increasing redo log groups we are getting given alerts continvously

    earlier having 6 redo log groups with 32 MB.but 7 days back our database was hangs .no one was able to login into sqlplus except sys user ,but not able to perform any dml operation.after rebooting our 2-node RAC instances it was running fine nearly about 6-7 hrs and again hangs.we did 4-5 times and same thing happend again and again.so we had added more redo logs of 100 MB size and removed previous one.then our hangs problem resolved but continvously getting given things in alert logs for both RAC instances(9.2.0.8).our os is linux
    {color:#ff0000}Wed Dec 3 05:04:31 2008
    ARC1: Completed archiving log 15 thread 1 sequence 282036
    ARC1: Evaluating archive log 17 thread 1 sequence 282037
    ARC1: Unable to archive log 17 thread 1 sequence 282037
    Log actively being archived by another process
    ARC1: Evaluating archive log 13 thread 1 sequence 282038
    ARC1: Beginning to archive log 13 thread 1 sequence 282038
    Creating archive destination LOG_ARCHIVE_DEST_2: 'SBMEMS'
    Creating archive destination LOG_ARCHIVE_DEST_1: '/MemsArchive/0001_0000282038.arc'
    Wed Dec 3 05:04:31 2008
    Thread 1 advanced to log sequence 282040
    Current log# 15 seq# 282040 mem# 0: /MemsRedoA/redo15_1.log
    Current log# 15 seq# 282040 mem# 1: /MemsRedoB/redo15_2.log
    Wed Dec 3 05:05:21 2008
    ARC1: Completed archiving log 13 thread 1 sequence 282038
    ARC1: Evaluating archive log 17 thread 1 sequence 282037
    {color}{color:#ff0000}*ARC1: Unable to archive log 17 thread 1 sequence 282037*
    Log actively being archived by another process
    ARC1: Evaluating archive log 18 thread 1 sequence 282039
    ARC1: Beginning to archive log 18 thread 1 sequence 282039
    Creating archive destination LOG_ARCHIVE_DEST_2: 'SBMEMS'
    Creating archive destination LOG_ARCHIVE_DEST_1: '/MemsArchive/0001_0000282039.arc'
    Wed Dec 3 05:05:21 2008
    ARC0: Completed archiving log 17 thread 1 sequence 282037
    ARC0: Evaluating archive log 18 thread 1 sequence 282039
    ARC0: Unable to archive log 18 thread 1 sequence 282039
    Log actively being archived by another process
    ARC0: Evaluating archive log 18 thread 1 sequence 282039
    {color}{color:#ff0000}*ARC0: Unable to archive log 18 thread 1 sequence 282039*
    Log actively being archived by another process
    ARC0: Evaluating archive log 18 thread 1 sequence 282039
    {color}{color:#ff0000}*ARC0: Unable to archive log 18 thread 1 sequence 282039*
    Log actively being archived by another process
    ARC0: Evaluating archive log 18 thread 1 sequence 282039
    ARC0: Unable to archive log 18 thread 1 sequence 282039
    Log actively being archived by another process
    ARC0: Evaluating archive log 18 thread 1 sequence 282039
    ARC0: Unable to archive log 18 thread 1 sequence 282039
    Log actively being archived by another process
    ARC0: Evaluating archive log 18 thread 1 sequence 282039
    ARC0: Unable to archive log 18 thread 1 sequence 282039
    Log actively being archived by another process
    Wed Dec 3 05:05:49 2008
    ARC1: Completed archiving log 18 thread 1 sequence 282039
    Wed Dec 3 09:01:02 2008
    Thread 1 advanced to log sequence 282041
    Current log# 17 seq# 282041 mem# 0: /MemsRedoA/redo17_1.log
    Current log# 17 seq# 282041 mem# 1: /MemsRedoB/redo17_2.log
    Wed Dec 3 09:01:02 2008
    ARC1: Evaluating archive log 15 thread 1 sequence 282040
    ARC1: Beginning to archive log 15 thread 1 sequence 282040
    Creating archive destination LOG_ARCHIVE_DEST_2: 'SBMEMS'
    Creating archive destination LOG_ARCHIVE_DEST_1: '/MemsArchive/0001_0000282040.arc'
    Wed Dec 3 09:01:29 2008
    ARC0: Evaluating archive log 15 thread 1 sequence 282040
    {color}{color:#ff0000}*ARC0: Unable to archive log 15 thread 1 sequence 282040*
    Log actively being archived by another process
    Wed Dec 3 09:01:37 2008
    ARC1: Completed archiving log 15 thread 1 sequence 282040
    {color}ORADB1:MEMS1:oracle$
    please suggest solution for this.
    Thanks

    As Sybrand pointed out, this msg can be ignored. It clearly states that a given arch process cannot archive a given redo because that redo is already being handled by a different arch process. If you follow your alert log a little further, you'll see that the referenced thread is eventually completed.
    I'd be curious to see the alert log from when you were locked up and only sysdba could log on. See what led you to believe that adding more redo log groups would solve your problem.

Maybe you are looking for

  • Space at the end of a word

    Hello, Is there a way to recognize space sign at the end of a sentence? The meaning of that is that there is a word that somebody typed at the end of the sentence and after that pushed the space bar . When looking at the text inside the sap system th

  • Display a series in chart conditional

    Dear all, I created a new chart region and this chart I created 6 series. I created 6 flags to tell which series to display. Is it possible to add a condition in a series to tell if we want to display or not. I can put it in the select, the line is n

  • Emails sitting in Outbox - delay sending being set to 17:00 by default

    I am using Outlook and Exchange 2010 on a SBS server, emails from two users are not being sent, i.e they are sitting in the Outbox. On closer inspection the delay sending time is set to 17:00. If this is removed the email goes. I believe this is a pr

  • Why does my app keep closing?

    Several of our applications keep closing right after they get initiated.  Does anybody know why this happens and how to fix it?

  • Playback of repeats in score editor

    Is there any way to have Logic intelligently follow the repeats indicated in the score editor during playback? DP, even though the score editor *****, has a way to do this. One of the main reasons I switched to Logic was so that I wouldn't have to ex