Need Help Choosing development tool for Oracle DB, - database

We are looking for a development tool for oracle DB.
Most of our work on the DB will be done with PL/SQL procedures, so we need to debug them.
We will also need some minor Administration capabilities, like monitoring the session.
We got a recommendation to use Toad.
There are several versions.
Which version of toad suites us the most?
Are there any other noteworthy tools?
What do you recommend?
Thanks.

I have used and particularly likes the following two:
PL/SQL developer - paid
software, simple UI, great for
creating/editing/debugging PL/SQL as
well as admin activities.
Oracle SQL
developer - free, Java based,
right from Oracle. Great for PL/SQL
creation/debug.
Good luck!

Related

How to synchronize work on a database project over multiple programmers?

I'm developing an app with one of my friends and it'll use an Oracle database. We can sync the code with github but what about the database? Is it possible to somehow use git for that as well?
I assume the recommended approach would be to use a central online database somehow. Where do I start with that? Docker? We are both inexperienced in web development. We also have no requirement to make the database online(it's a university course project) so I do not want to go through that hassle if possible.
You can store your SQL scripts (like your DDL commands to create your tables, etc.) in GitHub, just like any other code, but your Oracle database won't interface with it directly. You can use Oracle's SQL Developer as an IDE to interface with GitHub.
https://www.oracle.com/tools/downloads/sqldev-v192-downloads.html
https://blogs.oracle.com/shay/managing-oracle-database-code-with-sql-developer,-git,-and-developer-cloud-service
Traditional Oracle is free for academic and training purposes, and there is also a free cloud offering now as well. You can run it from a laptop, a VM using VirtualBox, or from the Oracle Cloud. Unless you need a specific option with Enterprise Edition, your best (least complicated) bet, is probably to go with the Oracle 18c XE version, available here: https://www.oracle.com/database/technologies/xe-downloads.html
We built a commerical tool that helps database developers use Git with the Oracle Database. It tracks the changes in database objects and helps you to commit them to Git. It might be worth takinga look: https: www.gitora.com

What database program can be used for this?

I'm in a database class. We're learning about joins, unions, and projections.
Is there a program that would be helpful in getting practice? Like I an expression and it selects the appropriate fields in a table.
Please don't bother downloading and trying to install a server DBMS (plus one or more clients) for this simple task. If you're taking a course in being a database administrator you might want to spend hours learning these technologies (and, if you go on to work with these products seriously you will, eventually, need to master some of them), but if you just want to practice SQL queries, there are sites that let you do just this.
You can find some nice on-line exercises here: http://sqlzoo.net/.
MySql is easy to use and free so that would be my choice. The community server is the one you want to download.
http://www.mysql.com/
I would recommend getting the Workbench tool as well to make this easier to create tables and mess around with them.
Download and install Microsoft SQL Server 2008 R2 Express, with Management Tools. Has everything you need to get started and it's 100% free.
You can get it here: http://www.microsoft.com/sqlserver/en/us/editions/express.aspx
Or if you are willing to part with $50, you can buy SQL Server 2008 R2 Developer Edition (full enterprise/data center edition, just with licensing restricting only to development, testing, and demoing) to do some really cool stuff.

Red Gate's SQL Toolbelt or Quest's Toad for SQL Server?

We are evaluating trial versions of Red Gate’s SQL Toolbelt and Quest Software’s Toad for SQL Server. What are the main differences between these tools? The benefits of using these tools are quite obvious but we are wondering which one is more suitable for a developer and development work? Is Toad for SQL Server more focused on DBA work?
Toad for SQL Sever basically is an alternative to SQL Server Management Studio - it gives you insights into your server, databases, database object etc. and you can execute queries and explore your data. But that's about it.
Red-Gate's Toolbelt is a totally different set of tools - a toolbelt, as the name implies:
compare databases for structural or data-related differences
determine dependencies between database objects
greatly superior intellisense for SSMS and Visual Studio
package database changes into an update package (EXE or .NET assembly)
and a lot more
I don't think TOAD offers any of those capabilities, so you're really comparing apples to carrot or something here.
I can totally recommend Red Gate tools - I'm using SQL Prompt, SQL Search, SQL Compare, SQL Data Compare and SQL Packager regularly, and they just do their job in a great way. Highly recommended!
The tools from RedGate are spectacular. I don't know about Quest's Toad, but you cannot go wrong with RedGate. In fact I often end up using their products as fodder for requirements on new features for my unrelated products.
They quickly respond to questions, provide intelligent assistance, and, well, if I could marry Redgate I would get down on one knee right now.
'nuff said?
Toad, has a free "community version" 6, which indeed offers intellisense, dependencies and other things.
There are 3 levels of paying versions and they have comparison tools + many extras which I could not evaluate since I am only using the free version.
Anyway, since I started using Toad I nearly never go back to SSMS...except for the free RedGate SQL Search, which is a real time saver in some situations.

Delphi - Database Server

Which of the Database servers would you people recommend for using in a moderate-to-large scale (will vary from customer to customer) application.
I know MS SQL but since the app will be developed using delphi the .net framework is kind of annoying to deploy aswell. Also how realiable is Interbase.
Thanks in advance.
Since I have been developing in Firebird for several years now, if I were in your situation, I would look no further. The fact that you can develop your own extension library (udf library) in Delphi makes it very attractive to start with. Some of the new SQL constructs like the List aggregator and Common Table Expressions are icing on the cake. Deployment is very light (under 5 MB), and the support is excellent including incredible tools like IBExpert. I used MS SQL Server in a big company I worked at a few years ago and I would choose Firebird over MS SQL Server.
Data Access to SQL Server has nothing to do with the .NET framework. Delphi can connect just fine to SQL Server.
In terms of database engines that work with delphi, another you can consider is the Sybase Advantage Database server
Interbase is as reliable as they come. In fact, I'd like to get a job as an Interbase DBA, because I could uses the sleep.
I would definitely recommend looking at Interbase by Embarcadero or the open-source sibling, Firebird. Both are very well supported by Delphi by means of native, high-performance db-access components and such.
Interbase is a totally rock-solid database - I would put it on a par with SQL Server or Oracle. It's totally capable of handling medium to high traffic for at least 50-100 users concurrently, no problem at all.
Another two worth competitor would be Elevate DB and Nexus DB. Both grew out of Delphi file-based database systems, and both have been around for quite some time (in one form or another) and are well proven, widely used, well tested.
Marc
This seems back-to-front to me. I would choose the database server first, then select the development environment that works best with the selected database.
SQL Server. For 2005, you can make your own SQL Server deployment application that automates installing of Windows Installer 3.1, .NET Framework 2.0, SQL Server 2005 then installing the database through generatated SQL script (Feel free to contact me if you need help with it, I'd gladly help you). If you still insist on not installing .Net framework which is 22MB, I'd say go with SQL Server 2000 as you can still upgrade it to 2005+ when you'd like to.
Also, I had been using Advantage Database Server for few years and it's alright, Few DLLs to copy and you're ready to go even if you'd like to switch to remote version.
Both Server and Client installations of MS SQL require the .NET framework on the target machine. That's about it. If we can use ms sql without .net on target machine then ms sql is fine.
I have being developing in Delphi for about 6 years using distinct editions of SQL Server, and this database server behaved very very well. All of them were critical applications.
So, I would recommend you to keep with it.If you don't want to use .NET with and keep SQL Server I would recommend an older version pre-2005.
This isn't really an answer, but some things you might like to consider before making your mind up.
What do you mean by moderate-to-large scale? Do you mean by the number of concurrent users or by the amount of data being stored?
Are you going to be supporting the database as well when it's deployed, or might the customer have their own DBAs and want to incorporate it into their infrastructure team's remit?
Do you need to build-in complex features like auditing or granular security that some databases might provide out-of-the-box? Do you need to be able to run an overnight batch process on the database in some controlled manner?
Do you need to be able to have robust high-volume transactional support, or is it more for just using as a sink for reporting data? i.e. is it more OLTP or OLAP?
Are you limited by cost? i.e. does it need to be free/open-source, or can you select paid-for vendor product?
Both Firebird & Interbase are great, but not generally well-received into an "enterprise" environment in my experience unless they're "hands-off" and embedded into the application. MS SQL Server is a "safe-bet" for most systems. There is a cost associated with it but, as you know, it does come with a complete toolset and very good support.
If you do go down the Firebird or Interbase route then do take a look at Jason Wharton's IBObjects library which provides a high-performance replacement for BDE when using these databases. http://www.ibobjects.com/

What kind of database refactoring tools are there?

I am looking for something to integrate to my CI workflow.
I've heard of dbdeploy but I'm looking for something else. The reason I don't like dbdeploy is I don't want to install java on my server.
I would prefer of course that the solution doesn't involve stringing some shell scripts together.
Here is a feature comparison between
Flyway
Liquibase
c5-db-migration
dbdeploy
mybatis
MIGRATEdb
migrate4j
dbmaintain
AutoPatch
It's not a tool, but Ambler and Sadalage's book, Refactoring Databases: Evolutionary Database Design is quite good.
Redgate will probably do everything you need. Expensive though.
EDIT - Specifically: http://www.red-gate.com/products/sql-development/readyroll/
You mentioned that you like dbDeploy and the fact that you do not want to install java on your server. Are you aware of the .NET port of this tool?
I used this recently with a team and we were very happy with it. In our case we were targeting SQL 2000, but it could easily be configured to run against other DB platforms, including MySQL. Of course it will require you to have the .NET Framework installed on the server... if that's an acceptable prerequisite vs. the java runtime.
for those people who are interested in liquibase, but don’t like xml migrations.
Take a look at groovy-liquibase, a plugin that supports groovy migrations
Liquibase is great in structure, but misses with xml migrations. This plugin solves that problem
Possible it's not your case, but if you decide to use Java take a look at liquibase
Yep, Redgate is magic. And Not that expenssive for what it provides.
Try Agile DBRIRE for Continuous Integration workflow. It's easy to set and allows to generate test db from Dev DB. Also it allows to generate incremental DB updates for Staging and Production. The tool can compare DEV and Staging/Production DB and generate metadata and data update SQL scripts. The tool is free.
Visual Studio Team system (database edition) does some refactoring.
I read the Refactoring databases book. I think it's helpful.
But in software dev, you build tests so that you are safe refactoring. They don't touch on tests in the Refactoring Databases book, which was my big disappointment with it.
I think those tools are very good, but for my purpose I have written a custom own. The main reason for this was because of I'm working on a SQL Server Compact 3.5 database, so none of the listed tools worked.
Of course it isn't as powerful as the tools from Redgate but you get the most important features very quick.
It's able to rename all kinds of database objects and migrating columns to other tables and create a diff script for 2 databases.
An important part of Refactoring Databases is the migrations part.
A .NET migrations solution that does not require EF or Java is Rob Reynold's Roundhouse
Might be worth checking out.

Resources