cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Announcements

Community Helping Community

73
Views
0
Helpful
9
Replies
Highlighted
Cisco Employee

Support for Oracle DB

 

All-

I’m 99% on this, but wanted to ask anyway.  Does NSO support Oracle DB, instead of Mongo DB?

 

Riggs Goodman III

 

Everyone's tags (3)
1 ACCEPTED SOLUTION

Accepted Solutions
Cisco Employee

Re: Support for Oracle DB

 

Riggs,

 

 

I’m 99% on this, but wanted to ask anyway.  Does NSO support Oracle DB, instead of Mongo DB?

 

 

The answer is more complex than you might think, perhaps. There is no built-in support for either of them, but NSO has a Data Provider API (DPAPI) which can be used to plug in external databases. We have an unsupported reference integration of Oracle 9 into the DPAPI laying around (and some other), for example. However, even if a database can be plugged in, there are things you can and can't use it for, HA considerations etc. In practice it's hard or impossible to integrate external databases that hold configuration and service data. For other kinds of data, it's pretty easy to integrate an external database that NSO reads (topology, order data) or writes to (statistics).

 

 

Best Regards,

 

/jan

 

View solution in original post

9 REPLIES 9
Cisco Employee

Re: Support for Oracle DB

 

Riggs,

 

 

I’m 99% on this, but wanted to ask anyway.  Does NSO support Oracle DB, instead of Mongo DB?

 

 

The answer is more complex than you might think, perhaps. There is no built-in support for either of them, but NSO has a Data Provider API (DPAPI) which can be used to plug in external databases. We have an unsupported reference integration of Oracle 9 into the DPAPI laying around (and some other), for example. However, even if a database can be plugged in, there are things you can and can't use it for, HA considerations etc. In practice it's hard or impossible to integrate external databases that hold configuration and service data. For other kinds of data, it's pretty easy to integrate an external database that NSO reads (topology, order data) or writes to (statistics).

 

 

Best Regards,

 

/jan

 

View solution in original post

Cisco Employee

Re: Support for Oracle DB

 

I guess the first question to ask is what data would you like NSO to put in an external database, and/or what data would you like NSO to consume from there? NSO is self-contained, has its own purpose-built configuration database, so does not require any external one. But your customer may have processes which require certain data to be available to other systems, and if any of this data resides in NSO, then the other systems may either read this from NSO, or NSO could put it somewhere like an external database. It all comes down to solution architecture.

 

 

Cheers,

 

KJ.

 

Cisco Employee

Re: Support for Oracle DB

My customer was asking whether or not they could use oracle database to store configuration and service information. The answer seems to be that the database is built into NSO.

Cisco Employee

Re: Support for Oracle DB

 

Riggs,

 

 

My customer was asking whether or not they could use oracle database to store configuration and service information. The answer seems to be that the database is built into NSO.

 

 

Correct. Like other SQL databases, Oracle is missing many features in order to act as the configuration data store. And it wouldn't adapt to the schema changes as we load packages, etc.

 

 

Best Regards,

 

/jan

 

Cisco Employee

Re: Support for Oracle DB

 

Thanks everyone!

Riggs Goodman III

 

Cisco Employee

Re: Support for Oracle DB

 

All,

Follow up from the customer, where can I find details on how NSO could write data to an external DB?

Riggs Goodman III

 

Cisco Employee

Re: Support for Oracle DB

 

Hi!

 

I guess you mean “export” NSO data to an external DB.?

 

You can use any north-bound to get data as XML, JSON, Curly Braces.

 

you can also use tools like ncs_load to dump data to a file in different file formats

 

 

or subscriptions

 

or commit scripts

 

 

 

/Stefan v

 

Cisco Employee

Re: Support for Oracle DB

 

Hi,

 

 

Few other thoughts on direct integration between NSO and Oracle DB.  I assume the purpose of the question is not to replace CDB but to read/write from Oracle DB for data synchronisation.

 

 

If you want to read or write NSO data from Oracle DB, you can make REST calls from Oracle DB using the UTL_HTTP package that comes with Oracle DB.

 

I have tried this and it works.

 

 

Alternately, if you want to read or write from NSO to Oracle DB, you can do a Java call in the NSO package that uses JDBC to connect to the Oracle DB. 

 

 

There is an example in NSO under

 

  1. examples.ncs/getting-started/developing-with-ncs/6-external-db.  It is not specifically for Oracle DB, but gives the general idea on how NSO can write data to an external database.

 

 

Regards,

 

Ravi

 

Cisco Employee

Re: Support for Oracle DB

 

> There is an example in NSO under

 

> examples.ncs/getting-started/developing-with-ncs/6-external-db.  It is

 

> not specifically for Oracle DB, but gives the general idea on how NSO

 

> can write data to an external database.

 

>

 

 

Yes - this API does exist - and it works - sort of. However NSO internally has grown to have quite a number of CDB dependencies.

 

I don't recommend this route, maybe for some small subset of data but definitely not for the /devices tree or the service(es) lists

 

 

/klacke

 

Content for Community-Ad
FusionCharts will render here