COGNOiSe.com - The IBM Cognos Community

IBM Cognos 10 Platform => Cognos 10 BI => Cognos Administration => Topic started by: cognostechie on 24 Aug 2013 09:14:57 PM

Title: Switch Databases
Post by: cognostechie on 24 Aug 2013 09:14:57 PM
I have a requirement that we need to swipe the DW databases seamlessly.

I searched this forum and found a post that says that SDK is required for that. is there no was
to point the datasource to use another DB at a certain time via a DOS script? After all, all
we have to change is the name of the DB.

I have found a non cognos way of doing this but was wondering if there is a Cognos way to do this.
This is what will work (outside of Cognos)

Rename the DB back and forth ! I tried on SQL Server and the report is picking up the data from other DB.

Any help is appreciated !
Title: Re: Switch Databases
Post by: Grim on 26 Aug 2013 02:26:43 PM
If you rename the DB, you have to change the name in Cognos config. You can do this all you want, but there is no way of doing this on the fly. Services must be stopped and restarted for the change to take effect. The Cognos Content Store is connected via JDBC and the config is read into memory.
Title: Re: Switch Databases
Post by: cognostechie on 26 Aug 2013 03:52:17 PM
My question is different than what you understood.

The objective is to use another DB at a certain point of time. So let's say the DB in the current environment is:

DB1

I create DB2 which is a copy of DB1 but now DB2 has more recent data.

Cognos Data Sources are configured to use DB1.

DB1 is renamed to DB3
DB2 is renamed to DB1

Cognos will automatically read data from DB1 without stopping services or reconfiguring the Data Sources.
Title: Re: Switch Databases
Post by: RKMI on 26 Aug 2013 05:01:47 PM
Hi,

I'm not sure whether you are talking about the cognos content store or the different DB when the cognos adminstration, but here is what we do for the latter? I think I a fairly similar requirement where I have mirror tables on two DBs one actual other as failover. And at times we resort the Failover as the Primary. The simplest way we ended up doing this was to create two different connections under one datasource and keeping only one as active at any point in time.

So when the scenario arose to point to failover we disabled the primary and use failover and vice versa when primary DB was caught up with most recent data. This doesn't need a restarting services.

Thanks,
RK