Very simple example:
set feed on; -- simple table: create table xt_curr1 as select level a,level b from dual connect by level<=1e4; -- same table but with empty trigger: create table xt_curr2 as select level a,level b from dual connect by level<=1e4; create or replace trigger tr_xt_curr2 before update on xt_curr2 for each row begin null; end; / set autot trace stat; update xt_curr1 set b=a; set autot off; set autot trace stat; update xt_curr2 set b=a; set autot off; set feed off drop table xt_curr1 purge; drop table xt_curr2 purge;
SQL> -- simple table: SQL> create table xt_curr1 as select level a,level b from dual connect by level<=1e4; Table created. SQL> -- same table but with empty trigger: SQL> create table xt_curr2 as select level a,level b from dual connect by level<=1e4; Table created. SQL> create or replace trigger tr_xt_curr2 before update on xt_curr2 for each row 2 begin 3 null; 4 end; 5 / Trigger created. SQL> update xt_curr1 set b=a; 10000 rows updated. Statistics ---------------------------------------------------------- 25 recursive calls 10553 db block gets 91 consistent gets 18 physical reads 3101992 redo size 560 bytes sent via SQL*Net to client 491 bytes received via SQL*Net from client 3 SQL*Net roundtrips to/from client 2 sorts (memory) 0 sorts (disk) 10000 rows processed SQL> update xt_curr2 set b=a; 10000 rows updated. Statistics ---------------------------------------------------------- 11 recursive calls 20384 db block gets 59 consistent gets 18 physical reads 4411724 redo size 560 bytes sent via SQL*Net to client 491 bytes received via SQL*Net from client 3 SQL*Net roundtrips to/from client 2 sorts (memory) 0 sorts (disk) 10000 rows processed
It's that time of the year - Oracle OpenWorld is taking place starting on Sunday - and my calendar is full of activities.
I'm going to be presenting on multiple tools and frameworks including sessions on Oracle Application Builder Cloud Service, Oracle JDeveloper and Oracle ADF, Oracle Developer Cloud Service and a session discussing which dev framework and tool is right for you.
In case you want to catch me at #OOW16 here is my schedule:
Simplified Multichannel App Development for Business Users [CON2884]
Monday, Sep 19, 1:45 p.m. | Moscone West - 2005 - A session where I'll demo how easy it is to create and host your own applications with Oracle Application Builder Cloud Service.
Oracle Application Development Framework and Oracle JDeveloper: What’s New [CON1226]
Tuesday, Sep 20, 4:00 p.m. | Moscone West - 2018 - A quick review of the new features we added in the 12.2.* releases of JDeveloper and ADF
Oracle Development Tools and Frameworks: Which One Is Right for You? [MTE6650]
Tuesday, Sep 20, 6:15 p.m. | Moscone South - 301- A session for all of those who are not sure which technology is right for them, or for those who want to ask me "is Oracle [fill in the product name] dead?"
A Guide to Cloud-Based Agile Development Methodology Adoption [CON1947]
Wednesday, Sep 21, 12:15 p.m. | Moscone West - 2018 - A demo focused session that show cases how Oracle Developer Cloud Service helps your team adopt agile development.
No Code Required: Application Development and Publishing Made Easy [HOL7402]
Tuesday, Sep 20, 11:30 a.m. | Hotel Nikko - Nikko Ballroom III (3rd Floor)
Monday, Sep 19, 4:15 p.m. | Hotel Nikko - Nikko Ballroom III (3rd Floor) - Your two chances to try out the new Oracle Application Builder Cloud Service and develop your first app
Agile Development Management and Continuous Integration Simplified [HOL7403]
Wednesday, Sep 21, 8:00 a.m. | Hotel Nikko - Nikko Ballroom III (3rd Floor) - Your chance to manage a whole development team agile process using Oracle Developer Cloud Service
I'm also going to be in the mobile theater in the mobile area in the demo ground on Tue and Wed at 10:30 doing a quick demo of ABCS and its mobile capabilities.
In between these sessions, you'll be able to find me at the Oracle Demoground doing some shifts in the Oracle ADF booth (which is in Moscone South far left corner) - the rest of our pods are close by including JET, DevCS, ABCS and even Forms :-)
And if I'll have any spare time, I'll try and catch some of the other session on this list of Dev tools and framework sessions
See you next week.
I have been writing books about the Oracle PL/SQL programming language for the last five years. In 1999, O'Reilly published my fourth book, Oracle PL/SQL Programming Guide to Oracle8i Features, which created a bit of an uproar among my readership, caused considerable discussion within O'Reilly, and led to my writing this article.
CREATE PACKAGE wcpkg AS
... PROCEDURE register (
culprit IN VARCHAR2, event IN VARCHAR2);
/The package body, however, contains that new and wonderful pragma:
CREATE PACKAGE BODY wcpkg AS
PROCEDURE register (
culprit IN VARCHAR2, event IN VARCHAR2)
INSERT INTO war_criminal (name, activity)
VALUES (culprit, event);
/And now when I call wcpkg.register, I am assured that my changes have been duly recorded:
wcpkg.register ('Kissinger', 'Secret Bombing of Cambodia');
- Excessive CEO compensation--and excessive, destructive layoffs
- Union-busting activities
- Positive role of unions in society
- Police brutality
- NATO bombing of civilian targets in Serbia
- Managed Care
- National Rifle Association and gun control
- The for-profit prison industry
- Slashing social programs to finance tax cuts
"I've been writing intensively about PL/SQL since 1994, and I have a great time doing it. At the same time, I must admit that I have simultaneously grown a little bit bored with using the same set of examples again and again (yes, those infamous emp/employee and dept/department tables), and I'm also very concerned about the state of the world as we approach the end of the twentieth century. Sure, things could be worse, but things could be a whole lot better (with my examples and the world). "Given these twin preoccupations, I have decided to offer examples that are decidedly different from the usual. I'll be talking about topics ranging from the state of health care in the United States to the strength of the gun lobby, from wage structures to environmental issues. I believe that even if you don't agree with the positions I have on a particular issue, you will find that this "breath of fresh air" approach will help you engage with the technical material. "I would also be very happy to hear from you--whether you agree or disagree!--and I encourage you to visit my Web site, at www.StevenFeuerstein.com, where you can read more about my life and viewpoints and can get in touch."How Fresh Is That Air?
Though I thought these examples would be a "breath of fresh air," some of my readers felt that the air stank. Here are some typical responses:
Dear Mr. Feuerstein, I, thankfully before buying the book, was able to peruse a copy of your latest PL/SQL programming book. I think you have forgotten one basic principle when you planned the examples. This was supposed to be a book about PL/SQL, not blatant sociopolitical rantings. If I had bought the book, I would be returning it immediately for a complete refund. It doesn't matter whether I agreed or disagreed with your views (in some cases I agreed, in some cases I strongly disagreed). I found the examples so distracting that I was unable to get the information I needed out of the book. Please in the future, remember that we, the book buyers, are looking for information about using PL/SQL. I am as tired of the emp and dept tables as you are, but less distracting examples would have been more appropriate. Personally, I am no longer buying your books nor am I recommending them to my clients as long as they contain the types of examples you used in your latest books. I cannot, in good conscience, recommend them as PL/SQL manuals because the examples removed the books from that category.I have to admit, getting emails like these has not been fun. Here's another:
I have just been shown a copy of the Guide to Oracle 8i Features and to be quite honest am embarrassed on behalf of the O'Reilly publishing company. It is well-known throughout the industry that O'Reilly books are said to be the bibles for technical reference. I am appalled at the liberty that Feuerstein has taken in imposing his personal beliefs throughout the text and examples and am even more appalled that O'Reilly allowed this kind of content to be published. It is highly offensive regardless of freedom of speech and Mr. Feuerstein's belief system and to choose such an unwilling audience is absurd! I will not buy this book and will tell each and every person I know in the industry to do the same. I will as well be cautious when purchasing and or recommending any other O'Reilly technical reference books. This is not the forum for this kind of content!You get the idea. Now, I should also mention that:
- I have received at least an equal amount of emails praising this particular book, sometimes for the political content explicitly, sometimes simply for the technical content, indicating that my choice of examples was not problematic.
- O'Reilly & Associates reviewed the book's content and its lawyers did recommend making a few changes. (They didn't, for example, want me to explicitly and blatantly accuse a sitting governor of bribery.)
- This book became a subject of active debate among O'Reilly editors about what limits, if any, should be placed on an author's desire to include possibly controversial examples.
- Tim O'Reilly and I talked about this subject at length and he thought that it would make a great topic for public discussion. So here I am!
Were my examples full of opinions or facts? Can I really separate the two? And what about the examples in all those other books (mine and the several hundred other Oracle books, and thousands of other technical books)? Are they all free of political content?
Democracy and Political Discourse
As I work on this article, I am flying back from a week's teaching in the United Kingdom. As is usual when I spend time outside the United States, and particularly in the U.K. (where I can understand the language), I am struck by the open political discourse--and open challenge--in the media and among individuals.
- Business-centric: Most examples used in technology books focus on how to make business work more efficiently, regardless of its impact on human society and the world as a whole. As a result, we constantly read about human-resource or personnel systems. And while examples frequently touch on education, these applications have more to do with managing students (the business side of education) than with improving the quality of education those students receive. All of this seems perfectly "natural" since the vast majority of technology is used by businesses to make profits. But does it have to be that way?
- Consumer-oriented: Many, many examples promote the perspective that the only reason we exist in this world is to buy things. Just about every book about the Internet focuses on some aspect of e-commerce, such as how to maximize the use of banner ads, how to grab and hold eyeballs, how to present product information dynamically.In 1999 Addison-Wesley published a truly marvelous book titled Refactoring: Improving the Design of Existing Code, by Martin Fowler. In it, Martin offers a systematic method for improving the quality of our code without affecting the interface to and behavior of that code. To demonstrate his techniques, the author offers a refreshing example: video rentals. Yet it still comes down to commerce. We are what we buy, not what we think and do with our lives outside of the exchange of items for money.
- Humans as numbered entities: This is particularly true in database-related books (including my own!). Technology is presented through a medium of scenarios that represent--and manipulate--humans as numbers. Just about any Oracle text you pick up is dominated by "emp-dept" examples: a personnel application that talks about salaries, bonuses, and commissions, when you were hired, which department you belong to, the name of an employee based on an employee_id, and so on. The message, so clearly presented in this dominant theme, is that we are defined primarily as workers and our value in life is derived from the contribution we make to our employer.
- Everything and anything as numbered entities: Hey, it's not just people! Technical examples extend the quantification approach to natural resources, information, entertainment, etc. Oracle also offers a standard demonstration base of tables and data for a sales/order entry system. This, of course, makes perfect sense in the world of Oracle--driven by the obsessive personality of Larry Ellison to sell, sell, sell software and services. (I own shares of Oracle stock and have benefitted directly from Larry's obsessions.)
I don't see what any of us gain - writers and readers alike - from the unwritten but nonetheless rigorously followed rules that technical books must conform to and further support the status quo in our society.
For OMS side:
PSU (188.8.131.52.160719) Note 2158181.1 Patch 23087400 ( latest PSU)
OMS System side Monthly bundle patch – OMS Patch 23741465 ( jul2016)
For Agent side:
Agent Core System Patch: 23639986
Agent DB 184.108.40.206.0 Discovery Patch: 22135601
Agent DB 220.127.116.11.0 Monitoring Patch: 23517257
Agent FMW 18.104.22.168.0 Discovery: 23217959
Agent FMW 22.214.171.124.0 Monitoring: 23741311
EM for Exadata Plug-in 126.96.36.199.160731
Agent Exadata 188.8.131.52.0 Monitoring: 23639890
Agent Exadata 184.108.40.206.0 Discovery: 20844924
Use the EM Patch capability to create a Patch plan and apply these patches (agent side only):
Automating the Agent Side Patching
If you want to automate applying these patches for every new agent and plugin deployment follow this process:
Install the above agent side patches on any one of the agent. Use this as Golden Template and use Clone feature to deploy the further agent. ( Each GoldenTemplate for each platform)
Step 1: Copy the Agent Sytem Patch to: $OMS_HOME/install/oneoffs/<agentversion>/<platform>
-rw-r--r-- 1 emuser oinstall 20383932 Aug 23 10:36 p23639986_121050_Generic.zipStep2: Create the custom plugin out of the above any one Golden Agent, to bake the patches in the default plugins:
Database Custom Plugin creation:
emcli create_custom_plugin_update -agent_name="mysystem.com:3872" -plugin_id="oracle.sysman.db" -overwrite
FMW Custom Plugin creation:
emcli create_custom_plugin_update -agent_name="mysystem.com:3872" -plugin_id="oracle.sysman.emas" -overwrite
Exadata Custom Plugin creation:
emcli create_custom_plugin_update -agent_name="mysystem.com:3872" -plugin_id="oracle.sysman.xa" -overwrite
Verify the patches:
emcli list_patches_in_custom_plugin_update -plugin="oracle.sysman.db"
emcli list_patches_in_custom_plugin_update -plugin="oracle.sysman.db" -discovery
emcli list_patches_in_custom_plugin_update -plugin="oracle.sysman.emas"
emcli list_patches_in_custom_plugin_update -plugin="oracle.sysman.emas" -discovery
emcli list_patches_in_custom_plugin_update -plugin="oracle.sysman.emas"
emcli list_patches_in_custom_plugin_update -plugin="oracle.sysman.xa" -discovery
Now, any new agent deployed from console or emcli, even though you forget to use clone feature will make sure the latest Agent System patches are picked up from default patch locations and plugins deployed will make sure the patches contains for plugins as they are the default plugins now.
Applying Enterprise Manager Recommended Patches (Doc ID 1664074.1)
Oracle Recommended Patches (PSU) for Enterprise Manager Base Platform (All Releases) (Doc ID 822485.1)
Document 2038446.1 - Enterprise Manager 220.127.116.11.0 (PS4) Master Bundle Patch List
Enterprise Manager Cloud Control 12c Recommended Plug-Ins and Patches for Database as a Service (DBaaS) (Doc ID 1549855.1)
Enterprise Manager for Exadata 18.104.22.168.0 Bundle Patch Bug List (Doc ID 1929659.1)
Patch Requirements for Setting up Monitoring and Administration for Exadata (Doc ID 1323298.1)