Feed aggregator

technical diversion - DBaaS Rest APIs

Pat Shuff - Fri, 2016-04-15 02:07
We are going to take a side trip today. I was at Collaborate 2016 and one of the questions that came up was how do you provision 40 database instances for a lab. I really did not want to sit and click through 40 screens and log into 40 accounts so I decided to do a little research. It turns out that there is a relatively robust REST api that allows you to create, read, update, and delete database instances. The DBaaS Rest Api Documentation is a good place to start to figure out how this works.

To list instances that are running in the database service use the following command, note that "c url" should be shortened to remove the space. Dang blogging software! Note to make things easier and to allow us to script creation we define three variables on the command line. I did most of this testing on a Mac so it should translate to Linux and Cygwin. The three variables that we need to create are

  • ODOMAIN - instance domain that we are using in the Oracle cloud
  • OUID - username that we log in as
  • OPASS - password for this instance domain/username
export ODOMAIN=mydomain
export OUID=cloud.admin
export OPASS=mypassword
c url -i -X GET -u $OUID:$OPASS -H "X-ID-TENANT-NAME: $ODOMAIN" -H "Content-Type:application/json" https://dbaas.oraclecloud.com/jaas/db/api/v1.1/instances/$ODOMAIN
What should return is
HTTP/1.1 200 OK
Date: Sun, 10 Apr 2016 18:42:42 GMT
Server: Oracle-Application-Server-11g
Content-Length: 1023
X-ORACLE-DMS-ECID: 005C2NB3ot26uHFpR05Eid0005mk0001dW
X-ORACLE-DMS-ECID: 005C2NB3ot26uHFpR05Eid0005mk0001dW
X-Frame-Options: DENY
X-Frame-Options: DENY
Vary: Accept-Encoding,User-Agent
Content-Language: en
Content-Type: application/json

{"uri":"https:\/\/dbaas.oraclecloud.com:443\/paas\/service\/dbcs\/api\/v1.1\/instances\/metcsgse00027","service_type":"dbaas","implementation_version":"1.0","services":[{"service_name":"test-hp","version":"","status":"Running","description":"Example service instance","identity_domain":"metcsgse00027","creation_time":"Sun Apr 10 18:5:26 UTC 2016","last_modified_time":"Sun Apr 10 18:5:26 UTC 2016","created_by":"cloud.admin","sm_plugin_version":"","service_uri":"https:\/\/dbaas.oraclecloud.com:443\/paas\/service\/dbcs\/api\/v1.1\/instances\/metcsgse00027\/test-hp"},{"service_name":"db12c-hp","version":"","status":"Running","description":"Example service instance","identity_domain":"metcsgse00027","creation_time":"Sun Apr 10 18:1:21 UTC 2016","last_modified_time":"Sun Apr 10 18:1:21 UTC 2016","created_by":"cloud.admin","sm_plugin_version":"","service_uri":"https:\/\/dbaas.oraclecloud.com:443\/paas\/service\/dbcs\/api\/v1.1\/instances\/metcsgse00027\/db12c-hp"}],"subscriptions":[]}

If you get back anything other than a 200 it means that you have the identity domain, username, or password incorrect. Note that we get back a json structure that contains two database instances that were previously created, test-hp and db12c-hp. Both are up and running. Both are instances. We don't know much more than these but can dive a little deeper by requesting more information by included the service name as part of the request. A screen shot of the deeper detail is shown below.

A list of the most common commands are shown in the screen shot below

The key options to remember are:

  • list: -X GET
  • stop: -X POST --data '{ "lifecycleState" : "Stop" }'
  • restart: -X POST --data '{ "lifecycleState" : "Restart" }'
  • delete: -X DELETE **need to add the instance name at the end, for example db12c-hp in request above
  • create: -X POST --data @createDB.json
In the create option we include a json file that defines everything for the database instance.
  "serviceName": "test-hp",
  "version": "",
  "level": "PAAS",
  "edition": "EE_HP",
  "subscriptionType": "HOURLY",
  "description": "Example service instance",
  "shape": "oc3",
  "vmPublicKeyText": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAnrfxP1Tn50Rvuy3zgsdZ3ghooCclOiEoAyIl81Da0gzd9ozVgFn5uuSM77AhCPaoDUnWTnMS2vQ4JRDIdW52DckayHfo4q5Z4N9dhyf9n66xWZM6qyqlzRKMLB0oYaF7MQQ6QaGB89055q23Vp+Pk5Eo+XPUxnfDR6frOYZYnpONyZ5+Qv6pmYKyxAyH+eObZkxFMAVx67VSPzStimNjnjiLrWxluh4g3XiZ1KEhmTQEFaLKlH2qdxKaSmhVg7EA88n9tQDWDwonw49VXUn/TaDgVBG7vsWzGWkRkyEN57AhUhRazs0tEPuGI2jXY3V8Q00w3wW38S/dgDcPFdQF0Q== rsa-key-20160107",
  "parameters": [
      "type": "db",
      "usableStorage": "20",
      "adminPassword": "Test123_",
      "sid": "ORCL",
      "pdb": "PDB1",
      "failoverDatabase": "no",
      "backupDestination": "none"
The vmPublicKeyText is our id_rsa.pub file that we use to connect to the service. I did not include a backup space but could have. I did not in this example because we have to embed a password in this space and I did not want to show a service with username and password.

Overall, I prefer scripting everything and running this from a command line. Call me old school but sitting for hours and clicking through screens when I can script it and get a notification when it is done appeals to me.

My Oracle Support (MOS) Portal Blog Has Moved

Joshua Solomin - Thu, 2016-04-14 17:12
Please Visit Us at Our New Location

As of Friday, April 15, 2016, the MOS Portal blog has moved to a new location within My Oracle Support Communities.

Come find us here, and be sure to bookmark the new page URL:


Going forward please direct any comments and discussion to the new site. Comments left here in the future will not receive responses and will be discarded.

Thank you, and we look forward to seeing you at the new site! 

-The Oracle Software Support Team

The Art & Science of HR—Chicago Style!

Linda Fishman Hoyle - Thu, 2016-04-14 11:49

“I’m not going to talk much about IT,” said Mark Hurd at the beginning of his keynote at Oracle HCM World in Chicago last week. That statement set the tone for the more than 1,400 attendees because HCM World is not a technology conference. Rather it is one where the art and science of HR come together to deliver thought-provoking discussions and revelations, which linger long after the event is over.

Oracle HCM World is a conference where one can get a new professional headshot for LinkedIn, Oracle Talent Profile, or any other tool of choice done with the help of great photographers and MAC makeup artists. It is a conference where a young female entrepreneur, Debbie Sterling of GoldieBlox, can inspire participants with her passion for raising a generation of girls who will later enter STEM professions and deliver the next breakthrough discoveries in science and engineering. It is a conference where Oracle HCM Cloud gets to shine not because it is built on Fusion technology, but because of all the amazing business benefits it delivers.

Back to Mark’s Keynote

Even though a typical corporate mentality is to cut expenses, Hurd said engaged employees are the key to success. That’s what drives productivity.

Rick Bell, Editor, Workforce, wrote this in his article entitled Oracle HCM World: What I Heard From Mark Hurd: “If the baseline of employee engagement is 70 percent and that improves by just a few percentage points, then Hurd explained he has turned higher productivity into millions of dollars.”

And more from Hurd: “Instead of cutting expenses, I drove productivity. It’s sound business. A higher engaged employee will do more work, better work, care more about the business and more about your customers. Engagement is the key to productivity. The higher engagement I have, the better.”

Mark also provided practical tips for what companies can do to increase employee engagement stating that Oracle HCM Cloud is Oracle’s own tool of choice for helping achieve our engagement goals and much more.

Why Did Attendance Increase 22% over 2015?\

For starters, the uptick can be tied to Oracle's growing customer and prospect base. Another reason for the increase is the thought leadership approach we have taken with this conference. Huge kudos go out to Cara Capretta, VP of HCM Transformation Practice and her team; Gretchen Alarcon, GVP of HCM Product Strategy and her team; and our fabulous Marketing team.\

Together they organized a standout event where industry luminaries took center stage. Along with Oracle’s Hurd, Capretta, and Alarcon, other speakers included Peter Cappelli, the George W. Taylor Professor of Management at The Wharton School and Director of Wharton's Center for Human Resources; Adam Grant, Professor of Management, The Wharton School; and Debbie Sterling, Founder and CEO of GoldieBlox.

Reaction to Oracle Learning Cloud

The HCM World buzz went through the roof as attendees got a look at our new Oracle Learning Cloud and a glimpse of what is to come in Work Life Solutions. Oracle HCM Cloud is on a roll.

Safra Catz and Detroit's CFO Woo Finance Execs with Transformation Stories

Linda Fishman Hoyle - Thu, 2016-04-14 11:37
A guest post by Natalia Rachelson, Oracle Cloud Applications (pictured left)

Change is never easy, but every organization must learn to evolve to stay relevant to their customers. That was the message Oracle CEO Safra Catz and Detroit CFO John Hill delivered at the Oracle Modern Finance Experience in Chicago last week.

Not even a cold snap that brought hail and snow to my home town (gasp) could keep people away. Over 400 finance executives turned out for the event, which was two to three times larger than the inaugural Modern Finance conference held last year. Judging by the 1,400 attendees at Oracle HCM World next door, I wouldn’t be surprised if the Modern Finance Experience becomes the not-to-be-missed industry conference for the finance community.

Our marketing team did a fabulous job lining up keynote speakers such as:
  • Michael Lewis, Journalist and Best-Selling Author of The Big Short, Flash Boys, Moneyball, and The Blind Side
  • Geoff Colvin, Senior Editor-at-Large, Fortune Magazine
  • Safra Catz, Oracle CEO
  • James Richards, CIO of GE Healthcare
  • John Hill, CFO, City of Detroit
Topics included the frictionless economy and the brand new business ideas that it generates; the importance of numbers in the era of Big Data; what it takes to transform a $40 billion company not once, but twice; and how to save a city that has hemorrhaged one million residents over the past 40 years. These were stories about business transformation, success, and survival, not presentations on the technical underpinnings of the cloud or the merits of multi-tenancy (hint: business people don’t really care). If someone talked about the cloud, it was as a means to an end.

Here are highlights from two keynotes that really stood out for me:

Safra Catz, Oracle CEO

Safra recalled the first transformation Oracle went through in the early 2000s and how it allowed us to survive the dot-com crash. Now in our second transformation, Safra called upon finance executives to forge ahead with their own transformation efforts while acknowledging human nature. “Even those who understand that change is absolutely necessary still have a hard time when change happens to them,” warned Safra.

With that in mind, change agents can navigate tough transformational waters and find other like-minded individuals in the organization to help them make the case for change. By automating processes and using intelligence built into the Oracle Cloud, companies can become smarter and more efficient. They’ll be able to deal with any disruption, whether it’s a weakening global economy, a new business model (i.e. Uber/VRBO-style sharing), or new technology such as Amazon’s one-click ordering (now being transformed into one-push ordering without having to go online).

Safra recounted that back in the early 2000s, Larry Ellison said Oracle would save one billion dollars by using its own products. As crazy as that sounded, Oracle ended up achieving the goal. Safra imparted this advice to the audience: "Set overly ambitious goals that seem unachievable and unleash your people on them. You will be surprised by what is actually possible."

John Hill, CFO of the City of Detroit

John blew the audience away with this comeback story. Detroit, once the symbol of the American dream and now crumbling under years of mismanagement and tectonic shifts in the automotive industry, filed for bankruptcy in 2013. It was the largest city to do so in US history.

John had previously saved Washington D.C. from financial woes and came to Detroit to oversee the bankruptcy process. He made a deal with the mayor to let him hire and fire city employees at will, which is almost unheard of in government. He also secured the right for him and the CIO to select a technology solution to run the city. They chose Oracle ERP Cloud, and even though the change process was extremely painful, the City of Detroit is now turning a corner. New businesses and new industries are moving into the city’s revitalized downtown, bringing with them a younger and better educated workforce, and hope for a brighter future.

Together We Win

CFOs appreciate these pragmatic accounts of leading change, as well as the special attention given to them at the event. Oracle executives Safra Catz, Mark Hurd, and Larry Ellison invited 100 VIPs to an evening at the Chicago Field Museum, amidst displays of Chinese terracotta warriors. The presence of Oracle’s entire senior management team demonstrates our commitment to becoming #1 in SaaS, and in ERP Cloud specifically.

How RDX Remote DBAs Stay on Top of Evolving Technologies

Chris Foot - Thu, 2016-04-14 08:00

As the modern database continues to grow, its inherent feature set expands alongside it. More solutions allow remote DBAs and internal teams alike to solve business problems tied to cutting costs and improving efficiencies. However, with these solutions comes increased complexity surrounding database administration, and it falls on the shoulders of DBAs to understand and leverage the industry’s evolving technologies.

Partner Webcast – Transition to the New Integration Model with Oracle SOA Cloud Service

Do you want to fully integrate your enterprise, using the same integration tool and skills for both cloud and on premises deployment? Oracle’s hybrid integration platform allows you to extract...

We share our skills to maximize your revenue!
Categories: DBA Blogs

Tomcat on Azure

Pat Shuff - Thu, 2016-04-14 02:07
Today we are going to install Tomcat on Microsoft Azure. In the past three days we have installed Tomcat on Oracle Linux using Bitnami and onto a raw virtual image as well as on Amazon AWS using a raw virtual image. Microsoft does not really have a notion of a MarketPlace like the AWS Commercial or Public Domain AMI Markets. It does have Bitnami and we could go through the installation on Azure just like we did the Oracle Compute Cloud. Rather than repeating on yet another platform, let's do something different and look at how we would install Tomcat on Windows on Azure. The Linux installation would be no different than the Oracle Linux raw virtual machine install so let's do something different. You can find Tomcat on Linux Instructions or Tomcat on Windows Instructions. To be honest we won't deviate much from the second one so follow this or follow the instructions from Microsoft, they are basically the same.

The steps that we need to follow are

  • Create a virtual machine with Windows and Java enabled
  • Download and install Tomcat
  • open the ports on the Azure portal
  • open the ports on Windows
We start by loading a virtual machine in the Azure portal. Doing a search for Tomcat returns the Bitnami image as well as a Locker Tomcat Container. This might work but it does not achieve our desire for this exercise. We might want to look at a Container but for our future needs we need to be able to connect to a database and upload jar and war files. I am not sure that a Container will do this.

We search for a JDK and find three different versions. We select the JDK 7 and click Create.

In creating the virtual machine, we define a name for our system, a default login, a password (I prefer a confirmation on the password rather than just entering it once), our default way of paying, and where to place it is storage and which data center based on the storage we select. We go with the default East configuration and click OK.

Since we are cheap and this is only for demo purposes, we will select A0 Standard. The recommended is A1 Standard but it is $50 more per month and again this is only for demo purposes. After having played with the A0 Standard, we might be better off going with the A1 Standard. Yes, it is more expensive. The speed of the A0 shape is so painful that it is almost unusable.

We will want to open up ports 80, 8080, and 443. These will all be used for Tomcat. This can be done by creating an new security rule and adding port exceptions when we create the virtual machine. We can see this in the installation menu.

We add these ports and can click Create to provision the virtual machine

One of the things that I don't like about this configuration is that we have three additional ports that we want to add. When we add them we don't see the last two rules. It would be nice if we could see all of the ports that we define. We also need to make sure that we have a different priority for the port definition. The installation will fail if we assign priority 1000 to all of the ports.

Connection to the virtual machine is done through remote desktop. If you go to the portal and click on the virtual machine you will be able to connect to the console. I personally don't like connecting to a gui interface but prefer a command line interface. You must connect with a username and password rather than a digital certificate.

The first thing that comes up with Windows 2012 server is the server management screen. You can use this to configure the compute firewall and allow ports 80, 8080, and 443 to go to the internet. This also requires going to the portal to enable these ports as network rules. You have two configurations that you need to make to enable port 8080 to go from your desktop, through the internet, get routed to your virtual machine, then into your tomcat application.

For those of you that are Linux and Mac snobs, getting Windows to work in Azure was a little challenging. Simple things like opening a browser became a little challenging. This is more a lack of Windows understanding. To get Internet Explorer to come up you first have to move your mouse into the far right of the screen.

At first it did not work for me because the Windows screen was a little larger than my desktop and I had to scroll all the way to the bottom and all the way to the right before the pop up navigation window comes up. When the window does come up you see three icons. The bottom icon is the configuration that allows you to get the the Control Panel to configure the firewall. The icon above it is the Microsoft Windows icon which gives you an option to launch IE. Yes, I use Windows on one of my desktops. Yes, I do have an engineering degree. No, I don't get this user interface. Hovering over an empty spot on the screen (which is behind a scroll bar) makes no sense to me.

From this point forward I was able to easily follow the Microsoft Tomcat installation instructions. If you don't select the JDK 7 Virtual Machine you can download it from java.com download. You then download the Tomcat app server. We selected Tomcat 7 for the download and followed the defaults. We do need to configure the firewall on the Windows server to enable ports 80, 8080, and 443 to see everything from our desktop browser. We can first verify that Tomcat is properly installed by going to http://localhost:8080 from Internet Explorer in the virtual image. We can then get the ip address of our virtual machine and test the network connections from our desktop by replacing localhost with the ip address. Below are the screen shots from the install. I am not going to go through the instructions on installing Tomcat because it is relatively simple with few options but included the screen shots for completeness.

In Summary, we could have followed the instructions from Microsoft to configure Tomcat. We could pre-configure the ports as suggested in this blog. We could pre-load the JDK with a virtual machine rather than manually downloading it. It took about 10-15 minutes to provision the virtual machine. It then took 5-10 minutes to download the JDK and Tomcat components. It took 5-10 minutes to configure the firewall on Windows and the port access through the Azure portal. My suggestion is to use a service like Bitnami to get a preconfigured system because it takes about half the time and enables all of the ports and services automatically.

Log Buffer #469: A Carnival of the Vanities for DBAs

Pythian Group - Wed, 2016-04-13 09:40

This Log Buffer Edition digs deep into the realms of Oracle, SQL Server and MySQL and brings together a few of the top blog posts.


We’ve all encountered a situation when you want to check a simple query or syntax for your SQL and don’t have a database around. Of course, most of us have at least a virtual machine for that, but it takes time to fire it up, and if you work from battery, it can leave you without power pretty quickly.

View Criteria is set to execute in Database mode by default. There is option to change execution mode to Both. This would execute query and fetch results from database and from memory.  Such query execution is useful, when we want to include newly created (but not committed yet) row into View Criteria result. Newly created row will be included into View Criteria resultset.

Upgrading database hardware in an organization is always a cumbersome process. The most time consuming step is, planing for the upgrade, which mainly includes choosing right hardware for your Oracle databases. After deciding on the hardware type for your databases, rest will be taken care by technical teams involved.

Gluent New World #02: SQL-on-Hadoop with Mark Rittman

The pre-12c implementation of DCD used TNS packages to “ping” the client and relied on the underlying TCP stack which sometimes may take longer. Now in 12c this has changed and DCD probes are implemented by TCP Stack. The DCD probes will now use the TCP KEEPALIVE socket.


SQL Server

Snippets will allow you to code faster by inserting chunks of code with few key strokes.

One of more common concerns among database administrators who consider migrating their estate to Azure SQL Database is their ability to efficiently manage the migrated workloads.

A SQL Server Patching Shortcut

Move an Existing Log Shipping Database to a New Monitor Server

Knee-Jerk Performance Tuning : Incorrect Use of Temporary Tables



MySQL 5.7 sysbench OLTP read-only results: is MySQL 5.7 really faster?

7 Galera Cluster presentations in Percona Live Santa Clara 18-21.4. Meet us there!

Generate JSON Data with dbForge Data Generator for MySQL v1.6!

Extending the SYS schema to show metadata locks


Categories: DBA Blogs

Recruit Millennials with Innovative Oracle Cloud Projects

WebCenter Team - Wed, 2016-04-13 08:55
Author: Mitchell Palski – Oracle Fusion Middleware Specialist

Millennials entering the workforce are searching for entry-level jobs that are exciting, offer opportunities for advancement, foster team-building environments, and emphasize a performance-based reward system. Government jobs are not traditionally known for holding these qualities and are instead revered for their stability, employee benefits, and commitment to public service. So as Team Leaders in Project Management positions across government IT, how can we create jobs that meet the expectations of a millennial workforce that also align with our mission statements? How can we attract young talent in work environments that are less known for innovation and more known for bureaucratic obstacles?

Did you know? According to a November 2015 article in the Washington Post: 

“Overall, about a third of the private-sector labor force was born between 1980 and 1995, but younger workers make up only a quarter of federal, state and local government employees.”

In our world, the status quo is comfortable and stable. Less change means less risk and more reliable public service for citizens. Our leadership has been, and is continuing to look for improvements in technology and processes that create efficiencies and improve productivity. While trimming budgets and boosting operational costs might get your mayor and taxpayers enthused, those aren’t exactly the buzzwords that millennial IT professionals are throwing around in their post-graduate job searches.

Enter the role of Cloud. And what better platform than the Oracle Cloud - the industry's broadest and most integrated public cloud, offering best-in-class services across software as a service (SaaS), platform as a service (PaaS), infrastructure as a service (IaaS). Cloud development allows your organization to dream up new and innovative projects quickly and inexpensively. How?

  • Infrastructure: now you don’t have to wait for your administrators to procure new hardware, install a new database, secure connectivity, etc. Just use browser-based wizard-driven tools to provision and integrate your IT infrastructure rapidly and securely.
  • Technical Tools for Business Users: Oracle’s toolsets are tailored to technical users, but aren’t restricted to Programming Gurus. Drag-and-drop form and process building with in-context assistance makes creating new services intuitive for the business users which means you can minimize expensive technical training.
  • Rapid Application Development: Live preview, one-click deployment, automated back-ups and security patches; they all allow you organization to focus on end-user functionality rather than getting bogged down in the muck of managing new development environments.
So here’s the thought process…
  1. Government needs to attract younger talent to not only fill employment needs, but also to breath fresh life into our public service projects.
  2. Millennials are attracted to innovative projects that give them the chance to get visibility for their achievements.
  3. Oracle Cloud can provide your organization with the tools you need to start-up Millennial-friendly IT projects, while minimizing the costs of infrastructure, training, and administrative support.

The best way to get started is to talk to your local Oracle Account Manager to find out more, identify a use case that’s been on your “to-do” list, then sign up for a free trial of one of our Cloud services and give it a try!

Check out Oracle’s Cloud Platform at https://cloud.oracle.com

Are you worried about what to do now that Discoverer is almost out of support

Michael Armstrong-Smith - Wed, 2016-04-13 04:52
Hello everyone
Like me, if you are a big user of Discoverer, you would have been alarmed at the news a few years ago that Oracle was dropping the tool.

Well, once I got over my alarm I started to think about how my clients could maximize their use of the at times millions of dollars of investment.

Oracle Corporation’s statement of direction implies that they will not force you off of Discoverer and on to another tool. It is important for you to understand, however that like all software Discoverer will one day be phased out in order to make way for more modern BI solutions.

You currently have three options: Protect / Extend / Evolve

  1. Protect your investment by staying with Discoverer, continuing to receive Oracle’s outstanding support until it runs out, after which you will be on your own
  2. Extend you your investment by continuing to use Discoverer while integrating to other Oracle BI tools such as Oracle BI Enterprise Edition (OBIEE)
  3. Evolve your investment by formulating a strategy to fully migrate to another tool, perhaps one of Oracle's other BI tools such as OBIEE, or to a third party tool such as SplashBI owned by Eis Technilogies
I will address more on option 3 in upcoming posts.

Are you having trouble starting Weblogic from a Windows service

Michael Armstrong-Smith - Wed, 2016-04-13 04:26
Are you having trouble starting Weblogic on Windows and thus unable to start the WLS_DISCO service? If so, you can start Wenlogic from the command line.

To start Weblogic from the command line, follow these steps:
  1. Open a CMD window
  2. Navigate to the bin folder for Weblogic. Mine is located at C:\oracle\Middleware\user_projects\domains\ClassicDomain\bin
  3. Run startweblogic.cmd
  4. Provide a username - in my case weblogic
  5. Provide the password
  6. When started, leave the CMD window open

Next, I started the Node Manager manually as follows:
  1.  Open a second CMD window
  2. Navigate to the bin folder for Node Manager. Mine is located at C:\oracle\Middleware\wlserver_10.3\server\bin
  3. Run startnodemanager.cmd
  4. Provide a username - in my case weblogic
  5. Provide the password
  6. When started, leave the CMD window open

    installing Tomcat on AWS

    Pat Shuff - Wed, 2016-04-13 02:07
    In our last two entries we installed Tomcat on the Oracle Compute Cloud. We first installed the application using oracle.bitnami.com and the second we installed Linux using Oracle Compute Cloud then downloading tomcat.apache.org and configuring the network and startup scripts. In this blog we will do the same thing for Amazon AWS. Note that there are a few blogs that do the same thing. We are going to cheat a little bit with AWS. Rather than configuring Linux, downloading Java and downloading Tomcat, we are going to go to the Amazon Marketplace and download an image that is already configured. This is similar to going through Bitnami but I thought it would be interesting to look at a different pre-configured instance and see how it differs from Bitnami. When we go to the marketplace we get the option of a community ami pool or a commercial ami pool. The selection is very diverse. I could not find anyone who pre-configured Tomcat on Oracle Enterprise Linux but did find Red Hat and Amazon Linux which are from the same codebase.

    It is important to note that the commercial version does come with supplemental pricing on an hourly basis. This typically prices AWS as an option out of the running when compared to other cloud services.

    We select an instance (the smallest since this is a demo of functionality) and go through the launch screens.

    By default, the network configuration only opens up ssh and potentially port 80. We will need to add ports 8080 and 443. In hindsight we really don't need to add port 8080 because the commercial version remaps the catalina configuration file to port 80 but we did anyway for completeness.

    Adding the new ports looks like

    Note that this is different from the Oracle Compute network setup. Amazon sets this up during the instance configuration while Oracle allows you to add this after the instance is created. Neither are good or bad, just different. You do need to scroll to the far right to see the Security Group definition and follow the links to modify the rules to allow another port. My first assumption was to go to the instance configuration menu at the top but all the network options were greyed out. You need to scroll to the far right to change the ports using the security group link. I initially did not see this because my fonts were too large and I did not realize that I had to scroll to the far right to see this.

    Once we have the network configured, we can review and launch the instance. Note that we can use our own ssh keys to attach to the instance.

    When we finish and confirm everything we should get an initialization screen. If the startup takes too long we will get a waiting screen. Once the instance is created we should see that it is running in the EC2 console.

    Once the instance is started we can connect to it. We do this by looking up the ip address and connecting with ssh.

    It is important to note that Tomcat is installed in /opt/tomcat7 and the startup scripts in /etc/rc3.d/S80tomcat7_1 are already setup.

    We restart the service just to test the startup script and test the instance locally by getting the html from the command line and confirm that everything works from our desktop browser.

    In summary, we were able to install and configure everything using the marketplace in less than 15 minutes. The configuration was similar to the Bitnami instance but it is important to note that there is an extra cost associated with this instance on an hourly basis. The Bitnami economics are done on a per instance charge. I, for example, pay $30/month to allow me to deploy three instances across multiple cloud vendors. Note the model is on a per instance and not a per hour basis. We could have gone through the exact same configuration that we did with the Oracle Compute Cloud instance by installing Linux then using the Tomcat website to download the binaries and install. The same websites, same tar files, and same configurations work since both are Linux based installs.

    Links for 2016-04-12 [del.icio.us]

    Categories: DBA Blogs

    WordPress 4.5 Released

    Tim Hall - Tue, 2016-04-12 15:41

    WordPress 4.5 “Coleman” has been released.

    I just applied it to the five WordPress sites I manage by manually triggering the auto-update and everything went through fine.

    There are some updates to the standard themes that you will need to manually trigger for update, but there was no drama there either.

    I fully expect a rash of little updates to get released over the coming days as new bugs are spotted.

    Tour the Oracle Cloud UX Rapid Development Kit (RDK) Resources

    Usable Apps - Tue, 2016-04-12 13:05
    0 0 1 95 546 Oracle America, Inc. 4 1 640 14.0 Normal 0 false false false EN-US JA X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:Cambria; mso-ascii-font-family:Cambria; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Cambria; mso-hansi-theme-font:minor-latin;}

    Julian Orr (@Orr_UX) and I (@KarenScipi) recently hosted a Customer Connect webinar: Oracle Cloud UX Rapid Development Kit (RDK).

    We walked through our Cloud UX Rapid Development Kit landing page, highlighting Learn, Design, and Build resources that you can use for architecting your approach and for designing and building sleek, modern SaaS integrations and custom PaaS applications that share the same user experience and look and feel as Oracle Applications Cloud.

    Oracle Cloud UX Rapid Development Kit landing page

    0 0 1 74 423 Oracle America, Inc. 3 1 496 14.0 Normal 0 false false false EN-US JA X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:Cambria; mso-ascii-font-family:Cambria; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Cambria; mso-hansi-theme-font:minor-latin;}

    Oracle Cloud UX Rapid Development Kit landing page

    We're delighted to make our 15-minute webinar available to you. A Customer Connect Community account is required. If you don’t have one, take a moment to register for an account.

    Oracle Cloud UX Rapid Development Kit webinar

    Oracle Cloud UX Rapid Development Kit webinar

    0 0 1 5 33 Oracle America, Inc. 1 1 37 14.0 Normal 0 false false false EN-US JA X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:Cambria; mso-ascii-font-family:Cambria; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Cambria; mso-hansi-theme-font:minor-latin;}

    Also, for ongoing information and updates, stay tuned to the OAUX channels.

    0 0 1 62 357 Oracle America, Inc. 2 1 418 14.0 Normal 0 false false false EN-US JA X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:Cambria; mso-ascii-font-family:Cambria; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Cambria; mso-hansi-theme-font:minor-latin;} More Information

    Installing SQL Server 2016 – Standalone Instance – New Features

    Pythian Group - Tue, 2016-04-12 10:48

    In this article I am going to go through a typical install of SQL Server 2016, and explain some of the best practices to follow when setting up a production server. I will also take a look at the new features when installing SQL Server 2016 compared to older versions.

    The version of SQL Server I am using in SQL Server 2016 RC2. That means that some of the features may change between the time of writing and the retail release of SQL Server 2016.


    Let’s Get Started!

    The first screen you come to after opening the installation media:

    Initial Screen

    1. Click the Installation button highlighted, and then the first option in the list New SQL Server Standalone Installation.


    New for SQL Server 2016
    For the Seasoned SQL Server DBA you will notice a few additions to this screen.

    • SQL Server Management Tools can now be installed from this screen. The files and binaries will be downloaded when you click this link, as they are no longer bundled with the installation media.
    • SQL Server Data Tools can also be installed from this screen.
    • Additionally, a standalone instance of R can be installed. R is a statistical programming language embedded into SQL server 2016, making it easy for data scientists and BI professionals to get a good level of analysis without leaving the SQL Server environment.


    1. Select the edition of SQL SERVER you would like you would like to install, I chose developer as it’s a full featured installation of SQL Server that can be used for development only, and not in a production environment. You could also enter a key in here instead of selecting a version.


    1. Read and accept the licence.
    2. SQL Server will then check a few rules to make sure you can install SQL server on your hardware.
    3. Select whether or not to allow Microsoft to check for updates and click next.
    4. SQL Server Installation will then install some setup files needed for installation and perform a few more checks. As you can see below, a warning has appeared asking me to make sure the correct ports are open on the firewall. Click Ok and then Next to proceed with the installation.

    Rule Check

    1. The next screen is where we want to select all the features we want to install. As my machine is being set up as a dev machine to test SQL 2016 features, I am installing all the features. In a production environment only install the features that are needed. You can also select where to install the binaries and the root instance from this screen. Click next once you have selected the settings needed.


    New for SQL Server 2016

    • The ability to install a standalone instance of R is now available in the Shared Features Section.
    • The ability to install R services in the database engine is now available.
    • The ability to install Polybase Query Service for external sources is now available to install. Polybase query service allows users to query big data sources such as Hadoop using common T-SQL statements. If you are planning on installing the Polybase feature, then the Java Runtime SRE needs to be installed first.


    1. The next screen is where you will need to name the instance, if this is not the only SQL server installation on this hardware. It also confirms the installation directory as per the previous screens. As this is the only installation of SQL Server on this machine, I am going to leave these settings as default. Click next when ready to proceed.

    Default Instance

    1. The Next Screen is the Server Configuration screen. You should run each service under a domain account with a strong password. Whether you use managed accounts or do not enforce password expiration is up to you. However, these accounts are going to be running your services and should always be available. As this is a test machine not connected to a domain, I will leave the defaults. You can also select your default server collation from this window by clicking on the tab at the top highlighted in yellow. It is important also to set the start-up type parameters to allow services to start automatically on reboot if needed.

    The ability to allow Perform Volume Maintenance tasks to be checked from this screen is a new feature. This is a best practice among SQL server DBA to allow instant file initialization. Previously this had to be done outside of the installation window.

    Server Config


    New for SQL Server 2016

    • The ability to allow Perform Volume Maintenance tasks to be checked from the Server Configuration Screen.


    1. Next up is the database configuration screen, and we are going to step through the tables.

    In the first tab you will want to add all the users that require sysadmin access. To administer the server, click on the Add Current user and Add buttons. I always use mixed mode authentication so I can still get to the server if Active Directory plays up, and I add a complex password for security. When your done, click on the Data Directories tab at the top.

    Database Config1

    This is the screen where you set up all of your default directories for your databases.

    Best practice states that we should put Log files on separate disks to Data Files, as there are two different access patterns for these, so they would be more performant on separate disks. Backups should also be on their own disks where possible. Additionally, the OS should also have its own drive separate from all SQL server files. As this is a test server and I only have a c drive, I will leave them as default. Click TempDB tab when ready.

    Database Config 2


    New For SQL 2016

    • This is new in SQL 2016, and previously had to be configured after install. This screen allows us to create files for temp db. Best practice stated there should be 1 file per logical core up to a maximum of 8 as I have 4 cores in my machine I have created 4 files. You can also spread the files over more than one disk if needed. Once you’re happy with your selections click next.

    Database Config 3


    1. The next screen is to configure Analysis Services. I have configured mine in Multidimensional mode adding myself as sysadmin and setting directories using same best practice as database engine. Look out for a further blog article on SQL server Analysis Services.



    1. Leave the default options for Reporting Services. Again keep an eye out for another article on Reporting Services.
    2. In the next screen you have to configure the users capable of using the Distributed Replay Controller.
    3. Give a name to the DRC.


    1. On the next Screen you will need to accept the terms of the features being installed by clicking accept, and then next.
    2. Finally, you can click install and that’s it! SQL Server 2016 and all its new features are installed.



    Here is a great link on some of the new features available in SQL Server 2016

    Categories: DBA Blogs

    SQL Server 2016 : A New Security Feature – Always Encrypted

    Pythian Group - Tue, 2016-04-12 09:15

    Security. This word is so important when it comes to data, and there is a reason why. Every business has it’s vital data, and this data has to be accessed only by those who are authorized. Back in 2009, I wrote an article on what measures to take when it comes to securing SQL Server.

    There were days when we used to have a third party tool to encrypt the data inside SQL Server. Later, Microsoft introduced Transparent Data Encryption (TDE) bundled with the release of SQL Server 2008. You may be wondering why it is so important to encrypt the data. Inside our database, there may be a case that the customer/application has to enter and store the sensitive information such as Social Security Number (SSN) or Financial/Payment Data, which should not be read in plain text, even by a DBA. With this requirement, a strong encryption and/or data masking comes into the picture.

    With the launch of SQL Server 2016 Release Candidate 0 (RC0) , Microsoft has introduced two new features that are my personal favorite – 1)  Always Encrypted and 2) Dynamic Data Masking. Today I am going to walk you through the Always Encrypted feature.

    First and foremost, we need to have SQL Server 2016 RC0 installed so that we can test this feature. You can download the RC0 here.  Once you are ready with RC0, create a test database and a table with an Encrypted column to store the sensitive data. There are few prerequisites that I will list for you here. If you want, you can use the sample schema from MS.

    1. Create a sample database
    2. Create Column Master Key
    3. Generate a self-signed certificate (well, you will need to install this certificate on the machine where the application will run)
    4. Configure Column Encryption Key
    5. Create a test table with Always Encrypted column
    6. Create an application to Insert data into the sample table we created in previous step

    I have created a sample app and a demo script for the reference which you can download here. Basically, what we have to remember is that we can not insert the value inside the Always Encrypted table directly, we will need to use the tool/app, and the data will always be encrypted when it goes inside the database. This will ensure that the intruder can not get the data as it travels to the database in a cipher text form.

    Here is some further reading on this topic. Enjoy reading and testing an excellent feature of SQL Server 2016 RC0.

    Categories: DBA Blogs

    TABLE Operator with Locally Defined Types

    Tim Hall - Tue, 2016-04-12 05:22

    postit-missed-itIn my OUG Ireland 2016 – Summary post I mentioned the Oren Nakdimon session called “Write Less (Code) with More (Oracle 12c New Features)”. One of the things he mentioned was the removal of restrictions associated with the use of the TABLE operator on local table types. If I had read about this or seen it before, it had certainly slipped my mind, so I made a note to write something about it and add a link to it from my PL/SQL new features article. So here it is.

    It’s a neat little feature.




    TABLE Operator with Locally Defined Types was first posted on April 12, 2016 at 11:22 am.
    ©2012 "The ORACLE-BASE Blog". Use of this feed is for personal non-commercial use only. If you are not reading this article in your feed reader, then the site is guilty of copyright infringement.

    installing Tomcat on Oracle

    Pat Shuff - Tue, 2016-04-12 02:07
    In our last entry we installed Tomcat onto the Oracle Compute Cloud using Bitnami. Just as a reminder, it was easy, it was simple, and it took 15 minutes. In this entry we are going to go through the manual process and show what has to happen on the server side and what has to happen on the cloud side. The steps that we will follow are
    • Install Oracle Enterprise Linux on the Oracle Compute Cloud Service
    • ssh into the box and install/update
      • Java 7
      • Tomcat
      • iptables to open port 80 and 443
    • Start the service and verify localhost:8080 works
    • Configure the ports on the cloud side so that 80 and 443 pass through

    Installing Oracle Enterprise Linux has been done in a previous blog. We won't go through the screen shots for this other than to say that we called the box prsTomcat (as we did in the previous example) and requested OEL 6.6 with a 60 GB hard drive because this was the default installation and configuration. We selected the 60 GB hard drive because we had one preconfigured and it would reduce the creation time by not having to create and populate a new hard drive.

    To ssh into the instance we need to go to the compute page and find the ip address. We need to login as opc so that we can execute sudo and install packages.

    Once we have logged in we first need to verify that java is installed and configured. We do this with

    java -version

    This command verified that Java is properly installed. The next step is to download tomcat. To get the correct version and location to download it from we must go to tomcat.apache.org and figure out what version to install. This is a little confusing because there are numerous versions and numerous dot releases. We are looking for Tomcat 7 so we scroll down and download it from tar.gz binary distribution.

    We look for Tomcat 7 and follow the download link.

    Once we had downloaded the binary bundle we need to unzip this into a location that we want to run it from. In this example we are going to install it in /usr/local/apache-tomcat-version_number. This is done with

    "w g e t " http://www-us.apache.org/dist/tomcat/tomcat-7/v7.0.68/bin/apache-tomcat-7.0.68.tar.gz
    cd /usr/local
    sudo tar xvzf /home/opc/apache-tomcat-7.0.68.tar.gz

    Now that we have the binary downloaded, we have to start the server. This is done with the bin/startup.sh command. It is important to note that we will still need to install and configure an init script in /etc/rc3.d/S99tomcat to start and stop the service. This requires hand editing of the file to run the startup.sh script. Once we have Tomcat installed and running we can use "w g e t" to verify that the server is running

    sudo /usr/local/apache-tomcat-7.0.68
    "w g e t" http://localhost:8080
    This should return the html page served by the Tomcat server. If it does not, we have an issue with the server starting or running.

    Now that we have the server up and running, we need to update the iptables to add ports 80, 8080, and 443 as pass through ports. This is done by

    sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
    sudo iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
    sudo iptables -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
    sudo service iptables restart

    Once we have the ports properly running at the operating system layer we need to go back to our compute cloud console and create the security rules for these ports. This is done by going into the instance and clicking on the network tab at the top of the screen.

    We open up port 80 first from the public internet to the instance.

    We then open up port 443 similarly

    The final configuration should look like

    We also need to add port 8080 which is by default not installed and configured. We do this by defining a new Security Application from the Networking tab. We add port 8080 then we have to add it as a security rule.

    From this point we should be able to look from our desktop to the cloud instance and see port 80, 8080, and 443. We can test port 443 by logging into the management console as we did with the bitnami configuration. We can test port 8080 by going to the default link for our server ip address.

    In summary, it took 5-6 minutes to get Linux installed. It took 5-10 minutes to do the y um install based on how many packages were out of sync and needed updating. It took 4-5 minutes to open up the ports and reconfigure the network access. To get the same configuration we would have to edit the catalina.conf file and redirect the browser from port 8080 to port 80 as well as create a startup script to initialize the server at boot time. Overall this method took us about 50% longer to install and configured the exact same thing as we did with Bitnami. The benefits to doing the configuration ourselves is that we could script it with tools like Puppet and Chef. We could automate this easily and make sure it is done the same way every time. Doing it by hand and creating the instance, logging in, and using a graphic interface to configure everything leads to error and divergence as time goes on.

    Note that the "w g e t" should be one word but again, our blogging software does not allow me to use that word in the blog. Grrr!


    Subscribe to Oracle FAQ aggregator