Feed aggregator

Performance of oracle hierarchical “connect by prior” or recursive CTE query

Tom Kyte - Fri, 2016-10-14 13:26
I need to track the path of documents that get rolled into each other. To do this, I built a hierarchy tree using a connect by prior query. I also rewrote the query as recursive CTE trying to see if I could get better performance. My table has ab...
Categories: DBA Blogs

Add Foreign key based on a value in a column

Tom Kyte - Fri, 2016-10-14 13:26
Hi Tom I have a table with 2 columns. If the value in column1 ='A', the value in column2 must refer the Table 1: due1 due2 1 saw 2 mil Table 2: at1 at2 35 element 45 method Table 3: atdue1 atdue2 S 2 P 35...
Categories: DBA Blogs

Temporary Tablespace Re-use of previously used blocks

Tom Kyte - Fri, 2016-10-14 13:26
Good Evening, I have a few questions regarding temporary tablespace's efficiency with re-using previously used blocks in the temporary tablespaces. First, can Oracle 11g+ re-use previously used blocks? In other words, if a session needs 900MB of...
Categories: DBA Blogs

Need stored procedure to export query result to a html table/file and send it as an email attachment.

Tom Kyte - Fri, 2016-10-14 13:26
Need stored procedure to export query result to a html table/file and send it as an email attachment.
Categories: DBA Blogs

migrating database

Tom Kyte - Fri, 2016-10-14 13:26
i have database in sql server 2008, now i want to migrate whole databse from sql server 2008 to oracle 11g. my question is how to migrate the sql server database into oracle 11g?
Categories: DBA Blogs

Export query output to one file and log to another file

Tom Kyte - Fri, 2016-10-14 13:26
How to export Sql query results(only rows) to one table and log(Number of rows selected) to another table.
Categories: DBA Blogs


Tom Kyte - Fri, 2016-10-14 13:26
What are the technical differences between WM_CONCAT vs LISTAGG? I know WM_CONCAT is undocumented function. Is LISTAGG technically superior or do they do the same thing very differently?
Categories: DBA Blogs

Merging result set of two queries into one

Tom Kyte - Fri, 2016-10-14 13:26
Hello, I'm trying to concatenate/merge the results from two different queries into one. Query 1: select 10 id, 'ABC' r_ref, 123 r_amnt from dual union all select 10, 'BCD', 234 from dual; Query 2: select 10 id, 'CDE' p_ref, 345 p_amn...
Categories: DBA Blogs

Value List items that are NOT IN the Table

Tom Kyte - Fri, 2016-10-14 13:26
How to Select Values, in a Value List, that are NOT IN a Table? e.g. I need to find which of the following products are not on the Item Master:- 10, 20, 25, 70, 90. (this list is available only in a spreadsheet or word document) Assume they all e...
Categories: DBA Blogs

Extracting data from JSON in relational tables

Tom Kyte - Fri, 2016-10-14 13:26
Hi Tom Given the below JSON example, how do I know which notes and which occupants belong to which jobs (given that there is no unique identifier in the data itself? The relationship is defined by the JSON structure. Is there a pseudo column o...
Categories: DBA Blogs

Oracle Positioned as a Leader in the Gartner Magic Quadrant for Web Content Management, 2016

WebCenter Team - Fri, 2016-10-14 10:08
Executive Summary

Digitalization brings both new opportunities and confusion to even the most carefully planned selection processes for WCM. CIOs and IT leaders aiming to boost the effectiveness of their digital business strategy should use this document to help them select the most appropriate vendor and solution.

Market Definition/Description

Gartner defines web content management (WCM) as the process of controlling content for consumption over digital channels through the use of specific management tools based on a core repository.
  • These tools may be procured as commercial products or as open-source or hosted-service offerings.
  • Product functions go beyond simply publishing web content, to include:
  • Content creation functions such as templating, workflow and change management
  • WCM repositories that organize and provide metadata about the content
  • Library services such as check-in/check-out, version control and security
  • Content deployment functions that deliver prepackaged or on-demand content to web servers
  • A high degree of interoperability with adjacent technologies, such as sales force automation, customer self-service, marketing resource management, digital asset management (DAM) and web analytics
  • Support for personalization/real-time adaptation to visitor interaction
  • Good integration with delivery tiers, such as digital commerce, social media and portal software

Oracle was positioned as a Leader in the Gartner Magic Quadrant for Web Content Management for its Oracle WebCenter Sites offering. 

Oracle WebCenter Sites enables organizations to deliver a compelling digital experience to customers not only on the web, but also on any digital channel. This solution automates the entire process of managing content and experiences—including business-user content authoring and visual site assembly, delivery of high-scale dynamic multi-lingual sites, content targeting and optimization, social integration, and mobile delivery. As a key component of Oracle’s customer experience ecosystem – including business intelligence, customer relationship management, commerce, enterprise content management, marketing automation, portal, search and social relationship management – Oracle WebCenter Sites uniquely offers organizations the ability to connect the customer experience across all touch points – to build loyalty, drive customer acquisition, and reduce operational costs.

In today’s socially enabled, multichannel online world, individuals increasingly expect their online experiences to be targeted specifically to their interests, and to provide a point of seamless extension and expression of who they are. For marketers, this new imperative presents a unique set of challenges when it comes to engaging with their customers online. No longer is it acceptable to simply present flashy product Web pages, or interact with customers via newsletters and mailing lists, nor is it acceptable to publish a stripped-down mobile version of a corporate site. Instead, you have to show the ability to “know” your customer as an individual. Would they rather interact with your company and other customers via Facebook than your corporate site? Do they do most of their browsing and interaction via their iPhone? Do they want to have a personalized view of their relationship with your company, from transaction history to loyalty offers?

Oracle WebCenter Sites meets the new Web Experience Management (WEM) imperative by connecting the digital experience across channels, to meet the demands of today’s customers. With the WEM solution from Oracle WebCenter Sites, organizations can rapidly create, deploy, and manage multiple digital properties, while empowering business users to create content and experiences independent from IT. Its easy-to-use tools allow organizations to get content and campaigns to market faster, and create targeted, interactive, and optimized experiences across web, mobile, and social channels. 

Oracle WebCenter Sites has the flexibility to be used on premise or in the cloud. In addition to offering all the standard WCM features, it is highly extensible with the ability to either ingest or reference external content into a federated repository model within the solution for business users to create richer experiences. Extending outside content-only experience to include application and transactional support is possible through product integrations as well as comprehensive APIs, and a platform that supports modern development platforms and practices. Integrations include customer relationship management (CRM), enterprise content management, commerce, marketing automation and more, to deliver a digital customer experience that will help organizations meet their business goals.

Oracle was pleased to be named a Leader in the 2016 Gartner Magic Quadrant for Web Content Management. You can read the full report here.

Source: "Gartner Magic Quadrant for Web Content Management", Mick MacComascaigh, Jim Murphy, 28 September 2016. 

This graphic was published by Gartner, Inc. as part of a larger research document and should be evaluated in the context of the entire document. The Gartner document is available upon request from Oracle.

Gartner does not endorse any vendor, product or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings or other designation. Gartner research publications consist of the opinions of Gartner's research organization and should not be construed as statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this research, including any warranties of merchantability or fitness for a particular purpose.

More Information

The full report can be found here: http://www.gartner.com/reprints/?id=1-3IR89EH&ct=160929&st=sb

Using Apache JMeter to run load test on a Web applications protected by Microsoft Advanced Directory Federation Services

Yann Neuhaus - Fri, 2016-10-14 09:37

One of my last mission was to configure Apache JMeter for performance and load tests on a Web Application. The access to this Web Application requires authentication provided by a Microsoft Advanced Directory Federation Services single Sign On environment.
This Single Sign On communication is based on SAML (Security Assertion Markup Language). SAML is an XML-based open standard data format for exchanging authentication and authorization data between parties, in particular, between an identity provider and a service provider. ADFS login steps relies on several parameters that need to be fetched and re-injected to the following steps like ‘SAMLRequest’, ‘RelayState’ and ‘SAMLResponse’.
This step-by-step tutorial shows the SAML JMeter scenario part to perform those ADFS login steps.

Record a first scenario

After installing the Apache JMeter tool, you are ready to record a first scenario. Have a look on the JMeter user manual to configure JMeter for recording scenario.

1. Adapt the HTTP(s) Test Script Recorder

For this task we need to record all HTTP(S) requests. Those from the Application and those from the Single Sign On Server. We need then to change the HTTP(S) test Proxy Recorder parameters as below

Open the “WorkBench” on the tree and click on the “HTTP(S) Test Script Recorder”.

The scenario recording requires some changes onto the “HTTP(S) Test Script Recorder”.
Change the:
Port:  this is the port on the server running JMeter that will act as proxy. Default value is 8080.
URL Patterns to Include: Add “.*” to include all requests (you may exclude some later, if you desire).

2.    Configure the Browser to use the Test Script recorder as proxy

Go to your favourite browser (Firefox, Internet Explorer, Chrome, etc.) and configure the proxy as explained as follow:
The example below is for Internet Explorer 11 (it may differ from version to version):

  1. Go to Tools > Internet Options.
  2. Select the “Connection” tab.
  3. Click the “LAN settings” button.
  4. Check the  “Use a proxy server for your LAN” check-box. The address and port fields should be enabled now.
  5. In the Address type the server name or the IP address of the server running JMeter HTTP(S) Test Script Recorder and in the Port, enter the port entered in Step 1.

From now, the JMeter is proxying the requests.

3.    Record your first scenario

Connect to the Web Application using the browser you have configured in the previous step. Run a simple scenario including the authentication steps. Once done, stop the HTTP(S) Test Script Recorder in JMeter.

4.    Analyse the recorded entries

Analyse the recorded entries to find out the entry that redirects to the login page. In this specific case, it was the first request because the Web Application automatically displays the login page for all users not authenticated. From this request, we need to fetch two values ‘SAMLRequest’ and ‘RelayState’ included in the page response data and submit them to the ADFS login URL. After successful login, ADFS will provide a SAMLResponse that need to be submitted back to the callback URL.  This can be done by using  Regular Expression Extractors. Refer to the image below  to see how to do this.


Extractor Name Associated variable Regular Expression SAMLRequest Extractor SAMLRequest name=”SAMLRequest” value=”([0-9A-Za-z;.: \/=+]*)” RelayState Extractor RelayState name=”RelayState” value=”([&#;._a-zA-Z0-9]*)” SAMLResponse Extractor SAMLResponse name=”SAMLResponse” value=”([&#;._+=a-zA-Z0-9]*)”

In the registered scenario look for the entries having SAMLRequest, RelayState and SAMLResponse as parameter and replace them with the corresponding variable set in the regular expressions created in the previous step.

* Click on the image to increase the size

Once this is done the login test scenario can be executed now.

This JMeter test plan can be cleaned from the URL requests and be used as a base plan to record more complex test plans.


Cet article Using Apache JMeter to run load test on a Web applications protected by Microsoft Advanced Directory Federation Services est apparu en premier sur Blog dbi services.

Advisor Webcast: WebCenter Content 12c, Upgrade and Migration Strategies

WebCenter Team - Fri, 2016-10-14 08:58

Register Now!

Advisor Webcast

WebCenter Content 12c, Upgrade and Migration Strategies

November 17, 2016

This one-hour advisor webcast is recommended for technical users who are upgrading or migrating to WebCenter Content 12c. During this webcast, we will cover new 12c features of WebCenter Content, Migration vs Upgrade, configuring security, and more.


  • Thursday , November 17, 2016 08:00 AM (US Pacific Time)
  • Thursday , November 17, 2016 11:00 AM (US Eastern Time)
  • Thursday , November 17, 2016 05:00 PM (Central European Time)
  • Thursday , November 17, 2016 09:30 PM (India Standard Time)

Topics Include:

  • What are the new 12c features of WebCenter Content?
  • Migration vs Upgrade, advantages of each method.
  • Information on new 12c installs, including:
    • How to Configure security
    • What indexing options are there
    • How to configure File Store Provider for webless and/or database storage of content
  • Cloud information including:
    • On premise versus Cloud and options for both
    • How to promote content to the Documents Cloud Service
    • Can I migrate content to the cloud?
    • Integrations with other Oracle Fusion Middleware products

Duration: 1 hr

WebEx Conference Details

Topic: WebCenter Content 12c, Upgrade and Migration Strategies
Event Number: 590 374 348
Event Passcode: 909090

Register Here!

Once the host approves your request, you will receive a confirmation email with instructions for joining the meeting.

InterCall Audio Instructions

A list of Toll-Free Numbers can be found below.

  • Participant US/Canada Dial-in #: +1-866-230-1938    
  • International Toll-Free Numbers
  • Alternate International Dial-In #: +44-1452-562-665
  • Conference ID: 89075424


Current Schedule and Archived Downloads for Oracle Fusion Middleware products can be found in Advisor Webcasts for Oracle Fusion Middleware.

Big Data Preparation Cloud Service (BDP) 16.4.1

We are pleased to announce the release of Big Data Preparation Cloud Service (BDP) 16.4.1. This release has a significant number of bug fixes and some exciting new features.  Please review the...

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

Partner Webcast, special edition: Big Data Lab Promotion for partners

We are excited to inform all EMEA Oracle Partners of this fantastic opportunity to grow your Big Data & Cloud business through Big Data Lab Promotion packages! We can't tell you more in a...

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

Manage Azure in PowerShell (RM)

Yann Neuhaus - Fri, 2016-10-14 02:49

Azure offers two deployment models for cloud components: Resource Manager (RM) and Classic deployment model. Newer and more easier to manage, Microsoft recommends to use the Resource Manager.
Even if these two models can exist at the same time in Azure, they are different and managed differently: in PowerShell cmdlets are specific to RM.

In order to be able to communicate with Azure from On-Premises in PowerShell, you need to download and install the Azure PowerShell from WebPI. For more details, please refer to this Microsoft Azure post “How to install and configure Azure PowerShell“.
Azure PowerShell installs many modules located in C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell:
Get-module -ListAvailable -Name *AzureRm*
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Manifest 1.1.3 AzureRM.ApiManagement {Add-AzureRmApiManagementRegion, Get-AzureRmApiManagementSsoToken, New-AzureRmApiManagementHostnam...
Manifest 1.0.11 AzureRM.Automation {Get-AzureRMAutomationHybridWorkerGroup, Get-AzureRmAutomationJobOutputRecord, Import-AzureRmAutom...
Binary 0.9.8 AzureRM.AzureStackAdmin {Get-AzureRMManagedLocation, New-AzureRMManagedLocation, Remove-AzureRMManagedLocation, Set-AzureR...
Manifest 0.9.9 AzureRM.AzureStackStorage {Add-ACSFarm, Get-ACSEvent, Get-ACSEventQuery, Get-ACSFarm...}
Manifest 1.0.11 AzureRM.Backup {Backup-AzureRmBackupItem, Enable-AzureRmBackupContainerReregistration, Get-AzureRmBackupContainer...
Manifest 1.1.3 AzureRM.Batch {Remove-AzureRmBatchAccount, Get-AzureRmBatchAccount, Get-AzureRmBatchAccountKeys, New-AzureRmBatc...
Manifest 1.0.5 AzureRM.Cdn {Get-AzureRmCdnCustomDomain, New-AzureRmCdnCustomDomain, Remove-AzureRmCdnCustomDomain, Get-AzureR...
Manifest 0.1.2 AzureRM.CognitiveServices {Get-AzureRmCognitiveServicesAccount, Get-AzureRmCognitiveServicesAccountKey, Get-AzureRmCognitive...
Manifest 1.3.3 AzureRM.Compute {Remove-AzureRmAvailabilitySet, Get-AzureRmAvailabilitySet, New-AzureRmAvailabilitySet, Get-AzureR...
Manifest 1.0.11 AzureRM.DataFactories {Remove-AzureRmDataFactory, Get-AzureRmDataFactoryRun, Get-AzureRmDataFactorySlice, Save-AzureRmDa...
Manifest 1.1.3 AzureRM.DataLakeAnalytics {Get-AzureRmDataLakeAnalyticsDataSource, Remove-AzureRmDataLakeAnalyticsCatalogSecret, Set-AzureRm...
Manifest 1.0.11 AzureRM.DataLakeStore {Add-AzureRmDataLakeStoreItemContent, Export-AzureRmDataLakeStoreItem, Get-AzureRmDataLakeStoreChi...
Manifest 1.0.2 AzureRM.DevTestLabs {Get-AzureRmDtlAllowedVMSizesPolicy, Get-AzureRmDtlAutoShutdownPolicy, Get-AzureRmDtlAutoStartPoli...
Manifest 1.0.11 AzureRM.Dns {Get-AzureRmDnsRecordSet, New-AzureRmDnsRecordConfig, Remove-AzureRmDnsRecordSet, Set-AzureRmDnsRe...
Manifest 1.1.3 AzureRM.HDInsight {Get-AzureRmHDInsightJob, New-AzureRmHDInsightSqoopJobDefinition, Wait-AzureRmHDInsightJob, New-Az...
Manifest 1.0.11 AzureRM.Insights {Add-AzureRmMetricAlertRule, Add-AzureRmLogAlertRule, Add-AzureRmWebtestAlertRule, Get-AzureRmAler...
Manifest 1.1.10 AzureRM.KeyVault {Get-AzureRmKeyVault, New-AzureRmKeyVault, Remove-AzureRmKeyVault, Remove-AzureRmKeyVaultAccessPol...
Manifest 1.0.7 AzureRM.LogicApp {Get-AzureRmIntegrationAccountAgreement, Get-AzureRmIntegrationAccountCallbackUrl, Get-AzureRmInte...
Manifest 0.9.2 AzureRM.MachineLearning {Export-AzureRmMlWebService, Get-AzureRmMlWebServiceKeys, Import-AzureRmMlWebService, Remove-Azure...
Manifest 1.0.12 AzureRM.Network {Add-AzureRmApplicationGatewayBackendAddressPool, Get-AzureRmApplicationGatewayBackendAddressPool,...
Manifest 1.0.11 AzureRM.NotificationHubs {Get-AzureRmNotificationHubsNamespaceAuthorizationRules, Get-AzureRmNotificationHubsNamespaceListK...
Manifest 1.0.11 AzureRM.OperationalInsights {Get-AzureRmOperationalInsightsSavedSearch, Get-AzureRmOperationalInsightsSavedSearchResults, Get-...
Manifest 1.0.0 AzureRM.PowerBIEmbedded {Remove-AzureRmPowerBIWorkspaceCollection, Get-AzureRmPowerBIWorkspaceCollection, Get-AzureRmPower...
Manifest 1.0.11 AzureRM.Profile {Enable-AzureRmDataCollection, Disable-AzureRmDataCollection, Remove-AzureRmEnvironment, Get-Azure...
Manifest 1.1.3 AzureRM.RecoveryServices {Get-AzureRmRecoveryServicesBackupProperties, Get-AzureRmRecoveryServicesVault, Get-AzureRmRecover...
Manifest 1.0.3 AzureRM.RecoveryServices.Backup {Backup-AzureRmRecoveryServicesBackupItem, Get-AzureRmRecoveryServicesBackupManagementServer, Get-...
Manifest 1.1.9 AzureRM.RedisCache {Reset-AzureRmRedisCache, Export-AzureRmRedisCache, Import-AzureRmRedisCache, Remove-AzureRmRedisC...
Manifest 2.0.2 AzureRM.Resources {Get-AzureRmADApplication, Get-AzureRmADGroupMember, Get-AzureRmADGroup, Get-AzureRmADServicePrinc...
Manifest 1.0.2 AzureRM.ServerManagement {Install-AzureRmServerManagementGatewayProfile, Reset-AzureRmServerManagementGatewayProfile, Save-...
Manifest 1.1.10 AzureRM.SiteRecovery {Stop-AzureRmSiteRecoveryJob, Get-AzureRmSiteRecoveryNetwork, Get-AzureRmSiteRecoveryNetworkMappin...
Manifest 1.0.11 AzureRM.Sql {Get-AzureRmSqlDatabaseImportExportStatus, New-AzureRmSqlDatabaseExport, New-AzureRmSqlDatabaseImp...
Manifest 1.1.3 AzureRM.Storage {Get-AzureRmStorageAccount, Get-AzureRmStorageAccountKey, Get-AzureRmStorageAccountNameAvailabilit...
Manifest 1.0.11 AzureRM.StreamAnalytics {Get-AzureRmStreamAnalyticsFunction, Get-AzureRmStreamAnalyticsDefaultFunctionDefinition, New-Azur...
Manifest 1.0.11 AzureRM.Tags {Remove-AzureRmTag, Get-AzureRmTag, New-AzureRmTag}
Manifest 1.0.11 AzureRM.TrafficManager {Disable-AzureRmTrafficManagerEndpoint, Enable-AzureRmTrafficManagerEndpoint, Set-AzureRmTrafficMa...
Manifest 1.0.11 AzureRM.UsageAggregates Get-UsageAggregates
Manifest 1.1.3 AzureRM.Websites {Get-AzureRmAppServicePlanMetrics, New-AzureRmWebAppDatabaseBackupSetting, Restore-AzureRmWebAppBa...

The basic cmdlets to connect and navigate between your different Accounts or Subscriptions are located in “AzureRM.Profile” module:
PS C:\> Get-Command -Module AzureRM.Profile
CommandType Name Version Source
----------- ---- ------- ------
Alias Login-AzureRmAccount 1.0.11 AzureRM.Profile
Alias Select-AzureRmSubscription 1.0.11 AzureRM.Profile
Cmdlet Add-AzureRmAccount 1.0.11 AzureRM.Profile
Cmdlet Add-AzureRmEnvironment 1.0.11 AzureRM.Profile
Cmdlet Disable-AzureRmDataCollection 1.0.11 AzureRM.Profile
Cmdlet Enable-AzureRmDataCollection 1.0.11 AzureRM.Profile
Cmdlet Get-AzureRmContext 1.0.11 AzureRM.Profile
Cmdlet Get-AzureRmEnvironment 1.0.11 AzureRM.Profile
Cmdlet Get-AzureRmSubscription 1.0.11 AzureRM.Profile
Cmdlet Get-AzureRmTenant 1.0.11 AzureRM.Profile
Cmdlet Remove-AzureRmEnvironment 1.0.11 AzureRM.Profile
Cmdlet Save-AzureRmProfile 1.0.11 AzureRM.Profile
Cmdlet Select-AzureRmProfile 1.0.11 AzureRM.Profile
Cmdlet Set-AzureRmContext 1.0.11 AzureRM.Profile
Cmdlet Set-AzureRmEnvironment 1.0.11 AzureRM.Profile

According to the cmdlets present in “AzureRM.Profile” module, you will be able to connect to your Azure Account(enter your credentials):
PS C:\> Login-AzureRmAccount
Environment : AzureCloud
Account : n.courtine@xxxxxx.com
TenantId : a123456b-789b-123c-4de5-67890fg123h4
SubscriptionId : z123456y-789x-123w-4vu5-67890ts123r4
SubscriptionName : ** Subscription Name **
CurrentStorageAccount :

You can list your associated Azure Subscriptions:
SubscriptionName : ** Subscription Name **
SubscriptionId : z123456y-789x-123w-4vu5-67890ts123r4
TenantId : a123456b-789b-123c-4de5-67890fg123h4

To switch your Subscription, do as follows:
Select-AzureRmSubscription -SubscriptionId z123456y-789x-123w-4vu5-67890ts123r4
Environment : AzureCloud
Account : n.courtine@xxxxxx.com
TenantId : a123456b-789b-123c-4de5-67890fg123h4
SubscriptionId : z123456y-789x-123w-4vu5-67890ts123r4
SubscriptionName : ** Subscription Name **
CurrentStorageAccount :

Or you can take a specific “snapshot” of your current location in Azure. It will help you to easily return to a specific context at the moment you ran the command:
PS C:\> $context = Get-AzureRmContext
Environment : AzureCloud
Account : n.courtine@xxxxxx.com
TenantId : a123456b-789b-123c-4de5-67890fg123h4
SubscriptionId : z123456y-789x-123w-4vu5-67890ts123r4
SubscriptionName : ** Subscription Name **
CurrentStorageAccount :
PS C:\> Set-AzureRmContext -Context $context
Environment : AzureCloud
Account : n.courtine@xxxxxx.com
TenantId : a123456b-789b-123c-4de5-67890fg123h4
SubscriptionId : z123456y-789x-123w-4vu5-67890ts123r4
SubscriptionName : ** Subscription Name **
CurrentStorageAccount :

It is also possible to list all the available Storage Account associated to your current subscriptions:
PS C:\> Get-AzureRmStorageAccount | Select StorageAccountName, Location
StorageAccountName Location
------------------ --------
semicroustillants259 westeurope
semicroustillants4007 westeurope
semicroustillants8802 westeurope

To see the existing blob container in each Storage Account:
PS C:\> Get-AzureRmStorageAccount | Select StorageAccountName, ResourceGroupName, Location
Blob End Point: https://dbimssql.blob.core.windows.net/
Name Uri LastModified
---- --- ------------
bootdiagnostics-t... https://dbimssql.blob.core.windows.net/bootdiagnostics-ta... 30.09.2016 12:36:12 +00:00
demo https://dbimssql.blob.core.windows.net/demo 05.10.2016 14:16:01 +00:00
vhds https://dbimssql.blob.core.windows.net/vhds 30.09.2016 12:36:12 +00:00
Blob End Point: https://semicroustillants259.blob.core.windows.net/
Name Uri LastModified
---- --- ------------
mastervhds https://semicroustillants259.blob.core.windows.net/master... 28.09.2016 13:41:19 +00:00
uploads https://semicroustillants259.blob.core.windows.net/uploads 28.09.2016 13:41:19 +00:00
vhds https://semicroustillants259.blob.core.windows.net/vhds 28.09.2016 13:55:57 +00:00
Blob End Point: https://semicroustillants4007.blob.core.windows.net/
Name Uri LastModified
---- --- ------------
artifacts https://semicroustillants4007.blob.core.windows.net/artif... 28.09.2016 13:59:47 +00:00

Azure infrastructure can be easily managed from On-Premises in PowerShell. In a previous post, I explained how to deploy a Virtual Machine from an Image in Azure PowerShell.
If you have remarks or advises, do not hesitate to share ;-)


Cet article Manage Azure in PowerShell (RM) est apparu en premier sur Blog dbi services.

Which Oracle Access Manager Patchsets Can Be Used with EBS?

Steven Chan - Fri, 2016-10-14 02:04

Oracle versions numbers can be very long.  Complicating matters further, different product families within Oracle use the version hierarchy differently.  This can make it confusing to determine whether a specific product update has been certified with Oracle E-Business Suite.

Specifically, a customer recently asked whether it was acceptable to apply the Oracle Access Manager patchset to their OAM instance that was integrated with EBS 12.1.3.  They were concerned because our OAM integration documentation for that combination explicitly specified compatibility with OAM

In this particular case, the fifth-level digit in the Oracle Access Manager version is not relevant.  In other words, the customer could apply OAM because it was covered by the OAM certification. 

For example, all of the following OAM patchsets will work with EBS 12.1.3:

  • OAM (documented certification)
  • OAM
  • OAM
  • OAM
  • OAM
  • OAM
  • OAM
  • OAM
  • OAM

This is sometimes shown in our documentation in either of the following ways:

  • OAM
  • OAM

The absence of a fifth-digit or the presence of an 'X' in the fifth digit's place means any fifth-digit level updates may be applied to an OAM environment integrated with EBS 12.1.3 without requiring a new certification.  This applies to all environments, including test and production.

Related Articles

Categories: APPS Blogs

Documentum story – IAPI login with a DM_TICKET for a specific user

Yann Neuhaus - Fri, 2016-10-14 02:00

During our last project, one of the Application Teams requested our help because they needed to execute some commands in IAPI with a specific user for which they didn’t know the password. They tried to use a DM_TICKET as I suggested them but they weren’t able to do so. Therefore I gave them detailed explanations of how to do that and I thought I should do the same in this blog because I was thinking that maybe a lot of people don’t know how to do that.


So let’s begin! The first thing to do is obviously to obtain a DM_TICKET… For that purpose, you can log in to the Content Server and use the local trust to login to the docbase with the Installation Owner (I will use “dmadmin” below). As said just before, there is a local trust in the Content Server and therefore you can put any password, the login will always work for the Installation Owner (if the docbroker and docbase are up of course…):

[dmadmin@content_server_01 ~]$ iapi DOCBASE -Udmadmin -Pxxx
        EMC Documentum iapi - Interactive API interface
        (c) Copyright EMC Corp., 1992 - 2015
        All rights reserved.
        Client Library Release 7.2.0050.0084
Connecting to Server using docbase DOCBASE
[DM_SESSION_I_SESSION_START]info:  "Session 013f245a8000b7ff started for user dmadmin."
Connected to Documentum Server running Release 7.2.0050.0214  Linux64.Oracle
Session id is s0


Ok so now we have a session with the Installation Owner and we can therefore get a DM_TICKET for the specific user I was talking about before. In this blog, I will use “adtsuser” as the “specific user” (ADTS user used for renditions). Getting a DM_TICKET is really simple in IAPI:

API> getlogin,c,adtsuser
API> exit


Now we do have a DM_TICKET for the user “adtsuser” so let’s try to use it. You can try to login in the “common” way as I did above but that will just not work because what we got is a DM_TICKET and that’s not a valid password. Therefore you will need to use something else:

[dmadmin@content_server_01 ~]$ iapi -Sapi
Running with non-standard init level: api


Pretty simple, right? So let’s try to use our session like we always do:

API> retrieve,c,dm_server_config
API> dump,c,l

  object_name                                   : DOCBASE
  title                                         : 


And that’s it, you have a working session with a specific user without the need to know any password, you just have to obtain a DM_TICKET for this user using the local trust of the Installation Owner!


Cet article Documentum story – IAPI login with a DM_TICKET for a specific user est apparu en premier sur Blog dbi services.

Links for 2016-10-13 [del.icio.us]

Categories: DBA Blogs

How to destroy your performance: PL/SQL vs SQL

Yann Neuhaus - Fri, 2016-10-14 00:11

Disclaimer: This is in no way a recommendation to avoid PL/SQL. This post just describes a case I faced at a customer with a specific implementation in PL/SQL the customer (and me) believed is the most efficient way of doing it in PL/SQL. This was a very good example for myself to remind me to check the documentation and to verify if what I believed a feature does is really what the feature is actually doing. When I was doing PL/SQL full time in one my of previous jobs I used the feature heavily without really thinking on what happened in the background. Always keep learning …

Lets start by building the test case. The issue was on on Linux but I think this will be reproducible on any release (although, never be sure :) ).

SQL> create table t1 as select * from dba_objects;
SQL> insert into t1 select * from t1;
SQL> /
SQL> /
SQL> /
SQL> /
SQL> /
SQL commit;
SQL> select count(*) from t1;


SQL> create table t2 as select object_id from t1 where mod(object_id,33)=0;
SQL> select count(*) from t2;


This are my two tables used for the test: t1 contains around 5,5 millions rows and there is t2 which contains 168896 rows. Coming to the issue: There is a procedure which does this:

create or replace procedure test_update
  cursor c1 is select object_id from t2;
  type tab is table of t2.object_id%type index by pls_integer;
  ltab tab;
  open c1;
  fetch c1 bulk collect into ltab;
  close c1;
  forall indx in 1..ltab.count
    update t1 set owner = 'AAA' where object_id = ltab(indx);
end test_update;

The procedure uses “bulk collect” and “forall” to fetch the keys from t2 in a first step and then uses these keys to update t1 in a second step. Seemed pretty well done: Not a loop over each single row, compare with the list and then do the update when there is a match. I really couldn’t see an issue here. But when you execute this procedure you’ll wait for ages (at least if you are in VM running on a notebook and not on super fast hardware).

The situation at the customer was that I was told that the update, when executed as plain SQL in sqlplus, takes less than a second. And really, when you execute this on the test case from above:

SQL> update t1 set owner = 'AAA' where object_id in ( select object_id from t2 );

168896 rows updated.

Elapsed: 00:00:05.30
SQL> rollback;

Rollback complete.

Elapsed: 00:00:02.44
SQL> update t1 set owner = 'AAA' where object_id in ( select object_id from t2 );

168896 rows updated.

Elapsed: 00:00:06.34
SQL> rollback;

Rollback complete.

Elapsed: 00:00:02.70

It is quite fast (between 5 and 6 seconds on my environment). So why is the PL/SQL version so much slower? Aren’t “bulk collect” and “forall” the right methods to boost performance? Lets take a look at the execution plan for the plain SQL version:

| Id  | Operation             | Name     | Starts | E-Rows |E-Bytes| Cost (%CPU)| E-Time   | A-Rows |    A-Time     | Buffers | Reads  |  OMem |  1Mem |  O/1/M|
|   0 | UPDATE STATEMENT      |          |      1 |       |       | 24303 (100)|          |       0 |00:00:04.52    |     259K|   9325 |       |       |       |
|   1 |  UPDATE               | T1       |      1 |       |       |            |          |       0 |00:00:04.52    |     259K|   9325 |       |       |       |
|*  2 |   HASH JOIN           |          |      1 |    48 |  4416 | 24303   (1)| 00:00:01 |     168K|00:00:01.76    |   86719 |   9325 |  2293K|  2293K|  1/0/0|
|   3 |    VIEW               | VW_NSO_1 |      1 |   161K|  2044K|    72   (2)| 00:00:01 |    2639 |00:00:00.05    |     261 |     78 |       |       |       |
|   4 |     SORT UNIQUE       |          |      1 |     1 |  2044K|            |          |    2639 |00:00:00.04    |     261 |     78 |   142K|   142K|  1/0/0|
|   5 |      TABLE ACCESS FULL| T2       |      1 |   161K|  2044K|    72   (2)| 00:00:01 |     168K|00:00:00.01    |     261 |     78 |       |       |       |
|   6 |    TABLE ACCESS FULL  | T1       |      1 |  5700K|   429M| 23453   (1)| 00:00:01 |    5566K|00:00:05.88    |   86458 |   9247 |       |       |       |

It is doing a hash join as expected. What about the PL/SQL version? It is doing this:

SQL_ID  4hh65t1u4basp, child number 0

Plan hash value: 2927627013

| Id  | Operation          | Name | Rows  | Bytes | Cost (%CPU)| Time     |
|   0 | UPDATE STATEMENT   |      |       |       | 23459 (100)|          |
|   1 |  UPDATE            | T1   |       |       |            |          |
|*  2 |   TABLE ACCESS FULL| T1   |   951 | 75129 | 23459   (1)| 00:00:01 |

Uh! Why that? This is what I wasn’t aware of. I always thought when you use “forall” to send PL/SQL’s SQL to the SQL engine Oracle would rewrite the statement to expand the list in the where clause or do other optimizations. But this does not happen. The only optimization that takes place when you use “forall” is that the statements are send in batches to the SQL engine rather then sending each statement after another. What happens here is that you execute 168896 full table scans because the same statement (with a another bind variable value) is executed 168896 times. Can’t be really fast compared to the SQL version.

Of course you could rewrite the procedure to do the same as the SQL but this is not the point here. The point is: When you think what you have implemented in PL/SQL is the same as what you compare to when you run it SQL: Better think twice and even better read the f* manuals, even when you think you are sure what a feature really does :)


Cet article How to destroy your performance: PL/SQL vs SQL est apparu en premier sur Blog dbi services.


Subscribe to Oracle FAQ aggregator