I just set up an Oracle 12c database with the purpose of migrating an existing Oracle 126.96.36.199 database. Our application developers are a bit confused when it comes to the schemas suddenly having MD_ tables they did not create. Any help is appreciated.
Did you do this using sql developer and the migration workbench to create a repository?
See if anything in this article rings a bell:
Next, you will need to create a repository. An database account, which has CREATE SESSION, RESOURCE, and CREATE VIEW must be created first. Then logon into SQL Developer as that account. From the tool, create a repository from Migration menu > Repository Management > Create Repository. This process creates a bunch of MD* and MIGR* tables and packages.
I ask because you said you 'set up an Oracle 12c database' but then implied your developers are accessing it.
Most people experimenting with 12c create a multitenant database which has a CDB and one PDB that contains the sample schemas.
You typically would NOT allow developers access to the CDB; that is for admin purposes only. So, hopefully, if you developers access anything it is ONLY the sample PDB or a PDB that you have created from the seed.
Make sure you, and your developers RTFM about the new multitenant architecture or you will all get horribly confused when you try to do simple things like create users or issue grants. All of that works VERY differently in 12c.
See chapters 17 and 18 of the Database Concepts doc
Pay particular attention to the discussion of 'common' and 'local' users. And a hidden 'gotcha' is that the PDBs will NOT be started/opened by default when you do a 'startup' of the database. If you create common users those users will NOT be created in PDBs that are not open; so there is the potential to have to do perform a lot of manual maintenance if you need to add those users to PDBs that weren't open at the time you added the users.