Oracle's 8.1.7.4 memory in WINNT4
Hi,
I want to know, how oracle allocate its memory , because in my database, the SGA is like this
Total System Global Area 1083709468 bytes
Fixed Size 75804 bytes
Variable Size 820170752 bytes
Database Buffers 262144000 bytes
Redo Buffers 1318912 bytes
But in the analyzer of performance it's just uses 478552k of memory.
Is the configuration in my init parameter not optimal?
OS:Pentium III, RAM 1Go, Oracle 8.1.7.4
Regards.
Tovohery
check the following link for Tuning Oracle on Windows NT;
http://www.mga.com.au/seminars/nt.asp
Similar Messages
-
ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exi
Hi all,
suddenly our oracle 10g database stopped working. When we tried export the database following was the output
C:\Documents and Settings\Administrator>EXP PMIS/PMIS FILE=C:\PMIS.DMP
Export: Release 10.2.0.1.0 - Production on Wed Mar 25 16:15:08 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
EXP-00056: ORACLE error 1034 encountered
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
EXP-00005: all allowable logon attempts failed
EXP-00000: Export terminated unsuccessfullyalert log file had the output as
Wed Mar 25 16:02:12 2009
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Picked latch-free SCN scheme 2
Using LOG_ARCHIVE_DEST_10 parameter default value as USE_DB_RECOVERY_FILE_DEST
Autotune of undo retention is turned on.
IMODE=BR
ILAT =10
LICENSE_MAX_USERS = 0
SYS auditing is disabled
ksdpec: called for event 13740 prior to event group initialization
Starting up ORACLE RDBMS Version: 10.2.0.1.0.
System parameters with non-default values:>sessions = 49
>__shared_pool_size = 71303168
>__large_pool_size = 8388608
>__java_pool_size = 4194304
>__streams_pool_size = 0
>spfile = C:\ORACLEXE\APP\ORACLE\PRODUCT\10.2.0\SERVER\DBS\SPFILEXE.ORA
>sga_target = 146800640
>control_files = C:\ORACLEXE\ORADATA\XE\CONTROL.DBF
>__db_cache_size = 58720256
>compatible = 10.2.0.1.0
>db_recovery_file_dest = C:\oraclexe\app\oracle\flash_recovery_area
>db_recovery_file_dest_size= 10737418240
>undo_management = AUTO
>undo_tablespace = UNDO
>remote_login_passwordfile= EXCLUSIVE
>dispatchers = (PROTOCOL=TCP) (SERVICE=XEXDB)
>shared_servers = 4
>job_queue_processes = 4
>audit_file_dest = C:\ORACLEXE\APP\ORACLE\ADMIN\XE\ADUMP
>background_dump_dest = C:\ORACLEXE\APP\ORACLE\ADMIN\XE\BDUMP
>user_dump_dest = C:\ORACLEXE\APP\ORACLE\ADMIN\XE\UDUMP
>core_dump_dest = C:\ORACLEXE\APP\ORACLE\ADMIN\XE\CDUMP
>db_name = XE
>open_cursors = 300
>os_authent_prefix =
>pga_aggregate_target = 41943040
PMON started with pid=2, OS id=1632
PSP0 started with pid=3, OS id=1312
MMAN started with pid=4, OS id=200
DBW0 started with pid=5, OS id=1864
LGWR started with pid=6, OS id=188
CKPT started with pid=7, OS id=1328
SMON started with pid=8, OS id=1848
RECO started with pid=9, OS id=1760
CJQ0 started with pid=10, OS id=1920
MMON started with pid=11, OS id=768
MMNL started with pid=12, OS id=948
Wed Mar 25 16:02:13 2009
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
starting up 4 shared server(s) ...
Oracle Data Guard is not available in this edition of Oracle.
Wed Mar 25 16:02:13 2009
alter database mount exclusive
Wed Mar 25 16:02:17 2009
Setting recovery target incarnation to 2
Wed Mar 25 16:02:17 2009
Successful mount of redo thread 1, with mount id 2563569989
Wed Mar 25 16:02:17 2009
Database mounted in Exclusive Mode
Completed: alter database mount exclusive
Wed Mar 25 16:02:17 2009
alter database open
Wed Mar 25 16:02:18 2009
Errors in file c:\oraclexe\app\oracle\admin\xe\bdump\xe_lgwr_188.trc:
ORA-00600: internal error code, arguments: [3700], [1], [15], [2], [2], [], [], []
Wed Mar 25 16:02:18 2009
Errors in file c:\oraclexe\app\oracle\admin\xe\bdump\xe_lgwr_188.trc:
ORA-00600: internal error code, arguments: [3700], [1], [15], [2], [2], [], [], []
Wed Mar 25 16:02:18 2009
LGWR: terminating instance due to error 470
Wed Mar 25 16:02:19 2009
Errors in file c:\oraclexe\app\oracle\admin\xe\bdump\xe_dbw0_1864.trc:
ORA-00470: LGWR process terminated with error
Wed Mar 25 16:02:19 2009
Errors in file c:\oraclexe\app\oracle\admin\xe\bdump\xe_ckpt_1328.trc:
ORA-00470: LGWR process terminated with error
Wed Mar 25 16:02:19 2009
Errors in file c:\oraclexe\app\oracle\admin\xe\bdump\xe_psp0_1312.trc:
ORA-00470: LGWR process terminated with error
Wed Mar 25 16:02:19 2009
Errors in file c:\oraclexe\app\oracle\admin\xe\bdump\xe_mman_200.trc:
ORA-00470: LGWR process terminated with error
Wed Mar 25 16:02:19 2009
Errors in file c:\oraclexe\app\oracle\admin\xe\bdump\xe_pmon_1632.trc:
ORA-00470: LGWR process terminated with error
Wed Mar 25 16:02:19 2009
Errors in file c:\oraclexe\app\oracle\admin\xe\bdump\xe_reco_1760.trc:
ORA-00470: LGWR process terminated with error
Wed Mar 25 16:02:19 2009
Errors in file c:\oraclexe\app\oracle\admin\xe\bdump\xe_smon_1848.trc:
ORA-00470: LGWR process terminated with error
Instance terminated by LGWR, pid = 188Again when we tried by connecting sqlplus following was output
SQL> connect sys/manager as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 146800640 bytes
Fixed Size 1286220 bytes
Variable Size 83890100 bytes
Database Buffers 58720256 bytes
Redo Buffers 2904064 bytes
Database mounted.
ORA-03113: end-of-file on communication channelWe actually need database dump for user PMIS, any help would be highly appreciatedHi Wim
You should say that "It may be Control File problem", but you shouldn't say that "it's due to Control File" problem
Please refer to Errors Documentation for more information on ORA-00600
http://download.oracle.com/docs/cd/B19306_01/server.102/b14219/e0.htm#sthref371
ORA-00600: internal error code, arguments: [string], [string], [string], [string], [string], [string], [string], [string]
Cause: This is the generic internal error number for Oracle program exceptions. This indicates that a process has encountered an exceptional condition.
Action: Report as a bug - the first argument is the internal error number
Kamran Agayev A. (10g OCP)
http://kamranagayev.wordpress.com -
Oracle Error 'ORA-27102: out of memory' - Shared memory parameters correct.
Advice please!
We’ve recently shut down our Oracle test server in order to increase file system capacity. When we rebooted some of the databases wouldn’t start up. It started the first 4 instances and then errored out saying “ORA-27102: out of memory“.
I’m pretty sure it’s nothing to do with the file system because we actually reverted back to the old file system and the databases still wouldn’t start. I think it’s more likely that something’s gone awry whilst the databases were actually running, and the problem has only manifested itself once we stopped and restarted them.
I have researched the error and forud this artical and similar: http://var-adm.blogspot.co.uk/2013/04/adjust-solaris-10-shared-memory-to.html
Everything suggests that Oracle is trying to create a larger shared memory segment than is allowed. The thing is, we’ve never changed our shared memory settings, and one minute it was working, the next it isn’t. To confirm this I checked the shared memory, which is as follows:
sswift4# prctl -n project.max-shm-memory $$
process: 926: bash
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory
privileged 7.64GB - deny -
system 16.0EB max deny -
As suggested in the above article, I checked the alert log and found the ‘WARNING: EINVAL’ message which is as follows:
WARNING: EINVAL creating segment of size 0x000000005e002000
Converting this to decimal, it’s trying to create something of 1.5 GB, well within the shared memory settings, which suggests that this isn’t the problem.
We are running Oracle 10g and 11g on Solaris 10 Sparc. The error does not seem to be instance specific, we have 8 instances on this box all with SGA max of 2000m. The server has 32GB of memory available.
Any advice would be helpful.
Thanks in advance.
DebsThanks for your quick responses - we have now resolved the issue.
The shared memory value was set on the command line but not saved.
Therefore once we rebooted it lost the configuration. this has been altered by our UNIX admin and all DBs have started without issue.
Thanks
Debs -
Oracle BPM installed Java out-of-memory exception
Hi,
I have installed the oracle BPM software in the server have the Ram capacity 8 GB,Could you please suggest some of the do's and don't's to avoid the Java out-of-memory exception which normally appearing on the console of weblogic server.
My Server details,
Windows 2008 R2 64 bit, RAM 8 GB,
The required BPM s/w I installed from the link below,
http://www.oracle.com/technetwork/middleware/bpm/downloads/index.html?ssSourceSiteId=ocomen
Thanks in advance for your help.
Regards,
Shyam
Edited by: user13821489 on 06-Feb-2011 22:45I had to increase JVM xmx/maxperm in the "set*Env.sh" scripts in the directory where you start WLS. In my dev environment, deploying BAM & BPM together with the Admin server, I finally allocated 4GB max. Jdev.conf is also better if you allocate > 1GB - mine is 1.4GB. I also watch process memory. Multiple re-deployments in my development environment seem to increase the memory, even if I remove process instances and undeploy first. I don't understand the internals very well so perhaps it is behaving correctly, but restarting WLS frees the unused memory that I expected gc to reclaim.
-
Oracle 10g, how to determine allocated memory is healthy or sufficient.
Hi Guys,
I have a 10.2.0.5 production database.
Currently my server has 8GB physical RAM.
3GB is allocated to the SGA and 1GB to the PGA.
Let's say one day there is a requirement from application (eg, weblogic) to increase connection pool from 20 to 50.
How are we able to know whether the memory allocated is sufficient for existing load and also the increased load?
CPU is quite straightfoward as we can generate out the cpu utilization. If utilization is low, i supposed is quite safe to increase the connection.
Kindly share ur experiences tackling such situation.
thanksChewy wrote:
Hi Guys,
I have a 10.2.0.5 production database.
Currently my server has 8GB physical RAM.
3GB is allocated to the SGA and 1GB to the PGA.
Let's say one day there is a requirement from application (eg, weblogic) to increase connection pool from 20 to 50.
How are we able to know whether the memory allocated is sufficient for existing load and also the increased load?
CPU is quite straightfoward as we can generate out the cpu utilization. If utilization is low, i supposed is quite safe to increase the connection.
Kindly share ur experiences tackling such situation.
thankswhat OS name & version?
is OS 32 or 64 bit?
is Oracle 32 or 64 bit?
How do you know the current RAM allocation is adequate or optimal? -
Oracle Instances Processes consuming too much memory
Will somebody be able to guide me with the factors that are causing too much memory consumption when a single Oracle.exe instance is started ? Due to this problem it is not possible to run 2 instances at the same time.
Oracle is running on Windows NT 4.0 SP6.
Oracle version 8.1.6.0.0
Currently we have 512MBytes of ram.(4.83G free space)
One of the Instance consumes as much as 178,320K of Ram,
another consumes about 138,000KOracle consumes as much memory as you want, but more memory is faster.
Review your init.ora (db_block_buffer y shared_pool_size)
(It4s posible to run 10 instances in a machine with just 1 Gigabyte and they work fine. It depends on the use of the databases, the number of users, just for production or development, etc, ...). -
Oracle 11g problem with creating shared memory segments
Hi, i'm having some problems with the oracle listener, when i'm trying to start it or reload it I get the follow error massages:
TNS-01114: LSNRCTL could not perform local OS authentication with the listener
TNS-01115: OS error 28 creating shared memory segment of 129 bytes with key 2969090421
My system is a: SunOS db1-oracle 5.10 Generic_144489-06 i86pc i386 i86pc (Total 64GB RAM)
Current SGA is set to:
Total System Global Area 5344731136 bytes
Fixed Size 2233536 bytes
Variable Size 2919238464 bytes
Database Buffers 2399141888 bytes
Redo Buffers 24117248 bytes
prctl -n project.max-shm-memory -i process $$
process: 21735: -bash
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory
privileged 64.0GB - deny
I've seen that a solution might be "Make sure that system resources like shared memory and heap memory are available for LSNRCTL tool to execute properly."
I'm not exactly sure how to check that there is enough resources?
I've also seen a solution stating:
"Try adjusting the system-imposed limits such as the maximum number of allowed shared memory segments, or their maximum and minimum sizes. In other cases, resources need to be freed up first for the operation to succeed."
I've tried to modify the "max-sem-ids" parameter and set it to recommended 256 without any success and i've kind of run out of options what the error can be?
/RegardsI see, I do have the max-shm-ids quite high already so it shouldn't be a problem?
user.oracle:100::oracle::process.max-file-descriptor=(priv,4096,deny);
process.max-stack-size=(priv,33554432,deny);
project.max-shm-memory=(priv,68719476736,deny) -
Oracle Failed to Start Due to Memory Issues
Hello to all, i have edit the memory usage limit to too low where oracle database cannot be start right now.
I try to edit the spfile.ora and restart the machine to see whether the database is up or not but has no luck.
The listener is up.
When i try to use the database control from web page, it display recovery step.
Anyone please teach me how to rescue this situation ?
Please help.
Thanks.
Thanks.sb92075 wrote:
Handle: peterwkc
Status Level: Newbie
Registered: Dec 12, 2010
Total Posts: 32
Total Questions: 8 (5 unresolved)
So many questions & so few answers.
We only know what you post & you provide NO useful details.
We do not know OS name or version.
We do not know Oracle vesion (to FOUR decimal places)
I don't know what you have.
I don't know what you do.
I don't know what you see.
It is really, Really, REALLY difficult to fix a problem that can not be seen.
use COPY & PASTE so we can see what you do & how Oracle responds.OS Name : Window Xp Professional
Oracle Version : Oracle 11g release 2
I using the oracle enterprise manager database control to lower down the memory usage in the session and sp file until the oracle database cannot be start.
Therefore, i tried to edit the server initialization parameter (spfile) but that does not help.
Therefore, i looking for solution to recover my situation.
I will paste my spfile here once i back to home.
Thanks.
Thanks. -
New to Oracle - could really use help with memory configuration
I'm new to Oracle and am assuming the support role on a system that is using Oracle 8.1.7 as the database server and need help with memory configuration.
The server is being used with FileNet and we're having issues while trying to purge logs (purge never completes) and the disk drive activity LED is on almost solid. My guess is is that it's not using enough/doesn't have enough memory therefore constantly reading off the disk and going too slow to finish the purge between nightly backups in which the database service is stopped.
The server is running on Windows 2000 Server SP4, has 1G of RAM and is dual-Xeon processor.
Any help or starting point references would be greatly appreciated.Hi ...
You can use a StatsPack for guess the best distribution memory with your DB needs.
See metalink Note:228913.1
Regards -
Oracle not Available, Shared Memory realm doesn't exist
Hi,
I have problem during XE installation on Windows 2003 R2 SP 2 Enterprise edition. I have uninstall the oracle xe and the result still the same. Finally I uninstall the windows and start all over again, surprisingly the result still the same. FYI, we normally has no issue during installation because this is part of our system we sell to our customer which require oracle xe. This is the first time we have seen this issue.
ORA-01034 : Oracle Not available
ORA-27101 : Shared memory realm doesn't exist.
Oracle XE and listener services is started in the windows services.
if we try to do startup the following message occured.
SQL> connect /as sysdba
Connected to an idle instance.
SQL> startup
ORA-44412: XE edition memory parameter invalid or not specified
SQL>
I can send you the oracle_xe log, init ora, and OpsBuildAll.log to create the database.
When we compare with the working installation, we saw that the size of oraclexe folder is less, it's just 233MB while the working one is over 1GB. After investigation, found out that the .dbf files is not avaiable in the oradata folder, i have tried to copy those files from the working one but the problem stay the same, probably there are a lot of files more missing.
Appreciate your help on this.
Thanks,
AgusHi,
Please find the log below
SQL> startup nomount pfile="C:\oraclexe\app\oracle\product\10.2.0\server\config\scripts\init.ora";
ORA-44412: XE edition memory parameter invalid or not specified
SQL> @C:\oraclexe\app\oracle\product\10.2.0\server\config\scripts\rmanRestoreDatafiles.sql;
SQL> set echo off;
select TO_CHAR(systimestamp,'YYYYMMDD HH:MI:SS') from dual
ERROR at line 1:
ORA-01034: ORACLE not available
declare
ERROR at line 1:
ORA-01034: ORACLE not available
select TO_CHAR(systimestamp,'YYYYMMDD HH:MI:SS') from dual
ERROR at line 1:
ORA-01034: ORACLE not available
Connected to an idle instance.
SQL> spool C:\oraclexe\app\oracle\product\10.2.0\server\config\log\cloneDBCreation.log
I have css log as well if you are interesting to see.
Dump file c:\oraclexe\app\oracle\admin\xe\bdump\alert_xe.log
Tue Mar 20 14:13:29 2012
ORACLE V10.2.0.1.0 - Production vsnsta=0
vsnsql=14 vsnxtr=3
Windows NT Version V5.2 Service Pack 2
CPU : 24 - type 586, 2 Physical Cores
Process Affinity : 0x00000000
Memory (Avail/Total): Ph:5308M/6133M, Ph+PgF:7152M/8000M, VA:1933M/2047M
Tue Mar 20 14:13:29 2012
Starting ORACLE instance (normal)
Tue Mar 20 14:13:30 2012
Starting ORACLE instance (normal)
Tue Mar 20 14:13:31 2012
Starting ORACLE instance (normal)
Dump file c:\oraclexe\app\oracle\admin\xe\bdump\alert_xe.log
Tue Mar 20 19:43:31 2012
ORACLE V10.2.0.1.0 - Production vsnsta=0
vsnsql=14 vsnxtr=3
Windows NT Version V5.2 Service Pack 2
CPU : 24 - type 586, 2 Physical Cores
Process Affinity : 0x00000000
Memory (Avail/Total): Ph:5351M/6133M, Ph+PgF:7150M/8000M, VA:1932M/2047M
Tue Mar 20 19:43:31 2012
Starting ORACLE instance (normal)
Dump file c:\oraclexe\app\oracle\admin\xe\bdump\alert_xe.log
Tue Mar 20 19:55:39 2012
ORACLE V10.2.0.1.0 - Production vsnsta=0
vsnsql=14 vsnxtr=3
Windows NT Version V5.2 Service Pack 2
CPU : 24 - type 586, 2 Physical Cores
Process Affinity : 0x00000000
Memory (Avail/Total): Ph:5254M/6133M, Ph+PgF:7052M/8000M, VA:1932M/2047M
Tue Mar 20 19:55:39 2012
Starting ORACLE instance (normal)
Dump file c:\oraclexe\app\oracle\admin\xe\bdump\alert_xe.log
Wed Mar 21 05:23:41 2012
ORACLE V10.2.0.1.0 - Production vsnsta=0
vsnsql=14 vsnxtr=3
Windows NT Version V5.2 Service Pack 2
CPU : 24 - type 586, 2 Physical Cores
Process Affinity : 0x00000000
Memory (Avail/Total): Ph:5259M/6133M, Ph+PgF:6894M/8000M, VA:1932M/2047M
Wed Mar 21 05:23:41 2012
Starting ORACLE instance (normal)
Wed Mar 21 05:29:12 2012
Starting ORACLE instance (normal)
Wed Mar 21 05:31:42 2012
Starting ORACLE instance (normal)
Dump file c:\oraclexe\app\oracle\admin\xe\bdump\alert_xe.log
Wed Mar 21 05:50:45 2012
ORACLE V10.2.0.1.0 - Production vsnsta=0
vsnsql=14 vsnxtr=3
Windows NT Version V5.2 Service Pack 2
CPU : 24 - type 586, 2 Physical Cores
Process Affinity : 0x00000000
Memory (Avail/Total): Ph:5143M/6133M, Ph+PgF:6768M/8000M, VA:1932M/2047M
Wed Mar 21 05:50:45 2012
Starting ORACLE instance (normal)
Wed Mar 21 06:02:38 2012
Starting ORACLE instance (normal)
Dump file c:\oraclexe\app\oracle\admin\xe\bdump\alert_xe.log
Wed Mar 21 06:04:03 2012
ORACLE V10.2.0.1.0 - Production vsnsta=0
vsnsql=14 vsnxtr=3
Windows NT Version V5.2 Service Pack 2
CPU : 24 - type 586, 2 Physical Cores
Process Affinity : 0x00000000
Memory (Avail/Total): Ph:5205M/6133M, Ph+PgF:6866M/8000M, VA:1944M/2047M
Wed Mar 21 06:04:03 2012
Starting ORACLE instance (normal)
Dump file c:\oraclexe\app\oracle\admin\xe\bdump\alert_xe.log
Wed Mar 21 06:06:00 2012
ORACLE V10.2.0.1.0 - Production vsnsta=0
vsnsql=14 vsnxtr=3
Windows NT Version V5.2 Service Pack 2
CPU : 24 - type 586, 2 Physical Cores
Process Affinity : 0x00000000
Memory (Avail/Total): Ph:5195M/6133M, Ph+PgF:6837M/8000M, VA:1944M/2047M
Wed Mar 21 06:06:00 2012
Starting ORACLE instance (normal)
Dump file c:\oraclexe\app\oracle\admin\xe\bdump\alert_xe.log
Wed Mar 21 06:06:11 2012
ORACLE V10.2.0.1.0 - Production vsnsta=0
vsnsql=14 vsnxtr=3
Windows NT Version V5.2 Service Pack 2
CPU : 24 - type 586, 2 Physical Cores
Process Affinity : 0x00000000
Memory (Avail/Total): Ph:5195M/6133M, Ph+PgF:6836M/8000M, VA:1944M/2047M
Wed Mar 21 06:06:11 2012
Starting ORACLE instance (normal)
Dump file c:\oraclexe\app\oracle\admin\xe\bdump\alert_xe.log
Wed Mar 21 06:06:40 2012
ORACLE V10.2.0.1.0 - Production vsnsta=0
vsnsql=14 vsnxtr=3
Windows NT Version V5.2 Service Pack 2
CPU : 24 - type 586, 2 Physical Cores
Process Affinity : 0x00000000
Memory (Avail/Total): Ph:5191M/6133M, Ph+PgF:6832M/8000M, VA:1944M/2047M
Wed Mar 21 06:06:40 2012
Starting ORACLE instance (normal)
Dump file c:\oraclexe\app\oracle\admin\xe\bdump\alert_xe.log
Wed Mar 21 06:07:18 2012
ORACLE V10.2.0.1.0 - Production vsnsta=0
vsnsql=14 vsnxtr=3
Windows NT Version V5.2 Service Pack 2
CPU : 24 - type 586, 2 Physical Cores
Process Affinity : 0x00000000
Memory (Avail/Total): Ph:5191M/6133M, Ph+PgF:6831M/8000M, VA:1932M/2047M
Wed Mar 21 06:07:18 2012
Starting ORACLE instance (normal)
Wed Mar 21 06:07:38 2012
Shutting down instance (abort)
Wed Mar 21 06:07:51 2012
Starting ORACLE instance (normal)
Wed Mar 21 06:13:31 2012
Starting ORACLE instance (normal)
I have finished installing the XE on windows but result is the same, dbf file is not created on oradata folder.
Thanks,
Agus -
"In-Memory Database Cache" option for Oracle 10g Enterprise Edition
Hi,
In one of our applications, we are using TimesTen 5.1.24 and Oracle 9i
databases (platform - Solaris 9i).
TimesTen holds application information which needs to be accessed quickly
and Oracle 9i is a master application database.
Now we are looking at an option of migrating from Oracle 9i to Oracle 10g
database. While exploring about Oracle 10g features, came to know about
"In-Memory Database Cache" option for Oracle Enterprise Edition. This made
me to think about using Oracle 10g Enterprise Edition with "In-Memory
Database Cache" option for our application.
Following are the advantages that I could visualize by adopting the
above-mentioned approach:
1. Data reconciliation between Oracle and TimesTen is not required (i.e.
data can be maintained only in Oracle tables and for caching "In-Memory
Database Cache" can be used)
2. Data maintenance is easy and gives one view access to data
I have following queries regarding the above-mentioned solution:
1. What is the difference between "TimesTen In-Memory Database" and
"In-Memory Database Cache" in terms of features and licensing model?
2. Is "In-Memory Database Cache" option integrated with Oracle 10g
installable or a separate installable (i.e. TimesTen installable with only
cache feature)?
3. Is "In-Memory Database Cache" option same as that of "TimesTen Cache
Connect to Oracle" option in TimesTen In-Memory Database?
4. After integrating "In-Memory Database Cache" option with Oracle 10g, data
access will happen only through Oracle sqlplus or OCI calls. Am I right here
in making this statement?
5. Is it possible to cache the result set of a join query in "In-Memory
Database Cache"?
In "Options and Packs" chapter in Oracle documentation
(http://download.oracle.com/docs/cd/B19306_01/license.102/b14199/options.htm
#CIHJJBGA), I encountered the following statement:
"For the purposes of licensing Oracle In-Memory Database Cache, only the
processors on which the TimesTen In-Memory Database component of the
In-Memory Database Cache software is installed and/or running are counted
for the purpose of determining the number of licenses required."
We have servers with the following configuration. Is there a way to get the
count of processors on which the Cache software could be installed and/or
running? Please assist.
Production box with 12 core 2 duo processors (24 cores)
Pre-production box with 8 core 2 duo processors (16 cores)
Development and test box with 2 single chip processors
Development and test box with 4 single chip processors
Development and test box with 6 single chip processors
Thanks & Regards,
VijayHi Vijay,
regarding your questions:
1. What is the difference between "TimesTen In-Memory Database" and
"In-Memory Database Cache" in terms of features and licensing model?
==> Product has just been renamed and integrated better with the Oracle database - Times-Ten == In-Memory-Cache-Database
2. Is "In-Memory Database Cache" option integrated with Oracle 10g
installable or a separate installable (i.e. TimesTen installable with only
cache feature)?
==> Seperate Installation
3. Is "In-Memory Database Cache" option same as that of "TimesTen Cache
Connect to Oracle" option in TimesTen In-Memory Database?
==> Please have a look here: http://www.oracle.com/technology/products/timesten/quickstart/cc_qs_index.html
This explains the differences.
4. After integrating "In-Memory Database Cache" option with Oracle 10g, data
access will happen only through Oracle sqlplus or OCI calls. Am I right here
in making this statement?
==> Please see above mentioned papers
5. Is it possible to cache the result set of a join query in "In-Memory
Database Cache"?
==> Again ... ;-)
Kind regards
Mike -
The danger of memory target in Oracle 11g - request for discussion.
Hello, everyone.
This is not a question, but kind of request for discussion.
I believe that many of you heard something about automatic memory management in Oracle 11g.
The concept is that Oracle manages the target size of SGA and PGA. Yes, believe it or not, all we have to do is just to tell Oracle how much memory it can use.
But I have a big concern on this. The optimizer takes the PGA size into consideration when calculating the cost of sort-related operations.
So what would happen when Oracle dynamically changes the target size of PGA? Following is a simple demonstration of my concern.
UKJA@ukja116> select * from v$version;
BANNER
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
PL/SQL Release 11.1.0.6.0 - Production
CORE 11.1.0.6.0 Production
TNS for 32-bit Windows: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production
-- Configuration
*.memory_target=350m
*.memory_max_target=350m
create table t1(c1 int, c2 char(100));
create table t2(c1 int, c2 char(100));
insert into t1 select level, level from dual connect by level <= 10000;
insert into t2 select level, level from dual connect by level <= 10000;
-- First 10053 trace
alter session set events '10053 trace name context forever, level 1';
select /*+ use_hash(t1 t2) */ count(*)
from t1, t2
where t1.c1 = t2.c1 and t1.c2 = t2.c2
alter session set events '10053 trace name context off';
-- Do aggressive hard parse to make Oracle dynamically change the size of memory segments.
declare
pat1 varchar2(1000);
pat2 varchar2(1000);
va number;
vc sys_refcursor;
vs varchar2(1000);
begin
select ksppstvl into pat1
from sys.xm$ksppi i, sys.xm$ksppcv v -- views for x$ table
where i.indx = v.indx
and i.ksppinm = '__pga_aggregate_target';
for idx in 1 .. 10000000 loop
execute immediate 'select count(*) from t1 where rownum = ' || (idx+1)
into va;
if mod(idx, 1000) = 0 then
sys.dbms_system.ksdwrt(2, idx || 'th execution');
select ksppstvl into pat2
from sys.xm$ksppi i, sys.xm$ksppcv v -- views for x$ table
where i.indx = v.indx
and i.ksppinm = '__pga_aggregate_target';
if pat1 <> pat2 then
sys.dbms_system.ksdwrt(2, 'yep, I got it!');
exit;
end if;
end if;
end loop;
end;
-- As to alert log file,
25000th execution
26000th execution
27000th execution
28000th execution
29000th execution
30000th execution
yep, I got it! <-- the pga target changed with 30000th hard parse
-- Second 10053 trace for same query
alter session set events '10053 trace name context forever, level 1';
select /*+ use_hash(t1 t2) */ count(*)
from t1, t2
where t1.c1 = t2.c1 and t1.c2 = t2.c2
alter session set events '10053 trace name context off';With above test case, I found that
1. Oracle invalidates the query when internal pga aggregate size changes, which is quite natural.
2. With changed pga aggregate size, Oracle recalculates the cost. These are excerpts from the both of the 10053 trace files.
-- First 10053 trace file
PARAMETERS USED BY THE OPTIMIZER
PARAMETERS WITH ALTERED VALUES
Compilation Environment Dump
_smm_max_size = 11468 KB
_smm_px_max_size = 28672 KB
optimizer_use_sql_plan_baselines = false
optimizer_use_invisible_indexes = true
-- Second 10053 trace file
PARAMETERS USED BY THE OPTIMIZER
PARAMETERS WITH ALTERED VALUES
Compilation Environment Dump
_smm_max_size = 13107 KB
_smm_px_max_size = 32768 KB
optimizer_use_sql_plan_baselines = false
optimizer_use_invisible_indexes = true
Bug Fix Control Environment10053 trace file clearly says that Oracle recalculates the cost of the query with the change of internal pga aggregate target size. So, there is a great danger of unexpected plan change while Oracle dynamically controls the memory segments.
I believe that this is a desinged behavior, but the negative side effect is not negligible.
I just like to hear your opinions on this behavior.
Do you think that this is acceptable? Or is this another great feature that nobody wants to use like automatic tuning advisor?
================================
Dion Cho - Oracle Performance Storyteller
http://dioncho.wordpress.com (english)
http://ukja.tistory.com (korean)
================================I made a slight modification with my test case to have mixed workloads of hard parse and logical reads.
*.memory_target=200m
*.memory_max_target=200m
create table t3(c1 int, c2 char(1000));
insert into t3 select level, level from dual connect by level <= 50000;
declare
pat1 varchar2(1000);
pat2 varchar2(1000);
va number;
begin
select ksppstvl into pat1
from sys.xm$ksppi i, sys.xm$ksppcv v
where i.indx = v.indx
and i.ksppinm = '__pga_aggregate_target';
for idx in 1 .. 1000000 loop
-- try many patterns here!
execute immediate 'select count(*) from t3 where 10 = mod('||idx||',10)+1' into va;
if mod(idx, 100) = 0 then
sys.dbms_system.ksdwrt(2, idx || 'th execution');
for p in (select ksppinm, ksppstvl
from sys.xm$ksppi i, sys.xm$ksppcv v
where i.indx = v.indx
and i.ksppinm in ('__shared_pool_size', '__db_cache_size', '__pga_aggregate_target')) loop
sys.dbms_system.ksdwrt(2, p.ksppinm || ' = ' || p.ksppstvl);
end loop;
select ksppstvl into pat2
from sys.xm$ksppi i, sys.xm$ksppcv v
where i.indx = v.indx
and i.ksppinm = '__pga_aggregate_target';
if pat1 <> pat2 then
sys.dbms_system.ksdwrt(2, 'yep, I got it! pat1=' || pat1 ||', pat2='||pat2);
exit;
end if;
end if;
end loop;
end;
/This test case showed expected and reasonable result, like following:
100th execution
__shared_pool_size = 92274688
__db_cache_size = 16777216
__pga_aggregate_target = 83886080
200th execution
__shared_pool_size = 92274688
__db_cache_size = 16777216
__pga_aggregate_target = 83886080
300th execution
__shared_pool_size = 88080384
__db_cache_size = 20971520
__pga_aggregate_target = 83886080
400th execution
__shared_pool_size = 92274688
__db_cache_size = 16777216
__pga_aggregate_target = 83886080
500th execution
__shared_pool_size = 88080384
__db_cache_size = 20971520
__pga_aggregate_target = 83886080
1100th execution
__shared_pool_size = 92274688
__db_cache_size = 20971520
__pga_aggregate_target = 83886080
1200th execution
__shared_pool_size = 92274688
__db_cache_size = 37748736
__pga_aggregate_target = 58720256
yep, I got it! pat1=83886080, pat2=58720256Oracle continued being bounced between shared pool and buffer cache size, and about 1200th execution Oracle suddenly stole some memory from PGA target area to increase db cache size.
(I'm still in dark age on this automatic memory target management of 11g. More research in need!)
I think that this is very clear and natural behavior. I just want to point out that this would result in unwanted catastrophe under special cases, especially with some logic holes and bugs.
================================
Dion Cho - Oracle Performance Storyteller
http://dioncho.wordpress.com (english)
http://ukja.tistory.com (korean)
================================ -
Memory issues with Oracle BPM 10gR3 application
Hello,
We have been running the load test(100 concurrent users) on our web application that is developed using Oracle BPM 10gR3 and seeing stuck threads on rendering the workspace page in JSF API(method createAndMaybeStoreManagedBeans). I copied one of the stuck thread trace below. When we looked at the heap, it's full. GC also not releasing memory. From the analysis, I found that due to the lack of memory the requests are stuck. I also went through the forums and found that Oracle 10.3 workspace is a memory hogger.
Can anyone suggest me the recommendation settings for the workspace?
We don't have clusters setup yet and planning to setup one. Are there any limitations on the user load on workspace per node?
Please let me know if anyone had the same issue and resolved.
Overview of the application:
Most of the web application is running on global interactive activities with screen flows. The process instance size is small. The Engine and workspace are deployed on the same weblogic instance.
"[STUCK] ExecuteThread: '167' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=3 tid=0x068bfc00 nid=0x8f8 waiting for monitor entry [0x4ac7d000]
java.lang.Thread.State: BLOCKED (on object monitor)
at com.sun.faces.application.ApplicationAssociate.createAndMaybeStoreManagedBeans(ApplicationAssociate.java:242)
- waiting to lock <0x7e7df518> (a com.sun.faces.application.ApplicationAssociate)
at com.sun.faces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:78)
at fuego.workspace.application.WorkspaceVariableResolver.resolveVariable(WorkspaceVariableResolver.java:83)
at com.sun.facelets.el.LegacyELContext$LegacyELResolver.getValue(LegacyELContext.java:134)
at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:68)
at com.sun.el.parser.AstEmpty.getValue(AstEmpty.java:49)
at com.sun.el.parser.AstOr.getValue(AstOr.java:41)
at com.sun.el.parser.AstAnd.getValue(AstAnd.java:41)
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:192)
at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
at com.sun.facelets.el.LegacyValueBinding.getValue(LegacyValueBinding.java:56)
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:307)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getChildren(HtmlBasicRenderer.java:460)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:437)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:440)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:440)
at com.sun.faces.renderkit.html_basic.TableRenderer.encodeChildren(TableRenderer.java:257)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:693)
at com.bea.opencontrols.faces.JSFUtility.renderComponent(JSFUtility.java:150)
at com.bea.opencontrols.faces.JSFUtility.renderChildren(JSFUtility.java:126)
at com.bea.opencontrols.faces.JSFUtility.renderComponent(JSFUtility.java:154)
at com.bea.opencontrols.faces.JSFUtility.renderChildren(JSFUtility.java:126)
at com.bea.opencontrols.faces.JSFUtility.renderComponent(JSFUtility.java:154)
at com.bea.opencontrols.faces.JSFUtility.renderChildren(JSFUtility.java:126)
at com.bea.opencontrols.faces.JSFUtility.renderComponent(JSFUtility.java:154)
at com.bea.opencontrols.faces.JSFUtility.renderChildren(JSFUtility.java:126)
at com.bea.opencontrols.faces.JSFUtility.renderComponent(JSFUtility.java:154)
at com.bea.opencontrols.faces.JSFUtility.renderChildren(JSFUtility.java:126)
at com.bea.opencontrols.faces.JSFUtility.renderComponent(JSFUtility.java:154)
at com.bea.opencontrols.faces.JSFUtility.renderChildren(JSFUtility.java:126)
at com.bea.opencontrols.faces.JSFUtility.renderComponent(JSFUtility.java:154)
at com.bea.opencontrols.faces.JSFUtility.renderChildren(JSFUtility.java:126)
at com.bea.opencontrols.faces.JSFUtility.renderComponent(JSFUtility.java:154)
at com.bea.opencontrols.faces.JSFUtility.renderChildren(JSFUtility.java:126)
at com.bea.opencontrols.ajax.XPRefreshRenderer.RenderContents(XPRefreshRenderer.java:69)
at com.bea.opencontrols.XPRenderer.encodeChildren(XPRenderer.java:190)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:693)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:435)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:440)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:440)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:440)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:440)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:440)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:440)
at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:130)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:693)
at com.bea.opencontrols.faces.JSFUtility.renderComponent(JSFUtility.java:150)
at com.bea.opencontrols.faces.JSFUtility.renderChildren(JSFUtility.java:126)
at com.bea.opencontrols.faces.JSFUtility.renderComponent(JSFUtility.java:154)
at com.bea.opencontrols.faces.JSFUtility.renderChildren(JSFUtility.java:126)
at com.bea.opencontrols.ajax.XPRefreshRenderer.RenderContents(XPRefreshRenderer.java:69)
at com.bea.opencontrols.XPRenderer.encodeChildren(XPRenderer.java:190)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:693)
at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:244)
at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:573)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
at fuego.workspace.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:132)
at fuego.workspace.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:76)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at fuego.web.filter.NoCacheNoStoreFilter.doFilter(NoCacheNoStoreFilter.java:39)
at fuego.web.filter.BaseFilter.doFilter(BaseFilter.java:63)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at fuego.web.filter.SingleThreadPerSessionFilter.doFilter(SingleThreadPerSessionFilter.java:64)
at fuego.web.filter.BaseFilter.doFilter(BaseFilter.java:63)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at fuego.web.filter.CharsetFilter.doFilter(CharsetFilter.java:48)
at fuego.web.filter.BaseFilter.doFilter(BaseFilter.java:63)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)Pradeep, It's 4GB. Workspace and engine are running on the same JVM.
-
hi,
anyone ever had the same expierence as me , succeeded in alter system set db_cache_size to a smaller value , and query from v$buffer_pool shows clearly it's in effect now ,
but , somehow , OS memory utiliztion are still as high as before .
anyway to release those memory ?
is it a must to restart the instance ?Are you not using oradism utility ? What is your platform ?
If its sun solaris + 9i, then i have experienced this before if you set SGA_MAX_SIZE parameter. What happens is say your SGA_MAX_SIZE is 4GB and your DB_CACHE_SIZE is 512MB initially. Oracle locks the 4GB into physical memory initially. The oradism utility locks only whats "currently" allocated into physical memory and allocates the rest from swap. -
Memory issue, Oracle 10g in Solaris 10 zone
I know many memory questions have been asked, but I couldn't find any similar to the problem I'm seeing.
Starting from a fresh server boot, I have 12G of available memory, or nearly that anyway. Oracle 10g is installed with no databases created.
After creating a database and running a few sql scripts to create tablespaces and users, my available memory is down to 3.5G.
Rebooting the solaris zone containing Oracle does not restore any available memory. Shutting down the database does not restore any available memory.
Why does Oracle seem to absorb so much available memory and not release it? I created the database from scripts and restricted the overall sga by a good bit over the defaults and while this did reduce the memory the oracle processes use, I'm still seeing this continual absorption of memory to the point where running any imports takes forever because my memory seems to bottom out. I saw it go down (using top, and vmstat) to about 500M at one point.
Is there any utility that I can use, either solaris or sqlplus that will free up system memory?
Message was edited by:
tsmoriAfter creating a database and running a few sql scripts to create tablespaces and users, my available memory is down to 3.5G.
What are your settings fpr SGA_MAX_SIZE, SGA_TARGET and PGA_AGGREGATE_TARGET?
Shutting down the database does not restore any available memory.
Hmm that's really strange. We are running Oracle 9i on Solaris 10 Containers and didn't have any problems with memory leaks.
Dim
Maybe you are looking for
-
How Can I add Credit Card in Deposit by DI API
I´m trying to use DI API to enter with some informations in Deposits(ODPS)... In the help i can see that is a child object from BillOfExchangeTr, and the object is BillOfExchangeTrans_Deposits. But i need enter with some information of Credit Card, a
-
IPhoto crashes when trying to export images
Hi I'm using iPhoto 8.1.2 and have been trying to export some high quality JPEG files from the library. The application has been repeatedly crashing for the past two days and I have tried sending the report to Apple too. Nothing seems to have worked
-
I have 2 tables clean_d(d_name,d_code) <D_CODE COLUMN IS BLANK> dict_d(d_name,dr_code).. d_name is primary key for dict_d table. I have to join the tables on d_name field and update d_code column in clean_d with corresponding dr_code from d
-
Oracle SQL Developer Data Modeler
Hi Guys, Is it possible to generate the data model design with Oracle SQL Developer Data Modeler and save such that other programs can open it? For example visio and how can I achieve that? Thanks
-
Problems to see Flow Trace in production enviroment
Hello, I have any problems to see the process flow trace from production Enterprise Manager but from development environment I can see it correctly Environment informations: · Development environment: Virtual machine in vmware ESXi 4.1 con S.O. Linux