Oracle SQL Developer is an integrated development environment (IDE) which provides editors for working with SQL, PL/SQL, Stored Java Procedures, and XML in Oracle databases.
N/A
SonarQube
Score 8.0 out of 10
N/A
SonarQube is an automated code review solution, serving as the verification layer for code quality and SDLC security. SonarQube is used to ensure that code is secure, reliable, and maintainable. It is available through SaaS or self-managed deployment.
Almost all development activities (the tool is called "SQL Developer", not "DBA Toolset") can be done easily and quick with [Oracle] SQL Developer. From data model creation (tables, views) to development (creation of procedures, functions, packages) and then testing (SQL Developer includes an easy to use debugger), all tasks can be performed in a single tool.
It may not be as complete as other solutions for DBA tasks like instance monitoring, but it is usually OK for development and testing environments if you want to do some basic troubleshooting.
SonarQube is excellent if you start using it at the beginning when developing a new system, in this situation you will be able to fix things before they become spread and expensive to correct. It’s a bit less suitable to use on existing code with bad design as it’s usually too expensive to fix everything and only allows you to ensure the situation doesn’t get worse.
Object Browser in SQL Developer allows you to explore the contents of your database using the connection tree.
The SQL Worksheet is an editor that allows for execution of SQL statements, scripts, and PL/SQL anonymous blocks. SELECT statements can be executed to return results in a spreadsheet-like 'grid' or can be executed as a script such to emulate SQL*Plus behavior and output
DBA Console allows users with administrative privileges to access DBA features such as database init file configuration, RMAN backup, storage, etc.
Detecting bugs and vulnerabilities: SonarQube can identify a wide range of bugs and vulnerabilities in code, such as null pointer exceptions, SQL injection, and cross-site scripting (XSS) attacks. It uses static analysis to analyze the code and identify potential issues, and it can also integrate with dynamic analysis tools to provide even more detailed analysis.
Measuring code quality: SonarQube can measure a wide range of code quality metrics, such as cyclomatic complexity, duplicated code, and code coverage. This can help teams understand the quality of their code and identify areas that need improvement.
Providing actionable insights: SonarQube provides detailed information about issues in the code, including the file and line number where the issue occurs and the severity of the issue. This makes it easy for developers to understand and address issues in the code.
Integrating with other tools: SonarQube can be integrated with a wide range of development tools and programming languages, such as Git, Maven, and Java. This allows teams to use SonarQube in their existing development workflow and take advantage of its powerful code analysis capabilities.
Managing technical debt: SonarQube provides metrics and insights on the technical debt on the codebase, enabling teams to better prioritize issues to improve the quality of the code.
Compliance with coding standards: SonarQube can check the code against industry standards like OWASP, CWE and more, making sure the code is compliant with security and coding standards.
Inability to run multiple queries on the same database. You can only run one query on a given database.
Analytical models created from complex tables isn't accurate, and needs work.
Inability to view multiple tables of a database side-by-side. When trying to find correlations between tables, it would help to be able to see them at once on the same page.
Importing a new custom quality profile on SonarQube is a bit tricky, it can be made easier
Every second time when we want to rerun the server, we have to restart the whole system, otherwise, the server stops and closes automatically
When we generate a new report a second time and try to access the report, it shows details of the old report only and takes a lot of time to get updated with the details of the new and fresh report generated
Oracle SQL Developer is very easy to use and there are a wide range of courses available which can help you get started just within a day. Data can be exported in multiple formats based on user requirements. Organizational data can be stored and management effectively using Oracle SQL Developer. All the data, tables, sequences, indexes can be easily created and updated in Oracle SQL Developer.
We we easily able to integrate the SonarQube steps into our TFS process via the Microsoft Marektplace, we didn't have the need to call SonarQube support. We've used their online documentation and community forum if we ran into any issues.
I have started to use Toad for Oracle recently because it is easier to sort and filter results, due to their memory sort feature that puts the results from your query in memory so that you don't have to rerun your query. I have used SQL Developer to easily update records in tables that I need to fix. I haven't found an easy way to do this in Toad other than writing SQL insert statements.
SonarQube is an open-source. It's a scalable product. The costs for this application, for the kind of job it does, are pretty descent. Pipeline scan is more secured in SonarQube. Its a very good tool and its support multiple languages. Its main core competency is of static code analysis and that is why SonarQube exists and it does it exceedingly well. The quality of scan on code convention, best practices, coding standards, unit test coverage etc makes them one of the best competent tool in the market
Positive ROI from the standpoint of flagging several issues that would have otherwise likely been unaddressed and caused more time to be spent closer to launch
Slightly positive ROI from time-saving perspective (it's an automated check which is nice, but depending on the issues it finds, can take developers time to investigate and resolve)