0

We are in the process of migrating from Microsoft SQL Server to Oracle. In SQL Server we have 60 databases(like XMLDB_1,XMLDB_2,XMLDB_3, ...... , XMLDB_60) to insert data after reading 60 XML files at the same time. SSIS will read 60 XML files at a time and insert data into those 60 databases. Each of the 60 databases contain 10 tables with same structure. Next time, SSIS will read next 60 XML files and insert data into the same 60 databases. Each time before picking the XML files, all the tables inside each database(XMLDB) will be truncated after pushing data into another database(say DocumentDB).

What my understanding is that or what I have heard from other people - having too many database services inside a single Oracle database instance might create performance problems because of more resource utilisation. On the other hand , in SQL Server , having too many databases is not a big deal.

I am looking for a better design approach here,

  1. Do we need to go ahead creating 60 XML database services (XMLDB_1,XMLDB_2,XMLDB_3,......,XMLDB_60) in a single Oracle database instance? Or,
  2. Do we need to create as many tables as we required to process 60 XML files at a time but in a single database service. In this case we would need to create 600 tables (10 table inside each XMLDB and we have 60 XMLDBs , hence 60x10 = 600) in a single database service.
asked Oct 10, 2023 at 4:25
0

1 Answer 1

1

Just to get the terminology straight, Oracle's use of the word "database" is different than SQL Server's use. A SQL Server "database" corresponds more to a user/schema in Oracle. Oracle typically associates "database" with the server instance. You should most likely be looking to implement a single database instance (set of running processes) with 60+ users/schemas. Depending on the architecture and version of the specific Oracle installation, that could mean one stand-alone database instance or one Pluggable Database (PDB) within a Container Database (CDB).

As far as resource consumption goes, that will depend on how much work you're doing concurrently but will not be a function of how many schemas or tables you create. For example, if you want to process 60 files at a time, you'll need to confirm that your server has enough CPU and memory resources to do that - each session/user process will generally be allocated dedicated memory - but it isn't uncommon for database instances to support hundreds of concurrent users or more.

answered Oct 10, 2023 at 20:32

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.