Home » Other » General » Deployment - Best Practices
Deployment - Best Practices [message #404570] Fri, 22 May 2009 05:25 Go to next message
eigeneachse
Messages: 37
Registered: July 2008
Member
Hi @ all,
with this thread i want to discuss possible solutions for an pl/sql, sql (views, ddl, ..) deployment. We have the situation that we have an development database where various scripts are generated and after an successfull test on the db, they were saved in an shared folder with an specific notation. Now when we want to update one of our customers database ( the corresponding client app is updated too ) we will execute every script gernerated before the last deployment, on the target db. This process consumes, depending on the script count, a lot of time.

Currently we are deploying our scripts with toad.

Are there any other living solutions that provide less action? How do you deploy your sql scripts? Are there any tools which can do such things? Logging would be a nice feature.

thanks in advance for all your comments.

regards

eigeneachse
Re: Deployment - Best Practices [message #404573 is a reply to message #404570] Fri, 22 May 2009 05:43 Go to previous messageGo to next message
Mahesh Rajendran
Messages: 10707
Registered: March 2002
Location: oracleDocoVille
Senior Member
Account Moderator
Quote:
Now when we want to update one of our customers database ( the corresponding client app is updated too ) we will execute every script gernerated before the last deployment, on the target db.

Please rephrase.
I do not understand what you are talking about.
Generally, deployment refers to initial setup. A simple SQL*Plus session with spool options for logging will do.
I don't get what you mean by "execute every script generated before last deployment."
If you are looking to extract the DDL from the current installation, use exp/expdp, dbms_ddl or any gui that will generate the schema DDL.
What about data?
Re: Deployment - Best Practices [message #404575 is a reply to message #404573] Fri, 22 May 2009 05:54 Go to previous messageGo to next message
eigeneachse
Messages: 37
Registered: July 2008
Member
Mahesh Rajendran wrote on Fri, 22 May 2009 12:43

I don't get what you mean by "execute every script generated before last deployment."


Hi Mahesh,
ok i try to explain it more detailed.

We are developing an Application with an underlying db. The db provides some packages, procedures etc with the business logic. Now we deploy an existing state of these packages to our customer. The action is, that all sql files between the last deploy and the actual deploy needs to be executed in the target db. The data is only on the target machine an may be modified by the scripts. The main action is to update the packages, views, procedures.

I totally agree with you when you say sqlplus with spool could do this job, but i am searching for an more elegant solution.

I hope the problem ( it is really not a problem more than an search for an optimizatzion ) becomes more clear for you.

regards

eigeneachse

[Updated on: Fri, 22 May 2009 05:58]

Report message to a moderator

Re: Deployment - Best Practices [message #404577 is a reply to message #404575] Fri, 22 May 2009 06:08 Go to previous messageGo to next message
Mahesh Rajendran
Messages: 10707
Registered: March 2002
Location: oracleDocoVille
Senior Member
Account Moderator
You still need to define "elegant solution".
You can create an executable installer package.
You can create an shell script.
You can crate a java-based GUI module.

All above are out of the scope of this forum and you will have to put more effort.

IMHO, most shops ( and DBA's/Oracle Developers) will prefer simple SQL scripts as it offers more flexibility.
TOAD or SQL*Plus or Custom Installer does not make any difference
in time take to run the sql scripts.

Regards.

Re: Deployment - Best Practices [message #404582 is a reply to message #404577] Fri, 22 May 2009 06:45 Go to previous messageGo to next message
ThomasG
Messages: 3211
Registered: April 2005
Location: Heilbronn, Germany
Senior Member
One thing that I have done on a few occasions is to put "version" variables in the package headers.

That way a SQL script can check those variables, and then decide which install scripts need to be run.
Re: Deployment - Best Practices [message #404595 is a reply to message #404582] Fri, 22 May 2009 07:25 Go to previous message
eigeneachse
Messages: 37
Registered: July 2008
Member
ThomasG wrote on Fri, 22 May 2009 13:45

That way a SQL script can check those variables, and then decide which install scripts need to be run.


Hi Thomas,
your are right. With this you would know which scripts have been installed. alternatively i can imagine to have an tool which will store the update history in the db itself.

Mahesh Rajendran

You still need to define "elegant solution".

For me an elegant solution is a on click solution or in other words i want to drag my scripts into a special window an say "Start" and thats all.

Please dont understand me wrong. i am not critizising any way to deploy or someting like that. i am only searching for the best and easyest solution to do that. i'd just want to ask because maybe others do something i never had thougt about.

regards eigeneachse
Previous Topic: How can I get the info on tables and columns and their data types.
Next Topic: How to store data from GSM mobile messaging into oracle DB
Goto Forum:
  


Current Time: Thu Mar 28 10:46:28 CDT 2024