I am a bit new to Oracle, having used mostly SQL, so some of my understanding of how oracle works and what users/connection strings to use might be wrong or non existant.
I am trying to use roundhouse to create/manage an Oracle database. For now I am trying to get to work on my dev machine running Windows 7 and VS 2010. I have a simple sandbox project where I am trying to create a test database. I have installed Oracle 11g standard edition on my machine.
First question is, would I even be able to create a brand new database (the Oracle db tells me they are called 'Schemas' in Oracle) using roundhouse? From my understanding, unlike SQL server, there is no Master
database with an sa
user who can create any database.
I found the wiki page for Oracle on the roundhouse site, but it only talks about modifying an existing Oracle database, not creating a new one. I am having trouble finding examples where a brand new database was created in Oracle using roundhouse before creating the required tables, stored procs etc.
If it is possible, what do I need to do / setup? How should I set up my configuration file? Given is my current configuration file.
<?xml version="1.0" encoding="utf-8" ?>
<Project DefaultTargets="DBDeploy" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Visit http://roundhouse.googlecode.com/ for details -->
<UsingTask AssemblyFile="roundhouse.tasks.dll" TaskName="roundhouse.tasks.Roundhouse" />
<PropertyGroup>
<DBServer>dev-mac-303.qtest.local</DBServer>
<DBName>RoundhouseSandbox.OracleRoundhouse</DBName>
<Environment>DEV</Environment>
<DBConnectionString>Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = dev-mac-303.qtest.local)(PORT = 1521)))(CONNECT_DATA = (SID = DEVEL)));User Id=mytest;Password=mytestdevel;Persist Security Info=false;</DBConnectionString>
</PropertyGroup>
<Target Name="ApplyDatabaseChanges">
<Roundhouse
ServerName="$(DBServer)"
DatabaseName="$(DBName)"
ConnectionString="$(DBConnectionString)"
ConnectionStringAdmin="$(DBConnectionString)"
CommandTimeout="60"
CommandTimeoutAdmin="300"
VersionFile="OracleRoundhouse.dll"
AlterDatabaseFolderName="alterDatabase"
UpFolderName="mytest\updates"
RunFirstAfterUpFolderName="mytest\runFirstAfterUp"
FunctionsFolderName="mytest\functions"
ViewsFolderName="mytest\views"
SprocsFolderName="mytest\storedprocedures"
IndexesFolderName="mytest\indexes"
PermissionsFolderName="mytest\permissions"
SchemaName="Change"
VersionTableName="Version"
ScriptsRunTableName="ScriptsRun"
ScriptsRunErrorsTableName="ScriptsRunErrors"
EnvironmentName="$(Environment)"
DoNotCreateDatabase="false"
OutputPath="C:\temp\test.mytest.Database\ChangeTracking\"
WarnOnOneTimeScriptChanges="false"
Silent="true"
DatabaseType="roundhouse.databases.oracle.OracleDatabase, roundhouse.databases.oracle"
WithTransaction="false"
RunAllAnyTimeScripts="false"
DisableTokenReplacement="false"
Debug="true"
/>
</Target>
<Target Name = "DBDeploy"
DependsOnTargets="
ApplyDatabaseChanges;
"
>
</Target>
</Project>
Looking at where you are coming from, it's probably time to upgrade.
From what I remember about Oracle and RH support, this might be possible. There is a switch for an administration connection string - CSA (connection string admin) that would handle the schema creation for you. And yes, Oracle has different lingo (database is same as sql server's server, schema is sql server's database).
It's been awhile since I checked on the support for Oracle, but if you take a look you may find some more information.