Feed aggregator

How much free space can be reclaimed from a segment?

Yann Neuhaus - Tue, 2018-08-07 14:06

You have the feeling that your table takes more blocks than it should? Here are the queries I use to quickly check the free space. The idea is to call DBMS_SPACE.SPACE_USAGE and infer the minimum space from the percentages. For example, a block in FS3 (defined as having at least 50 to 75% free space) is supposed to have at least 50% of free space. Of course it can have more, but you don’t know.

Here is some PL/SQL to do so:

set serveroutput on
declare
unf number; unfb number; fs1 number; fs1b number; fs2 number; fs2b number; fs3 number; fs3b number; fs4 number; fs4b number; full number; fullb number;
begin
for i in (select * from (select * from dba_segments where segment_subtype='ASSM' and segment_type in (
'TABLE','TABLE PARTITION','TABLE SUBPARTITION','INDEX','INDEX PARTITION','INDEX SUBPARTITION','CLUSTER','LOB','LOB PARTITION','LOB SUBPARTITION'
) order by bytes desc) where 10>=rownum)
loop
begin
dbms_space.space_usage(i.owner,i.segment_name,i.segment_type,unf,unfb,fs1,fs1b,fs2,fs2b,fs3,fs3b,fs4,fs4b,full,fullb,partition_name=>i.partition_name);
dbms_output.put_line(to_char((unfb+fs1b+fs2b*0.25+fs3b*0.5+fs4b*0.75)/1024/1024/1024,'999G999D999')||' GB free in '||i.segment_type||' "'||i.owner||'"."'||i.segment_name||'" partition "'||i.partition_name||'"');
exception
when others then dbms_output.put_line(i.segment_type||' "'||i.owner||'"."'||i.segment_name||'" partition "'||i.partition_name||'": '||sqlerrm);
end;
end loop;
end;
/

The output looks like:

.001 GB free in INDEX "DEMO"."ACCOUNT_PK" partition ""
.001 GB free in TABLE "APEX_040200"."WWV_FLOW_PAGE_PLUGS" partition ""
.009 GB free in TABLE "SCOTT"."DEMO" partition ""
.000 GB free in TABLE "APEX_040200"."WWV_FLOW_STEP_ITEMS" partition ""
.003 GB free in INDEX "SYS"."WRH$_SYSMETRIC_HISTORY_INDEX" partition ""
.000 GB free in TABLE "MDSYS"."SDO_CS_SRS" partition ""
.002 GB free in INDEX "SYS"."I_WRI$_OPTSTAT_H_OBJ#_ICOL#_ST" partition ""
.006 GB free in TABLE "SYS"."WRH$_SYSMETRIC_HISTORY" partition ""
.002 GB free in TABLE "SYS"."WRH$_SQL_PLAN" partition ""

If you are in 12c, an inline function in the query might come handy:

with function freebytes(segment_owner varchar2, segment_name varchar2, segment_type varchar2,partition_name varchar2) return number as
unf number; unfb number; fs1 number; fs1b number; fs2 number; fs2b number; fs3 number; fs3b number; fs4 number; fs4b number; full number; fullb number;
begin
dbms_space.space_usage(segment_owner,segment_name,segment_type,unf,unfb,fs1,fs1b,fs2,fs2b,fs3,fs3b,fs4,fs4b,full,fullb,partition_name=>partition_name);
return unfb+fs1b+fs2b*0.25+fs3b*0.5+fs4b*0.75;
end;
select round(freebytes(owner,segment_name,segment_type,partition_name)/1024/1024/1024,3) free_GB,segment_type,owner,segment_name,partition_name
from dba_segments where segment_subtype='ASSM' and segment_type in (
'TABLE','TABLE PARTITION','TABLE SUBPARTITION','INDEX','INDEX PARTITION','INDEX SUBPARTITION','CLUSTER','LOB','LOB PARTITION','LOB SUBPARTITION'
) order by bytes desc fetch first 10 rows only
/

The result looks like:

FREE_GB SEGMENT_TYPE OWNER SEGMENT_NAME PARTITION_NAME
------- ------------ ----- ------------ --------------
0 TABLE DEMO ACCOUNTS
0.001 INDEX DEMO ACCOUNT_PK
0.001 TABLE APEX_040200 WWV_FLOW_PAGE_PLUGS
0.009 TABLE SCOTT DEMO
0.003 INDEX SYS WRH$_SYSMETRIC_HISTORY_INDEX
0 TABLE APEX_040200 WWV_FLOW_STEP_ITEMS
0.002 INDEX SYS I_WRI$_OPTSTAT_H_OBJ#_ICOL#_ST
0 TABLE MDSYS SDO_CS_SRS
0.006 TABLE SYS WRH$_SYSMETRIC_HISTORY
0.002 TABLE SYS WRH$_SQL_PLAN

Future evolution will be published on GitHub:
https://raw.githubusercontent.com/FranckPachot/scripts/master/administration/segment_free_space_plsql.sql
https://raw.githubusercontent.com/FranckPachot/scripts/master/administration/segment_free_space_sql.sql

Note that having free space does not mean that you have to shrink or reorg. Try to understand what happened to your data before, and wheter this space will be reused soon.

 

Cet article How much free space can be reclaimed from a segment? est apparu en premier sur Blog dbi services.

EMEA OCI Partner Deep Dive Days 10 – 12 September 2018 | London, UK

Dear Valued Oracle Partner,  Join us at our 1st annual EMEA Oracle Cloud Infrastructure (OCI) Partner Deep Dive Days event to learn the latest in OCI technical features as well as how to...

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

Syntax checking without execution of query

Tom Kyte - Tue, 2018-08-07 03:46
Hi Tom, I have a front end screen where user can form a select statement.Once user will submit the syntax checking I should verify whether the query syntatically correct or not?.How should I achieve above by using SQL/PLSQL?. For ex, ...
Categories: DBA Blogs

Oracle Access Manager 12c and Oracle Internet Directory 12c Certified with EBS 12.2 and 12.1

Steven Chan - Mon, 2018-08-06 14:17

(Contributing Author:  Allison Sparshott)

I am pleased to announce that Oracle Access Manager 12c (12.2.1.3.0) and Oracle Internet Directory 12c (12.2.1.3.0) are now certified with E-Business Suite Releases 12.2.3 and higher and Release 12.1.3 and higher.

Note:  We are currently in the process of certifying Oracle E-Business Suite Release 12.2.7 and higher with Oracle Unified Directory 12c.  You may monitor or subscribe to this blog for the latest EBS technology certification announcements. 

References

If you are implementing single sign-on for the first time, or are an existing Oracle Access Manager user, you may now integrate with Oracle Access Manager 12c using Oracle Access Manager WebGate and Oracle E-Business Suite AccessGate.

Refer to the following documents for instructions:

Related Articles

Categories: APPS Blogs

Setup Oracle database using Docker container

Learn oracle 12c database management - Mon, 2018-08-06 13:22
Step-1:
Install docker container. Based on your windows OS Version. if you are using windows 7 will need docker engine and Kitematic 
if you are on windows 10 or higher use : Docker Community Edition (Download)

Docker Instructions : https://docs.docker.com/install/
Once installed you will see Docker Quickstart Terminal and Kitematic.


open docker machine and then Kitematic.

Search for oracle XE 11g by Seth89. Download and install the below shown container


Once installed You will have oracle database installed and ready to use. you can ignore the below error message  /docker-entrypoint-init.d/cache: no such file or dir.

Another way to confirm successful installation is you will see Unauthorized image in web preview section


Make sure you have bridge network configured. As below

Check if below configured ports are configured.

How to connect to oracle database in the container :
Based on the IP Address and port configured in above image. Use those credentials to connect to DB.
Username : System
Password : oracle


Or to connect via sqlplus use as below:



Optional settings :

To configure or change volumes use. Volumes will help you to copy files over or attach a local working directory to container:


Categories: DBA Blogs

What's New in Oracle Developer Cloud Service - August 2018

OTN TechBlog - Mon, 2018-08-06 12:14

Over the weekend we updated Oracle Developer Cloud Service - your cloud based DevOps and Agile platform - with a new release (18.3.3) adding some key new features that will improve the way you develop and release software on the Oracle Cloud. Here is a quick rundown of key new capabilities added this month.

Environments

A new top level section in Developer Cloud Service now allows you to define "Environments" - a collection of cloud services that you bundle together under one name. Once you have an environment defined, you'll be able to see the status of your environment on the home page of your project. You can for example define a development, test and production environments - and see the status of each one with a simple glance.

Environment View

This is the first step in a set of future features of DevCS that will help you manage software artifacts across environments in an easier way.

Project Templates

When you create a new project in DevCS you can base it on a template. Up until this release you were limited to templates created by Oracle, now you can define your own templates for your company.

Template can include default artifacts such as wiki pages, default git repositories, and even builds and deployment steps.

This is very helpful for companies who are aiming to standardize development across development teams, as well as for team who have repeating patterns of development.

Project Template

Wiki Enhancments

The wiki in DevCS is a very valuable mechanism for your team to share information, and we just added a bunch of enhancements that will make collaboration in your team even better.

You can now watch specific wiki pages or sections, which will notify you whenever someone updates those pages.

We also added support for commenting on wiki pages - helping you to conduct virtual discussion on their content.

Wiki tracking

More

These are just some of the new features in Developer Cloud Service. All of these features are part of the free functionality that Developer Cloud Service provides to Oracle Cloud customers. Take them for a spin and let us know what you think.

For information on additional new feature check out the What's New in Developer Cloud Service Documentation.

Got technical questions - ask them on our cloud customer connect community page.

 

Edit Form in a Popup with Oracle Visual Builder

Shay Shmeltzer - Mon, 2018-08-06 11:51

In Visual Builder Cloud Service (VBCS) it is very easy to create a CRUD application where one page shows you a list of records, and then clicking on one of them you are directed to another page where you edit the record. But what if instead you want to edit the record on the same page - or in a popup window when you click the record in the table?

This is what this blog is all about - the results looks like this:

Edit Popup

The video combines several techniques and tips, some of which I covered in details in other blog entires. Since the video is a bit on the long side (14 min) - here is a break down of what it shows and a way for you to skip to the parts that interest you:

 

Categories: Development

Catching interface state changes with Network Manager

Yann Neuhaus - Mon, 2018-08-06 10:08

Sometimes it is required that you can react on state changes of your network interfaces. Maybe you want to get notified by mail or you want to execute a script that does something in case an event is trapped. As usual I will be using CentOS 7 for this little demonstration but as most distributions use systemd and NetworkManager nowadays this should work more or less the same on Debian based distributions.

As this will be a short post anyway: The way to do it is to use the dispatcher scripts coming with Network Manager. All you need to do for getting notified on down or up events is to create a script in /etc/NetworkManager/dispatcher.d/:

root@:/etc/NetworkManager/dispatcher.d/ [] pwd
/etc/NetworkManager/dispatcher.d
root@:/etc/NetworkManager/dispatcher.d/ [] cat 30-network 
#!/bin/bash

INTERFACE=$1
ACTION=$2

echo $INTERFACE >> /var/log/tmp.log
echo $ACTION >> /var/log/tmp.log

The script will get two parameters passed in by default: The name of the interface and the action that just happened. What you do with these is totally up to you. The only point you need to take care of (which is also mentioned in the documentation): “Each script should be a regular executable file, owned by root. Furthermore, it must not be writable by group or other, and not setuid.”

root@:/etc/NetworkManager/dispatcher.d/ [] ls -la
total 16
drwxr-xr-x. 5 root root  131 Aug  6 17:02 .
drwxr-xr-x. 7 root root  134 Jul 20 10:18 ..
-rwxr-xr-x. 1 root root  175 Jan  2  2018 00-netreport
-rwxr-xr-x. 1 root root 1123 May 15 15:03 11-dhclient
-rwxr-xr-x. 1 root root  985 Sep 15  2017 20-chrony
-rwxr-xr-x. 1 root root  108 Aug  6 17:02 30-network
drwxr-xr-x. 2 root root    6 Jun 27 16:39 no-wait.d
drwxr-xr-x. 2 root root    6 Jun 27 16:39 pre-down.d
drwxr-xr-x. 2 root root    6 Jun 27 16:39 pre-up.d

As soon as you have your script in place it will get kicked off when the interface state is changing:

root@:/etc/NetworkManager/dispatcher.d/ [] systemctl restart network
root@:/etc/NetworkManager/dispatcher.d/ [] cat /var/log/tmp.log

connectivity-change
enp0s3
down
enp0s8
down
enp0s3
up

connectivity-change
enp0s8
up

Hope that helps …

 

Cet article Catching interface state changes with Network Manager est apparu en premier sur Blog dbi services.

Data Conflict Solution for ADF BC REST with Versioning

Andrejus Baranovski - Mon, 2018-08-06 10:06
I would like to share sample solution for data conflict processing in ADF BC REST using versioning. When multiple users are editing concurrently the same data row - it is important to inform user before overriding changes already committed by another user. There are other approaches to implement data conflict control, you should evaluate if solution explained below is suitable for your use case, before applying it.

Sample code can be obtained from GitHub repository.

I'm using custom change indicator property, to evaluate if client data is expired. Change indicator value is sent to the client together with request data. PATCH request must include current client side change indicator value, if change indicator will match value in backend - PATCH is allowed, otherwise new change indicator will be returned to the client and response will be marked with 409 Conflict status code. Based on this, client could decide either to resubmit PATCH request with new change indicator and overwrite current data in DB or refresh client side data and try to submit changes later.

In this example - PATCH was executed with valid change indicator, response status is 200 OK. New change indicator value is returned to the client (it should be submitted for the next PATCH call for current row):


To test data change conflict, I would go directly to DB and change same record. Change indicator will be updated too:


Client doesn't know about change indicator update (data was changed by another user). Client will include currently known change indicator value and execute PATCH. This will result in 409 Conflict status. Backend returns latest change indicator value in the response:


Data wasn't updated, PATCH request was stopped on the backend:


Client knows latest change indicator value and can submit it again - this time successful (no one else changed data in the meantime):


Status 200 OK is returned, along with new change indicator value. Data is changed in DB as expected:


Backend implementation is not complex. You need DB trigger, which will get value from DB sequence and assign it for each changed row:


ADF BC REST includes change indicator attribute, it is marked with Refresh on Update support. This allows to get latest value assigned from DB trigger and return it to the client:


In doDML method we compare change indicator attribute value currently stored in DB and the one which comes from the client. If values do not match (client doesn't have the latest value) - update is not allowed:


When update is not allowed, we also must change HTTP response code to be 409 Conflict. This will allow to execute error callback on client side and take required action to process data conflict on the client. HTTP response code is set from custom ADF BC REST filter:

Log buffer size tuning

Tom Kyte - Mon, 2018-08-06 09:26
Oracle documents say Log buffer is normally small compared with the total SGA size, its key ratio is the space request ratio: redo log space requests / redo entries. Could you tell me what is the key ratio we are looking when adjust log buffer in ...
Categories: DBA Blogs

ERROR MESSAGE ORA-04030

Tom Kyte - Mon, 2018-08-06 09:26
Pl suggest how to solve the problem related to ORA-04030. Thanks Ajay Goel
Categories: DBA Blogs

Referential Partitioning

Tom Kyte - Mon, 2018-08-06 09:26
Hi Tom, I am working on an 11g database and writing a PL/SQL application that moves partitions from the active schema to an historical schema. In one instance, I have a RANGE partitioned table with two "child" REFERENCE partitioned tables. Since I...
Categories: DBA Blogs

Indexes on View

Tom Kyte - Mon, 2018-08-06 09:26
Hi Tom, Thanks for your kind support always. I have one question which is confusing me a lot. I know when any changes are made to base tables then those changes are reflected are on view as well when view is refreshed. But my question is revers...
Categories: DBA Blogs

Create Table Within SQL Script - When Changes Visible?

Tom Kyte - Mon, 2018-08-06 09:26
HI TOM, I have one SQL script. In That I am creating backup table say table A. After that I am updating the table A with some condition (with No Commit). After that I am creating another backup table say table B. After that I am updating ta...
Categories: DBA Blogs

Create a json object that combines a person with multiple addresses

Tom Kyte - Mon, 2018-08-06 09:26
I'm trying to create a json object that combines (for example) a person with multiple addresses. It could be for any parent/child relationship where there can be multiple children with multiple attributes. <code> -- ------------------------------...
Categories: DBA Blogs

OceanX Data Platform Helps Power the Subscription Economy with Oracle Cloud

Oracle Press Releases - Mon, 2018-08-06 07:00
Press Release
OceanX Data Platform Helps Power the Subscription Economy with Oracle Cloud Replacing AWS with Oracle for OceanX Data Platform enhances performance that enables clients to gain real-time, actionable insights into the customer journey

Redwood Shores Calif—Aug 6, 2018

Helping brands build lifelong relationships with consumers, OceanX LLC, a subscription commerce platform provider, has adopted Oracle Cloud for its business intelligence and analytics segment of the OceanX subscription commerce solution. In order to enable its clients to gain real-time access into the customer journey, OceanX moved its business intelligence and analytics systems from AWS to Oracle Cloud Infrastructure and Oracle Database Exadata Cloud Service. With Oracle Cloud, the company has increased performance and saved on costs, while helping ensure its clients have 24/7 access to subscription performance metrics and consumer data that allows them to react to customer needs faster.

From apparel to beauty, subscriptions are undergoing a renaissance. The industry has grown more than 100 percent each year in the past five years. A subscription-based business model revolves around cultivating long-term customer relationships with a focus on lifetime value. OceanX’s data systems, as part of the all-in-one subscription commerce platform, builds these relationships by collecting and connecting data across the entire customer journey, delivering actionable insights to its clients and allowing them to analyze data at any stage and assess each membership experience. With the many services available in the market, failure to provide these immediate insights and capabilities will have a negative impact to the client’s growth in both customer acquisition and retention.

“Consumer packaged goods organizations and large omni-channel retailers are dealing with skyrocketing consumer demand for subscription services,” said Vijay Manickam, vice president of Data and Analytics at OceanX. “We needed our data platform to scale and deliver high performance at a lower cost. The migration of the data platform from AWS to Oracle was one of the most successful migrations at OceanX, and coupled with a significant performance gain with substantial cost savings meant the entire program was a tremendous accomplishment. This ultimately enables us to deliver our clients a platform that allows them to make more informed decisions, faster.”

OceanX enables great brands and passionate entrepreneurs to easily sell physical goods directly to consumers while building long-term relationships with their customers. OceanX's Exadata Cloud Service deployment on Oracle Cloud Infrastructure allows OceanX to go one step further and reimagine the future client data experience. OceanX has deployed multi-terabytes of data in Exadata Cloud Service, and Exadata's built-in database-optimization has enabled OceanX to improve its data processing throughput by 3x compared to its previous non-Oracle cloud platform. OceanX now has a solid foundation that can support emerging critical needs such as DevOps, analytics and monitoring. In addition, OceanX looks forward to leveraging Oracle’s upcoming AI-driven Autonomous Database Management capabilities, which will enable OceanX to make architectural changes with significant savings in overhead, cost, and speed of production deployment.

“Today’s consumers move in real-time,” said Kash Iftikhar, vice president of product and strategy, Oracle Cloud Infrastructure. “Any slowdown in data-intelligence becomes a missed opportunity to deliver the services customers are seeking. With Oracle Cloud, OceanX has the agility to easily access the data needed to help its own customers build lasting brand advocates.”

Contact Info
Danielle Tarp
Oracle
+1.650.506.2905
danielle.tarp@oracle.com
North 6th Agency, Inc. for OceanX
+1.212.334.9753
oceanx@n6a.com
About OceanX, LLC:

OceanX provides a subscription commerce platform that seamlessly combines e-commerce, fulfillment, customer care and business intelligence to support brands and retailers looking to launch and scale direct-to-consumer subscription programs. The platform is optimized to generate recurring revenue and cultivate lifelong relationships with customers.

OceanX offers brands and retailers a way to deliver unmatched subscription and membership program experiences for its clients and their consumers. Under the direction of Georg Richter, an accomplished direct-to-consumer and subscription industry veteran, OceanX, a spin-off of Guthy-Renker, is a game-changer in the direct-to-consumer subscription retail space. Learn more at https://oceanx.com/.

About Oracle Cloud Infrastructure

Oracle Cloud Infrastructure combines the benefits of the public cloud (on-demand, self-service, scalability, pay-for-use) with the benefits traditionally associated with on-premises environments (governance, predictability, control). Oracle Cloud Infrastructure takes advantage of a low-latency, high-bandwidth network that connects cloud servers to high-performance block, file, and object storage to deliver a cloud platform that yields the highest performance for traditional and distributed applications, as well as highly available databases. With the acquisitions of Dyn and Zenedge, Oracle Cloud Infrastructure extended its offerings to include Dyn’s best-in-class DNS and email delivery solutions and Zenedge’s next-generation Web Application Firewall (WAF) and Distributed Denial of Service (DDoS) capabilities.

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

Danielle Tarp

  • +1.650.506.2905

North 6th Agency, Inc. for OceanX

  • +1.212.334.9753

How to upload PeopleSoft Cloud Manager 6 Images to OCI

PeopleSoft Technology Blog - Mon, 2018-08-06 00:46

In previous blog, we set up OCI tenancy.  In this blog let us understand how to get Cloud Manager images into your tenancy.  In OCI Classic, Cloud Manager images can be easily downloaded into your identity domain simply by going to Oracle Cloud Marketplace and using the Get App feature. Currently there is not a similar capability for OCI. Instead, you must download the Cloud Manager OCI images to a local system and then upload them into an object storage bucket in your tenancy. 

Although you cannot use the Get App feature in Oracle Cloud Marketplace to automatically download the Cloud Manager Images into OCI, you begin in Oracle Cloud Marketplace to locate the Cloud Manager images for OCI.

Locate and Download the Images from My Oracle Support

To begin, go to Oracle Cloud Marketplace, search for Cloud Manager, and select the instance for PeopleSoft Cloud manager Image 06 for OCI, as shown in this example.

When you click on ‘Get App’ on this listing, you will be redirected to a My Oracle Support Knowledge Base document with links to the Cloud Manager Image 6.0 and a PeopleSoft Linux image.  The PeopleSoft Linux Image for Cloud Manager is an Oracle Linux 6.9 image that can be used to deploy PeopleSoft environments.  You can use this Linux image with no further changes to get started, or use it as a base image to create your own custom image by installing any packages that are required by your organization. 

You can download these images on any existing Linux or Microsoft Windows instance in OCI, or use your local on-premise system. To upload these images to your OCI tenancy, you must first install OCI Command Line Interface (CLI).   Since there are multiple methods to install and configure OCI CLI, let’s take a quick look at which one is best suited to upload Cloud Manager images to OCI object storage.

Install OCI CLI

Using the automated CLI installer is the easiest option.  Let’s assume that we are using an on-premise Linux desktop to download images.  You can also choose to use a Microsoft Windows desktop or laptop with the same approach.  For the Microsoft Windows desktop or laptop, there will be differences in the commands you will need to run, which is clearly documented here

To upload these images, you need to set up OCI CLI on the Linux desktop where you downloaded the images.  Login to the Linux desktop and follow the instructions below to install OCI CLI.  More details on installing OCI CLI can be found in the Oracle Cloud documentation.

  1. Open a terminal.
  2. To run the installer script, run the following command (all on one line).

bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"

  1. Respond to the installer's prompts. 

Configure OCI CLI

At this point, the OCI CLI is installed on your Linux desktop.  Now, you must configure it to work seamlessly with your OCI tenancy. 

To simplify configuration, use the setup dialog process, which walks you through the first-time setup process step-by-step. For the setup dialog process, use the oci setup config command, which prompts you for the information required for the config file and the API public/private keys. The setup dialog generates an API key pair and creates the config file. 

After setting up the OCI CLI, it is important to add the API public key to your user settings.  Log in to OCI web console and navigate to Identity > Users > <your user name> > Add Public Key.

Upload Cloud Manager Images to OCI

Now the OCI CLI setup is complete and we can use CLI to upload Cloud Manager images that were downloaded earlier. Using the OCI web console, create an object storage bucket. You can then upload the downloaded images into this bucket using OCI CLI.  The command to upload a file to an object storage bucket is as shown below.  Modify it to suit your tenancy and execute the command on the Linux desktop for each image file, to upload the downloaded images.

oci os object put  -ns <tenancy_name>  -bn <bucket_name>  --file <cm_image_file> --name <destination_file_name>  --no-multipart

Both Cloud Manager images take a while to upload.  After the upload is complete, follow the process explained in the OBE for Installing Cloud Manager in OCI to import them as custom images into your tenancy.

Learn little bit more about the Entire Wireframing UX process

Nilesh Jethwa - Sun, 2018-08-05 23:07

Everything You Need To Know About Wireframing A wireframe is the skeletal representation used for creating a website’s functionality and structure. In creating your wireframe, you can use paper and pen/pencil. Using a computer and wireframe web design tools can … Continue reading ?

By: MockupTiger Wireframes

Yet another workaround for missing AVG() function for the Oracle interval type

Karl Reitschuster - Sun, 2018-08-05 10:07

Isn't it similar to you experience with Oracle SQL? there are a few places in the Oracle SQL implementation where you think why didn't they think it through to the end or did they only partially implement a feature?

So you are not the only one suffering from this. It does not mean Oracle SQL is inconsistent as it is indeed a mighty mature tool to handle date and structures in the Oracle database.

Coming to the point:

There are max()/min() functions defined for the interval Oracle data type but not an average avg() function. This means if you want a consistent output, same data type and precision you have to work around a bit and grab into the tool set of SQL to emulate this missing functionality.

ReCreate ASM Disks RAC

Michael Dinh - Sun, 2018-08-05 10:01

A long time ago I had written about ReCreate ASM Disks; however this was single instance.

Basically, need to duplicate 11.2.0.4 database to 12.2 RAC. Unfortunately, compatible.rdbms=12.1.0.2.0.

alter diskgroup DATA set attribute ‘compatible.rdbms’ = ‘11.2’ does not work.

You are thinking, “Why not create with 11.2 to start with?”

I am using oravirt (Mikael Sandström) · GitHub to build RAC environment.

This is the best, hands down resource to build sand box and unfortunately for me, have not figured out how to configured all the details.

NOTE: This is a newly created environment and does not contain any database.

15:51:36 SYS @ +ASM1:>select group_number, name, compatibility, database_compatibility from v$asm_diskgroup;

GROUP_NUMBER NAME                           COMPATIBILITY                                                DATABASE_COMPATIBILITY
------------ ------------------------------ ------------------------------------------------------------ ------------------------------------------------------------
           1 CRS                            12.2.0.1.0                                                   11.2.0.0.0
           2 DATA                           12.2.0.1.0                                                   12.1.0.2.0
           3 FRA                            12.2.0.1.0                                                   12.1.0.2.0

15:51:44 SYS @ +ASM1:>alter diskgroup DATA set attribute 'compatible.rdbms' = '11.2';
alter diskgroup DATA set attribute 'compatible.rdbms' = '11.2'
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15242: could not set attribute compatible.rdbms
ORA-15244: new compatibility setting less than current [12.1.0.2.0]


15:51:52 SYS @ +ASM1:>

+++ Review DG attributes
[oracle@racnode-dc1-1 sql]$ asmcmd lsattr -l -G DATA
Name                        Value
access_control.enabled      FALSE
access_control.umask        066
appliance._partnering_type  GENERIC
au_size                     4194304
cell.smart_scan_capable     FALSE
cell.sparse_dg              allnonsparse
compatible.advm             12.2.0.1.0
compatible.asm              12.2.0.1.0
compatible.rdbms            12.1.0.2.0
content.check               FALSE
content.type                data
disk_repair_time            3.6h
failgroup_repair_time       24.0h
idp.boundary                auto
idp.type                    dynamic
logical_sector_size         512
phys_meta_replicated        true
preferred_read.enabled      FALSE
scrub_async_limit           1
scrub_metadata.enabled      FALSE
sector_size                 512
thin_provisioned            FALSE

[oracle@racnode-dc1-1 sql]$ asmcmd lsattr -l -G FRA
Name                        Value
access_control.enabled      FALSE
access_control.umask        066
appliance._partnering_type  GENERIC
au_size                     4194304
cell.smart_scan_capable     FALSE
cell.sparse_dg              allnonsparse
compatible.advm             12.2.0.1.0
compatible.asm              12.2.0.1.0
compatible.rdbms            12.1.0.2.0
content.check               FALSE
content.type                data
disk_repair_time            3.6h
failgroup_repair_time       24.0h
idp.boundary                auto
idp.type                    dynamic
logical_sector_size         512
phys_meta_replicated        true
preferred_read.enabled      FALSE
scrub_async_limit           1
scrub_metadata.enabled      FALSE
sector_size                 512
thin_provisioned            FALSE

+++ Review DG Path
[oracle@racnode-dc1-1 sql]$ asmcmd lsdsk -G DATA
Path
ORCL:DATA01

[oracle@racnode-dc1-1 sql]$ asmcmd lsdsk -G FRA
Path
ORCL:FRA01

+++ Remove DG from Cluster.
[oracle@racnode-dc1-1 sql]$ srvctl remove diskgroup -diskgroup DATA -force
[oracle@racnode-dc1-1 sql]$ srvctl remove diskgroup -diskgroup FRA -force

+++ Dismount DG before drop.
15:56:28 SYS @ +ASM1:>drop diskgroup DATA;
drop diskgroup DATA
*
ERROR at line 1:
ORA-15039: diskgroup not dropped
ORA-15073: diskgroup DATA is mounted by another ASM instance

15:58:07 SYS @ +ASM1:>select inst_id, name, state from gv$asm_diskgroup;


   INST_ID NAME                           STATE
---------- ------------------------------ -----------
         2 CRS                            MOUNTED
         2 DATA                           MOUNTED
         2 FRA                            MOUNTED
         1 CRS                            MOUNTED
         1 DATA                           MOUNTED
         1 FRA                            MOUNTED

6 rows selected.

15:58:37 SYS @ +ASM1:>alter diskgroup DATA dismount;

Diskgroup altered.

15:58:47 SYS @ +ASM1:>alter diskgroup FRA dismount;

Diskgroup altered.

15:59:02 SYS @ +ASM1:>select inst_id, name, state from gv$asm_diskgroup order by 1,2;

   INST_ID NAME                           STATE
---------- ------------------------------ -----------
         1 CRS                            MOUNTED
         1 DATA                           DISMOUNTED
         1 FRA                            DISMOUNTED
         2 CRS                            MOUNTED
         2 DATA                           MOUNTED
         2 FRA                            MOUNTED

6 rows selected.

15:59:10 SYS @ +ASM1:>

+++ Drop DG from 2nd instance.
16:00:42 SYS @ +ASM2:>drop diskgroup DATA including contents;

Diskgroup dropped.

16:01:06 SYS @ +ASM2:>drop diskgroup FRA including contents;

Diskgroup dropped.

16:01:17 SYS @ +ASM2:>select inst_id, name, state from gv$asm_diskgroup order by 1,2;

   INST_ID NAME                           STATE
---------- ------------------------------ -----------
         1 CRS                            MOUNTED
         2 CRS                            MOUNTED

16:01:27 SYS @ +ASM2:>

+++ Review ASM Disks.
[root@racnode-dc1-2 ~]# /etc/init.d/oracleasm listdisks
CRS01
DATA01
FRA01

[root@racnode-dc1-2 ~]# /etc/init.d/oracleasm scandisks
Scanning the system for Oracle ASMLib disks:               [  OK  ]

+++ Create and mount DG.
16:18:32 SYS @ +ASM2:>create diskgroup FRA external redundancy disk 'ORCL:FRA01' ATTRIBUTE 'compatible.asm'='12.2.0.1.0', 'compatible.rdbms'='11.2.0.0.0', 'au_size'='4194304';

Diskgroup created.

16:19:07 SYS @ +ASM2:>create diskgroup DATA external redundancy disk 'ORCL:DATA01' ATTRIBUTE 'compatible.asm'='12.2.0.1.0', 'compatible.rdbms'='11.2.0.0.0', 'au_size'='4194304';

Diskgroup created.

16:19:31 SYS @ +ASM2:>

+++ Mount DG.
16:20:34 SYS @ +ASM1:>select inst_id, name, state from gv$asm_diskgroup order by 1,2;

   INST_ID NAME                           STATE
---------- ------------------------------ -----------
         1 CRS                            MOUNTED
         1 DATA                           DISMOUNTED
         1 FRA                            DISMOUNTED
         2 CRS                            MOUNTED
         2 DATA                           MOUNTED
         2 FRA                            MOUNTED

6 rows selected.

16:20:37 SYS @ +ASM1:>alter diskgroup DATA mount;

Diskgroup altered.

16:21:01 SYS @ +ASM1:>alter diskgroup FRA mount;

Diskgroup altered.

16:21:10 SYS @ +ASM1:>select inst_id, name, state from gv$asm_diskgroup order by 1,2;

   INST_ID NAME                           STATE
---------- ------------------------------ -----------
         1 CRS                            MOUNTED
         1 DATA                           MOUNTED
         1 FRA                            MOUNTED
         2 CRS                            MOUNTED
         2 DATA                           MOUNTED
         2 FRA                            MOUNTED

6 rows selected.

16:21:42 SYS @ +ASM1:>select group_number, name, compatibility, database_compatibility from v$asm_diskgroup;

GROUP_NUMBER NAME                           COMPATIBILITY                                                DATABASE_COMPATIBILITY
------------ ------------------------------ ------------------------------------------------------------ ------------------------------------------------------------
           1 CRS                            12.2.0.1.0                                                   11.2.0.0.0
           3 DATA                           12.2.0.1.0                                                   11.2.0.0.0
           2 FRA                            12.2.0.1.0                                                   11.2.0.0.0

16:21:45 SYS @ +ASM1:>

+++ Review ASM
[oracle@racnode-dc1-1 sql]$ srvctl status asm -v
ASM is running on racnode-dc1-1,racnode-dc1-2
Detailed state on node racnode-dc1-1: Started
Detailed state on node racnode-dc1-2: Started

[oracle@racnode-dc1-1 sql]$ asmcmd lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  4194304     40952    40592                0           40592              0             Y  CRS/
MOUNTED  EXTERN  N         512             512   4096  4194304      8188     8056                0            8056              0             N  DATA/
MOUNTED  EXTERN  N         512             512   4096  4194304     12284    12152                0           12152              0             N  FRA/
[oracle@racnode-dc1-1 sql]$

Pages

Subscribe to Oracle FAQ aggregator