作者:萧宇
开发者是越来越重要了。以前都叫码农,今天在CSDN上看到一个新的称呼:爱码士。最近的客户交流,很多也都是和应用开发部门进行沟通。他们关注的问题包括SQL跑得慢如何知道问题所在,Oracle有哪些功能特性、工具可以简化和辅助开发等。
Oracle技术布道师Tim Hall有一篇博文标题为“The Problem With Oracle: If a developer/user can't do it, it doesn't exist.”(Oracle 的问题:如果开发人员/用户做不到,它就不存在),在文章中他表达了如下的观点:
意思就是说:产品如果忽略了用户,就注定要失败。我认为一些“刻板”的东西是必要的,但用户体验应该总是尽可能轻松。两者结合是关键!
我非常认同他的观点。Oracle数据库本身的功能丰富且强大,但特性太多,多到让人望而生畏,手足无措。因此Oracle也在不断简化自己,从而为用户提供更好的体验。Oracle数据库发展战略向平台化(如Exadata)、服务化(如Oracle Cloud Infrastructure)和自治化(如Automomous Database)的转型也说明了这一点。甚至一些产品是这三种趋势的结合,如Exadata Cloud@Customer。
好了,言归正传。本文将为大家推荐小编收藏的一些Oracle开发者学习资源。虽然说One man's meat may be another man's poison,但小编还是有信心其中一些会得到大家的喜欢。
Oracle GitHub
https://github.com/oracle
GitHub无疑是开发者最常使用的网站之一,Oracle GitHub也是Oracle产品针对开发者非常重要的渠道和窗口。目前Oracle在GitHub上提供了264个资料库,内容涉及GraalVM,Docker,Java,SQL,Python和Node.js等。
具体而言,小编推荐以下3个资料库。
第一个是vagrant-projects。可以一键生成Oracle Linux,Oracle单实例,RAC和ADG数据库,同时可以指定数据库版本。其它支持的环境包括GoldenGate和Docker。这非常适合在学习过程中搭建开发测试环境,玩坏了也不用担心,一个命令就可以删除重建。
oracle-db-examples是第二个推荐的项目。提供Java,JavaScript,Python,SQL等各类语言与数据库交互的基础示例代码。
最后一个推荐的是db-sample-schemas。这个是Oracle官方提供的示例Schema,包括人力资源,订单,商务智能等。Oracle文档中很多示例都会使用这些Schema。安装指南可以参看我的这篇博文:如何使用github安装Oracle 数据库Sample Schema
Oracle LiveLabs
https://developer.oracle.com/livelabs
通过 Oracle LiveLabs,您可以使用 Oracle 的工具和技术来进行在线实验和研讨会,实时体验 Oracle 的最新技术!
Oracle LiveLabs目前有702个实验。这些实验都是在Oracle公有云OCI上运行的。如果您没有OCI账户,目前有156个实验也支持由LivaLabs自动创建临时实验环境,如图所示,在菜单中选择Run on LiveLabs即可。
LivaLabs中的实验时长大多在30分钟到2小时之间,涉及领域包括数据库,数据仓库,数据分析,微服务,机器学习,低代码开发等,您可以根据自己的兴趣进行选择。
Oracle Live SQL
https://livesql.oracle.com/
Oracle Live SQL是一个Web应用,提供Oracle 19c(19.17)企业版的简化交互式运行环境。其主要功能已体现在下图左侧菜单栏中。
首先来看一下Code Libarary,其中包括Script(脚本)和Tutorial(教程)。Script可以在SQL Worksheet中执行,或下载在你自己的环境中执行
Tutorial是关于某知识点的简明教程,可以导入到SQL Worksheet中交互执行。通常的使用方法为:
-
单击“Execute Prerequisite SQL”按钮,执行先决条件SQL,通常是建表和索引等。
-
按教程顺序选择脚本,单击“Insert Into Editor”,将脚本粘贴到SQL Worksheet。
-
单击“Run”按钮运行脚本。
-
重复步骤2。
-
LiveSQL自带示例Schema,如经典的SCOTT,HR和SH等。你可以针对这些Schema进行查询,但不支持运行DML操作。不过你也可以基于示例Schema创建自己的Schema,然后就可以修改了。
-
最后,你还可以自己制作脚本和教程,分享给大家使用。