Oracle Database Creation - oracle

what is the meaning of this paragraph
" Creating a database can also erase information in an existing database and create a new database with the same name and physical structure."
and what is the steps to perform this type of Oracle database creation

This is referring to the "create database" command (see below). The syntax allows specification of various parameters including the database name and specific files for system, other tablespaces, rollback and log files. If required this statement could be used to deliberately replace an existing database I.e. erase and replace it by overwriting the existing files.
https://docs.oracle.com/cd/F49540_01/DOC/server.815/a67772/create.htm#999193

Related

Open dbf file from oracle database

My instructor gave me a username and password and .dbf file and tell me to open it and try to retrieve with sqlplus and oracle database
I tried to open the dbf file from excel mysql and ms server but it i gave me an error
Speaking as a DBA: As Littlefoot stated, you can't just read a data file from an Oracle DB. At best they are proprietary binary file formats, assuming it isn't encrypted on top of that. Nor can you take a data file from one database instance and just plug it in to another database instance. You also can't import it to mySQL or any other database engine: as a stand-alone data file it can only be properly read by its original database installation (i.e. the specific database instance that created it).
Oracle has specific tools available to copy data and/or files from one database to another, but those would generally use the RMAN backup manager (used to make physical backups) or (more likely in your case) the Datapump "Transportable Tablespace" feature.
To restore it from an RMAN backup you would need a complete full backup of the entire source database instance: RMAN backup sets including all data files, redo logs (and perhaps archived logs), control files, parameter files, encryption keys,, and possibly more.
To restore a transportable tablespace dump you would need your own running Oracle database instance, the correct parameters to run the impdp import utility, and the assistance/cooperation of the DBA.
You need to confirm if the file you were given is such an export dump (though the .dbf file extension would suggest not), and how you are expected to access the data. You won't be able to just "open the file".
.DBF extension probably represents datafile; I don't think you can read it with any tool (at least, I don't know of any).
You should find an Oracle DBA who might try to help; in order to restore a database (which is contained in that file), they might need control file(s), redo log files and ... can't name what other files (I'm not a DBA).
Then, if everything goes OK, database might be started up so that you'd be able to connect to it using credentials you were given.

Cloning a Oracle Database Schema

I have an Oracle 12c Instance with a scheme 'wadmin' user, this instance has tables, view, data, triggers, sequences etc.
For quick spinning of docker images, I need to clone the db schema as fast as possible , so that I can create another user 'wadmin1' link it to new docker and start my testing.
Any CLI/tools for the same, does oracle provide any options?
I do not know if this is exacly what you are looking for but you can export your Oracle schema using ORACLE DataPump tool. This involves storing exported schema in the Oracle directory. While exporting schema to file you can transform the schema name, omit unnecessary tables or data etc. Exported files with database schema can be later used for imported to new database instance. More information regarding Oracle DataPump you can find here. https://oracle-base.com/articles/10g/oracle-data-pump-10g#SchemaExpImp.
Alternatively you can have scripts that create the database stored in the Git repository and integrate your builds with too called Flyway https://flywaydb.org/ which can be used to automatize of database schema creation. This is also really convenient from source control point of view. All changes on the schema are pull requested.
In my team we use OracleDataPump when we want to recreate the database together with the data, Flyway is used as a part of our continues integration.

Oracle - "Sql developer" database copy utility - Src/tgt different schema

I'm trying to copy table from One database to another. Source and target schema are different. I m trying "Sql developer" for this using database copy utility. However, I m not able to find option to select schema name for the target.
I m attaching screenshot here for the reference.
Error Message :-
Moving Data for object XXXXXX
Error occurred inserting data for TABLE: XXXXXX. Batch 1 containing 500 rows failed.
ORA-00942: table or view does not exist
SQL Developer provides the Database Copy wizard for quickly copying data from one schema to another.
In your example HEDGEP connection is pointing to the source schema and DIWD1 is pointing to the destination schema. If you intend to copy multiple schemas using SQL Developer then you will need to define multiple source and destination connections each pointing to the respective source and target schemas and then run the wizard separately for each of those pairs.

How to load a H2 database into memory?

I have written a set of unit tests using H2 in embedded mode. Whatever changes tests make to DB stay there.
I know that the recommended approach is to create a blank in-memory database and create the schema when opening the connection.
However I am looking for an alternative approach. I would like to -
Initialize an in memory database with an embedded database file.
Or use embedded db in a way that all the changes are discarded as soon as the connection is closed.
How can I achieve this?
What I do in cases similar to this is to write the SQL script that creates the database and populates the tables. Then the application applies a database migration using Flyway DB.
Other possibilities are to create the database and load the tables from CSV files. The other would be to create the database with a different application and create a file with the SCRIPT command to create a backup. Your main application would have to run the RUNSCRIPT command to restore the database.
I use SQL scripts that create tables and other objects and/or populate them, and run these scripts at the beginning of the application.
One could also create a copy of the populated on-disk DB, package it into a ZIP/JAR archive, and open it read only, to be used to recreate and populate the in-memory DB.

"Update Model From Database" does not work in .edmx Entities file. My Database is DB2

I am trying to reflect new changes or add a new table to my model in EDMX file using 'Update Model From Database.' Then i get this error message in Update Wizard saying "Error retrieving Database information. An Item with the same key has already been added."
I am using DB2 database and VS 2010.
Please let me know how i can add a new table or reflect the changes to my model with the changes made to the database. Right now i am deleting the entire model and recreating the new one.
Any help is appreciated.
I was getting this same error. In my case with DB2 9.5 LUW the solution was to remove duplicate named stored procedures on the server. DB2 lets you have multiple stored procs with the same name but different definitions (ie different parameters). But apparently this isn't compatible with Entity Framework. Fortunately for me the duplicates were actually unused old versions.
An alternative is to edit your EDM file in XML editor mode.
I have followed the solution provided by vikrantislav. And in addition to that, I made one more change. By default EF tool brings objects from all the exiting schemas. So make sure you don't have duplicate store procedures in any of those schemas or change the connection properties to filter out by a specific schema. In my case I have filtered out by specific schema as I don't want to mess up with someone else's store procedures in other schemas. And now "update model from database" wizard started working. what a relief.
Schema filter in connection properties window

Resources