Feed aggregator

How to prevent RMAN archivelog backup from log switch

Yann Neuhaus - 13 hours 37 min ago

When RMAN backups archivelogs, it does a logswitch before backing up all archivelogs. In some cases this log switching should be suppressed. This can be done with expression “until time ‘sysdate'”, which actually filters nothing.

For example:

backup archivelog until time 'sysdate';

Cet article How to prevent RMAN archivelog backup from log switch est apparu en premier sur Blog dbi services.

insert into remote database without using FORALL

Tom Kyte - 15 hours 30 min ago
I have a table with records more than million in a table in database1. I need to populate another table in database2 with some filters. BuLK forall insert is not allowed as these are remote DB. I need suggestion to populate remote database tabl...
Categories: DBA Blogs

Checking the checksum during purging process

Tom Kyte - 15 hours 30 min ago
Hi, We are developing an Archiving mechanism in which there is a procedure defined in the package that achieves the old partitions(according some business logic). We don't purge the partition as soon as it gets archived. We truncate the partition af...
Categories: DBA Blogs

SYS_CONNECT_BY_PATH reduce PATH to 2 specific levels

Tom Kyte - 15 hours 30 min ago
Hi, After looking through plenty of your previous examples i would like to piggy back from an example used many moons ago and ask for a change to the displayed result. https://asktom.oracle.com/pls/asktom/f%3Fp%3D100:11:0::::P11_QUESTION_ID:907...
Categories: DBA Blogs


Tom Kyte - 15 hours 30 min ago
Tom, We have an interesting problem, When we set cursor_sharing to 'force', doing following SQL having space trailing the return value 'Y'. SQL> select 'Y' from dual; SQL> 'Y' SQL> -------------------------------- SQL> Y However, a...
Categories: DBA Blogs

ODA – manually resetting a CPU alert using Fault Manager

Yann Neuhaus - 17 hours 40 min ago

While supporting since several years ODAs of different generations and versions, we faced time to time some hardware alerts sent back by the ILOM. However all of them are not related to real hardware issues and are false positive. To get rid of them the solution is to reset them manually.

When an hardware error occurs the first reaction is to open a Service Request and to provide an ILOM snapshot to the support. This can easily be done using the Maintenance menu in the ILOM web interface.

Based on support feedback, they may confirm that this alert is simply a false positive. Another solution if support answer is too slow is simply to give a try  :-D
However this will need a server reboot to ensure the alert really disappeared.

Here an example of a fault alarm about CPU we faced:

Date/Time                 Subsystems          Component
------------------------  ------------------  ------------
Tue Feb 13 14:00:26 2018  Power               PS1 (Power Supply 1)
        A loss of AC input power to a power supply has been detected.
        (Probability:100, UUID:84846f3c-036d-6941-eaca-de18c4c236bd,
        Resource:/SYS/PS1, Part Number:7333459, Serial
        Number:465824T+1734D30847, Reference
Thu Feb 15 14:27:04 2018  System              DBP (Disk Backplane)
        ILOM has detected that a PCIE link layer is inactive. (Probability:25,
        UUID:49015767-38b2-6372-9526-c2d2c3885a72, Resource:/SYS/DBP, Part
        Number:7341145, Serial Number:465136N+1739P2009T, Reference
Thu Feb 15 14:27:04 2018  System              MB (Motherboard)
        ILOM has detected that a PCIE link layer is inactive. (Probability:25,
        UUID:49015767-38b2-6372-9526-c2d2c3885a72, Resource:/SYS/MB, Part
        Number:7317636, Serial Number:465136N+1742P500BX, Reference
Thu Feb 15 14:27:04 2018  Processors          P1 (CPU 1)
        ILOM has detected that a PCIE link layer is inactive. (Probability:25,
        UUID:49015767-38b2-6372-9526-c2d2c3885a72, Resource:/SYS/MB/P1, Part
        Number:SR3AX, Serial Number:54-85FED07F672D3DD3, Reference


We can see that there are indeed 3 alerts for this issue.

In order to reset such an alert, you need first to log in on the server as root and access the IPMI tool

[root@oda-dbi01 ~]# ipmitool -I open sunoem cli
Connected. Use ^D to exit.

Oracle(R) Integrated Lights Out Manager

Version r121827

Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.

Warning: password is set to factory default.

Warning: HTTPS certificate is set to factory default.

Hostname: oda-dbi01-ilom


Once in IPMI, you can list the Open Problems to get the same output than above using the following command:

-> ls /System/Open_Problems

In the list of the Open Problems we can find the UUID of the concerned component (see 3rd line)

Thu Feb 15 14:27:04 2018  Processors          P1 (CPU 1)
        ILOM has detected that a PCIE link layer is inactive. (Probability:25,
        UUID:49015767-38b2-6372-9526-c2d2c3885a72, Resource:/SYS/MB/P1, Part
        Number:SR3AX, Serial Number:54-85FED07F672D3DD3, Reference


Now it is time to access the fault manager to reset all alerts related to this UUID

-> cd SP/faultmgmt/shell/

-> start
Are you sure you want to start /SP/faultmgmt/shell (y/n)? y


The reset of the alert is done with the fmadm command

faultmgmtsp> fmadm acquit 49015767-38b2-6372-9526-c2d2c3885a72

At this point the alerts are already removed from the Open problems. However to make sure the issue is really gone, we need to reboot the ODA and check the Open Problems afterwards.

Note that I presented here the way to check Open Problems using the IPMI command line, but the same output is also available in the ILOM web page.

Hope it helps!



Cet article ODA – manually resetting a CPU alert using Fault Manager est apparu en premier sur Blog dbi services.

Installing the Oracle ODBC Driver on macOS

Christopher Jones - Thu, 2018-02-22 23:25

A bonus for today is a guest post by my colleague Senthil Dhamotharan. He shares the steps to install the Oracle Instant Client ODBC driver and the unixODBC Driver Manager on macOS.

ODBC is an open specification for accessing databases. The Oracle ODBC driver for Oracle Database enables ODBC applications to connect to Oracle Database. In addition to standard ODBC functions, users can leverage Oracle specific features for high performance data access.

Install the unixODBC Driver Manager
  • Download unixODBC from ftp.unixodbc.org/pub/unixODBC. I used unixODBC-2.3.1.tar.gz.

  • Extract the package:

    tar -zxvf unixODBC-2.3.1.tar.gz
  • Configure unixODBC:

    cd unixODBC-2.3.1 ./configure

    Note if you use the configure option "--prefix" to install into locations other than the default directory (/usr/local) then macOS's SIP features may prevent the unixODBC libraries being located correctly by the ODBC driver.

  • Build and install unixODBC:

    make sudo make install
Install the Oracle ODBC Driver
  • Download the Oracle 12.2 Instant Client Basic and ODBC packages from Instant Client Downloads for macOS (Intel x86).

    To reduce the installation size, the Basic Light package be used instead of Basic, if its character sets and languages are sufficient.

  • Extract both ZIP files:

    unzip instantclient-basic-macos.x64- unzip instantclient-odbc-macos.x64-

    This will create a subdirectory instantclient_12_2

  • The Oracle Instant Client libraries need to be in the macOS library search path, generally either in /usr/lib/local or in your home directory under ~/lib. I did:

    mkdir ~/lib cd instantclient_12_2 ln -s $(pwd)/libclntsh.dylib.12.1 $(pwd)/libclntshcore.dylib.12.1 ~/lib
  • With version 12.2, a small patch to the driver name in instantclient_12_2/odbc_update_ini.sh is required on macOS. I changed line 101 from:



  • Run the configuration script

    cd instantclient_12_2 sudo odbc_update_ini.sh /usr/local sudo chown $USER ~/.odbc.ini

    This creates a default DSN of "OracleODBC-12c"

  • Edit the new ~/.odbc.ini configuration file and add the Oracle Database connection string. My database is running on the same machine as ODBC (inside a VirtualBox VM) and has a service name of 'orclpdb', so my connection string is 'localhost/orclpdb'. I changed:

    ServerName =


    ServerName = localhost/orclpdb
Verify the installation

Run the isql utility to verify installation. Pass in the DSN name, and an existing database username and password:

$ isql OracleODBC-12c scott tiger +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ SQL>

You can execute SQL statements and quit when you are done.

Test Program

To test a program that makes ODBC calls, download odbcdemo.c.

  • Edit odbcdemo.c and set the USERNAME and PASSWORD constants to the database credentials.

  • Build it:

    gcc -o odbcdemo -g -lodbc odbcdemo.c
  • Run it


The output will be like:

Connecting to the DB .. Done Executing SQL ==> SELECT SYSDATE FROM DUAL Result ==> 2018-02-21 02:53:47 Summary

ODBC is a popular API for accessing databases. The Oracle ODBC Driver is the best way to access Oracle Database.


Using the Oracle ODBC Driver.

Oracle ODBC Drivers

Discussion Forum

Oracle Instant Client ODBC Release Notes

Instant Client Downloads

Installing XAMPP for PHP and Oracle Database

Christopher Jones - Thu, 2018-02-22 22:19

Today's guest post comes from Tianfang Yang who's been working with the Oracle Database extensions for PHP.

This post shows how to install XAMPP on Windows to run PHP applications that connect to a remote Oracle Database.

XAMPP is an open source package that contains Apache, PHP and many PHP 'extensions'. One of these extension is PHP OCI8 which connects to Oracle Database.

To install XAMPP:

  1. Download "XAMPP for Windows" and follow the installer wizard. I installed into my D: drive.

  2. Start the Apache server via the XAMPP control panel.

    screenshot of XAMPP control panel
  3. Visit http://localhost/dashboard/phpinfo.php via your browser to see the architecture and thread safety mode of the installed PHP. Please note this is the architecture of the installed PHP and not the architecture of your machine. It’s possible to run a x86 PHP on an x64 machine.

    screenshot of PHP configuration showing the PHP OS architecture as x86
  4. [Optional] Oracle OCI8 is pre-installed in XAMPP but if you need a newer version you can download an updated OCI8 PECL package from pecl.php.net. Pick an OCI8 release and select the DLL according to the architecture and thread safety mode. For example, if PHP is x86 and thread safety enabled, download "7.2 Thread Safe (TS) x86". Then replace "D:\xampp\php\ext\php_oci8_12c.dll" with the new "php_oci8_12c.dll" from the OCI8 PECL package.

    screenshot of PECL OCI8 download page

  5. Edit "D:\xampp\php\php.ini" and uncomment the line "extension=oci8_12c". Make sure "extension_dir" is set to the directory containing the PHP extension DLLs. For example,

    extension=oci8_12c extension_dir="D:\xampp\php\ext"
  6. Download the Oracle Instant Client Basic package from OTN.

    Select the correct architecture to align with PHP's. For Windows x86 download "instantclient-basic-nt-" from the Windows 32-bit page.

    screenshot of Oracle Instant Client download page
  7. Extract the file in a directory such as "D:\Oracle". A subdirectory "D:\Oracle\instantclient_12_2" will be created.

    Add this subdirectory to the PATH environment variable. You can update PATH in Control Panel -> System -> Advanced System Settings -> Advanced -> Environment Variables -> System Variables -> PATH. In my example I set it to "D:\Oracle\instantclient_12_2".

  8. Restart the Apache server and check the phpinfo.php page again. It shows the OCI8 extension is loaded successfully.

    screenshot of PHP configuration page showing a section for OCI8

    If you also run PHP from a terminal window, make sure to close and reopen the terminal to get the updated PATH value.

  9. To run your first OCI8 application, create a new file in the XAMPP document root "D:\xampp\htdocs\test.php". It should contain:

    <?php error_reporting(E_ALL); ini_set('display_errors', 'On'); $username = "hr"; // Use your username $password = "welcome"; // and your password $database = "localhost/orclpdb"; // and the connect string to connect to your database $query = "select * from dual"; $c = oci_connect($username, $password, $database); if (!$c) { $m = oci_error(); trigger_error('Could not connect to database: '. $m['message'], E_USER_ERROR); } $s = oci_parse($c, $query); if (!$s) { $m = oci_error($c); trigger_error('Could not parse statement: '. $m['message'], E_USER_ERROR); } $r = oci_execute($s); if (!$r) { $m = oci_error($s); trigger_error('Could not execute statement: '. $m['message'], E_USER_ERROR); } echo "<table border='1'>\n"; $ncols = oci_num_fields($s); echo "<tr>\n"; for ($i = 1; $i <= $ncols; ++$i) { $colname = oci_field_name($s, $i); echo " <th><b>".htmlspecialchars($colname,ENT_QUOTES|ENT_SUBSTITUTE)."</b></th>\n"; } echo "</tr>\n"; while (($row = oci_fetch_array($s, OCI_ASSOC+OCI_RETURN_NULLS)) != false) { echo "<tr>\n"; foreach ($row as $item) { echo "<td>"; echo $item!==null?htmlspecialchars($item, ENT_QUOTES|ENT_SUBSTITUTE):"&nbsp;"; echo "</td>\n"; } echo "</tr>\n"; } echo "</table>\n"; ?>

    You need to edit this file and set your database username, password and connect string. If you are using Oracle Database XE, then the connect string should be "localhost/XE".

    The SQL query can also be changed. Currently it queries the special DUAL table, which every user has.

  10. Load the test program in a browser using http://localhost/test.php. The output will be the single value "X" in the column called "DUMMY".

You can read more about PHP OCI8 in the PHP manual, and in the free Underground PHP and Oracle Manual from Oracle.

Enjoy your coding with OCI8!

Oracle Container Runtime for Docker 17.12

Wim Coekaerts - Thu, 2018-02-22 13:44

Busy news day!

We just updated our docker-engine rpm to version 17.12. As always you can find it in the Oracle Linux 7 preview channel on our yum server.


We are currently cooking/baking "Oracle Container Services for Use with Kubernetes 1.9.1" stay tuned for that one as well.

oh and look for the docker-engine RPM on ARM soon too.

New OA Framework 12.2.6 Update 10 Now Available

Steven Chan - Thu, 2018-02-22 11:16

Web-based content in Oracle E-Business Suite Release 12 runs on the Oracle Application Framework (also known as OA Framework, OAF, or FWK) user interface libraries and infrastructure.

We periodically release updates to Oracle Application Framework to fix performance, security, and stability issues.

These updates are provided in cumulative Release Update Packs, and cumulative Bundle Patches that can be applied on top of the Release Update Packs. In this context, cumulative means that the latest RUP or Bundle Patch contains everything released earlier.

The latest OAF update for Oracle E-Business Suite Release 12.2.6 is now available:

Oracle Application Framework (FWK) Release 12.2.6 Bundle 10 (Patch 27308923:R12.FWK.C)

Where is this update documented?

Instructions for installing this OAF Release Update Pack are in the following My Oracle Support knowledge document:

Who should apply this patch?

All Oracle E-Business Suite Release 12.2.6 users should apply this patch. Future OAF patches for EBS Release 12.2.6 will require this patch as a prerequisite. 

What's new in this update?

This bundle patch is cumulative: it includes all fixes released in previous EBS Release 12.2.6 bundle patches.

In addition, this latest bundle patch includes fixes for the following issues:

  • When a Descriptive Flexfield (DFF) is in an advanced table under a query bean, some of its segments may not be displayed. Instead, other columns of the table may be repeated, or the same segment may be repeated.

Related Articles

Categories: APPS Blogs

Oracle linux 7 for ARM64 updated to OL7.4

Wim Coekaerts - Thu, 2018-02-22 10:56

We just updated the Oracle Linux 7 for ARM64 content.

Oracle Linux 7 for ARM64 (64-bit only) is freely downloadable from OTN: here.

The release is now at the same level as x64 (Oracle Linux 7 update 4)

The ARM64 yum repositories are also updated with the latest content. Keep in mind that we have a devtool set release for ARM as well.

Two important features on the latest ARM ISO:

- first preview of UEK5. (Linux kernel 4.14.14+) as the default kernel

- gcc 7.2 and gcc 7.3 are included on the ISO (and in the yum repo) to have easy and free access to latest gcc for ARM64

Remember that our ARM port is a preview release, it's for test and development only, it's not a GA supported product today however it's on par with x64 in terms of packages and it's completely free to download and use. No need to get a vendor auth code or whatever others out there have.


Software Collections 3.0 for Oracle Linux 6 and Oracle Linux 7, Oracle Linux EPEL, Oracle Cloud ...

Wim Coekaerts - Thu, 2018-02-22 10:29

We just recently released a new Software Collections update on our yum server.

SCL 3.0 in the Software Collections yum repo:

On Oracle Linux 7 this adds maven 3.5, nginx 1.12, nodejs8, php7.1 and python 3.6 and the usual updates to other developer packages.

Updates in the Oracle Linux 7 Developer repo:

We released the latest updates of the Oracle Cloud Infrastructure python SDK (1.3.14) and CLI (2.4.16) (using the python SDK). This makes it very, very easy to install the tools needed.

We updated the terraform OCI provider to 2.0.7.

Tons of updates in the Oracle Linux 7 EPEL repo. Too many to list here though. We now have over 10000 RPMs in the EPEL repo.

As a reminder:

You can keep up to date with new RPMs we add on a daily basis by looking at our yum what's new page. (sneak preview: we're going to also add an announce mail list for those that prefer email over webpages).

Keep in mind that we have added many new yum repositories of late, so if you have an existing install, consider updating your yum repo file or at least go look at the https://yum.oracle.com pages to see which repos are new. 

latest ol7 yum repo file

OL7 yum page





Can you shed some light on this ora error [session idle bit]

Tom Kyte - Thu, 2018-02-22 10:06
SYS@XYZ> select sum(ksmchsiz) ||' bytes' "ToSHRPOOLMem" from x$ksmsp; ^C ^C select sum(ksmchsiz) ||' bytes' "ToSHRPOOLMem" from x$ksmsp * ERROR at line 1: ORA-00603: ORACLE server session ...
Categories: DBA Blogs

How to restore a packages from rman backups

Tom Kyte - Thu, 2018-02-22 10:06
Hello, Is it possible to restore packages from rman backups? I know the export method that can do it, but I want to know if extended rman can do such a thing?
Categories: DBA Blogs


Tom Kyte - Thu, 2018-02-22 10:06
HI Tom - facing this issue of incorrect string sizing while decrypting.Usage of trim doesnt solve the issue. Below are the codes. 1.CREATE OR REPLACE FUNCTION CRYPT( P_STR IN VARCHAR2 ) RETURN VARCHAR2 AS ...
Categories: DBA Blogs

ODA Some curious password management rules

Yann Neuhaus - Thu, 2018-02-22 09:33

While deploying an ODA based on the DCS stack (odacli), it is mandatory to provide a “master” password at appliance creation. The web GUI provides for that a small tooltip which describes the rules applied on password management. However it looks like there is some flexibility with those rules. Lets try to check this out with some basics tests.

First of all here are the rules as provided by the ODA interface:


So basically it has to start with an alpha character and be at least 9 characters long. My first reaction was that 9 characters is not to bad even if 10 would be better as minimum. Unfortunately it is not requesting any additional complexity mixing uppercase, lowercase, numbers… My second reaction, as most of IT guys, was to try to not respect these rules and see what happen :-P

I started really basically by using an “high secured” password: test


Perfect the ODA reacted as expect and tells me I should read the rules once again. Next step is try something a bit more complicated: manager

..and don’t tell me you never used it in any Oracle environment ;-)


Fine, manager is still not 9 character long, 7 indeed, and the installer is still complaining. For now, everything is okay.
Next step was to try a password respecting the rules of 9 characters: welcome123


Still a faultless reaction of ODA!

Then I had the strange idea to test the historical ODA password: welcome1


Oops! The password starts with an alpha character fine, but if I’m right welcome1 is only 8 characters long :-?
If you don’t believe me, try to count the dot on the picture above….and I swear I didn’t use Gimp to “adjust” it ;-)

Finally just to be sure I tried another password of 8 characters: welcome2


Ah looks better. This time the installer sees that the password is not long enough and shows a warning.

…but would it mean that welcome1 is hard-coded somewhere??


Not matter, let’s continue and run the appliance creation with welcome123. Once done I try log using SSH to my brandly new created ODA using my new master password


it doesn’t work! 8-O

I tried multiple combination from welcome123, welcome1, Welcome123 and much more. Unfortunately none of them work.
At this point there are only 2 solutions to connect back to your ODA:

  1. There is still a shell connected as root to the ODA and then the root password can easily be changed using passwd
  2. No session is open to the ODA anymore and then it requires to open the remote console to reboot the ODA in Single User mode :-(

As the master password should be set to both root, grid and oracle users, I tried the password for grid and oracle too:


Same thing there the master password provided during the appliance creation hasn’t be set properly.

Hope it help!


Cet article ODA Some curious password management rules est apparu en premier sur Blog dbi services.

Oracle Communications Network Charging and Control Enables Mobile Service Providers to Differentiate and Monetize Their Brand

Oracle Press Releases - Thu, 2018-02-22 07:00
Press Release
Oracle Communications Network Charging and Control Enables Mobile Service Providers to Differentiate and Monetize Their Brand Delivers agile online charging for high-growth mobile, cloud and IoT services

Redwood Shores, Calif.—Feb 22, 2018

Oracle today announced the latest version of Oracle Communications Network Charging and Control (NCC), a key product in Oracle’s complete digital monetization portfolio which addresses communications, cloud and IoT services. A modern, standards-based online charging system for prepaid dominant mobile markets, Oracle Communications NCC expands the reach of Oracle’s digital monetization portfolio to help service providers, mobile virtual network enablers (MVNEs) and operators (MVNOs) in high growth markets, introduce innovative and interactive mobile offers to rapidly and cost effectively monetize their brands. Key capabilities introduced in this new release include 3GPP advanced data charging and policy integration together with support for contemporary, cost effective deployments on Oracle Linux.

The pre-paid market for consumer mobile broadband and Intelligent-Network (IN) voice services continues to grow globally. Ovum forecasts1 that the market for pre-paid mobile voice and data subscriptions will grow from 5.5B subscriptions in 2017 to 6.0B subscriptions in 2022 with highest net growth in developing markets. In addition, the GSMA estimates there to be almost 1,000 MVNOs globally with more than 250 mobile network operator (MNO) sub-brands, all seeking growth through brand differentiation.

For such operators, Oracle Communications NCC provides advanced mobile broadband and IN monetization, intuitive graphical service logic design and complete prepaid business management in a single solution. It supports flexible recharge and targeted real-time promotions, complete and secure voucher lifecycle management, and a large set of pre-built and configurable service templates for the rapid launch of new innovative offers. This is critical as competitive pressures and customer expectations mount, requiring service providers to rethink their services and how they can increase brand engagement and loyalty. With this evolution in services, it’s imperative that underlying charging systems evolve to meet these changing business requirements—across digital, cloud and IoT services.

ASPIDER-NGI builds, supports and operates innovative MVNO and IoT platforms for Operator, Manufacturer and Enterprise sectors,” said David Traynor, Chief Marketing Officer, ASPIDER-NGI. “We use Oracle Communications Network Charging and Control as part of our MVNE infrastructure, allowing our clients to quickly deploy new mobile data and intelligent network services. Our clients demand the controls to deliver competitive offerings to specific customer segments and to support their own IoT business models. This release provides us the agility to accelerate our pace of innovation with an online charging platform that supports the latest 3GPP technologies.”

Oracle Communications NCC aligns with 3GPP Release 14 Policy and Charging Control (PCC) standards, including Diameter Gy data services charging, and supports comprehensive SS7 Service Control (CAP, INAP, and MAP) for IN services. In addition, it supports integration with Policy and Charging Rules Function (PCRF) deployments, including Oracle Communications Policy Management, via the Diameter Sy interface. Such integration provides support for a wide range of value added scenarios from on-demand bandwidth purchases for video or data intensive services to fair usage policies that gracefully reduce mobile bandwidth as threshold quotas are met to ensure an optimal customer experience. Oracle Communications NCC may be deployed in a virtualized or bare metal configuration on Oracle Linux using the Oracle Database to provide a highly cost effective, performant and scalable online charging solution.

“This major release of Oracle Communications Network Charging and Control reiterates Oracle’s continued commitment to provide a complete and cost effective online charging and business management platform for the pre-paid consumer mobile market,” said Doug Suriano, senior vice president and general manager, Oracle Communications. “With new features including support for policy integration and deployment flexibility on a contemporary, open platform, we are offering our customers a modern alternative to traditional IN platforms, enabling them to differentiate and grow their brands, and in turn, delight their customers.”

In addition to Oracle Communications Network Charging and Control, Oracle’s digital monetization portfolio also includes Oracle Communications Billing and Revenue Management and Oracle Monetization Cloud, which collectively support the rapid introduction and monetization of subscription and consumption based offerings.

Oracle Communications provides the integrated communications and cloud solutions that enable users to accelerate their digital transformation journey—from customer experience to digital business to network evolution. See Oracle Communications NCC in action at Mobile World Congress, Barcelona, February 26–March 1, 2018, Hall 3, Booth 3B30. Ovum, TMT Intelligence, Informa, Active Users, Prepaid and Postpaid Mobile Subscriptions, February 09, 2018

1. GSMA Intelligence—Segmenting the global MVNO footprint—https://www.gsmaintelligence.com/research/2015/03/infographic-segmenting-the-global-mvno-footprint/482/

Contact Info
Katie Barron
Kristin Reeves
Blanc & Otus
About Oracle

The Oracle Cloud offers complete SaaS application suites for ERP, HCM and CX, plus best-in-class database Platform as a Service (PaaS) and Infrastructure as a Service (IaaS) from data centers throughout the Americas, Europe and Asia. For more information about Oracle (NYSE:ORCL), please visit us at www.oracle.com.


Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Talk to a Press Contact

Katie Barron

  • +1.202.904.1138

Kristin Reeves

  • +1.925.787.6744

Migrate Oracle Database(s) and ASM diskgroups from VMWARE to Oracle VM

Yann Neuhaus - Thu, 2018-02-22 06:45

This is a step by step demonstration on how to migrate any ASM disk groups from a cluster to another. May be use, with or without virtualization and may be used with storage layer snapshot for fast environment provisioning.

Step 01 – Shutdown source database(s) on VMWARE servers

Shutdown all databases hosted in the targeted Disk groups for which you want consistency. Then unmount the disk groups.

$ORACLE_HOME/bin/srvctl stop database -db cdb001

$ORACLE_HOME/bin/asmcmd umount FRA

$ORACLE_HOME/bin/asmcmd umount DATA


Step 02 – Re route LUNs from the storage array to newf servers

Create a snapshot and make the snapshot LUNs visible for Oracle Virtual Server (OVS) according the third-party storage technology.

Step 03 – Add LUNs to DomUs (VMs)

Then, we refresh the storage layer from OVM Manager to present LUNs in each OVS

OVM> refresh storagearray name=STORAGE_ARRAY_01

Step 04 – Then, tell OVM Manager to add LUNs to the VMs in which we want our databases to be migrated

create VmDiskMapping slot=20 physicalDisk=sa01_clus01_asm_data01 name=sa01_clus01_asm_data01 on Vm name=rac001
create VmDiskMapping slot=21 physicalDisk=sa01_clus01_asm_data02 name=sa01_clus01_asm_data02 on Vm name=rac001
create VmDiskMapping slot=22 physicalDisk=sa01_clus01_asm_data03 name=sa01_clus01_asm_data03 on Vm name=rac001
create VmDiskMapping slot=23 physicalDisk=sa01_clus01_asm_data04 name=sa01_clus01_asm_data04 on Vm name=rac001
create VmDiskMapping slot=24 physicalDisk=sa01_clus01_asm_data05 name=sa01_clus01_asm_data05 on Vm name=rac001
create VmDiskMapping slot=25 physicalDisk=sa01_clus01_asm_data06 name=sa01_clus01_asm_data06 on Vm name=rac001
create VmDiskMapping slot=26 physicalDisk=sa01_clus01_asm_reco01 name=sa01_clus01_asm_reco01 on Vm name=rac001
create VmDiskMapping slot=27 physicalDisk=sa01_clus01_asm_reco02 name=sa01_clus01_asm_reco02 on Vm name=rac001

create VmDiskMapping slot=20 physicalDisk=sa01_clus01_asm_data01 name=sa01_clus01_asm_data01 on Vm name=rac002
create VmDiskMapping slot=21 physicalDisk=sa01_clus01_asm_data02 name=sa01_clus01_asm_data02 on Vm name=rac002
create VmDiskMapping slot=22 physicalDisk=sa01_clus01_asm_data03 name=sa01_clus01_asm_data03 on Vm name=rac002
create VmDiskMapping slot=23 physicalDisk=sa01_clus01_asm_data04 name=sa01_clus01_asm_data04 on Vm name=rac002
create VmDiskMapping slot=24 physicalDisk=sa01_clus01_asm_data05 name=sa01_clus01_asm_data05 on Vm name=rac002
create VmDiskMapping slot=25 physicalDisk=sa01_clus01_asm_data06 name=sa01_clus01_asm_data06 on Vm name=rac002
create VmDiskMapping slot=26 physicalDisk=sa01_clus01_asm_reco01 name=sa01_clus01_asm_reco01 on Vm name=rac002
create VmDiskMapping slot=27 physicalDisk=sa01_clus01_asm_reco02 name=sa01_clus01_asm_reco02 on Vm name=rac002

At this stage we have all LUNs of our both disk groups for DATA and FRA available on both nodes of the cluster.

Step 05 – Migrate disk in AFD

We can rename disk groups if required or if a disk group with the same name already exists

renamedg phase=both dgname=DATA newdgname=DATAMIG verbose=true asm_diskstring='/dev/xvdr1','/dev/xvds1','/dev/xvdt1','/dev/xvdu1','/dev/xvdv1','/dev/xvdw1'
renamedg phase=both dgname=FRA  newdgname=FRAMIG  verbose=true asm_diskstring='/dev/xvdx1','/dev/xvdy1'


Then we migrate disks into AFD configuration

$ORACLE_HOME/bin/asmcmd afd_label DATAMIG /dev/xvdr1 --migrate
$ORACLE_HOME/bin/asmcmd afd_label DATAMIG /dev/xvds1 --migrate
$ORACLE_HOME/bin/asmcmd afd_label DATAMIG /dev/xvdt1 --migrate
$ORACLE_HOME/bin/asmcmd afd_label DATAMIG /dev/xvdu1 --migrate
$ORACLE_HOME/bin/asmcmd afd_label DATAMIG /dev/xvdv1 --migrate
$ORACLE_HOME/bin/asmcmd afd_label DATAMIG /dev/xvdw1 --migrate
$ORACLE_HOME/bin/asmcmd afd_label FRAMIG  /dev/xvdx1 --migrate
$ORACLE_HOME/bin/asmcmd afd_label FRAMIG  /dev/xvdy1 --migrate


Step 06 – Mount disk groups on the new cluster and add database(s) in the cluster

$ORACLE_HOME/bin/asmcmd mount DATAMIG
$ORACLE_HOME/bin/asmcmd mount FRAMIG


Then add database(s) to cluster (repeat for each database)

$ORACLE_HOME/bin/srvctl add database -db cdb001 \
-oraclehome /u01/app/oracle/product/12.2.0/dbhome_1 \
-dbtype RAC \
-spfile +DATAMIG/CDB001/spfileCDB001.ora \


Step 06 – Startup database

In that case, we renamed the disk groups so we need to modify file locations and some parameter values

create pfile='/tmp/initcdb001.ora' from spfile='+DATAMIG/<spfile_path>' ;
-- modify controlfiles, recovery area and any other relevant paramters
create spfile='+DATAMIG/CDB001/spfileCDB001.ora' from pfile='/tmp/initcdb001.ora' ;

ALTER DATABASE RENAME FILE '+DATA/<datafile_paths>','+DATAMIG/<datafile_paths>'
ALTER DATABASE RENAME FILE '+DATA/<tempfile_paths>','+DATAMIG/<tempfile_paths>'
ALTER DATABASE RENAME FILE '+DATA/<onlinelog_paths>','+DATAMIG/<onlinelog_paths>'
ALTER DATABASE RENAME FILE '+FRA/<onlinelog_paths>', '+FRAMIG/<onlinelog_paths>'


Then start the database

$ORACLE_HOME/bin/srvctl start database -db cdb001


This method can be used to easily migrated TB of data with almost no pain, reducing at most as possible the downtime period. For near Zero downtime migration, just add a GoldenGate replication on top of that.

The method describes here is also perfectly applicable for ASM snapshot in order to duplicate huge volume from one environment to another. This permits fast environment provisioning without the need to duplicate data over the network nor impact storage layer with intensive I/Os.

I hope it may help and please do not hesitate to contact us if you have any questions or require further information.




Cet article Migrate Oracle Database(s) and ASM diskgroups from VMWARE to Oracle VM est apparu en premier sur Blog dbi services.

Oracle Systems Partner Webcast-Series: SPARC value for Partners


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

Huge Pages

Jonathan Lewis - Thu, 2018-02-22 03:03

A useful quick summary from Neil Chandler replying to a thread on Oracle-L:

Topic: RAC install on Linux

You should always be using Hugepages.

They give a minor performance improvement and a significant memory saving in terms of the amount of memory needed to handle the pages – less Transaction Lookaside Buffers, which also means less TLB misses (which are expensive).

You are handling the memory chopped up into 2MB pieces instead of 4K. But you also have a single shared memory TLB for Hugepages.

The kernel has less work to do, bookkeeping fewer pointers in the TLB.

You also have contiguous memory allocation and it can’t be swapped.

If you are having problems with Hugepages, you have probably overallocated them (I’ve seen this several times at clients so it’s not uncommon). Hugepages can *only* be used for your SGA’s. All of your SGA’s should fit into the Hugepages and that should generally be no more than about 60% of the total server memory (but there are exceptions), leaving plenty of “normal” memory (small pages) for PGA , O/S and other stuff like monitoring agendas.

As an added bonus, AMM can’t use Hugepages, so your are forced to use ASMM. AMM doesn’t work well and has been kind-of deprecated by oracle anyway – dbca won’t let you setup AMM if the server has more than 4GB of memory.



Subscribe to Oracle FAQ aggregator