RAC & Failsafe :: Differences Of Enabling Thread As Public Or Private?
Aug 25, 2012
differences of enabling thread as public or private?
lets assume that i have two threads (1, 2) for two instances (1, 2) and each of thread consists of 2 redolog groups - minimum configuration.in case i need add third node i need third thread.
what will be difference if i set this thread as public instead private?
OS: oel6.3 - 2.6.39-300.17.2.el6uek.x86_64 Grid and DB: 11.2.0.3.4
This is a two node Standard Edition cluster.
The node crashes upon restart of clusterware after following the instructions from note:751343.1 (RAC Support for RDS Over Infiniband) to enable RDS. The cluster is running fine using ipoib for the cluster_interconnect.
1) As the ORACLE_HOME/GI_HOME owner, stop all resources (database, listener, ASM etc) that's running from the home. When stopping database, use NORMAL or IMMEDIATE option.
2) As root, if relinking 11gR2 Grid Infrastructure (GI) home, unlock GI home: GI_HOME/crs/install/rootcrs.pl -unlock
3) As the ORACLE_HOME/GI_HOME owner, go to ORACLE_HOME/GI_HOME and cd to rdbms/lib
4) As the ORACLE_HOME/GI_HOME owner, issue "make -f ins_rdbms.mk ipc_rds ioracle"
5) As root, if relinking 11gR2 Grid Infrastructure (GI) home, lock GI home: GI_HOME/crs/install/rootcrs.pl -patch
Looks to abend when asm tries to start with the message below on the console. I have a service request open for this issue but
kernel BUG at net/rds/ib_send.c:547! invalid opcode: 0000 [#1] SMP CPU 2
GROUP# THREAD# MEMBER ARCHIVED STATUS MB 1 1 +DATA01/mydb/redolog_group1_member1 NO INACTIVE 1536 1 1 +DATA01/mydb/redolog_group1_member2 NO INACTIVE 1536 2 1 +DATA01/mydb/redolog_group2_member2 NO CURRENT 1536 2 1 +DATA01/mydb/redolog_group2_member1 NO CURRENT 1536 3 1 +DATA01/mydb/redolog_group3_member2 NO INACTIVE 1536 3 1 +DATA01/mydb/redolog_group3_member1 NO INACTIVE 1536Tue Jul 10 18:37:48 2012 [code]....
Could an increase on the redo log file sizes solve this problem? Unfortunately I do not have a test platform, where I could have tested this.
As stated in "Determining which Oracle database session is being used by a specific Siebel user session [ID 863771.1]":
On the Oracle database side, you can query the V$SESSION table (make sure you are logged in as the tableowner) using the following WHERE clause format:
WHERE PROCESS='XXXX:YYYY'
XXXX = Server PID YYYY = Thread ID
So querying v$session, sessions opened by windows clients have in the PROCESS column values like "12345:876", where 12345=process id and 876=thread id.
Our application servers are installed in AIX, which is also multithreaded, but in the PROCESS column only process id is stored. Is there any way to find thread id?
I encountered error ORA-00338 while performing incomplete database recovery:
ORA-00283: recovery session canceled due to errors ORA-00338: log 3 of thread 1 is more recent than control file ORA-00312: online log 3 thread 1: '+DG_REDO/dbase/onlinelog/group_3.267.814820795' Recovery Manager complete.
I performed this recovery on oracle 10g, ASM database.
1. What are possible causes behind this error ORA-00338 ?
2. This error occurs at the start of media recovery, while RMAN is applying archived logs. So does RMAN apply "online REDO" logs after applying "archived" logs required for recovery or before them ?
3. How does rman come to know that online log 3 is more recent than control file ? How can I get scn of online log & control file in my environment ?
Following are few details related to checkpoint scn/change# info. I found in my environment..Before recovery:
While starting up my database i am getting this error.by mistake i had moved log files, and after some time again i inserted those log files again into same directory i am getting this error.
When i open the primary database in my dataguard env,it raise error?
SQL> alter database open; alter database open * ERROR at line 1: ORA-00314: log 1 of thread 1, expected sequence# 77 doesn't match 0 ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/oracl/redo01.log'
Both are having same tables but with diffrent data. I want to write a generic code piece for a table to get that diffrences out, it can be for multiple tables. There will be a DB link between two DB.
3. What the appropriate situation for CAT and TAB?
sys@ORCL> desc cat Name Null? Type ----------------------------------------------------- -------- ------------------------------------ TABLE_NAME NOT NULL VARCHAR2(30) TABLE_TYPE VARCHAR2(11)
sys@ORCL> desc tab Name Null? Type ----------------------------------------------------- -------- ------------------------------------ TNAME NOT NULL VARCHAR2(30) TABTYPE VARCHAR2(7) CLUSTERID NUMBER
sys@ORCL> select * from dict where table_name='CAT';
TABLE_NAME COMMENTS ---------- ----------------------------------- CAT Synonym for USER_CATALOG
sys@ORCL> select * from dict where table_name='USER_CATALOG';
TABLE_NAME COMMENTS -------------------- ----------------------------------------------------------------- USER_CATALOG Tables, Views, Synonyms and Sequences owned by the user
I have exported and imported a schema from one server to another. In the source schema, I have a public synonym. I do not know the name of that synonym. In the destination schema, the public synonym is missing. How to create the public synonym which is missing in the destination database? In the source, I queried dba_synonyms, all_synonyms... but it returns no rows selected.
I have an existing form which i need to customize..In the form in the query block whatever strings we enter..and press the search button..it sets the where clause and use execute query.which populates the detail block which is read only and only 1 column is enabled.
For the Enabled column X I need to enable a button.It has to be done only if the cursor go in the column X
The above SQL statement will enable the constraint with out validating for the existing information. So there is possibility of data will be there only in the child table but not in the parent table for existing information.
But in the future it will not allow to do so,if the constraint is in ENABLE staus.So i am just trying to disable the constraint to insert only into child table & trying to enable it with NOVALIDATE option .
But the following exception is coming .
SQL> alter table scott.emp ENABLE constraint fk_deptno enable NOVALIDATE;
alter table scott.emp ENABLE constraint fk_deptno enable NOVALIDATE
ORA-00905: missing keyword
SQL> alter table scott.emp ENABLE constraint fk_deptno NOVALIDATE;
alter table scott.emp ENABLE constraint fk_deptno NOVALIDATE
ORA-00933: SQL command not properly ended
Instead of dropping & recreating the same constraint , is there any alternate way to do this ?
I developed a custom form upon which I developed a query find block to query the data on the main form. I have WHO columns in the table and referencing them in the main form. But Some reason when I query the data by pressing the find button on the query block it is retreiving the data properly, but record history is not enabling.
In the query find block I have 3 text fields, 1 check box and 2 date fields.
I am planing to write the web-application which use Oracle DB 11g.I would like to understand what are the differences (specially, performance issues, steps of execution, optimizer possibilities) between calling SQL statements and PL/SQL procedures/functions. Which approach is more appropriate, and why?
Examples: a) WebApp->Call("select * from employees where department_id = ?", 10) ;
b) WebApp->Call("? := mypackage.get_emp(?)", refCursor, 10);
create package mypackage is function get_emp(dep_id in number) return sys_refcursor is begin open cur for select * from employees where department_id = dep_id; end; end;========================================== Requirements: High-concurrency, 100+ db sessions, DB will not be used for business-logic.
I have scheduled a ADHOC Oracle JOB in OEM to gather statistics for the database with 100% estimation during weekend. This JOB currently fails because of a batch Job that runs at the same time and drops few old partitions. This OEM job runs for 1 hour and fails because few partitions are getting dropped at the same time.
How i can enable this statistics JOB to skip/Ignore errors and to continue to run to gather complete statistics of the entire database. I have scheduled this job in OEM. how can i enable this SKIP/IGNORE errors for this job.
I have one main form and there is one button when i click on it, another form should be opened which should display multi records with check box for each record.
I have implemented so far. When the new form is opened by default all the records should be checked. if user does not want some of them then it can be unchecked(This can done manually)..
I have put below code in when-new-block instance trigger
I have a partioned table that has close to 2 billion rows and a PK of all columns. Becuase of time constrains my APP team wants the PK disabled while they pump into hundreds of thousands of rows with a batch process.
Now I am finding when I enable the PK its eating up close to close to 200GB of temp space.
Is there something I can do to reduce the amount of temp space being used?