Feed aggregator

Database objects: package spec and bodies

Tom Kyte - Tue, 2018-01-16 18:26
Hi, Are package body and package specifications different objects,bcz in DBA_OBJECTS view i see different object_id's for same package body and specification?
Categories: DBA Blogs

Indexing at very Large Table

Tom Kyte - Tue, 2018-01-16 18:26
Hello Tom, I am indexing a very large table with more than 500 million rows. This table is partitioned. I needed to create the index on the table. I am creating the local index with parallel and nologging option. Once I was doing it, it was runnin...
Categories: DBA Blogs

Exiting SQL Plus when can't connect

Tom Kyte - Tue, 2018-01-16 18:26
I have to launch SQL Plus using command line options with user/password. If connection don't work, SQL Plus don't terminate the execution, but ask for another login: >> SQL*Plus: Release 11.2.0.1.0 Production on Mar Gen 16 13:26:00 2018 >> >> ...
Categories: DBA Blogs

Why are triggers a bad idea

Tom Kyte - Tue, 2018-01-16 18:26
Tom, thanks for your devotion to duty in answering the world's Oracle questions. I am struggling to explain to colleagues precisely why triggers are a bad idea in Oracle. I have read your article entitled "The trouble with Triggers" and it say...
Categories: DBA Blogs

Risk associated with Oracle Flashback technology to get records modified

Tom Kyte - Tue, 2018-01-16 18:26
Hello, I have one question for you regarding the data modified. I am working on a project where one team is making modifications in database (insert, update and delete). The data is being modified using one editor software and the software does no...
Categories: DBA Blogs

Can we create nested package in PL/SQL like we do in Java?

Tom Kyte - Tue, 2018-01-16 18:26
Can we create nested package in PL/SQL like we do in Java? I mean can we create a package inside package in Oracle PL/SQL 11g?
Categories: DBA Blogs

Podcast: Jfokus Panel: Building a New World Out of Bits

OTN TechBlog - Tue, 2018-01-16 17:27

Our first program for 2018 brings together a panel of experts whose specialties cover a broad spectrum, including Big Data, security, open source, agile, domain driven design, Pattern-Oriented Software Architecture, Internet of Things, and more. The thread that connects these five people is that they are part of the small army of experts that will be presenting at the 2018 Jfokus Developers Conference, February 5-7, 2018 in Stockholm, Sweden.

This program was recorded on January 10, 2018

The Panelists

(in alphabetical order)

Jesse Anderson

Jesse Anderson (@jessetanderson)
Data Engineer, Creative Engineer, Managing Director, Big Data Institute
Reno, Nevada

    Suggested Resources

Benjamin Cabe

Benjamin Cabé (@kartben)
IoT Program Manager, Evangelist, Eclipse Foundation
Toulouse, France

   Suggested Resources

  • Article: Monetizing IoT Data using IOTA
  • White Paper: The Three Software Stacks Required for IoT Architectures
    A collaboration of the Eclipse IoT Working Group
Kevlin Henney

Kevlin Henney (@KevlinHenney)
Consultant, programmer, speaker, trainer, writer, owner, Curbralan
Bristol, UK

   Suggested Resources

Siren Hofvander

Siren Hofvander (@SecurityPony)
Chief Security Officer with Min Doktor
Malmö, Sweden

Suggested Resources

Dan Bergh Johnsson

Dan Bergh Johnsson (@danbjson)
Agile aficionado, Domain Driven Design enthusiast, code quality craftsman, Omegapoint, Stockholm, Sweden

Suggested Resources

Additional Resources Coming Soon
  • Women in Technology
    With Heli Helskyaho, Michelle Malcher, Kellyn Pot'Vin-Gorman, and Laura Ramsey
  • DevOps: Can This Marriage be Saved
    With Nicole Forsgen, Leonid Igolnik, Alaina Prokharchyk, Baruch Sadogursky, Shay Shmeltzer, Kelly Shortridge
  • Combating Complexity
    With Adam Bien, Lucas Jelllema, Chris Newcombe, and Chris Richardson
Subscribe

Never miss an episode! The Oracle Developer Community Podcast is available via:

Oracle Application Container: a Swiss Use case

Yann Neuhaus - Tue, 2018-01-16 17:11

Here we want to start a business in Switzerland in 3 different areas and make it easy to start a new market area as soon as required by that business. We are going to use the Application Container feature in order to:

  • Have a dedicated PDB for each marker with shared and local metadata and data
  • Roll out frequently data model and code to add features in a central manner with one command

We have first to create an master application container, you can have many master application containers within a CDB. We will also create a seed PDB from that master application container. Not mandatory, its role will be to keep a sync copy of the master and improves speed provisioning for new pluggable database creation within the master container.

SQL> create pluggable database B2C_WEB_CON as application container admin user pdbadmin identified by secret roles = (DBA) ;

Pluggable database B2C_WEB_CON created.

SQL> alter pluggable database B2C_WEB_CON open;

Pluggable database B2C_WEB_CON altered.

SQL> alter session set container = B2C_WEB_CON ;

Session altered.

SQL> create pluggable database as seed admin user pdbadmin identified by oracle roles=(DBA)  ;

Pluggable database AS created.

SQL> alter pluggable database B2C_WEB_CON$SEED open;

Pluggable database B2C_WEB_CON$SEED altered.

SQL> select PDB_ID, PDB_NAME, STATUS, IS_PROXY_PDB, APPLICATION_ROOT, APPLICATION_PDB, APPLICATION_SEED, APPLICATION_ROOT_CON_ID from dba_pdbs order by 1;
  PDB_ID PDB_NAME           STATUS   IS_PROXY_PDB   APPLICATION_ROOT   APPLICATION_PDB   APPLICATION_SEED     APPLICATION_ROOT_CON_ID
       4 B2C_WEB_CON        NORMAL   NO             YES                NO                NO
       5 B2C_WEB_CON$SEED   NORMAL   NO             NO                 YES               YES                                        4

 

I will now create an application from zero. An application is a set of command executed in the master application container and on which a version tag is applied. In other words, Oracle will record what happens in the master container and applied a version flag on those commands to replay them in future PDBs.

SQL> connect sys/oracle@//localhost:1521/B2C_WEB_CON as sysdba
Connected.

SQL> create user USR_B2C_WEB identified by secret quota unlimited on TBS_B2C_WEB ;

User USR_B2C_WEB created.

SQL> alter user USR_B2C_WEB default tablespace TBS_B2C_WEB ;

User USR_B2C_WEB altered.

SQL> grant create session, resource to USR_B2C_WEB ;

Grant succeeded.

SQL> alter session set current_schema = USR_B2C_WEB ;

Session altered.

SQL> create table customers ( customer_id number, name varchar2(50), address varchar2(50) ) ;

Table CUSTOMERS created.

SQL> create table orders ( order_id number, customer_id number, order_date date ) ;

Table ORDERS created.

SQL> create table order_details ( order_detail_id number, order_id number, product_id number, quantity number ) ;

Table ORDER_DETAILS created.

SQL> create table products ( product_id number, name varchar2(50) ) ;

Table PRODUCTS created.

SQL> alter pluggable database application B2C_WEB_APP end install '1.0';

Pluggable database APPLICATION altered.

SQL> select * from dba_applications;
APP_NAME                                 APP_ID APP_VERSION   APP_STATUS   APP_IMPLICIT   APP_CAPTURE_SERVICE   APP_CAPTURE_MODULE
APP$62EA42BE47360FA8E0537A38A8C0A0F3          2 1.0           NORMAL       Y              SYS$USERS             java@VM122 (TNS V1-V3)
B2C_WEB_APP                                   3 1.0           NORMAL       N              b2c_web_con           java@VM122 (TNS V1-V3)

 

We can now synchronize the application tables of our application B2C_WEB_APP from the MASTER to the SEED in order to increase the next pluggable database creations speed

SQL> connect sys/oracle@//localhost:1521/B2C_WEB_CON$SEED as sysdba

Session altered.

SQL> alter pluggable database application B2C_WEB_APP sync ;

 

Then, go to the master and create your pluggable database for each market with the latest B2C_WEB_APP application release which is currently 1.0

SQL> connect pdbadmin/secret@//localhost:1521/B2C_WEB_CON
Connected.

SQL> create pluggable database B2C_WEB_APP_VD admin user pdbadmin identified by secret roles=(DBA) ;

Pluggable database B2C_WEB_APP_VD created.

SQL> create pluggable database B2C_WEB_APP_GE admin user pdbadmin identified by secret roles=(DBA) ;

Pluggable database B2C_WEB_APP_GE created.

SQL> create pluggable database B2C_WEB_APP_ZH admin user pdbadmin identified by secret roles=(DBA) ;

Pluggable database B2C_WEB_APP_ZH created.

 

We open and save state to make them opened at the next CDB restart

SQL> connect sys/oracle@//localhost:1521/B2C_WEB_CON as sysdba
Connected.

SQL> alter pluggable database all open ;

Pluggable database ALL altered.

SQL> alter pluggable database save state ;

Pluggable database SAVE altered.

 

Let’s generate some business activity on each pluggable database corresponding to different Swiss markets

SQL> connect usr_b2c_web/secret@//localhost:1521/B2C_WEB_APP_VD
Connected.
SQL> insert into usr_b2c_web.products select rownum, 'product_VD_00'||rownum from dual connect by level <= 5 ;

5 rows inserted.

SQL> commit ;

Commit complete.

SQL> connect usr_b2c_web/secret@//localhost:1521/B2C_WEB_APP_GE
Connected.

SQL> insert into usr_b2c_web.products select rownum, 'product_GE_00'||rownum from dual connect by level <= 5 ;

5 rows inserted.

SQL> connect usr_b2c_web/secret@//localhost:1521/B2C_WEB_APP_ZH
Connected.

SQL> insert into usr_b2c_web.products select rownum, 'product_ZH_00'||rownum from dual connect by level <= 5 ;

5 rows inserted.

SQL> commit;

Commit complete.

 

Now we can check from the master container if data are well located according to their market

SQL> connect usr_b2c_web/secret@//localhost:1521/B2C_WEB_CON
Connected.

SQL> select con$name, p.*
  2  from containers ( PRODUCTS ) p ;
CON$NAME           PRODUCT_ID NAME               CON_ID
B2C_WEB_APP_ZH              1 product_ZH_001          7
B2C_WEB_APP_ZH              2 product_ZH_002          7
B2C_WEB_APP_ZH              3 product_ZH_003          7
B2C_WEB_APP_ZH              4 product_ZH_004          7
B2C_WEB_APP_ZH              5 product_ZH_005          7
B2C_WEB_APP_GE              1 product_GE_001          6
B2C_WEB_APP_GE              2 product_GE_002          6
B2C_WEB_APP_GE              3 product_GE_003          6
B2C_WEB_APP_GE              4 product_GE_004          6
B2C_WEB_APP_GE              5 product_GE_005          6
B2C_WEB_APP_VD              1 product_VD_001          3
B2C_WEB_APP_VD              2 product_VD_002          3
B2C_WEB_APP_VD              3 product_VD_003          3
B2C_WEB_APP_VD              4 product_VD_004          3
B2C_WEB_APP_VD              5 product_VD_005          3

 

We have different products for each of our markets. Now, we would like to Upgrade the data model and add some code (a procedure) to add a basic feature: add a customer

SQL> connect pdbadmin/secret@//localhost:1521/B2C_WEB_CON
Connected.

SQL> alter pluggable database application B2C_WEB_APP begin upgrade '1.0' to '1.1';

Pluggable database APPLICATION altered.

SQL> alter session set current_schema = USR_B2C_WEB ;

Session altered.

SQL> alter table customers drop ( address ) ;

Table CUSTOMERS altered.

SQL> alter table customers add ( email varchar2(35) ) ;

Table CUSTOMERS altered.

SQL> alter table products add ( price number (8, 2) ) ;

Table PRODUCTS altered.

SQL> create sequence customer_seq ;

Sequence CUSTOMER_SEQ created.

SQL> create procedure customer_add ( name in varchar2, email in varchar2 ) as
  2  begin
  3    insert into customers values ( customer_seq.nextval, name, email ) ;
  4    commit ;
  5  end;
  6  /

Procedure CUSTOMER_ADD compiled

SQL> alter pluggable database application B2C_WEB_APP end upgrade to '1.1';

Pluggable database APPLICATION altered.

 

Let push in production the release 1.1 one market after each other

SQL> connect pdbadmin/oracle@//localhost:1521/B2C_WEB_APP_VD
Connected.

SQL> alter pluggable database application B2C_WEB_APP sync ;

Pluggable database APPLICATION altered.

SQL> connect pdbadmin/oracle@//localhost:1521/B2C_WEB_APP_GE
Connected.

SQL> alter pluggable database application B2C_WEB_APP sync ;

Pluggable database APPLICATION altered.

SQL> connect pdbadmin/oracle@//localhost:1521/B2C_WEB_APP_ZH
Connected.

SQL> alter pluggable database application B2C_WEB_APP sync ;

Pluggable database APPLICATION altered.

 

Some business activity happens and new customer are going to appears with the new feature we deployed at the release 1.1 of our B2C_WEB_APP application

SQL> connect usr_b2c_web/secret@//localhost:1521/B2C_WEB_APP_VD
Connected.

SQL> exec customer_add ('Scotty Hertz', 'SCOTTY@GMAIL.COM') ;

PL/SQL procedure successfully completed.

SQL> exec customer_add ('Scotty Hertz', 'SCOTTY@GMAIL.COM') ;

PL/SQL procedure successfully completed.

SQL> exec customer_add ('Smith Watson', 'SMITH@YAHOO.COM') ;

PL/SQL procedure successfully completed.

SQL> exec customer_add ('John Curt', 'JOHN@GMAIL.COM') ;

PL/SQL procedure successfully completed.

SQL> exec customer_add ('Dalton X', 'DALTON@AOL.COM') ;

PL/SQL procedure successfully completed.

SQL> connect usr_b2c_web/secret@//localhost:1521/B2C_WEB_APP_GE
Connected.

SQL> exec customer_add ('Scotty Hertz', 'SCOTTY@GMAIL.COM') ;

PL/SQL procedure successfully completed.

SQL> exec customer_add ('Sandeep John', 'SANDEEP@YAHOO.COM') ;

PL/SQL procedure successfully completed.

SQL> exec customer_add ('Smith Curt', 'SMITH@YAHOO.COM') ;

PL/SQL procedure successfully completed.

SQL> exec customer_add ('Orlondo Watson', 'ORLONDO@GMAIL.COM') ;

PL/SQL procedure successfully completed.

SQL> connect usr_b2c_web/secret@//localhost:1521/B2C_WEB_APP_ZH
Connected.

SQL> exec customer_add ('Maria Smith', 'MARIA@GMAIL.COM') ;

PL/SQL procedure successfully completed.

SQL> exec customer_add ('Smith Scotty', 'SMITH@YAHOO.COM') ;

PL/SQL procedure successfully completed.

 

Now, have a look on the new customer data from the master master container

SQL> connect usr_b2c_web/secret@//localhost:1521/B2C_WEB_CON
Connected.

SQL> select con$name, c.*
  2  from containers ( CUSTOMERS ) c ;
CON$NAME           CUSTOMER_ID NAME             EMAIL                 CON_ID
B2C_WEB_APP_VD               1 Scotty Hertz     SCOTTY@GMAIL.COM           3
B2C_WEB_APP_VD               2 Scotty Hertz     SCOTTY@GMAIL.COM           3
B2C_WEB_APP_VD               3 Smith Watson     SMITH@YAHOO.COM            3
B2C_WEB_APP_VD               4 John Curt        JOHN@GMAIL.COM             3
B2C_WEB_APP_VD               5 Dalton X         DALTON@AOL.COM             3
B2C_WEB_APP_GE               1 Scotty Hertz     SCOTTY@GMAIL.COM           6
B2C_WEB_APP_GE               2 Sandeep John     SANDEEP@YAHOO.COM          6
B2C_WEB_APP_GE               3 Smith Curt       SMITH@YAHOO.COM            6
B2C_WEB_APP_GE               4 Orlondo Watson   ORLONDO@GMAIL.COM          6
B2C_WEB_APP_ZH               1 Maria Smith      MARIA@GMAIL.COM            7
B2C_WEB_APP_ZH               2 Smith Scotty     SMITH@YAHOO.COM            7


11 rows selected.

 

As we don’t like the email format because it’s ugly in the web interface, we now are going to release a “data” patch on top of the release 1.1 in order to format customer’s emails in a proper manner

SQL> connect pdbadmin/secret@//localhost:1521/B2C_WEB_CON
Connected.

SQL> alter pluggable database application B2C_WEB_APP begin patch 1 minimum version '1.1' ;

Pluggable database APPLICATION altered.

SQL> update usr_b2c_web.customers set email = trim(lower(email)) ;

0 rows updated.

SQL> alter pluggable database application B2C_WEB_APP end patch 1 ;

Pluggable database APPLICATION altered.

SQL> select * from dba_app_patches;
APP_NAME        PATCH_NUMBER PATCH_MIN_VERSION   PATCH_STATUS   PATCH_COMMENT
B2C_WEB_APP                1 1.1                 INSTALLED

 

As we know have a patch ready to cleanup the email format we are ready to deploy it on each market

SQL> connect pdbadmin/oracle@//localhost:1521/B2C_WEB_APP_VD
Connected.

SQL> alter pluggable database application B2C_WEB_APP sync;

Pluggable database APPLICATION altered.

SQL> connect pdbadmin/oracle@//localhost:1521/B2C_WEB_APP_GE
Connected.

SQL> alter pluggable database application B2C_WEB_APP sync;

Pluggable database APPLICATION altered.

SQL> connect pdbadmin/oracle@//localhost:1521/B2C_WEB_APP_ZH
Connected.

SQL> alter pluggable database application B2C_WEB_APP sync;

Pluggable database APPLICATION altered.

 

Let’s check if the data patch has been applied successfully and the email format is now OK for all markets

SQL> connect usr_b2c_web/secret@//localhost:1521/B2C_WEB_CON
Connected.

SQL> select con$name, c.*
  2  from containers ( CUSTOMERS ) c ;
CON$NAME           CUSTOMER_ID NAME             EMAIL                 CON_ID
B2C_WEB_APP_VD               1 Scotty Hertz     scotty@gmail.com           3
B2C_WEB_APP_VD               2 Scotty Hertz     scotty@gmail.com           3
B2C_WEB_APP_VD               3 Smith Watson     smith@yahoo.com            3
B2C_WEB_APP_VD               4 John Curt        john@gmail.com             3
B2C_WEB_APP_VD               5 Dalton X         dalton@aol.com             3
B2C_WEB_APP_ZH               1 Maria Smith      maria@gmail.com            7
B2C_WEB_APP_ZH               2 Smith Scotty     smith@yahoo.com            7
B2C_WEB_APP_GE               1 Scotty Hertz     scotty@gmail.com           6
B2C_WEB_APP_GE               2 Sandeep John     sandeep@yahoo.com          6
B2C_WEB_APP_GE               3 Smith Curt       smith@yahoo.com            6
B2C_WEB_APP_GE               4 Orlondo Watson   orlondo@gmail.com          6


11 rows selected.

 

A new feature has now been claimed from the business. We need an upgrade of the application to add a parameters table that should contains USR_B2C_WEB application’s parameters which must be shared on all PDB applications. Also each market want be able to add its own parameters without impacting existing one or others markets.
We are going to use the attribute “SHARING” set to “EXTENDED DATA” for that table to make possible a mix of shared data in the master and PDB local data in the same table (deeper explanation and others sharing modes here).

SQL> connect pdbadmin/secret@//localhost:1521/B2C_WEB_CON
Connected.

SQL> alter pluggable database application B2C_WEB_APP begin upgrade '1.1' to '1.2';

Pluggable database APPLICATION altered.

SQL> create table usr_b2c_web.settings sharing = extended data ( name varchar2(50), value varchar2(50) );

Table USR_B2C_WEB.SETTINGS created.

SQL> insert into usr_b2c_web.settings values ( 'compagny_name', 'wisdom IT' ) ;

1 row inserted.

SQL> insert into usr_b2c_web.settings values ( 'head_quarter_address', 'street village 34, 3819 Happiness, Switzerland' ) ;

1 row inserted.

SQL> commit ;

Commit complete.

SQL> alter pluggable database application B2C_WEB_APP end upgrade to '1.2';

Pluggable database APPLICATION altered.

 

Upgrade 1.2 for all market and addition of a local parameter “market_name” for each market

SQL> connect pdbadmin/oracle@//localhost:1521/B2C_WEB_APP_VD
Connected.

SQL> alter pluggable database application B2C_WEB_APP sync;

Pluggable database APPLICATION altered.

SQL> insert into usr_b2c_web.settings values ( 'market_name', 'VAUD' ) ;

1 row inserted.

SQL> commit ;

Commit complete.

SQL> connect pdbadmin/oracle@//localhost:1521/B2C_WEB_APP_GE
Connected.

SQL> alter pluggable database application B2C_WEB_APP sync;

Pluggable database APPLICATION altered.

SQL> insert into usr_b2c_web.settings values ( 'market_name', 'GENEVA' ) ;

1 row inserted.

SQL> commit ;

Commit complete.

SQL> connect pdbadmin/oracle@//localhost:1521/B2C_WEB_APP_ZH
Connected.

SQL> alter pluggable database application B2C_WEB_APP sync;

Pluggable database APPLICATION altered.

SQL> insert into usr_b2c_web.settings values ( 'market_name', 'ZURICH' ) ;

1 row inserted.

SQL> commit ;

Commit complete.

 

Now we check if shared parameters are available for all markets and each one of them has a dedicated “market_name” value

SQL> connect usr_b2c_web/secret@//localhost:1521/B2C_WEB_CON
Connected.

SQL> select con$name, c.*
  2  from containers ( SETTINGS ) c ;

CON$NAME         NAME                   VALUE                                              CON_ID
B2C_WEB_CON      compagny_name          wisdom IT                                               4
B2C_WEB_CON      head_quarter_address   street village 34, 3819 Happiness, Switzerland          4
B2C_WEB_APP_GE   compagny_name          wisdom IT                                               6
B2C_WEB_APP_GE   head_quarter_address   street village 34, 3819 Happiness, Switzerland          6
B2C_WEB_APP_GE   market_name            GENEVA                                                  6
B2C_WEB_APP_VD   compagny_name          wisdom IT                                               3
B2C_WEB_APP_VD   head_quarter_address   street village 34, 3819 Happiness, Switzerland          3
B2C_WEB_APP_VD   market_name            VAUD                                                    3
B2C_WEB_APP_ZH   compagny_name          wisdom IT                                               7
B2C_WEB_APP_ZH   head_quarter_address   street village 34, 3819 Happiness, Switzerland          7
B2C_WEB_APP_ZH   market_name            ZURICH                                                  7

 

Looks all good.

Now the business need to extend the startup activity to a new market area of Switzerland. We are so going to add a new pluggable database for that marker. This market will benefit immediately of the latest application release.

SQL> alter session set container = B2C_WEB_CON ;

Session altered.

SQL> create pluggable database B2C_WEB_APP_ZG admin user pdbadmin identified by secret roles=(DBA) ;

Pluggable database B2C_WEB_APP_ZG created.

SQL> alter pluggable database B2C_WEB_APP_ZG open;

Pluggable database B2C_WEB_APP_ZG altered.

 

Let’s check with the parameter table if all data have been synchronized

SQL> select con$name, c.*
  2  from containers ( SETTINGS ) c ;
CON$NAME         NAME                   VALUE                                              CON_ID
B2C_WEB_APP_VD   compagny_name          wisdom IT                                               3
B2C_WEB_APP_VD   head_quarter_address   street village 34, 3819 Happiness, Switzerland          3
B2C_WEB_APP_VD   market_name            VAUD                                                    3
B2C_WEB_CON      compagny_name          wisdom IT                                               4
B2C_WEB_CON      head_quarter_address   street village 34, 3819 Happiness, Switzerland          4
B2C_WEB_APP_GE   compagny_name          wisdom IT                                               6
B2C_WEB_APP_GE   head_quarter_address   street village 34, 3819 Happiness, Switzerland          6
B2C_WEB_APP_GE   market_name            GENEVA                                                  6
B2C_WEB_APP_ZH   compagny_name          wisdom IT                                               7
B2C_WEB_APP_ZH   head_quarter_address   street village 34, 3819 Happiness, Switzerland          7
B2C_WEB_APP_ZH   market_name            ZURICH                                                  7
B2C_WEB_APP_ZG   compagny_name          wisdom IT                                               5
B2C_WEB_APP_ZG   head_quarter_address   street village 34, 3819 Happiness, Switzerland          5

 

I wish this post will help to understand how to implement Container Application in real life and please do not hesitate to contact us if you have any questions or require further information.

 

Cet article Oracle Application Container: a Swiss Use case est apparu en premier sur Blog dbi services.

The Best Way to Get Help with Your Oracle Database Questions

OTN TechBlog - Tue, 2018-01-16 12:34

One of the best things about the Oracle Developer Community is the easy access to expert help and ideas. To add to the expert content, Oracle is adding a new service for developers called Ask TOM Office Hours.  Chris Saxon, Oracle SQL Developer Advocate and SQL expert tells all about it:


Aaaaargh! Any more of this and I was ready to throw my computer out of the window. I was stuck. I was editing a video for The Magic of SQL, trying to create some blended split-screen effects. I was sure it was possible. I just didn’t know how. Searches turned up nothing. So I turned to forums for help.

But, instead of answers, all I was getting was requests for extra details. Three days in and I was still no closer to achieving the desired effect. So I gave up and called a colleague. After a couple of minutes chatting, they were able to point me to a solution.

Progress at last!

It’s a drawback that plagues technical forums. A simple request for help can turn into a prolonged back-and-forth exchange of information.

“Which version are you using?”

“What does your code look like?”

“Have you have you set the im_not_an_idiot parameter?”

They do want to help. But the problem is that it's tough to provide effective help without a full understanding of your issue. Respondents need to know what you’re trying to do, what you’ve tried and what you’re working with. So you settle in for a game of internet pong. Your question pings back and forth between you and your unknown “helper”. Until finally your query is answered. Or one of you gives up. All the while sucking up your valuable time.

Frustrating, isn’t it?

Wouldn’t it be great if, in addition to support and Q&A forums, you could have an actual, live conversation, working out all the details of your malady?

Where you could quickly get to the root of the issue or learn how to properly apply a new feature to your program?

Now you can!

Introducing Ask TOM Office Hours

These are scheduled, live Q&A sessions. Hosted by Oracle Database Product Managers, evangelists and even developers. The Oracle product experts. Ready to help you get the best out of Oracle technology.

And the best part: Ask TOM Office Hours sessions are 100% free!

Office Hours continues the pioneering tradition of Ask TOM. Launched in 2000 by Tom Kyte, the site now has a dedicated team who answer hundreds of questions each month. Together they’ve helped millions of developers understand and use Oracle Database.

Office Hours takes this service to the next level, giving you live, direct access to a horde of experts within Oracle. All dedicated to helping you get the most out of your Oracle investment. To take advantage of this new program, visit the Office Hours home page and find an expert who can help . Sign up for the session and, at the appointed hour, join the webinar. There you can put your questions to the host or listen to the Q&A of others, picking up tips and learning about new features.

Each session will have a specific focus, based on the presenter’s expertise. But you are welcome to ask other questions as well.

Stuck on a thorny SQL problem? Grill Chris Saxon or Connor McDonald of the Ask TOM team. 

Want to make the most of Oracle Database's amazing In-Memory feature? Andy Rivenes and Maria Colgan will take you through the key steps.

Started a new job and need to get up-to-speed on Multitenant? Patrick Wheeler will help you get going.

Struggling to get bulk collect working? Ask renowned PL/SQL expert, Steven Feuerstein.

Our experts live all over the globe. So even if you inhabit "Middleofnowhereland", you’re sure to find a timeslot that suits you.

You need to make the most of Oracle Database and its related technologies. It's our job to make it easy for you.

Ask TOM Office Hours: Dedicated to Customer Success

View the sessions and sign up now!

 

Partner Webcasts on Oracle IoT Cloud Services

Eight zetabytes of data are coming from tens of millions of devices. Where are you going to put the data, and what are you going to do with it? Internet of things (IoT) is all about integrating and...

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

River Island Creates Single View of Inventory with Oracle Retail Planning

Oracle Press Releases - Tue, 2018-01-16 08:00
Press Release
River Island Creates Single View of Inventory with Oracle Retail Planning Fashion Retailer Aligns Planning Practices Across its Business Models

NATIONAL RETAIL FEDERATION ANNUAL CONFERENCE – New York—Jan 16, 2018

Today, Oracle announced that River Island deployed Oracle Retail Merchandise Financial Planning to support their Omnichannel growth and digital transformation. River Island operates a global portfolio of over 320 stores across the UK and Ireland and internationally throughout Asia, the Middle East and Europe. With a global footprint and multiple web, franchise and wholesale operations River Island required new tools to make more accurate and impactful inventory decisions for continued growth.

River Island had the vision and courage to become an Omnichannel retailer before it was vogue. River Island operates an award-winning online fashion retail site, employs one of the biggest in-house design teams on the British high street and maintains a deep commitment to nurturing new talent which have enabled the brand to become one of the most successful fashion retailers in the UK. As River Island experienced continued growth in the UK and internationally they understood the value and necessity of a single view of order and inventory to scale their business.

“We knew that Omnichannel was the future and had to make a strategic move. We partnered with Oracle to get there. A single view of inventory is the key to fulfilling demand and operating more effectively,” said Doug Gardner, Chief Information Officer, River Island. “Through this transformation, we needed to change the way our business worked. People had to come together and properly go through the design of the implementation.”

As an early adopter of Omnichannel planning, River Island partnered very closely with the Oracle Retail Consulting team to align towards business objectives correctly. Together, River Island established more-consistent and accurate planning processes to better understand how merchandise was performing across channels.

“Sometimes you have to have the courage to level set in the middle of an implementation. You want to get it right because you need a foundation to operate with going forward,” said Gardner. “By implementing Oracle Retail Merchandise Financial Planning correctly, we are now about to evaluate profitability, reduce markdowns and follow a single version of the truth for the whole business.”

“In our 2017 global consumer research ‘Retail in 4 Dimensions,’ we found that 43% of consumers are now shopping both online and in-store every week. The multichannel shopper spent nearly twice as much as a single channel shopper this fall. River Island took notice of these trends early and shifted their strategies to be more nimble and agile in the face of shifting consumer demands,” said Ray Carlin, Senior Vice President and General Manager, Oracle Retail. “Retail has advanced at an unprecedented pace with an evolution of strictly brick and mortar retail to a complex Omnichannel world where purchasing online and collecting orders how, where and when one wants has become the standard.”

Contact Info
Matt Torres
Oracle PR
+1.415.595.1584
matt.torres@oracle.com
Oracle Retail at NRF 2018

Oracle Retail will be showcasing the full suite of Oracle Retail solutions and cloud services at the National Retail Federation Big Show Jan. 14-16, 2017, in New York City at the Jacob K. Javitz Convention Center. Oracle Retail will be located at booth #3521. For more information check out: www.oracle.com/retail

About Oracle Retail

Oracle provides retailers with a complete, open, and integrated suite of best-of-breed business applications, cloud services, and hardware that are engineered to work together and empower commerce. Leading fashion, grocery, and specialty retailers use Oracle solutions to anticipate market changes, simplify operations and inspire authentic brand interactions. For more information, visit our website at www.oracle.com/retail.

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.

Trademarks

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

Matt Torres

  • +1.415.595.1584

which approach should i apply to fetch 6 millions records from select statement from various table

Tom Kyte - Mon, 2018-01-15 23:46
I have one requirement where i needs to fetch all the Install base records along with other details.currently in our system there are 6 millions are exist.So please help us to choose better approach for this.
Categories: DBA Blogs

duplicate rows

Tom Kyte - Mon, 2018-01-15 23:46
How to find duplicate rows in a table ?
Categories: DBA Blogs

Observing a "create table as select statement"

Tom Kyte - Mon, 2018-01-15 23:46
Hi Tom, In a customer project we are using quite a lot of "create table as select ...." (cannot change them), that are taking quite a while (some hours). I would like to observe the growth of these objects, while they are created, but I'm bumpin...
Categories: DBA Blogs

big file tablespace

Tom Kyte - Mon, 2018-01-15 23:46
I have a big file tablespace?which has 100G size?I wonder ,big file tablepspace vs normal small file tablespace?which is better? someone said, it is very difficult to recover if bad block occurs in a big file, and what's more, performance is worse th...
Categories: DBA Blogs

convert from char to varchar2 - retrieve space

Tom Kyte - Mon, 2018-01-15 23:46
Hi Tom; We are working on Oracle 11g standard edition. By mistake, several CHAR fields have been created in several large tables, which generated an increase in the space occupied by them. We convert the fields to VARCHAR2, but we can not recove...
Categories: DBA Blogs

JOIN with select first item

Tom Kyte - Mon, 2018-01-15 23:46
Hello, my first query "select Barcode as sample_barcodes" returns the following entries: <code> ----------------- SAMPLES_BARCODES 50027 50028 50029 ----------------- </code> my second query "select CampaignItemId, Barcode from MyView...
Categories: DBA Blogs

How to get MIN and MAX of Consecutive Numbers

Tom Kyte - Mon, 2018-01-15 23:46
Thanks for your awesome help on "Trying to split serial number ranges" question today. I have another opportunity to ask a question and it's somewhat related to my earlier question. I hope this would be an easy one. I have a table with the foll...
Categories: DBA Blogs

Coding Parallel Processing on 12c

Tom Kyte - Mon, 2018-01-15 23:46
Hello Tom, I gave the below link a try and applied the method on 12c. https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:4248554900346593542 But it takes same time as serial processing. Could you please light me up what I'...
Categories: DBA Blogs

The top 5 reasons why you should submit an abstract for APEX at the Great Lakes Oracle Conference (GLOC)

Joel Kallman - Mon, 2018-01-15 18:50
APEX Developer Day at Great Lakes Oracle Conference 2017
The Northeast Ohio Oracle User's Group (NEOOUG) is easily one of my favorite user groups on the planet.  They've been graciously hosting me at their user group events since 2004 (when I first gave a demonstration on Oracle HTML DB 1.5!).  They are a large, active and passionate user group.  In the past 14 years, I've seen them grow from simple user group events to "Training Days" at the Cleveland State University campus to a nicely sized regional conference named Great Lakes Oracle Conference.

If you're into Oracle APEX, either on-premises, or in the Oracle Cloud, I encourage you to submit an abstract to speak at the Great Lakes Oracle Conference.  Here are my top 5 reasons why you should strongly consider this:
  1. There is a real hunger for Oracle APEX content at this conference.  There are countless customers in the immediate region who use Oracle APEX.  Last year, they had the first ever Oracle APEX Developer Day in advance of the conference, and it was sold out (100 attendees)!
  2. It's the largest Oracle user's conference in the Midwest US.  It draws people from all over Ohio, Michigan, Indiana, Kentucky and Pennsylvania.  There will be over 500 attendees at the conference in 2018.
  3. The Great Lakes Oracle Conference routinely gets world-class speakers from all over the world, both Oracle employees and Oracle ACEs.  As a speaker, you would be able to attend any session in any track.
  4. There are numerous tracks at the Great Lakes Oracle Conference, including APEX, Oracle Applications, Business Intelligence, DBA, Database Developer and Data Warehousing.
  5. Cleveland, Ohio is on the North Coast of the US.  There, you can visit Great Lakes Brewing Company, Market Garden Brewery, Platform Beer Company,  and the Rock & Roll Hall of Fame.

I come across so many people who say "why would anyone want to hear me talk about that?"  From case studies to lessons learned to best practices in your environment, it's all interesting and valuable.  Not everyone who attends the APEX sessions at GLOC are experts, so entry-level sessions are also welcome!

I encourage you to submit an abstract today.  The deadline for abstract submission is February 2, 2018.

Pages

Subscribe to Oracle FAQ aggregator