Saturday, August 15, 2015

Oracle Database Standard Edition 2

Oracle recently announced the release of Oracle Database Standard Edition 2. Full details are not available at this time but here’s what we know so far.

Oracle Database is available in a number of editions: Standard Edition (DBSE), Standard Edition One (DBSE1) and Enterprise Edition (EE) being the most well-known. DBSE and DBSE1 are effectively the same product, however DBSE1 is limited to servers which have a capacity of two sockets whereas DBSE has a four-socket capacity limit.

The advantages of DBSE/DBSE1 are significantly cheaper prices; sometimes well over 90% cheaper – a four processor by 10 core (40 physical cores) server would cost $950k with DBEE and $70k with DBSE. However, the downside is that none of the Oracle database extra cost options can be licensed with these editions, as well as some useful ’enterprise’ features such as DataGuard and Flashback.

The announcement of DBSE2, which will be available as 12.1.0.2, likely means a limit on the amount of processing power available to ‘non-enterprise’ workloads – modern day processors are available in 15-core versions meaning SE can be run on 60 physical cores!

What do we know to date?
  • BSE/DBSE1 will not be valid for use at 12.1.0.2 and above
  • DBSE2 will be restricted to two sockets (like DBSE1)
  • DBSE2 will include RAC (like DBSE), though it is not clear what restrictions will be on socket capacity
  • 12.1.0.2/ DBSE2 will be released Q3 2015

The table below summaries the known differences between editions at this time.

Hope this helps someone.

Cheers!

Sunday, August 9, 2015

Oracle plan-Access path ranking

This blog post is more as mine public memo...to remind me on some details that I from time to time forget. 


Hope this helps someone.

Cheers!

Wednesday, August 5, 2015

Prevent JS and CSS caching in APEX

A big issue in any WEB development is how to avoid unwanted cashing of CSS and java script files. It is more then famous situation when developer upload new js/css file on server and then has to ask user to make Ctrl+F5 ... to load new file versions on client side, forcing to replace older ones.

The situation is more accentuated when you enable Server Cache/Cache Page option in Apex page definition.

The solution

Fortunately, in Apex (tested on 4.1 with Embeded PL/SQL gateway), there is one nice trick that help developers to ensure proper file caching by defining things on server side, and avoid dependency from client side.

Suppose we want to ensure that my_js.js and theme_V2.css files should be ensured from any kind of caching.
  1. First you need to define unrestricted Application item. In mine case I'll call it "G_FILE_VERSION".
  2. Then assign G_FILE_VERSION value to something that is js syntactical correct (i.e. "v1000"). This can be done as static assignment or by PLSQL computation/process.
    PLSQL computation/process might be defined by coding in Apex directly or by calling some package from database. Package option is the one I prefer because interaction with database is much more easy and require only sqlplus for that.
  3. Now in page template (or page definition) place next code, which will load java script file
    <script type="text/javascript" src="#WORKSPACE_IMAGES#my_js.js&p_inline=&G_FILE_VERSION.">
    
    As you see &p_inline=G_FILE_VERSION part is added after classic definition
With this you ensure that by changing value G_FILE_VERSION should result in new download of file, because this will represent new value!

Similar for css is next syntax:
<link rel="stylesheet" href="#IMAGE_PREFIX#themes/theme_15/theme_V2.css&p_inline=&G_FILE_VERSION." type="text/css" />

Hope this helps someone.

Cheers!

Saturday, August 1, 2015

Apex 5-unpublished requirement (ORA-43853: SECUREFILE lobs cannot be used in non-ASSM tablespace "APEX5")

After one year pause from blogging, I have decided to write one post. Subject is mine love-Apex!
Finally the day when I decided to upgrade to Apex 5 has come. Time shift of initial Apex 5 release and curiosity to see how mine apps will fit in new Apex were main sparks to upgrade mine Apex 4.2x version to current latest, Apex version 5.0.1.
As I always do, I install Apex in separate tablespace. For this occasion I create tablespace which was replica from 4.2x release, just changed the name and datafile
CREATE TABLESPACE APEX5 DATAFILE 
  'F:\ORADATA\XESSD\APEX5.DBF' SIZE 256M AUTOEXTEND ON NEXT 4M MAXSIZE 1G
LOGGING
ONLINE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT MANUAL
FLASHBACK ON;
And then later started installation in a way:
@apexins APEX5 APEX5 TEMP /i/ 
But very soon after, I get an error ... here is the end of the log.
...Internal messages
WWV_FLOW_API.FLOWS_API_LAST_EXTENDED20130101
WWV_FLOW_API.CURRENT_FLOWS_VERSION20130101
WWV_FLOW_API.IMPORT_COMPATIBLE_WITH_VERSION 20130101
WWV_FLOW_API.COMPATIBLE
--application/set_environment
APPLICATION 4411 - Oracle APEX  System Messages and Native Types
--application/delete_application
begin
*
ERROR at line 1:
ORA-04063: package body "APEX_050000.WWV_FLOW_UTILITIES" has errors
ORA-06508: PL/SQL: could not find program unit being called:
"APEX_050000.WWV_FLOW_UTILITIES"
ORA-06512: at "APEX_050000.WWV_FLOW_AUDIT", line 92
ORA-06512: at "APEX_050000.WWV_FLOW_API", line 2148
ORA-06512: at line 2
The whole installation log file can be downloaded from here
As this was the end of log, I look for the first error in log and found:
Table created.

create table wwv_flow_collection_members$ (
*
ERROR at line 1:
ORA-43853: SECUREFILE lobs cannot be used in non-ASSM tablespace "APEX5"
A-ha ... Apex 5 must be installed in ASSM tablespace!!!
Then I removed Apex 5 failed installation
@apxremov.sql
Exit that session. Drop and recreated new APEX5 tablespace with ASSM:
CREATE TABLESPACE APEX5 DATAFILE 
  'F:\ORADATA\XESSD\APEX5.DBF' SIZE 256M AUTOEXTEND ON NEXT 4M MAXSIZE 2G
LOGGING
ONLINE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;
Repeated installation (as before) and all went with no problems!

The End

I found one blog on similar subject (Installation of APEX 4.0.2 with Oracle 11g 11.2.0.2.0 Failed - ORA-43853) but mine is related to fresh new 5.0 version and ... somehow... mine previous 4.2 was 100% on MSSM tablespace on Oracle 11.2.0.3.
So, seems to me this is new(old) missing Apex requirement.
Hope this helps.

Cheers!
P.S. Latest Apex4 tablespace was 407 MB and new, Apex5 is 1.39 GB. Difference is quite big! I found out that fact in a harder way (tablespace had 1 GB limitation!):
apxsqler.sql
...Page Designer metadata install
Enter YES (or hit enter) to load system messages and NO to skip it (NO should only be used during installation)

Property Editor - Metadata

declare
*
ERROR at line 1:
ORA-01658: unable to create INITIAL extent for segment in tablespace APEX5
ORA-06512: at line 508
ORA-06512: at line 5181
So leave unlimited or at least 2 GB.

Zagreb u srcu!

Copyright © 2009-2018 Damir Vadas

All rights reserved.


Sign by Danasoft - Get Your Sign