My Mumbai blog is moving

In preparation for me starting as an Oracle freelancer, my Mumbai blog is moving to https://www.marcusmoennig.de/blog/. Please update your bookmarks. 🙂

If you signed up for email notifications about updates to this blog, these will no longer be available on the new blog to keep the GDPR/DSGVO setup simple.

Please follow me on twitter instead (@MarcusMonnigDE) or use the RSS feed in your RSS aggregator.

It’s been quite for years here, however with my new job as an Oracle freelancer I am now working on an updated version of Mumbai with support up to Oracle 19c and the multitenant architecture and I also plan to update my BASH scripts soon.

Posted in Mumbai | Leave a comment

Getting the most out of your Oracle database processor license in the cloud – if you dare…

Following up on the the Oracle doubled the costs for database licenses on MS Azure and partly on AWS post, I wondered with which setup on which cloud provider you would get the most bang out of an Oracle SE2 database processor license and what the recent change in Oracle licensing means especially for Azure users.

I’ve done an overly simple CPU benchmark test against Azure, AWS and Oracle cloud instances to get a rough idea how they perform in comparison. I’ve used sysbench for this (details below), which basically spits out you the time it needs to find prime numbers.

The numbers

cloud_cpu_benchmark

The green rows are setups that you would actually use – you would not select a server instance with just one or two cores if the Oracle database processor license allows you to use it for a server with more cores.

Results

One Oracle database SE2  processor license on Azure will get you only 22% of the CPU power compared to what you get in the Oracle cloud. With AWS you get around 40% of the CPU power compared to the Oracle cloud.

The real result

So, Larry was right?

What you get and how much you have to pay for it is a fast moving target in the cloud. An unnoticed change in “non-contractual” Oracle documents might easily double your licensing costs in the future.

Some Azure users have learned already that cloud can also mean that you have to roll out a new architecture and licensing model within 30 days.

Takeaway

Since you might currently feel a severe database vendor lock-in pain, you might want to think about ways to prevent cloud vendor lock-in:

  • Infrastructure as code with multiple targets up from the start
  • Private cloud on your own dedicated hardware or on bare metal cloud services
  • Good-ol’ virtualization on-premises or on bare metal cloud services

 

Test details

All tests were done on instances using Oracle Linux 7.2, 7.3 or RHEL 7.3 images. If you want to try to reproduce the results, here’s what to do:

sudo yum -y install wget
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo rpm -ivh epel-release-latest-7.noarch.rpm
sudo yum -y install htop sysbench
sudo yum -y update && sudo reboot

htop 
# Wait until the post-reboot load goes down and feed the number of cores shown in htop into sysbench
sysbench --test=cpu --cpu-max-prime=100000 --num-threads=<core_count> run

This was just a quick and dirty test with a licensing focus, which ignores a multitude of points:

  • Prime number calculation is not the same as Oracle database CPU load.
  • Results might be skewed depending on which host machine your instances ends up on.
  • It’s only a point-in-time test, not a statistically valid anaylsis over a longer period of time.
  • This is a constantly moving target since cloud provider upgrade the underlying hardware.
  • Probably a lot more…
Posted in Cloud, Licensing | 1 Comment

Oracle doubled the costs for database licenses on MS Azure and partly on AWS

On January 23rd, 2017 Oracle published a new version of their “Licensing Oracle Software in the Cloud Computing Environment” document.

The current version is available here: http://www.oracle.com/us/corporate/pricing/cloud-licensing-070579.pdf

Previously, a virtual database server with 8 virtual cores running Oracle Enterprise Edition in an authorized cloud environment needed 8* 0.5 =4 processor licenses.

Now, the same server on MS Azure (all instance types) or on AWS servers that do NOT have hyperthreading (namely the t2 and m3.medium instance types as stated here: https://aws.amazon.com/ec2/instance-types/) will need 8 processor licenses.

For Standard Edition licenses, the document makes no difference regarding hyper-threading and simply sets back MS Azure users: One processor license is needed for four or fewer AWS vCPUs, however one processor license is needed for just two or fewer AWS (correction) Azure vCPUs.

Additionally, Oracle halved the maximum number of vCPUs that you are allowed to use in Azure instances running Standard Edition 2 from eight to four.

In other news: I have added a piece of paper to my copy of my employment contract stating that, in effect as of today, my hour no longer has 60, but only 30 minutes.

 

Edit: Tim Hall’s take on this: https://oracle-base.com/blog/2017/01/28/oracles-cloud-licensing-change-be-warned/

Posted in Cloud, Licensing | Leave a comment

Oracle Certified Master exam passed

oracle_master.png (352×352)

After about 4 months of preparation and by far the most stressing exam in my professional life, I am extremely happy about the email from Oracle University today saying:

Congratulations! on the successful completion of the Oracle DBA 11g Certified Master practicum.

 

Posted in Mumbai | 2 Comments

Mumbai version 3.1.1 available

Yes, it is still alive. 🙂 Version 3.1.1 of Mumbai is available for download.

Mumbai served me well over the last months, so there were no updates for quite some time. However, it’s time to do at least some compatibilty fixes, especially in regards to 12c.

So here is the first shot which fixes some of the major compatibilty problems. I expect that there are more things to fix (and extend) regarding 12c and RAC in the near future.

If you have feature requests, let me know in the comments.

Here’s the list of changes for 3.1.1:

  • Now using Remote Desktop Plus instead of “LaunchRDP.exe” which fixes connecting to Windows Server 2012+/Windows 10+
  • Creation of Mumbai42 schema (needed for alert log fetching) on 12c fixed
  • Fixed fetching of alert log on RAC
  • Updated the download links for the Reference Guide. If you want to update, delete the current files in the “doc” subdirectory and press F1 in Mumbai.
  • Updated the snapper script to v4.24
Posted in Mumbai | 1 Comment

Mumbai version 3.0.1 available

Version 3.0.1 of Mumbai is available for download. Here’s the list of changes:

  • Breaking change: Any custom command that you set up on the toolbar will be gone.

  • Breaking change: If you use a master password to encrypt connection passwords, you will loose all your stored passwords with this release. To prevent this, run your current version first and remove the master password, before updating to this version.

  • There is now a 32 and 64 bit version available (which need either the 32 or 64 bit Oracle client)

  • Reorganized the button and ribbon layout
    a

  • Added a lot of new views (memory, storage,…)

  • There is now a context sensitive help (F1) on V$*, DBA_* views and database parameters that links into the Oracle Referece manual. The necessary files for Oracle 10-12 will be downloaded the first time you access the help feature. Bug: See first comment below, to get this feature to work.

    integrated help


  • Changed the SQL statement for the “Missing bind variables” view. It now finds similar SQL based on FORCE_MATCHING SIGNATURE and PLAN_HASH_VALUE and aggregates the result set for easier analysis

  • Mumbai can now connect to ASM instances and you can connect with the SYSASM privilege sysasm_login

  • Generated user DDL now includes roles, grants, quota and profile information

  • You can now test the functionality of database links from the context menu of the database links view

  • Fixed flickering cursor when executing queries in the console window

  • Added ASM views including a tree-like file explorer asm_file_exporer

  • You can now create your own charts from any table data (right click on a table and select “General function>New custom chart…”): custom_chart_setup

    custom_chart


  • Fixed refresh of AWR and SP data

  • RAC compatibility fixes for ASH viewer

  • The ASH viewer now correctly shows and updates data for the current minute

  • Added “Select/Deselect all visible” in the multiple connections selection dialog

  • Added “SP and AWR Physical Disk I/O” report

  • Added “Test connection” and “Test all connections” to connection dialog

  • When refreshing a view, you no longer loose your applied filters and sort order

  • Fixed: All connections now automatically get a name if no name is explicitly given (stopped ASH viewer from working)

  • Fixed an error when closing connections in console window and “Fetch DBMS_OUTPUT” was still active

  • Fixed: When executing a query on multiple connection and a query failed with ORA-… no connection back to the initially connected database happened

  • Fixed: When selecting “Fetch from multiple instances” in ASH setup at least one connection needs to be selected now.

  • Fixed: Access violation when dragging and dropping a page from the left to right side and vice versa
Posted in Mumbai | 5 Comments

Mumbai 3.0 status update

Thanks a lot to everyone who donated for Mumbai version 3.0 until now! The total is at around 110 130 140 US$ right now, but of course you can still change this. 🙂

I’ve started adding features and I’m making good progress. Here’s a sneak preview of what already is implemented for version 3.0:

  • You can now create your own charts from any table data (right click on a table and select “General function>New custom chart…”): custom_chart_setup

    custom_chart

  • You can now test the functionality of database links from the context menu of the database links view
  • There is now a context sensitive help (F1) on V$*, DBA_* views and database parameters that links into the Oracle Reference Manual. The necessary files for Oracle 10 to 12 will be downloaded the first time you access the help feature: integrated help
  • Added a lot of new views (memory, storage, metrics, autotasks, ASM, system statistics…)
  • Added ASM views including a tree-like file explorer: asm_file_exporer
  • Mumbai can now connect to ASM instances and you can connect with the SYSASM privilege: sysasm_login
  • Generated user DDL now includes roles, grants, quota and profile information
  • Reorganized the button and ribbon layout
  • Changed the SQL statement for the “Missing bind variables” view. It now finds similar SQL based on FORCE_MATCHING SIGNATURE and PLAN_HASH_VALUE and aggregates the result set for easier analysis
  • If you use a master password to encrypt connection passwords, you will loose all your stored passwords with this release.
  • Fixed flickering cursor when executing queries in the console window
  • Fixed refresh of AWR and SP data
  • RAC compatibility fixes for ASH viewer
  • The ASH viewer now correctly shows and updates data for the current minute
  • Added “Select/Deselect all visible” in the multiple connections selection dialog
  • Added “SP and AWR Physical Disk I/O” report
  • Added “Test connection” and “Test all connections” to connection dialog
  • When refreshing a view, you now longer use your applied filters and sort order
  • Bug fixes: All connections now automatically get a name if no name is explicitly given (stopped ASH viewer from working)
  • Fixed an error when closing connections in console window and “Fetch DBMS_OUTPUT” was still active
  • Fixed: When executing a query on multiple connection and a query failed with ORA-… no connection back to the initially connected database happened
Posted in Mumbai | Leave a comment

Fund raising for Mumbai 3.0

Mumbai has always been free-to-use and I don’t want to change this ever. However, I’ve spent considerable amounts for development tools over the last years. To be able to implement some new features, I will need to invest a bit again, so I am asking now for donations to support the further development of Mumbai.

Number one on my shopping list is a source code version of the Direct Oracle Access components. They were kind enough to offer me a 25% discount, so I need around 240 Euros (around 280 USD) for this one! 🙂 Besides other things, this will let me add support for connecting to ASM instances with Mumbai.

If more money comes in, I will spent it for a Developer Express VCL subscription which is around US$600 (510 Euros) US$540 (460 Euros) (Update 2015-01-14: The cool guys from DevExpress offered a 10% discount. Thanks!).
This component suite is the basis for lots of GUI elements in Mumbai, including data grids and most of the diagrams and an update to their current version will benefit Mumbai in the long term.

With both libraries available in their current version, I also hope to implement “server mode“, which would make working with large query result sets (think V$SQL, etc.) much slicker.

If you would like to donate something for the further development of Mumbai, please use the PayPal links below. I would greatly appreciate your support! Thank you! 🙂

Donate in Euros Donate in USD
Posted in Mumbai | 6 Comments

New version of Mumbai in the works

This is just a quick note that, after almost two years, I am again working on Mumbai and there should be a new version out within the next one or two months.

While Mumbai served me well on a daily basis over the last months and year at my job, my job has and will change a bit, so I am back at it. You can expect support for ASM, RAC and Linux and since I am tackling the “Oracle Database 11g Performance Tuning Certified Expert” certification, there will be quite a few performance related updates and additions. A 64-bit build will also be included.

If you have any pressing issues or feature requests for the upcoming version, please leave a comment (no promises…).

Update 2015/01/09: Passed. 🙂

OCE_ODb11gPerfTun_clr

Posted in Mumbai | 8 Comments

Bug fixes for BASH (ASH for the rest of us) in version 8

Version 8 of BASH is available and fixes some bugs resulting in no data being flushed to BASH$HIST_ACTIVE_SESS_HISTORY. Again, thanks to Robert Ortel for reporting and tracking down the cause.

If you already have BASH installed, you can use the SQL*Plus update script update_v7tov8.sql.

Changes:

  • Fixed another UTC-conversion resulting in no entries in BASH$HIST_ACTIVE_SESS_HISTORY
  • Added missing trigger on BASH.BASH$SETTINGS
  • Renamed INST_ID to INSTANCE_NUMBER in views accessed through public synonyms
  • Fixed a bug causing no data flushed to BASH$HIST_ACTIVE_SESS_HISTORY
Posted in BASH, Mumbai | Leave a comment