Thursday, October 28, 2010

ORA-16570: operation requires restart of database ""

After successfull switchover I got  the message
ORA-16570: operation requires restart of database "".

DGMGRL> SWITCHOVER TO dbXXsb;
Performing switchover NOW, please wait...
Operation requires shutdown of instance "dbXX" on database "dbXX"
Shutting down instance "dbXX"...
ORA-01031: insufficient privileges

You are no longer connected to ORACLE
Please connect again.
Unable to shut down instance "dbXX"
You must shut down instance "dbXX" manually
Operation requires shutdown of instance "dbXX" on database "dbXXsb"
You must shut down instance "dbXX" manually
Operation requires startup of instance "dbXX" on database "dbXX"
You must start instance "dbXX" manually
Operation requires startup of instance "dbXX" on database "db07sb"
You must start instance "dbXX" manually
Switchover succeeded, new primary is "dbXXsb"
DGMGRL> SHOW CONFIGURATION;
not logged on
DGMGRL> connect /
Connected.
Error:
ORA-16570: operation requires restart of database ""
ORA-06512: at "SYS.X$DBMS_DRS", line 180
ORA-06512: at line 1

DGMGRL>
DGMGRL> exit


shutdown immediate;

startup mount;
DG Brocker starts all others.

Warning: ORA-16610: command 'Broker automatic health check' in progress

Continuous getting  "Warning: ORA-16610: command 'Broker automatic health check' in progress" message after successful switchover operation.

DGMGRL> show configuration;

Configuration
Name: dbXX.rtcomm.ru
Enabled: YES
Protection Mode: MaxPerformance
Fast-Start Failover: DISABLED
Databases:
dbXX - Physical standby database
dbXXsb - Primary database

Current status for "dbXX.rtcomm.ru":
Warning: ORA-16610: command 'Broker automatic health check' in progress


the only way was to restart DG Brocker
ALTER SYSTEM SET DG_BROKER_START=FALSE;
ALTER SYSTEM SET DG_BROKER_START=TRUE;

The message disappeared.

Thursday, October 14, 2010

Parallelism analyzing

set :
set timi on
set autot on
to chose the difference betwee:
select count(*) from all_users au;
 and
select /*+ parallel (au,10) */ count(*) from all_users au;

some useful information:

select * from V$PX_SESSION;

SELECT NAME, VALUE FROM GV$SYSSTAT
WHERE UPPER (NAME) LIKE '%PARALLEL OPERATIONS%'
OR UPPER (NAME) LIKE '%PARALLELIZED%' OR UPPER (NAME) LIKE '%PX%';

SELECT * FROM V$PX_PROCESS;

SELECT * FROM V$PX_PROCESS_SYSSTAT;

parameter to reduse/increase parallelism in Oracle is PARALLEL_MAX_SERVERS.