Oracle Database on Dual-Processor Servers
Hello All,
I am contemplating on transferring my two instances of oracle 10g rel1 rdbms to a dual processor server from a single processor one.
What advantages will I gain? Is it really worth it?
I will appreciage any ideas, suggestions, comments, etc.
Thank you and with warm regards
Hi Justin,
Thank you very much for your reply.
Acutally, the instances running on my database server our production and development databases. The server would still host the two instances. BTW, my server is a Linux box (RHEL ES 4.0) with 3GB RAM running an intel XEON 3.0Ghz CPU (HP-Compaq ML-350).
I have Grid Control installed in a Windows 2003 where I manage the two instances and when I monitor the databases, I always get alerts that the CPU and memory utlizations are very high, in the high 90s (%).
Last night, I was informed that our server room will be made as location of an additional database server that will host databases for HR,Procurement,Inventory and Logistics and we will be the DBA for that. User base would be around 40 simultaneus online users at a any given time plus or minus 5 users. Total possible users will be around 100. Operation is from 7am to 6 pm, weekdays.
For this server, we have proposed dual processor (intel XEON) and 4GB RAM. Would this be enough to meet our incoming requirements?
Thank you and regards,
Mike
Similar Messages
-
Licensing Oracle Database SE for processor Intel 2670v2 10 cores 2.5 Ghz
Hello,
I have read and understood the Oracle licensing terms and I'm aware of the limitations SE puts on the server it is installed to. Still I need someone to approve my initial understanding.
Can I install Oracle Database SE on a system with 2 processors (Intel 2670v2 10 cores 2.5 Ghz each)?Which version of Standard edition you are using ?
Oracle Database Standard Edition One
Or Oracle Database Standard Edition
Each one is difference than the other one, but regarding to what i know about Oracle SE License you should care about Maximum socket not Core and you check how much socket for each one :
http://www.oracle.com/us/products/database/standard-edition-one/comparisons/index.html
For Example :
SE ONE
Total # of Processors: 2
Total # of Cores: 8
SE
Total # of Processors: 4
Total # of Cores: 24
there is thread in some where here discuss this you can search on it here. -
How to connect more than one oracle databases in single form?
Hi,
I have installed Oracle database in three different servers with different users, but the table's structure are same in all three different database users.
Now in one D2K form i want to connect and access, all three different database users at a time.
If anybody know answer for this please replay.
My mail Id: [email protected]
Regards
MahaveerYou can access other databases/schemas by means of the built-in-package EXEC_SQL. See online help in Forms Builder, especially EXEC_SQL.Open_Connection, EXEC_SQL.Open_Cursor, EXEC_SQL.Fetch_Rows, ...
If you want to base your blocks on several database connections at the same time, you should write your own on-select, on-fetch, on-lock, ... triggers, I suppose.
Marc -
Antivirus software on Oracle database server?
Hi everyone,
Most of our production Oracle databases are on Windows servers. I have been asked by our SysAdmin if he can install Norton Anti-virus on all of them. I assume that this is fine to do, as long as we setup the anti-virus software to NOT be scanning any of the database files, does this seem right?
Does anyone have any thoughts or feedback on this?
Thanks!
--BradGenerally speaking one should NOT run an anti-virus scanner on a database server.
Virus scanners will impact the I/O behavior of the server, as they have sequential access on a file, while Oracle accesses files randomly.
Disks dedicated to database files are a rarity these days, so even if database files are excluded, the scanner will probably slow things down.
Sybrand Bakker
Senior Oracle DBA -
Sun T2 chips vs SPARC64 VI/VII chips for Oracle database servers
We have recently found poor performance of Sun T5240 servers where (against previous V series servers with similar gross I/O capabilities on the disk volume)the timings for the recovery of the database, and the subsequent re-build of the tables and materialised views, are variable from slightly worse to atrocious. Given that the clock-speed is similar,and all significant oracle database parameters are the same, we couldn't see why these processes should take longer on the T5240. The statistics report from the database showed no I/O bottleneck on the new machine, instead it showed raised CPU times for some of the key slow statements.
We found the attached oracle metalink document (ref 781763.1) <<Sun_T2_slow_for Oracle_DB.html>>
Seems to be that if you can't control the content of large long-running SQL statements to parallelise them, don't buy a T-series box as the multithreading capability will work against you.
Therefore we are looking at new servers to run other similar large Oracle apps and appear to have a number of choices within a similar price range
Notably
M3000 - 1 x SPARC VII CPU (quad core procesor)
M4000 - 2 x SPARC VI CPU (dual core processor)
as opposed to the
T5240 - 2 x T2 CPU (8 core processor)
Question is which of these CPU/Core combinations works best...are there performance figures? What's the difference between CPU's and number of cores?
Any benchmarks to help us decide? Anyone experienced similar or tried these different combos for themselves?We tested a T5210 as a database server (running Ingres, not Oracle) and our batch performance was roughly equivalent to a dual CPU UltraSPARC III V480. Our guess is that the performance hit came from having a relatively small cache shared across so many threads. Like you, we're looking at using the M3000 or M4000 in preference.
-
How to install oracle database in window7-64 bit corei3 processor?
Hi All,
please help me in installing oracle database on window7 64 bit machine with corei3 processor.
i have tried to install oracle 10g but not able to install. Is any higher version of oracle will work with same configuration?You may have better luck with 11.2.0.1, from:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
10.2.0.5 is the earliest version certified for Windows 7. Note that no Home edition of Windows 7 is supported, you should use Professional and up. -
Oracle in dual processor (urgent)
i have using oracle in dual processor in my server, but some of my report (5 user using these report) run very slowly. i have 2 Gb memory. i have already checked the index and i did the export import to make sure there's not chain row. but still this report run very slowly. do i have to defragment my server? because yesterday. i did long processing that took 58 hours.
i do not know the reason. please help me to solve this as it is very urgent
Thanks in advance
Widhiyou can turn on concurrent garbage collection.
java -Xconcgc ........
first link on found on it...
http://wireless.java.sun.com/midp/articles/garbagecollection2/#2 -
Which Sun processor is better for Oracle database
We are going to pick one Sun processor for Oracle 10g database. UltraSPARC IV+ or T1? UltraSPARC IV+ is good for Floating Point performance while T1 is good for multi-threaded integer performance. Which one fits Oracle database better?
Thank you for help.Hi
With the database engine a CPU spends most of its time doing memory I/O. So, the performance of floating point and integer operations is not essential. In any case the database engine use floating point operations only marginally. Integer operations are much more frequent.
Personally, I would not spend money for these two processors. If you want to buy your hardware by Sun take a x64-Server (Opteron).
HTH
Chris -
CPU load higher after applying in 147440 kernel on Oracle database servers
Hi all,
Just wanted to know if anyone else is seeing an Increased CPU load with higher peaks and for longer periods of time, especially on single thread processes on oracle database servers. Our Oracle Database versions vary from Oracle 10 to Oracle 11.1.0.7 11.2.0.2 10.2.0.4. The Hardware includes Sunfire V245's, V440 and T5240. We saw a slight performance hit when going to 147440-02 at the first of Oct, but no big deal. Then we applied 147440-04 in the first part of Nov. And of course we got CPU panics and Zfs file system stopped mounting basically a complete disaster. Oracle provided and IDR for the CPU panic and then later release 147440-06. Which resolved the CPU panics and zfs file system mounts. But now our load average on is 1 to 3 points higher during load, grid control is constantly complaining of 100% utilization. I have had a call open since the first of November with oracle/sun support and have provided guds performance stats on before and after Kernel change. They are still saying that its not an issue. It is so bad we had to roll back to a July kernel on one of the servers.Just to let you all know what we have found. After 2 1/2 months of working with Oracle Kernel team, they have identified the Oracle Enterprise Manager (emagent) (Grid control Agent) was using nearly 60000 threads under the 147440 Kernel and only 1500 threads under an older kernel.
I googled the solution for the emagent, but I continue to press Oracle Kernel Engineers to work with their software division, to identify other products that might cause similar problems.
http://oracle-dba-quickanswers.blogspot.com/2011/10/emagent-consuming-very-high-cpu.html -
Resource estimation/Sizing (i.e CPU and Memory) for Oracle database servers
Hi,
I have came across one of the requirement of Oracle database server sizing in terms of CPU and Memory requirement. Has anybody metalink notes or white paper to have basic estimation or calculation for resources (i.e CPU and RAM) on based of database size, number of concurrent connections/sessions and/or number of transactions.
I have searched lot on metalink but failed to have such, will be great help if anybody has idea on this. I'm damn sure it has to be, because to start with implementation of IT infrastructure one has to do estimation of resources aligned with IT budget.
Thanks in advance.
Mehul.You could start the other way around, if you already have a server is it sufficient for the database you want to run on it? Is there sufficient memory? Is it solely a database server (not shared)? How fast are the disks - SAN/RAID/local disk? Does it have the networking capacity (100mbps, gigabit)? How many CPUs, will there be intensive SQL? How does Oracle licensing fit into it? What type of application that will run on the database - OLTP or OLAP?
If you don't know if there is sufficient memory/CPU then profile the application based on what everyone expects, again, start with OLTP or OLAP and work your way down to the types of queries/jobs that will be run, number of concurrent users and what performance you expect/require. For an OLAP application you may want the fastest disks possible, multiple CPUs and a large SGA and PGA (2-4GB PGA?), pay a little extra for parallel server and partitioning in license fees.
This is just the start of an investigation, then you can work out what fits into your budget.
Edited by: Stellios on Sep 26, 2008 4:53 PM -
Applying Microsoft KB 924054 on Oracle Database Servers
RDBMS Version: Oracle 9.2.0.7 (32-bit)
Operating System and Version: Microsoft Windows Server 2003 (32-bit)
Hi Folks,
Microsoft KB 924054 (http://support.microsoft.com/kb/924054) - States the following:
Programs that request lots of contiguous memory, such as one gigabyte or more, may fail with an unexpected error after you install security update 921883 on a 32-bit Microsoft Windows Server 2003 Service Pack 1 (SP1)-based computer. For example, programs such as Microsoft Business Solutions - Navision 3.7 may fail.
This problem affects 64-bit versions of the operating system in the scenario where a 32-bit application that is running under WOW64 makes a request for lots of contiguous memory to be allocated. Native 64-bit applications would not be affected.
There seems to be a bit of contradiction with this article, as is for a patch applied for 32-bit MS2003SP1 - then says it affects 64-bit versions of the operating system!!
We have Oracle Databases with over 1GB SGA - Is there any advice as to whether this patch should be applied or not?
ThanksHas anyone applied Microsoft Patch 921883? Any problems arisen afterwards?
-
Query in timesten taking more time than query in oracle database
Hi,
Can anyone please explain me why query in timesten taking more time
than query in oracle database.
I am mentioning in detail what are my settings and what have I done
step by step.........
1.This is the table I created in Oracle datababase
(Oracle Database 10g Enterprise Edition Release 10.2.0.1.0)...
CREATE TABLE student (
id NUMBER(9) primary keY ,
first_name VARCHAR2(10),
last_name VARCHAR2(10)
2.THIS IS THE ANONYMOUS BLOCK I USE TO
POPULATE THE STUDENT TABLE(TOTAL 2599999 ROWS)...
declare
firstname varchar2(12);
lastname varchar2(12);
catt number(9);
begin
for cntr in 1..2599999 loop
firstname:=(cntr+8)||'f';
lastname:=(cntr+2)||'l';
if cntr like '%9999' then
dbms_output.put_line(cntr);
end if;
insert into student values(cntr,firstname, lastname);
end loop;
end;
3. MY DSN IS SET THE FOLLWING WAY..
DATA STORE PATH- G:\dipesh3repo\db
LOG DIRECTORY- G:\dipesh3repo\log
PERM DATA SIZE-1000
TEMP DATA SIZE-1000
MY TIMESTEN VERSION-
C:\Documents and Settings\dipesh>ttversion
TimesTen Release 7.0.3.0.0 (32 bit NT) (tt70_32:17000) 2007-09-19T16:04:16Z
Instance admin: dipesh
Instance home directory: G:\TimestTen\TT70_32
Daemon home directory: G:\TimestTen\TT70_32\srv\info
THEN I CONNECT TO THE TIMESTEN DATABASE
C:\Documents and Settings\dipesh> ttisql
command>connect "dsn=dipesh3;oraclepwd=tiger";
4. THEN I START THE AGENT
call ttCacheUidPwdSet('SCOTT','TIGER');
Command> CALL ttCacheStart();
5.THEN I CREATE THE READ ONLY CACHE GROUP AND LOAD IT
create readonly cache group rc_student autorefresh
interval 5 seconds from student
(id int not null primary key, first_name varchar2(10), last_name varchar2(10));
load cache group rc_student commit every 100 rows;
6.NOW I CAN ACCESS THE TABLES FROM TIMESTEN AND PERFORM THE QUERY
I SET THE TIMING..
command>TIMING 1;
consider this query now..
Command> select * from student where first_name='2155666f';
< 2155658, 2155666f, 2155660l >
1 row found.
Execution time (SQLExecute + Fetch Loop) = 0.668822 seconds.
another query-
Command> SELECT * FROM STUDENTS WHERE FIRST_NAME='2340009f';
2206: Table SCOTT.STUDENTS not found
Execution time (SQLPrepare) = 0.074964 seconds.
The command failed.
Command> SELECT * FROM STUDENT where first_name='2093434f';
< 2093426, 2093434f, 2093428l >
1 row found.
Execution time (SQLExecute + Fetch Loop) = 0.585897 seconds.
Command>
7.NOW I PERFORM THE SIMILAR QUERIES FROM SQLPLUS...
SQL> SELECT * FROM STUDENT WHERE FIRST_NAME='1498671f';
ID FIRST_NAME LAST_NAME
1498663 1498671f 1498665l
Elapsed: 00:00:00.15
Can anyone please explain me why query in timesten taking more time
that query in oracle database.
Message was edited by: Dipesh Majumdar
user542575
Message was edited by:
user542575TimesTen
Hardware: Windows Server 2003 R2 Enterprise x64; 8 x Dual-core AMD 8216 2.41GHz processors; 32 GB RAM
Version: 7.0.4.0.0 64 bit
Schema:
create usermanaged cache group factCache from
MV_US_DATAMART
ORDER_DATE DATE,
IF_SYSTEM VARCHAR2(32) NOT NULL,
GROUPING_ID TT_BIGINT,
TIME_DIM_ID TT_INTEGER NOT NULL,
BUSINESS_DIM_ID TT_INTEGER NOT NULL,
ACCOUNT_DIM_ID TT_INTEGER NOT NULL,
ORDERTYPE_DIM_ID TT_INTEGER NOT NULL,
INSTR_DIM_ID TT_INTEGER NOT NULL,
EXECUTION_DIM_ID TT_INTEGER NOT NULL,
EXEC_EXCHANGE_DIM_ID TT_INTEGER NOT NULL,
NO_ORDERS TT_BIGINT,
FILLED_QUANTITY TT_BIGINT,
CNT_FILLED_QUANTITY TT_BIGINT,
QUANTITY TT_BIGINT,
CNT_QUANTITY TT_BIGINT,
COMMISSION BINARY_FLOAT,
CNT_COMMISSION TT_BIGINT,
FILLS_NUMBER TT_BIGINT,
CNT_FILLS_NUMBER TT_BIGINT,
AGGRESSIVE_FILLS TT_BIGINT,
CNT_AGGRESSIVE_FILLS TT_BIGINT,
NOTIONAL BINARY_FLOAT,
CNT_NOTIONAL TT_BIGINT,
TOTAL_PRICE BINARY_FLOAT,
CNT_TOTAL_PRICE TT_BIGINT,
CANCELLED_ORDERS_COUNT TT_BIGINT,
CNT_CANCELLED_ORDERS_COUNT TT_BIGINT,
ROUTED_ORDERS_NO TT_BIGINT,
CNT_ROUTED_ORDERS_NO TT_BIGINT,
ROUTED_LIQUIDITY_QTY TT_BIGINT,
CNT_ROUTED_LIQUIDITY_QTY TT_BIGINT,
REMOVED_LIQUIDITY_QTY TT_BIGINT,
CNT_REMOVED_LIQUIDITY_QTY TT_BIGINT,
ADDED_LIQUIDITY_QTY TT_BIGINT,
CNT_ADDED_LIQUIDITY_QTY TT_BIGINT,
AGENT_CHARGES BINARY_FLOAT,
CNT_AGENT_CHARGES TT_BIGINT,
CLEARING_CHARGES BINARY_FLOAT,
CNT_CLEARING_CHARGES TT_BIGINT,
EXECUTION_CHARGES BINARY_FLOAT,
CNT_EXECUTION_CHARGES TT_BIGINT,
TRANSACTION_CHARGES BINARY_FLOAT,
CNT_TRANSACTION_CHARGES TT_BIGINT,
ORDER_MANAGEMENT BINARY_FLOAT,
CNT_ORDER_MANAGEMENT TT_BIGINT,
SETTLEMENT_CHARGES BINARY_FLOAT,
CNT_SETTLEMENT_CHARGES TT_BIGINT,
RECOVERED_AGENT BINARY_FLOAT,
CNT_RECOVERED_AGENT TT_BIGINT,
RECOVERED_CLEARING BINARY_FLOAT,
CNT_RECOVERED_CLEARING TT_BIGINT,
RECOVERED_EXECUTION BINARY_FLOAT,
CNT_RECOVERED_EXECUTION TT_BIGINT,
RECOVERED_TRANSACTION BINARY_FLOAT,
CNT_RECOVERED_TRANSACTION TT_BIGINT,
RECOVERED_ORD_MGT BINARY_FLOAT,
CNT_RECOVERED_ORD_MGT TT_BIGINT,
RECOVERED_SETTLEMENT BINARY_FLOAT,
CNT_RECOVERED_SETTLEMENT TT_BIGINT,
CLIENT_AGENT BINARY_FLOAT,
CNT_CLIENT_AGENT TT_BIGINT,
CLIENT_ORDER_MGT BINARY_FLOAT,
CNT_CLIENT_ORDER_MGT TT_BIGINT,
CLIENT_EXEC BINARY_FLOAT,
CNT_CLIENT_EXEC TT_BIGINT,
CLIENT_TRANS BINARY_FLOAT,
CNT_CLIENT_TRANS TT_BIGINT,
CLIENT_CLEARING BINARY_FLOAT,
CNT_CLIENT_CLEARING TT_BIGINT,
CLIENT_SETTLE BINARY_FLOAT,
CNT_CLIENT_SETTLE TT_BIGINT,
CHARGEABLE_TAXES BINARY_FLOAT,
CNT_CHARGEABLE_TAXES TT_BIGINT,
VENDOR_CHARGE BINARY_FLOAT,
CNT_VENDOR_CHARGE TT_BIGINT,
ROUTING_CHARGES BINARY_FLOAT,
CNT_ROUTING_CHARGES TT_BIGINT,
RECOVERED_ROUTING BINARY_FLOAT,
CNT_RECOVERED_ROUTING TT_BIGINT,
CLIENT_ROUTING BINARY_FLOAT,
CNT_CLIENT_ROUTING TT_BIGINT,
TICKET_CHARGES BINARY_FLOAT,
CNT_TICKET_CHARGES TT_BIGINT,
RECOVERED_TICKET_CHARGES BINARY_FLOAT,
CNT_RECOVERED_TICKET_CHARGES TT_BIGINT,
PRIMARY KEY(ORDER_DATE, TIME_DIM_ID, BUSINESS_DIM_ID, ACCOUNT_DIM_ID, ORDERTYPE_DIM_ID, INSTR_DIM_ID, EXECUTION_DIM_ID,EXEC_EXCHANGE_DIM_ID),
READONLY);
No of rows: 2228558
Config:
< CkptFrequency, 600 >
< CkptLogVolume, 0 >
< CkptRate, 0 >
< ConnectionCharacterSet, US7ASCII >
< ConnectionName, tt_us_dma >
< Connections, 64 >
< DataBaseCharacterSet, AL32UTF8 >
< DataStore, e:\andrew\datacache\usDMA >
< DurableCommits, 0 >
< GroupRestrict, <NULL> >
< LockLevel, 0 >
< LockWait, 10 >
< LogBuffSize, 65536 >
< LogDir, e:\andrew\datacache\ >
< LogFileSize, 64 >
< LogFlushMethod, 1 >
< LogPurge, 0 >
< Logging, 1 >
< MemoryLock, 0 >
< NLS_LENGTH_SEMANTICS, BYTE >
< NLS_NCHAR_CONV_EXCP, 0 >
< NLS_SORT, BINARY >
< OracleID, NYCATP1 >
< PassThrough, 0 >
< PermSize, 4000 >
< PermWarnThreshold, 90 >
< PrivateCommands, 0 >
< Preallocate, 0 >
< QueryThreshold, 0 >
< RACCallback, 0 >
< SQLQueryTimeout, 0 >
< TempSize, 514 >
< TempWarnThreshold, 90 >
< Temporary, 1 >
< TransparentLoad, 0 >
< TypeMode, 0 >
< UID, OS_OWNER >
ORACLE:
Hardware: Sunos 5.10; 24x1.8Ghz (unsure of type); 82 GB RAM
Version 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
Schema:
CREATE MATERIALIZED VIEW OS_OWNER.MV_US_DATAMART
TABLESPACE TS_OS
PARTITION BY RANGE (ORDER_DATE)
PARTITION MV_US_DATAMART_MINVAL VALUES LESS THAN (TO_DATE(' 2007-11-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
LOGGING
NOCOMPRESS
TABLESPACE TS_OS,
PARTITION MV_US_DATAMART_07_NOV_D1 VALUES LESS THAN (TO_DATE(' 2007-11-11 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
LOGGING
NOCOMPRESS
TABLESPACE TS_OS,
PARTITION MV_US_DATAMART_07_NOV_D2 VALUES LESS THAN (TO_DATE(' 2007-11-21 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
LOGGING
NOCOMPRESS
TABLESPACE TS_OS,
PARTITION MV_US_DATAMART_07_NOV_D3 VALUES LESS THAN (TO_DATE(' 2007-12-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
LOGGING
NOCOMPRESS
TABLESPACE TS_OS,
PARTITION MV_US_DATAMART_07_DEC_D1 VALUES LESS THAN (TO_DATE(' 2007-12-11 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
LOGGING
NOCOMPRESS
TABLESPACE TS_OS,
PARTITION MV_US_DATAMART_07_DEC_D2 VALUES LESS THAN (TO_DATE(' 2007-12-21 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
LOGGING
NOCOMPRESS
TABLESPACE TS_OS,
PARTITION MV_US_DATAMART_07_DEC_D3 VALUES LESS THAN (TO_DATE(' 2008-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
LOGGING
NOCOMPRESS
TABLESPACE TS_OS,
PARTITION MV_US_DATAMART_08_JAN_D1 VALUES LESS THAN (TO_DATE(' 2008-01-11 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
LOGGING
NOCOMPRESS
TABLESPACE TS_OS,
PARTITION MV_US_DATAMART_08_JAN_D2 VALUES LESS THAN (TO_DATE(' 2008-01-21 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
LOGGING
NOCOMPRESS
TABLESPACE TS_OS,
PARTITION MV_US_DATAMART_08_JAN_D3 VALUES LESS THAN (TO_DATE(' 2008-02-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
LOGGING
NOCOMPRESS
TABLESPACE TS_OS,
PARTITION MV_US_DATAMART_MAXVAL VALUES LESS THAN (MAXVALUE)
LOGGING
NOCOMPRESS
TABLESPACE TS_OS
NOCACHE
NOCOMPRESS
NOPARALLEL
BUILD DEFERRED
USING INDEX
TABLESPACE TS_OS_INDEX
REFRESH FAST ON DEMAND
WITH PRIMARY KEY
ENABLE QUERY REWRITE
AS
SELECT order_date, if_system,
GROUPING_ID (order_date,
if_system,
business_dim_id,
time_dim_id,
account_dim_id,
ordertype_dim_id,
instr_dim_id,
execution_dim_id,
exec_exchange_dim_id
) GROUPING_ID,
/* ============ DIMENSIONS ============ */
time_dim_id, business_dim_id, account_dim_id, ordertype_dim_id,
instr_dim_id, execution_dim_id, exec_exchange_dim_id,
/* ============ MEASURES ============ */
-- o.FX_RATE /* FX_RATE */,
COUNT (*) no_orders,
-- SUM(NO_ORDERS) NO_ORDERS,
-- COUNT(NO_ORDERS) CNT_NO_ORDERS,
SUM (filled_quantity) filled_quantity,
COUNT (filled_quantity) cnt_filled_quantity, SUM (quantity) quantity,
COUNT (quantity) cnt_quantity, SUM (commission) commission,
COUNT (commission) cnt_commission, SUM (fills_number) fills_number,
COUNT (fills_number) cnt_fills_number,
SUM (aggressive_fills) aggressive_fills,
COUNT (aggressive_fills) cnt_aggressive_fills,
SUM (fx_rate * filled_quantity * average_price) notional,
COUNT (fx_rate * filled_quantity * average_price) cnt_notional,
SUM (fx_rate * fills_number * average_price) total_price,
COUNT (fx_rate * fills_number * average_price) cnt_total_price,
SUM (CASE
WHEN order_status = 'C'
THEN 1
ELSE 0
END) cancelled_orders_count,
COUNT (CASE
WHEN order_status = 'C'
THEN 1
ELSE 0
END
) cnt_cancelled_orders_count,
-- SUM(t.FX_RATE*t.NO_FILLS*t.AVG_PRICE) AVERAGE_PRICE,
-- SUM(FILLS_NUMBER*AVERAGE_PRICE) STAGING_AVERAGE_PRICE,
-- COUNT(FILLS_NUMBER*AVERAGE_PRICE) CNT_STAGING_AVERAGE_PRICE,
SUM (routed_orders_no) routed_orders_no,
COUNT (routed_orders_no) cnt_routed_orders_no,
SUM (routed_liquidity_qty) routed_liquidity_qty,
COUNT (routed_liquidity_qty) cnt_routed_liquidity_qty,
SUM (removed_liquidity_qty) removed_liquidity_qty,
COUNT (removed_liquidity_qty) cnt_removed_liquidity_qty,
SUM (added_liquidity_qty) added_liquidity_qty,
COUNT (added_liquidity_qty) cnt_added_liquidity_qty,
SUM (agent_charges) agent_charges,
COUNT (agent_charges) cnt_agent_charges,
SUM (clearing_charges) clearing_charges,
COUNT (clearing_charges) cnt_clearing_charges,
SUM (execution_charges) execution_charges,
COUNT (execution_charges) cnt_execution_charges,
SUM (transaction_charges) transaction_charges,
COUNT (transaction_charges) cnt_transaction_charges,
SUM (order_management) order_management,
COUNT (order_management) cnt_order_management,
SUM (settlement_charges) settlement_charges,
COUNT (settlement_charges) cnt_settlement_charges,
SUM (recovered_agent) recovered_agent,
COUNT (recovered_agent) cnt_recovered_agent,
SUM (recovered_clearing) recovered_clearing,
COUNT (recovered_clearing) cnt_recovered_clearing,
SUM (recovered_execution) recovered_execution,
COUNT (recovered_execution) cnt_recovered_execution,
SUM (recovered_transaction) recovered_transaction,
COUNT (recovered_transaction) cnt_recovered_transaction,
SUM (recovered_ord_mgt) recovered_ord_mgt,
COUNT (recovered_ord_mgt) cnt_recovered_ord_mgt,
SUM (recovered_settlement) recovered_settlement,
COUNT (recovered_settlement) cnt_recovered_settlement,
SUM (client_agent) client_agent,
COUNT (client_agent) cnt_client_agent,
SUM (client_order_mgt) client_order_mgt,
COUNT (client_order_mgt) cnt_client_order_mgt,
SUM (client_exec) client_exec, COUNT (client_exec) cnt_client_exec,
SUM (client_trans) client_trans,
COUNT (client_trans) cnt_client_trans,
SUM (client_clearing) client_clearing,
COUNT (client_clearing) cnt_client_clearing,
SUM (client_settle) client_settle,
COUNT (client_settle) cnt_client_settle,
SUM (chargeable_taxes) chargeable_taxes,
COUNT (chargeable_taxes) cnt_chargeable_taxes,
SUM (vendor_charge) vendor_charge,
COUNT (vendor_charge) cnt_vendor_charge,
SUM (routing_charges) routing_charges,
COUNT (routing_charges) cnt_routing_charges,
SUM (recovered_routing) recovered_routing,
COUNT (recovered_routing) cnt_recovered_routing,
SUM (client_routing) client_routing,
COUNT (client_routing) cnt_client_routing,
SUM (ticket_charges) ticket_charges,
COUNT (ticket_charges) cnt_ticket_charges,
SUM (recovered_ticket_charges) recovered_ticket_charges,
COUNT (recovered_ticket_charges) cnt_recovered_ticket_charges
FROM us_datamart_raw
GROUP BY order_date,
if_system,
business_dim_id,
time_dim_id,
account_dim_id,
ordertype_dim_id,
instr_dim_id,
execution_dim_id,
exec_exchange_dim_id;
-- Note: Index I_SNAP$_MV_US_DATAMART will be created automatically
-- by Oracle with the associated materialized view.
CREATE UNIQUE INDEX OS_OWNER.MV_US_DATAMART_UDX ON OS_OWNER.MV_US_DATAMART
(ORDER_DATE, TIME_DIM_ID, BUSINESS_DIM_ID, ACCOUNT_DIM_ID, ORDERTYPE_DIM_ID,
INSTR_DIM_ID, EXECUTION_DIM_ID, EXEC_EXCHANGE_DIM_ID)
NOLOGGING
NOPARALLEL
COMPRESS 7;
No of rows: 2228558
The query (taken Mondrian) I run against each of them is:
select sum("MV_US_DATAMART"."NOTIONAL") as "m0"
--, sum("MV_US_DATAMART"."FILLED_QUANTITY") as "m1"
--, sum("MV_US_DATAMART"."AGENT_CHARGES") as "m2"
--, sum("MV_US_DATAMART"."CLEARING_CHARGES") as "m3"
--, sum("MV_US_DATAMART"."EXECUTION_CHARGES") as "m4"
--, sum("MV_US_DATAMART"."TRANSACTION_CHARGES") as "m5"
--, sum("MV_US_DATAMART"."ROUTING_CHARGES") as "m6"
--, sum("MV_US_DATAMART"."ORDER_MANAGEMENT") as "m7"
--, sum("MV_US_DATAMART"."SETTLEMENT_CHARGES") as "m8"
--, sum("MV_US_DATAMART"."COMMISSION") as "m9"
--, sum("MV_US_DATAMART"."RECOVERED_AGENT") as "m10"
--, sum("MV_US_DATAMART"."RECOVERED_CLEARING") as "m11"
--,sum("MV_US_DATAMART"."RECOVERED_EXECUTION") as "m12"
--,sum("MV_US_DATAMART"."RECOVERED_TRANSACTION") as "m13"
--, sum("MV_US_DATAMART"."RECOVERED_ROUTING") as "m14"
--, sum("MV_US_DATAMART"."RECOVERED_ORD_MGT") as "m15"
--, sum("MV_US_DATAMART"."RECOVERED_SETTLEMENT") as "m16"
--, sum("MV_US_DATAMART"."RECOVERED_TICKET_CHARGES") as "m17"
--,sum("MV_US_DATAMART"."TICKET_CHARGES") as "m18"
--, sum("MV_US_DATAMART"."VENDOR_CHARGE") as "m19"
from "OS_OWNER"."MV_US_DATAMART" "MV_US_DATAMART"
where I uncomment a column at a time and rerun. I improved the TimesTen results since my first post, by retyping the NUMBER columns to BINARY_FLOAT. The results I got were:
No Columns ORACLE TimesTen
1 1.05 0.94
2 1.07 1.47
3 2.04 1.8
4 2.06 2.08
5 2.09 2.4
6 3.01 2.67
7 4.02 3.06
8 4.03 3.37
9 4.04 3.62
10 4.06 4.02
11 4.08 4.31
12 4.09 4.61
13 5.01 4.76
14 5.02 5.06
15 5.04 5.25
16 5.05 5.48
17 5.08 5.84
18 6 6.21
19 6.02 6.34
20 6.04 6.75 -
Server Sizing For Oracle Database
Hi All,
I need a server sizing for the below mentioned architecture:
This application is basically for logistics company which we are planing to host it centrally with two server's one server for application and one for oracle database along with DR site (Other Location). There are four locations and each location will have 20 users who are going to access this application (20 x 4= 80 Users). We are using MPLS network of 35 mbps bandwidth.
1. Application server: Windows server 2008 R2
2. Database Server: Windows server 2008 R2, Oracle 11g r2
I need a server sizing documents.
Thanks........EdStevens wrote:
Justin Mungal wrote:
EdStevens wrote:
user1970505 wrote:
Hi All,
I need a server sizing for the below mentioned architecture:
This application is basically for logistics company which we are planing to host it centrally with two server's one server for application and one for oracle database along with DR site (Other Location). There are four locations and each location will have 20 users who are going to access this application (20 x 4= 80 Users). We are using MPLS network of 35 mbps bandwidth.
1. Application server: Windows server 2008 R2
2. Database Server: Windows server 2008 R2, Oracle 11g r2
I need a server sizing documents.
Thanks........I'd seriously reconsider hosting Oracle db on Windows. Obviously there are many, many shops that do. And obviously it is often a case of the fact that they do not have (and choose to not acquire) expertise in Linux. But I've been in IT for 30+ years and have worked on IBM S-370 and its variants and descendents, Windows since v3, DEC VMS, IBM OS/2, Solaris, AIX, HPUX, and Oracle Linux. The first Oracle database I ever created was on Windows 3.11 and at that point I had never seen *nix. Now I am in a position to state that Windows is the worst excuse of an operating system of any I have ever used. I am constantly amazed/amused by how often (at least once a month on schedule, plus unplanned times) that our Windows SA has to send out a notice that he is re-booting his servers. I can't remember the last time we had to reboot a Linux server ( I have 4 of them)
Yes, I'm biased away from Windows, but that bias comes from experience. Hardly a day goes by that I don't see something that causes me to say to whoever is in earshot "have I told you how much I hate Windows?"I was going to refrain from commenting on that, as I assumed they're a Windows shop and aren't open to any other OS (but my assumption could be incorrect).
I haven't been working in IT for as long as many of the folks around here, only about 10 years. I'm a former system admin that maintained both Linux and Windows servers, but my focus was on Windows. In the right hands, Windows can be rock solid. If a system admin has to reboot Windows servers often, he is most likely doing something wrong, or is rebooting for security updates. It's never as simple as "Windows Sucks," or "Linux Sucks;" it all depends on who's running the system (again, in my opinion).
I have seen some windows servers run uninterrupted for so long no one could remember the admin password. But more often memory leaks and the "weekly update" (replacing last weeks bugs with this weeks) is the culprit.
Yes, it really is sad how often you have to reboot for updates if you want to keep your system current. Mind you, it's better to have the fixes then to not have them (maybe). I rebooted my servers about once every month at my old place... which is not that bad.
With that said, in my experience, Oracle on Windows is a major pain. It takes me much longer to do anything. Once you get proficient with a CLI like the bash shell, the Windows GUI can't compare.Agreed. One of my many complaints about Windows is the poor excuse of a shell processor. I'm pretty proficient in command line scripting, but still cringe when I have to do it. Practically every line of code I write for a command script is accompanied by the remark "this is so lame compared to what I could do with a shell script". Same for vi vs. notepad. But my real problem is the memory leaks and the registry. I'm fairly comfortable hacking certain areas of the registry, but the need to and the arcane linkages between different areas of the registry and how they influence 'process environment' remains a mystery to all but a tiny minority of admins. Compare to *nix where everything is well documented and "knowable".
One (of many) anecdotal experiences, this with my personal Win7 laptop. One time it crashed and refused to reboot. A bit of a google search turned up some arcane keystroke sequence to put it into some sort of recovery mode on bootup .. similar to getting into the bios, but the keystroke sequence was much more complex .. it may have involved standing on one foot while entering the sequence. Anyway, it entered a recovery process I've never seen before or since and repaired everything. My first thought was "hey, that was pretty cool." Then my second thought was 'but only Windows would need such a facility.
Bottom line? To paraphrase a famous Tom Hanks character, "My momma always said Windows was like a box of chocolates. You never know just what you'll get."Haha... I like that one. Yes, the registry is definitely horrible. It's amazing to me that a single point of failure was Microsoft's answer to INI files.
I think Windows and nix have their places. Server work definitely seems more productive to me in a nix environment, but I think I'd jump off a cliff if I had to use it as my desktop environment day-in-day-out. The other problem is application lock-down; I can't blame the OS for that, but it's a reality... and using virtualization to run those applications seems to defeat the point to me. -
Oracle using 99% of processor, ORA-00020
We have an Oracle database serving data to a php application at a customer location running under
Apache.
Apache and php are on one MSW2k box, Oracle on a second. All is behind a firewall, also
MSW2k.
Every now and then (one to three months), the site slows to a crawl. The logs show us the
dreaded ORA-00020 error.
Unfortunately, the customer can't wait for us to go analyze things, so they re-boot Oracle.
(We are working on ways to get access to the logs.) So we set the same app up locally,
and let it run. We have all the services combined on one box here.
Every now and then (after a few weeks or a month) the test server cuts loose, and Oracle
hits 99% of processor utilization in the Task Manager. We don't hear the sound of thrashing
swap space on the hard disk, but everything slows down a bit. The site still runs, but at 56K
modem speeds on an ethernet LAN. We do not get the ORA-00020 error here, however.
(The test box is a wimp, a 267MHz 128MB Pentium with about 12GB Hard disk, 3 1/2G on the
boot partition.)
Today, I noticed that the server had six php processes that we could not kill. We tried to shut
down Apache and Oracle, but still couldn't kill the zombie php processes.
I've asked around elsewhere, and the common consensus is that we can probably tune the
process limit and maybe some other stuff, but that there is no reason to be surprised at having
to re-boot Oracle from time to time. (Not to mention MSWindows.)
It would be nice to have some pointers where to look, but if Oracle just has this habit, that
would also be nice to be able to confirm.Thanks for the response, Justin. I have a few questions --
I've never heard anyone advise that a production Oracle server be rebooted periodically as a preventative measure.
Other than installing patchsets or the occasional change to the init.ora file, I can't think of a reason to take an
Oracle server down.Under what OS?
And I don't want to sound like I'm doubting you, but is this experience or theory?
(In other words, if you're claiming experience, it becomes easier to chalk the other guys's claims up to bad
programming practice or to using buggy apps. But then it becomes more necessary to assume that our
program is doing something like leaving connections open somewhere.)I've dealt with Oracle databases on HP-UX, Windows, and Solaris. Most of the production servers have been HP-UX or Solaris, though. I know that our current production database (HP-UX) doesn't go down other than to install a new patchset or to roll out a major new version of the application (the latter isn't strictly necessary, it's more for our sanity so we can test that everything works before letting customers bang on the database).
The fact that you had 6 non-killable php processes concerns me. Me too. That's one of the things I'm trying to check on. Wish I could have thrown them into a debugger and
done a stack trace on them before we re-booted the durn thing. Or even forced a core dump. I don't have
enough experience with MSWindows to know how to try to grab a process and see where it came from and
what it's doing.
If the PHP server/ plug-in (I'm not particularly
familiar with PHP) is leaving zombie processes around, that could eventually generate an ORA-00020, assuming
the processes still are attached to the server. I would address this question to a PHP forum somewhere-- I'm not
sure whether it's standard practise there to reboot the web server/ PHP process or whether there's a way to
eliminate these processes.If it were *NIX, I could log on as root and use extreme prejudice. There's something to plug into google -- killing php
processes on MSWindows.Is there a reason that you can't try deploying Apache & PHP on a linux box? Sounds like you're more of a Unix guy, and Apache & PHP were basically developed on Linux. It's possible that there are some bugs in the Windows ports that weren't there in the Linux versions.
When the Oracle server is at 99% CPU and not thrashing disk, are you sure that it's not doing something? Certain
complex queries, for example, could easily put the CPU to 99% for a while, particularly on such a puny box.Well, this one had been pegged at 99% solid for eight days when we finally took it down, including over a six-day
weekend, when there definitely was no one around to be running tests or anything. When this happens, did you take a look at the SQL that the database thought it was executing?
The idea behind using the puny
box was the hope that it would be easier to force our app to do whatever it's doing on location, but we may be
shooting ourselves in the foot with a box that simply misbehaves for other reasons before it can duplicate the bug
we're trying to squash.Was the O/S re-installed on this box before you set up your application? I know that when I get a puny box at work, it's usually been through a dozen hands recently and is pretty, well, crufty.
I've read of things like the listener leaving zombies as the result of DOS attacks, and that's something else
we'll have to check.That's definitely something to look at-- I haven't heard of that before, but it sounds plausible.
Justin -
Oracle Database 10g R2 on Solaris 10
Dear all.
Next week I'll have a job which is to install Oracle Database 10g and configure it on Solaris 10 Operating System. I'd like to know if some of you could give some suggestions or best practices (SGA, PGA, Processes, etc.) for that installation. The hardware has 32Gb memory and 4 dual core processors. The O.S. is already prepared to receive Oracle installation.
Thanks a lot.baskar.l wrote:
Steve,
Is that the below sentence meant that 10 connections from user A will be considered as one connection by oracle?
As far as oracle is concerned, 10 connections by user 'A' is the same as one connection each by users 'A' through 'J'thanks,
baskar.lNo. It means the load is the same. 10 connections is 10 connections, whether they are all by one user account or by 10 separate user accounts. It's still 10 separate connections and the load is the same and oracle doesn't care.
Try it for yourself. Set up 10 user accounts. Call them USER01 through USER10. Fire up 10 separate sqlplus sessions (you can do this from your windows desktop with 10 separate cmd windows) and log on with a different userid in each one. The query v$sessions. Then go back through your 10 sqlplus sessions and reconnect with the same user name in each - use USER01 in all 10 of the sessions. Then query v$sessions again.
Edited by: EdStevens on Oct 18, 2009 10:54 PM
Maybe you are looking for
-
Adobe Premiere Pro CC 2014 compatible with Nvidia 970 GTX?
Good afternoon. I'm an owner of a GIGABYTE Nvidia 660 GTX Ti OC 2GB. The card is detected by Adobe Premiere Pro CC 2014 (Even though,i think,it said that it's not listed or something but will work under my own risk..Is there a way to check if it's ce
-
How change standard field lable in alv grid display
Hi Experts, How are you doing! I am having some doubts in the alv grid display, I am new to this concepts. I want to display field lable manually, actually its taking from table field discription but I want to display one field name manually. ex
-
Report that show FI-allocation different with CO-allocation
Dear Guru: I run FI-allocation with change the profit center amount this not effect CO-allocation. any report in standard that show different with CO-allocation in profit center. or any table that I can do abap repor t myself.
-
XI Integration builder Payload confidentiality
Hi, We have implemented message payload security in SAP XI 3.0 (netweaver 2004 SP 18). What I mean by that is that we have implemented controls so that application support from application A can only see payloads of application A in the system (heade
-
Configuring LDAP authentication
I've configured my weblogic 6.0 server to use LDAP authentication. The LDAP server is NDS. Using the wl console, I can see users and groups from the LDAP server. I then added security constraints to my war file (in web.xml and weblogic.xml (see attac