Wednesday Jun 17, 2015
Thursday Jan 22, 2015
By cj on Jan 22, 2015
For anyone who ever deleted a row from a table in Oracle's Sample HR schema and wanted it back, help is nearby. You no longer have to download the full "Oracle Database 12c Release 1 Examples" zip (499,228,127 bytes worth for the Linux bundle) and run the Oracle installer. Now you can clone our GitHub db-sample-schema repository and run the creation SQL scripts in SQL*Plus.
This new repository installs these six sample schemas:
- HR: Human Resources
- OE: Order Entry
- PM: Product Media
- IX: Information Exchange
- SH: Sales History
- BI: Business Intelligence
Because of the widespread use of these schemas, we did minimal changes to the bundle. The install, as it is given, installs all schemas and needs to be done on a database server since file system access is needed from the database.
But now, if you want, you can fork the repo and modify it to install just the HR schema from a client machine. Or change your fork to install the HR schema into an arbitrary user name of your choice so multiple people can test the same data set. And what about modifying the script to do DROP TRIGGER SECURE_EMPLOYEES getting rid of that annoying time-based trigger which yells 'You may only make changes during normal office hours' if you try to make changes after 6pm or on weekends? This may be a great teaching tool about triggers but not useful when you are configuring demonstrations for big conferences late into the night!
And why is this a personal victory? Because as a client tool person, how to find these schema creation scripts has irked me in the past. The HR schema replaced SCOTT/TIGER in the Oracle documentation a long time ago but was not easily available to use. I've written a lot of examples using HR but never had a good way to instruct how to install the schema. I'm glad to have helped (being partially modest here about the legal and administrative things it required) getting this small set of scripts out on GitHub. If it makes it easier for someone to talk about features or issues by reference to a common data set, then my job is done. Having the scripts readily available is also a reminder to the Oracle community to share information and knowledge efficiently. Even as we head to a world of cloneable databases and snapshots, sometimes it is just easier to run a SQL script.
This repo is a piece of a jigsaw, and it can be used where it fits. The schemas could be now considered "traditional". In future, Oracle Database teams will continue to create fresh data sets to show off newer and upcoming database features, such as these analytical-sql-examples that you might be interested in.
Monday Jan 19, 2015
By cj on Jan 19, 2015
Here are the steps I have been using to enable autostarting of Oracle Datbase Enterprise Edition 10g, 11g or 12c during boot time of Oracle Linux 5 and 6. I also use these steps with Oracle Linux 7. These steps are useful for the kinds of demonstration and development setups that I typically need.
These steps are not needed for Oracle XE, since its install will prompt whether to autostart the DB and will configure the system automatically.
Create a new service script
Create a file
Set permissions on the script
# chmod 750 /etc/init.d/dbora
Tell Linux to autostart/stop the service
# chkconfig --add dbora # chkconfig dbora on
/etc/oratab, change the autostart field from
Yfor any databases that you want autostarted.
Starting / Stopping the DB
The DB will start and stop at machine boot and shutdown.
Or it can be manually controlled with:
# service dbora start
# service dbora stop
Starting Oracle Database 12c Multitenant PDBs
To also start all pluggable databases when the container database starts, you can do:
connect / as sysdba create or replace trigger sys.after_startup after startup on database begin execute immediate 'alter pluggable database all open'; end after_startup; /
Monday Jan 12, 2015
By cj on Jan 12, 2015
We are looking to hire someone who loves working with open source developer communities.
The ideal candidate would have experience with the Oracle Database and at least two or more open source developer environments. The successful candidate would join a team of people responsible for helping database app developers be more productive while using prominent open source development tools. That person would also help to represent the needs of the community back to Oracle development. If you are a technical person that would like to make a difference, please check out this link.
Monday Dec 08, 2014
By cj on Dec 08, 2014
Nancy Ikeda nails it in a great Oracle OpenWorld recording of her Best Practices for Application Performance, Scalability, and Availability session now viewable on the Oracle Call Interface page
The session covered:
Best practice coding samples and techniques show how to resolve connection management, statement execution, and data fetching inefficiencies in applications using APIs such as JDBC, OCI, ODBC, ODP.Net, or higher-level scripting languages. This session shows how the Automatic Workload Repository feature of Oracle Database and Automatic Database Diagnostic Monitor profiling tools help diagnose application design and coding issues. Specific solutions show how to resolve these and other issues to enhance applications for scalability and resilience. Among the solutions discussed are Oracle Database 12c’s new client configuration file. Developers or DBAs can use it to tune and configure applications without modifying code. Examples use JDBC and OCI but are applicable to all APIs.
Nancy is one of Oracle's senior developers working in the call interface group.
Wednesday Oct 29, 2014
By cj on Oct 29, 2014
We did good in this recent podcast How to Get the Most out of a Technology Conference (which is cleverly disguised as a video). It has everything the inexperienced conference-goer needs to know. I'm pleased to have been able to give a shout out to PHPWomen! Despite the official blurb, the content applies to all technology conferences and there is very little that is specific to Oracle.
Friday Sep 26, 2014
By cj on Sep 26, 2014
It's a super, extra, enormously busy time of the year at Oracle because our big Oracle OpenWorld Conference is next week. We have all been working on new products and new presentations.
I have a full mix of events, meetings, presentations and booth duty. If you're at the conference drop by to say Hi. I'll be at the Application Development booth (Left - SLD-163) in Moscone South on Monday morning, Tuesday lunchtime and Wednesday morning (plus other odd times).
Also lookout for me onstage with Tom Kyte on Monday and with Steven Feuerstein on Wednesday.
The session details, and other sessions you might find interesting are listed on my Focus On Application Development page.
If you are a developer, I recommend coming to the Programming and Scripting "Meet the Expert" session at 6pm Tuesday evening (Moscone South - 307). I cannot stress enough how valuable it is to have a dialog and relationship with the developers who create the software and APIs you use.
Monday Mar 03, 2014
By cj on Mar 03, 2014
Over the years I've worked very closely with the Oracle Database Access Group and have a lot of respect for them. I'm happy to share that they are hiring C developers.
To apply, go to irecruitment.oracle.com and enter the code IRC2401606 or IRC2403582 (depending where you want to work) in the Keyword search box.
Here is an excerpt from the job posting:
The Database Access group at Oracle is responsible for providing functionally comprehensive, reliable, high performance, secure and highly available access to the Oracle Database from various client drivers, including proprietary, standards-based and open-source drivers. The group works on the high level drivers, the Oracle Call Interface (OCI) layer, the Oracle wire protocol (TTC) and highly scalable server side protocol handlers that together connect an application written in any language securely to the Oracle Database Server to provide full featured access to the Oracle Database.
Some of the listed requirements are:
Strong C programming experience.
I believe it when they also say "Work is non-routine and very complex, involving the application of advanced technical/business skills in area of specialization". Check out the postings for all the details. I look forward to working with you.
Addendum: IRC2401606 is also available.
Tuesday Apr 30, 2013
By cj on Apr 30, 2013
In case you missed the notifications, the Oracle Technology Network forum software is going to be upgraded this weekend. This is great, since the old software is getting long-in-the-tooth and doesn't allow a bunch of useful features. The current forums will be in read-only mode over the weekend.
On launch of the new version, a minimal set of features will be supported. Once the upgrade is stable, then additional features will be turned on.
As a side part to the migration project, some little used and obsolete forums will be removed. Some other categories will be reworked.
You can get more information about the migration here. One thing to note is that the forum software is powered by Jive; i.e it is a packaged application so not all features you (and I) have requested will magically become feasible. And also, for better or worse, Jive has renamed "forums" as "spaces" - apparently we can't change this.
Saturday Sep 03, 2011
By cj on Sep 03, 2011
Oracle Database 11g Release 2 Express Edition aka "Oracle XE" is now available on Linux 64 bit and Windows 32 bit. This is a free version of the Oracle Database. Windows 64 bit is "in the works" but Linux 32 bit is not planned.
Check out the newly updated Oracle Database Express Edition 2 Day + PHP Developer's Guide. As well as HTML and PDF variants, the manual is available in Mobi and EPUB formats.
The 2 Day + PHP manual has steps for installing PHP and walks through creating an introductory application. It shows different ways to interact with Oracle XE and introduces PHP 5.3 features.
The example shows the mechanics of DB interaction. It builds the application from the ground up so you can understand how to construct your own high performance applications. If you want to continue the learning path and use a PHP framework, Oracle 11g XE works with the Developing a PHP Web Application with Oracle Database 11g training.
The Oracle 11.2 XE Linux install is RPM based. It takes just a few minutes to install, prompting only for a few necessary details such as desired passwords and ports. You need root access to install it.
Oracle 11.2 XE supports DRCP connection pooling so you'll really be able to maximize the small footprint database for PHP applications.
Readers who want to dive deeper into detail about PHP and advanced features available in other editions of Oracle Database might be interested in the later sections of the Underground PHP and Oracle Manual.
Tuesday Aug 30, 2011
By cj on Aug 30, 2011
I've built PHP 5.3.8 RPM packages with various common extensions (and the latest OCI8 1.4.6) for Linux x64. They are downloadable at oss.oracle.com/projects/php/. These binaries might be useful for quick testing. They are unsupported.
Oracle customers with support using Oracle Linux 5.6+ may prefer the stable PHP 5.3.3 php53-* packages available on ULN. The OCI8 extension is also available there.
Monday Aug 22, 2011
By cj on Aug 22, 2011
The release is mostly test suite additions. A new oci_client_version() function is available. This is useful for OCI8's test suite to overcome some of the limitations of PHP's simple test infrastructure. You might also find it useful in special cases where you need to know the exact version of the Oracle client libraries that PHP is using.
There are also some small internal code changes brought on by general PHP code cleanups. These OCI8 changes allow cross version portability for the extension.
Saturday Sep 18, 2010
Friday Jul 30, 2010
Thursday Jul 29, 2010
- node-oracledb 1.2.0 is on NPM (Node.js add-on for Oracle Database)
- node-oracledb 1.1.0 is on NPM (Node.js add-on for Oracle Database)
- Using DBMS_OUTPUT with Node.js and node-oracledb
- How to install node-oracledb on Windows
- Node-oracledb goes 1.0: The Node.js add-on for Oracle Database
- Installing node-oracledb on OS X with Oracle Instant Client 126.96.36.199
- node-oracledb 0.7.0 now supports Result Sets and REF CURSORS
- Python cx_Oracle 5.2 driver for Oracle Database has been released
- Scripting Languages & Oracle: Blogs to Follow
- node-oracledb 0.6.0 is on NPM (Node.js driver for Oracle Database)