Yeah yeah I know. You don’t have to remind me.

When someone posts a LinkedIn post with the following image:

 

then I know, you know, everyone knows, that it has been done to grab attention.

Lead off with something inflammatory and you’re likely to bring more attention to their post, get more impressions, more engagement etc.

So I’m sitting at the keyboard and I keep telling myself:

bait

 

But of course, I’m a sucker so I’m can’t resist responding.  Let’s look at these statements in turn

 

image

If you’re looking for a registry of containers for Oracle, then you’ll likely stumble onto https://container-registry.oracle.com/.

Plenty of database stuff there.

image

Of if git is more your thing, then https://github.com/oracle/docker-images – also easy to find.

 

 

image

Our containers are containers. They start pretty much instantly. But let’s say (based on the previous claim) we’re referring to the standard full installation of Oracle. Let’s take a look. No edits here, just a straight screen capture of the VM on my laptop.

db_startup

About 5 seconds on my watch.

 

 

image

REST is about as common as air in the IT industry? Our ORDS product gives REST access to the database layer, and similarly, if you’re on our cloud, there are REST APIs to pretty much every one of our services.

 

image

OK, this is perhaps a fair call. But we’re open about that – we’ve been redesigning our error messages from the ground up in Oracle Database 23ai to give a far better experience for developers and DBAs. You can check out my video showing an example of this.

 

image

Upgrades are now editing a 10 line configuration file and running autoupgrade. One line command and you’re good to go.

global.autoupg_log_dir=/default/current/location
upg1.dbname=employee
upg1.start_time=NOW
upg1.source_home=/u01/app/oracle/product/11.2.0/dbhome_1
upg1.target_home=/u01/app/oracle/product/19.1.0/dbhome_1
upg1.sid=emp
upg1.log_dir=/scratch/auto
upg1.upgrade_node=node1
upg1.target_version=19.1

and yes, we’ve have autoupgrade out there for customers for 6 years now.

https://mikedietrichde.com/2019/06/13/create-and-adjust-the-config-file-for-autoupgrade-19c/

 

image

Change into the $ORACLE_HOME and run the deinstall script. You’re done!

tmp_deinstall

 

image

Go ahead and click http://docs.oracle.com/ for me. You won’t see see a paywall.

 

image

Not sure about the “internals” you speak of? As a developer, I want to be able to create objects, run SQL and store data. That is what a database is for. And if on those rare occasions I really need access to the internals, Oracle is the most comprehensively instrumented database ever. AWR, ASH, SQL trace are all facilities that every other database vendor has tried to replicate in some way shape or form because they acknowledge that Oracle led the way here.

 

image

I’m sortta lost on this one. Type in those commands in any case you want.


SQL> select count(*) from emp;

  COUNT(*)
----------
        14

SQL> select count(*) from EMP;

  COUNT(*)
----------
        14

SQL> select count(*) from EmP;

  COUNT(*)
----------
        14

SQL> sEleCt cOuNt(*) from eMP;

  COUNT(*)
----------
        14

 

image

Any Oracle tool that has a dependency on Java, provides that Java without any license requirements. If you want to build apps with Oracle Java in isolation, then go ahead and get that license or use OpenJDK or similar. But (at time of writing) as per the Java FAQ https://www.oracle.com/au/java/technologies/javase/jdk-faqs.html you can see that an Oracle tool that requires Java lets you use Java (for that tool) without having to license it.  Also check this MOS note for more details.

 

image

I’m not dunking on object oriented languages. They are perfect for the very object-centric world of application development. But when those apps want to liaise with the data layer, often a procedural language is the ideal fit. I won’t use my opinion to claim that procedural languages are best suited to dealing with data management tasks, I’ll just let the entire industry decide:

  • Oracle PLSQL … procedural
  • SQL Server T-SQL … procedural
  • Postgres PL/pgSQL … procedural
  • DB2 SQLPL … procedural

I think there’s a pattern here.

 

 

image

Since 11g Express Edition, released over a decade ago, there has always been a free version of the Oracle Database for developers to use. Since then we’ve had 18c Express Edition, 21c Express Edition and the latest is 23ai Free.

You can run it on-premises, or you can get Free Forever database on our Cloud.

 

Conclusion

I know, I should not let myself get sucked in these debates.

tmp_Walkway

but it’s not even the Oracle-bashing that bugs me. It is the “absolutes” that really get my goat. Of course, I’m a fan of the Oracle Database. But in the past, I’ve used DB2 and SQL Server and Postgres, and just like Oracle, they all have some great things about them, and some things that I’d like to see improved.

And I think that’s the same for most IT professionals who have been in the game for a while. I think we can recognise that statements like “Never” or “Always” general are more about engagement, or views, or sales or similar.

Ideally, I’d like to see information on the internet that is focussed on one thing – making you prosper with whatever technology you’re using, and posts like that one aren’t it.

4 responses to “Calling out LinkedIn Clickbait”

  1. Mustafa KALAYCI Avatar
    Mustafa KALAYCI

    we are in the age of knowledge, knowledge is more valuable than gold now, knowledge is in everywhere and still there are many ignorant people. we had a saying “not knowing is not a shame but not learning is”.

  2. aminaa49ed2e27e Avatar
    aminaa49ed2e27e

    Enjoyed your response. Thank you

  3. Re: Uppercase and lowercase for table names etc.

    SQL> create table “emp” (“name” varchar2(39));

    Tabelle wurde erstellt.

    SQL> create table “emp” (“name” varchar2(39));

    Tabelle wurde erstellt.

    SQL> desc emp
    ERROR:
    ORA-04043: Objekt emp ist nicht vorhanden

    SQL> insert into “emp” (name) values (‘rudi’);
    insert into “emp” (name) values (‘rudi’)
    *
    FEHLER in Zeile 1:
    ORA-00904: “NAME”: ungültiger Bezeichner

    SQL> desc “emp”
    Name Null? Typ

    name VARCHAR2(39)

    SQL> insert into “emp” (“name”) values (‘rudi’);

    1 Zeile wurde erstellt.

    SQL> insert into “emp” (“name”) values (‘rolf’);

    1 Zeile wurde erstellt.

    SQL> insert into “emp” (“name”) values (‘ralf’);

    1 Zeile wurde erstellt.

    SQL> commit;

    Transaktion mit COMMIT abgeschlossen.

    SQL> select count(*) from “emp”; COUNT(*) 3

    SQL> create table emp (name varchar2(39));

    Tabelle wurde erstellt.

    SQL> desc emp;
    Name Null? Typ

    NAME VARCHAR2(39)

    SQL> insert into emp (name) values (‘rudi’);

    1 Zeile wurde erstellt.

    SQL> commit;

    Transaktion mit COMMIT abgeschlossen.

    SQL> select count(*) from emp;

    COUNT(*)

    ————

    1

    SQL> select count(*) from “emp”;

    COUNT(*)

    ————

    COUNT(*) 3

    SQL>

    ==> Unchanged behaviour since at least version 11.2

    ==> Not a problem per se but may break badly written dba scripts etc.

    ==> IMO you have know what you doing or talking about: the linkedin poster obviously did not know …

    1. True but my point is – someone has to explicitly add those quotes in order to see this issue, so its a problem of their own making.

      The funny thing is – over the many years of working with Oracle, the much more common criticism I see is people saying “Why are the table names case IN-sensitive”

Leave a reply to Christian Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trending