Urgent: ORA-04030 from Routing Conversion Validation Program
Hi, we are running a data conversion program for Oracle Applications which works in the following logic
1. There is a loader program which uses SQLLoader to load 6.6L records from flat files to custom staging table
2. There is a Validation program which validates (for business requirements) records available in the custom staging table. Based on the validation results the program updates the Status field (a column of the table) to ERROR or SUCCESS. This program uses pl/sql table types with bulk insert and bulk update. While we run the program for less number of records it works fine, but when the volume of data is high (6.6L) we get the following exception:
4030ORA-04030: out of process memory when trying to allocate 64544 bytes (sort subheap,sort key)
As an work around we have used "dbms_session.free_unused_user_memory;" statement after every plsql table.DELETE call. But still we get the issue. Can anyone suggest us whats going wrong? If we use of Global Temp Table in place of pl/sql table will it help?
Thanks /Santanu
Hi,
Did you try the suggested solutions in (Note: 233869.1 - Diagnosing and Resolving ORA-4030 errors) and see if it helps?
Regards,
Hussein
Similar Messages
-
Urgent: ORA-04030 from PL/SQL code
Hi, we are running a data conversion program for Oracle Applications which works in the following logic
1. There is a loader program which uses SQLLoader to load 6.6L records from flat files to custom staging table
2. There is a Validation program which validates (for business requirements) records available in the custom staging table. Based on the validation results the program updates the Status field (a column of the table) to ERROR or SUCCESS. This program uses pl/sql table types with bulk insert and bulk update. While we run the program for less number of records it works fine, but when the volume of data is high (6.6L) we get the following exception:
ORA-04030 (out of process memory when trying to allocate ... bytes).
As an work around we have used "dbms_session.free_unused_user_memory;" statement after every plsql table.DELETE call. But still we get the issue. Can anyone suggest us whats going wrong? If we use of Global Temp Table in place of pl/sql table will it help?
Thanks /SantanuDuplicate Thread
Urgent: ORA-04030 from Routing Conversion Validation Program -
We recently migrated our database from 9.2.0.6 to 10.2.0.1
The qurey (hefty one wth about 1000+ parameter list in where clause) runs fine in 9.2.0.6
but returns ORA-04030 Out of process memory Error in 10.2.0.1
I have tried to keep all the init.ora paramters same except in 10.2.0.1 I have enabled dynamic Shared memory management.
Any ideas /clues or advice
Thanks
SunilHere;s the info
O7_DICTIONARY_ACCESSIBILITY = TRUE
audit_file_dest = /opt/oracle/admin/aos2/audit
background_dump_dest = /opt/oracle/admin/aos2/bdump
core_dump_dest = /opt/oracle/admin/aos2/cdump
cursor_sharing = SIMILAR
db_cache_size = 16M
db_file_multiblock_read_count = 64
db_files = 80
db_keep_cache_size = 400M
db_writer_processes = 2
dml_locks = 1000
fast_start_mttr_target = 900
java_pool_size = 0
job_queue_processes = 5
large_pool_size = 32M
lock_sga = TRUE
log_archive_dest = /opt/oracle/admin/aos2/arch
log_archive_format = 'aos_arch_%t_%s_%r.log'
log_buffer = 14306304
log_checkpoint_interval = 10000
log_checkpoint_timeout = 0
max_dump_file_size = 10240
nls_date_format = YYYY/MM/DD
optimizer_features_enable = 9.2.0
optimizer_mode = FIRST_ROWS_10
parallel_max_servers = 24
parallel_min_servers = 2
pre_page_sga = TRUE
query_rewrite_enabled = TRUE
session_cached_cursors = 50
sga_max_size = 1504M
shared_pool_reserved_size = 30M
shared_pool_size = 0
sort_area_retained_size = 1048576
sort_area_size = 5242880
timed_statistics = TRUE
user_dump_dest = /opt/oracle/admin/aos2/udump
workarea_size_policy = AUTO
compatible = 10.0.0.0.0
control_files = ('/opt/oracle/admin/aos2/datafiles/data01/aos2_control01.ctl', '/opt/oracle/admin/aos2/datafiles/data02/aos2_control02.ctl', '/opt/oracle/admin/aos2/datafiles/data03/aos2_control03.ctl')
db_block_size = 8192
db_name = aos2
open_cursors = 1000
pga_aggregate_target = 500M
processes = 400
sga_target = 1104M
undo_management = AUTO -
Setting urgent window hint from C ncurses program
Hi,
I am trying to edit tmsnc to give the urgent window hint when I receive a message. I am using dwm, and I noticed XChat highlights the tag when I get mentioned. The setting for this is 'blink taskbar'.
I' ve been looking through the XChat source, but it's 1.4 megabytes of code, I just can't seem to find it.
Does anyone here know how to replicate this behaviour from a c ncurses program?
ThanksI think ncurses programs need to emit a 'beep' (the '\a' character?) which, if your settings are correct, will cause your terminal application to get the urgent window hint.
-
After an update to firefox I keep getting a warning from my Firewall (McAfee) "Program wants internet access". I have permission set at outgoing for firefox and updates checking off, to check that request is valid so what does it need access for
This was not a Firefox update, but a piece of malicious software you have inadvertently downloaded from a site called http://ffftp.co.cc/ which is impersonating Firefox. I discovered this as soon as my Zonealarm requested permission for "Golds" to access the internet. Golds??!! However I couldn't find a file with this name installed on my computer.
You should delete the file you downloaded and certainly do not allow internet access to any suspicious program. If you have already given permission, scan your PC immediately for any virus, malware, etc. Best of luck. -
Ora-04030 out of process memory
Hai All,
My database is oracle 9i(9.2.0.1.0)in AIX
when I run one query from my oracle developer suite session then 'ora-04030 out of process memory error when trying to allocate 38424 bytes (hash-join subh,klcqc:kllcqslt)'
This same query when I run from sqlplus it works fine.
how this happened ?
Please help...urgent..The problem is in unsufficient memory for a hash join.
The questions are:
- do the explain plans differ, that only one session has this problem
- how do you manage the PGA (auto/manual), what are relevant parameter settings (pga_aggregate_target / hash_area_size etc.)
- do you use shared server - allocation methos differ for this case.
If you use manual pga tuning (or perhaps shared server), then increasing hash_area_size might help. But without relevant info, it's shooting in the dark. -
Flashback : Error:ORA-04030: out of process memory when trying to allocate
Hi All,
I have executed this query on my db for using flash back features:
select * from flashback_transaction_query where table_owner='USERNAME'
However, it throws the error after being executed for 5 min:
ORA-04030: out of process memory when trying to allocate 268 bytes (Logminer LCR c,krvxbpdl)
Please help me in understading the error and provide some links/docs to resolve this.
Thanks,
KishoreThat's the error description:
What does an ORA-4030 mean?
This error indicates that the oracle server process is unable to allocate more memory from the operating system.This memory consists of the PGA (Program Global Area) and its contents depend upon the server configuration.For dedicated server processes it contains the stack and the UGA (User Global Area) which holds user session data, cursor information and the sort area. In a multithreaded configuration (shared server), the UGA is allocated in the SGA (System Global Area) and will not be responsible for ORA-4030 errors.
The ORA-4030 thus indicates the process needs more memory (stack UGA or PGA) to perform its job.
On metalink:
Diagnosing and Resolving ORA-4030 errors
Doc ID: Note:233869.1
Werner -
ORA-04030: out of process memory opening a cursor
Hi,
We are wonking on Oracle 9i dedicated server OLTP.
When a Pro*C process tries to open a big query cursor the ORA-04030 is returned by Oracle. Below is the query plan:
| Id | Operation | Name | Rows | Bytes | Cost |
| 0 | SELECT STATEMENT | | 41 | 4182 | 1038K|
| 1 | SORT UNIQUE | | 41 | 4182 | 1038K|
| 2 | HASH JOIN | | 41 | 4182 | 1038K|
| 3 | VIEW | | 157K| 8002K| 164K|
| 4 | SORT UNIQUE | | 157K| 11M| 162K|
| 5 | HASH JOIN | | 157K| 11M| 160K|
| 6 | VIEW | | 3151K| 126M| 51970 |
| 7 | SORT ORDER BY | | 3151K| 117M| 51970 |
| 8 | TABLE ACCESS FULL | RE_ASNEF | 3151K| 117M| 17637 |
| 9 | VIEW | | 6427K| 208M| 89856 |
| 10 | SORT ORDER BY | | 6427K| 214M| 89856 |
| 11 | HASH JOIN | | 6427K| 214M| 25130 |
| 12 | TABLE ACCESS FULL| TIPO_CLIENTE | 21 | 357 | 2 |
| 13 | TABLE ACCESS FULL| LISTA_CLIENTES | 11M| 204M| 25084 |
| 14 | VIEW | | 12M| 599M| 861K|
| 15 | SORT ORDER BY | | 12M| 695M| 861K|
| 16 | TABLE ACCESS FULL | RECIBOS | 12M| 695M| 670K|
-----------------------------------------------------------------------------We guess that the problem is that the dedicated server process is triying to allocate more memory that allowed by OS per process:
cobros1p:$ ulimit -a
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) 131072
stack(kbytes) 32768
memory(kbytes) 32768 <<<-----
coredump(blocks) 2097151
nofiles(descriptors) 2000OS memory limit can´t be increased, so we guess that one posible solution is to split the query using temporary tables to reduce "hash join/sort" PGA space.
Are we right? Any hint about other possible solutions?
Thanks in advance,
Jose LuisFrom various notes you can find on MOS about 4030:
"Each Operating System will handle memory allocations with Oracle slightly differently."
"The application developer of an Oracle precompiler program or OCI program can explicitly open cursors, or handles to specific private SQL areas, and use them as a named resource throughout the execution of the program. Recursive cursors that Oracle issues implicitly for some SQL statements also use shared SQL areas.
The management of private SQL areas is the responsibility of the user process. The allocation and deallocation of private SQL areas depends largely on which application tool you are using, although the number of private SQL areas that a user process can allocate is always limited by the initialization parameter OPEN_CURSORS. The default value of this parameter is 50.
A private SQL area continues to exist until the corresponding cursor is closed or the statement handle is freed. Although Oracle frees the runtime area after the statement completes, the persistent area remains waiting. Application developers close all open cursors that will not be used again to free the persistent area and to minimize the amount of memory required for users of the application. "
"However, from within the database framework you cannot place a hard limit on the size of a process by setting any initialization parameters or database configuration.
You can limit the size of a process from the OS side by setting kernel limits or user shell limits.
However, this leads to the ORA-4030 and will cause transaction rollback."
You need to have some serious discussions with both your app developers and your OS admins, though if you are running something from the last century, that could be pointless. -
Ora-04030 process out of memory when trying to allocate nn bytes..
Hi,
Again we are facing the same error after increasing pga_aggregate_target from 2G to 3G, the journal import program request finally results in ora-04030 process out of memory when trying to allocate nn bytes.
wiil there be any bugs issue?
DBMS:9.2.0.3
OS :sun sparc 5.10IF possible try to apply last patchset to take your DB to the latest version which should be more reliable and many bugs should be solved.
Do you have free physical memory to use the 3gb?
Hope this helps.
Regards.
FR. -
ORA 04030 Out of process memory error
Dear experts,
I know there are multiple discussions around this error and I have been reading through most of them in the past one week or so, but looks like we are running out of options or are missing the color altogether. Ok, we are getting ORA-04030 - out of process memory while allocating....while one of our batch process runs in the night. It simply tries to insert/update to a table. Our installation is 11.2.0.1.0 with no RAC configuration and on 64-bit AIX having 6 cores, 12 CPUs and 16 GB memory.
We have checked the Workarea_Size_Policy is set to be as Auto so Oracle decides how much memory to allocate to PGA automatically on run-time based on the demand. And based on the AWR report it doesnt look like we are anywhere near the country having a PGA-deficit!! I am attaching the AWR report in a word document here for your reference.
Also attached below are the configurations and the ulimit values.
IKBTRN1> show parameter workarea;
NAME TYPE VALUE
workarea_size_policy string AUTO
oraipeikbtrn1:/home/oracle-> ulimit -a
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) unlimited
stack(kbytes) 4194304
memory(kbytes) unlimited
coredump(blocks) unlimited
nofiles(descriptors) unlimited
threads(per process) unlimited
processes(per user) unlimited
Now, nothing seems to have contributed to the out of process memory issue from Oracle standpoint. I would be happy to be proved wrong here, if I am wrong.
So, whats going wrong here? A possible memory leak which we cannot zero down to, a OS memory limit or something else?
Seeking expert's advise on this, and also sincerely appreciate your time in looking at this.
Thanks.
P.S - I am pasting the whole AWR report since there is no 'upload file' option here that I can see.
WORKLOAD REPOSITORY report for
DB Name DB Id Instance Inst num Startup Time Release RAC
IKBTRN1 54659199 IKBTRN1 1 06-Jun-11 02:06 11.2.0.1.0 NO
Host Name Platform CPUs Cores Sockets Memory (GB)
oraipeikbtrn1.******.com AIX-Based Systems (64-bit) 12 6 16.00
Snap Id Snap Time Sessions Cursors/Session
Begin Snap: 5952 26-Aug-11 03:00:48 34 2.0
End Snap: 5953 26-Aug-11 04:00:52 32 1.9
Elapsed: 60.07 (mins)
DB Time: 1.93 (mins)
Report Summary
Cache Sizes
Begin End
Buffer Cache: 1,056M 704M Std Block Size: 8K
Shared Pool Size: 3,456M 3,456M Log Buffer: 7,184K
Load Profile
Load Profile
Per Second Per Transaction Per Exec Per Call
DB Time(s): 0.0 2.0 0.02 0.02
DB CPU(s): 0.0 0.5 0.00 0.00
Redo size: 556.1 34,554.8
Logical reads: 151.4 9,407.6
Block changes: 1.9 119.8
Physical reads: 14.2 882.6
Physical writes: 9.5 590.4
User calls: 1.8 112.8
Parses: 1.5 93.7
Hard parses: 0.1 8.9
W/A MB processed: -0.1 -6.9
Logons: 0.0 1.6
Executes: 1.9 115.4
Rollbacks: 0.0 0.0
Transactions: 0.0
Instance Efficiency Percentages (Target 100%)
Buffer Nowait %: 100.00 Redo NoWait %: 100.00
Buffer Hit %: 96.63 In-memory Sort %: 99.97
Library Hit %: 95.68 Soft Parse %: 90.49
Execute to Parse %: 18.74 Latch Hit %: 100.00
Parse CPU to Parse Elapsd %: 57.23 % Non-Parse CPU: 86.28
Shared Pool Statistics
Begin End
Memory Usage %: 85.72 85.76
% SQL with executions>1: 93.91 96.66
% Memory for SQL w/exec>1: 89.07 87.04
Top 5 Timed Foreground Events
Event Waits Time(s) Avg wait (ms) % DB time Wait Class
DB CPU 29 24.66
db file scattered read 3,456 17 5 14.92 User I/O
db file sequential read 4,304 17 4 14.77 User I/O
direct path read temp 764 17 22 14.31 User I/O
direct path write temp 259 5 21 4.70 User I/O
Host CPU (CPUs: 12 Cores: 6 Sockets: )
Load Average Begin Load Average End %User %System %WIO %Idle
1.39 1.37 0.2 0.2 0.2 99.6
Instance CPU
%Total CPU %Busy CPU %DB time waiting for CPU (Resource Manager)
0.1 20.5 0.0
Memory Statistics
Begin End
Host Mem (MB): 16,384.0 16,384.0
SGA use (MB): 4,704.0 4,352.0
PGA use (MB): 196.1 188.4
% Host Mem used for SGA+PGA: 29.91 27.71
Main Report
• Report Summary
• Wait Events Statistics
• SQL Statistics
• Instance Activity Statistics
• IO Stats
• Buffer Pool Statistics
• Advisory Statistics
• Wait Statistics
• Undo Statistics
• Latch Statistics
• Segment Statistics
• Dictionary Cache Statistics
• Library Cache Statistics
• Memory Statistics
• Streams Statistics
• Resource Limit Statistics
• Shared Server Statistics
• init.ora Parameters
Back to Top
Wait Events Statistics
• Time Model Statistics
• Operating System Statistics
• Operating System Statistics - Detail
• Foreground Wait Class
• Foreground Wait Events
• Background Wait Events
• Wait Event Histogram
• Wait Event Histogram Detail (64 msec to 2 sec)
• Wait Event Histogram Detail (4 sec to 2 min)
• Wait Event Histogram Detail (4 min to 1 hr)
• Service Statistics
• Service Wait Class Stats
Back to Top
Time Model Statistics
• Total time in database user-calls (DB Time): 115.9s
• Statistics including the word "background" measure background process time, and so do not contribute to the DB time statistic
• Ordered by % or DB time desc, Statistic name
Statistic Name Time (s) % of DB Time
sql execute elapsed time 101.69 87.75
DB CPU 28.58 24.66
parse time elapsed 10.14 8.75
hard parse elapsed time 9.92 8.56
failed parse elapsed time 4.92 4.25
hard parse (sharing criteria) elapsed time 4.27 3.68
connection management call elapsed time 0.42 0.36
PL/SQL compilation elapsed time 0.34 0.30
PL/SQL execution elapsed time 0.18 0.15
sequence load elapsed time 0.00 0.00
repeated bind elapsed time 0.00 0.00
DB time 115.88
background elapsed time 86.01
background cpu time 5.06
Back to Wait Events Statistics
Back to Top
Operating System Statistics
• *TIME statistic values are diffed. All others display actual values. End Value is displayed if different
• ordered by statistic type (CPU Use, Virtual Memory, Hardware Config), Name
Statistic Value End Value
NUM_LCPUS 0
NUM_VCPUS 0
AVG_BUSY_TIME 1,260
AVG_IDLE_TIME 360,705
AVG_IOWAIT_TIME 534
AVG_SYS_TIME 483
AVG_USER_TIME 679
BUSY_TIME 16,405
IDLE_TIME 4,329,811
IOWAIT_TIME 7,284
SYS_TIME 7,092
USER_TIME 9,313
LOAD 1 1
OS_CPU_WAIT_TIME 503,900
PHYSICAL_MEMORY_BYTES 17,179,869,184
NUM_CPUS 12
NUM_CPU_CORES 6
GLOBAL_RECEIVE_SIZE_MAX 1,310,720
GLOBAL_SEND_SIZE_MAX 1,310,720
TCP_RECEIVE_SIZE_DEFAULT 16,384
TCP_RECEIVE_SIZE_MAX 9,223,372,036,854,775,807
TCP_RECEIVE_SIZE_MIN 4,096
TCP_SEND_SIZE_DEFAULT 16,384
TCP_SEND_SIZE_MAX 9,223,372,036,854,775,807
TCP_SEND_SIZE_MIN 4,096
Back to Wait Events Statistics
Back to Top
Operating System Statistics - Detail
Snap Time Load %busy %user %sys %idle %iowait
26-Aug 03:00:48 1.39
26-Aug 04:00:52 1.37 0.38 0.21 0.16 99.62 0.17
Back to Wait Events Statistics
Back to Top
Foreground Wait Class
• s - second, ms - millisecond - 1000th of a second
• ordered by wait time desc, waits desc
• %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
• Captured Time accounts for 78.2% of Total DB time 115.88 (s)
• Total FG Wait Time: 62.08 (s) DB CPU time: 28.58 (s)
Wait Class Waits %Time -outs Total Wait Time (s) Avg wait (ms) %DB time
User I/O 8,949 0 56 6 48.74
DB CPU 29 24.66
System I/O 1,916 0 3 1 2.18
Other 506 88 1 2 0.92
Configuration 2 50 1 500 0.86
Commit 37 0 1 18 0.56
Application 20 0 0 17 0.29
Network 4,792 0 0 0 0.01
Concurrency 1 0 0 0 0.00
Back to Wait Events Statistics
Back to Top
Foreground Wait Events
• s - second, ms - millisecond - 1000th of a second
• Only events with Total Wait Time (s) >= .001 are shown
• ordered by wait time desc, waits desc (idle events last)
• %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
Event Waits %Time -outs Total Wait Time (s) Avg wait (ms) Waits /txn % DB time
db file scattered read 3,456 0 17 5 59.59 14.92
db file sequential read 4,304 0 17 4 74.21 14.77
direct path read temp 764 0 17 22 13.17 14.31
direct path write temp 259 0 5 21 4.47 4.70
control file sequential read 1,916 0 3 1 33.03 2.18
ADR block file read 38 0 1 28 0.66 0.92
log buffer space 2 50 1 500 0.03 0.86
log file sync 37 0 1 18 0.64 0.56
enq: RO - fast object reuse 14 0 0 24 0.24 0.29
local write wait 44 0 0 1 0.76 0.03
SQL*Net message to client 4,772 0 0 0 82.28 0.01
Disk file operations I/O 110 0 0 0 1.90 0.00
ADR block file write 7 0 0 0 0.12 0.00
SQL*Net message from client 4,773 0 15,396 3226 82.29
Streams AQ: waiting for messages in the queue 720 100 3,600 5000 12.41
Back to Wait Events Statistics
Back to Top
Background Wait Events
• ordered by wait time desc, waits desc (idle events last)
• Only events with Total Wait Time (s) >= .001 are shown
• %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
Event Waits %Time -outs Total Wait Time (s) Avg wait (ms) Waits /txn % bg time
control file sequential read 4,950 0 35 7 85.34 40.74
control file parallel write 1,262 0 31 25 21.76 36.46
log file parallel write 383 0 4 10 6.60 4.37
db file parallel write 627 0 2 3 10.81 2.36
change tracking file synchronous read 56 0 2 34 0.97 2.21
os thread startup 17 0 1 88 0.29 1.74
ADR block file read 135 0 1 7 2.33 1.04
change tracking file synchronous write 56 0 1 15 0.97 0.98
SGA: allocation forcing component growth 8 100 1 100 0.14 0.93
db file sequential read 112 0 1 6 1.93 0.75
process diagnostic dump 94 0 0 1 1.62 0.09
ADR block file write 92 0 0 1 1.59 0.07
LGWR wait for redo copy 11 0 0 1 0.19 0.01
log file sync 2 0 0 3 0.03 0.01
ADR file lock 92 22 0 0 1.59 0.01
Parameter File I/O 24 0 0 0 0.41 0.01
direct path write 6 0 0 1 0.10 0.00
Disk file operations I/O 54 0 0 0 0.93 0.00
rdbms ipc message 17,637 97 61,836 3506 304.09
Streams AQ: waiting for time management or cleanup tasks 5 60 11,053 2210602 0.09
DIAG idle wait 7,203 100 7,203 1000 124.19
PX Idle Wait 1,802 100 3,604 2000 31.07
pmon timer 1,212 99 3,603 2973 20.90
Space Manager: slave idle wait 726 99 3,603 4963 12.52
smon timer 12 100 3,600 300004 0.21
Streams AQ: qmn slave idle wait 128 0 3,583 27993 2.21
Streams AQ: qmn coordinator idle wait 256 50 3,583 13996 4.41
SQL*Net message from client 293 0 2 5 5.05
Back to Wait Events Statistics
Back to Top
Wait Event Histogram
• Units for Total Waits column: K is 1000, M is 1000000, G is 1000000000
• % of Waits: value of .0 indicates value was <.05%; value of null is truly 0
• % of Waits: column heading of <=1s is truly <1024ms, >1s is truly >=1024ms
• Ordered by Event (idle events last)
% of Waits
Event Total Waits <1ms <2ms <4ms <8ms <16ms <32ms <=1s >1s
ADR block file read 173 80.3 5.2 2.3 5.8 1.7 4.6
ADR block file write 99 96.0 3.0 1.0
ADR file lock 102 100.0
Disk file operations I/O 165 100.0
LGWR wait for redo copy 11 90.9 9.1
Parameter File I/O 24 100.0
SGA: allocation forcing component growth 8 100.0
SQL*Net break/reset to client 6 100.0
SQL*Net message to client 4992 100.0
SQL*Net more data from client 20 100.0
asynch descriptor resize 541 100.0
change tracking file synchronous read 56 83.9 1.8 14.3
change tracking file synchronous write 56 80.4 7.1 1.8 10.7
control file parallel write 1262 80.3 1.7 .6 .6 .8 1.3 14.7
control file sequential read 6866 94.1 .9 .7 .7 .3 .4 2.9
db file parallel write 628 94.3 2.1 1.0 .8 .3 .3 1.3
db file scattered read 3457 72.6 7.2 5.4 6.9 5.7 .5 1.6
db file sequential read 4525 78.7 2.7 1.8 9.6 5.3 .4 1.5
direct path read temp 764 40.2 18.6 9.4 6.2 11.0 5.8 8.9
direct path sync 1 100.0
direct path write 6 83.3 16.7
direct path write temp 259 .4 1.2 88.8 .4 9.3
enq: RO - fast object reuse 14 42.9 42.9 7.1 7.1
latch free 1 100.0
latch: cache buffers lru chain 2 100.0
latch: checkpoint queue latch 2 100.0
latch: messages 2 100.0
latch: object queue header operation 2 100.0
latch: redo allocation 1 100.0
latch: row cache objects 1 100.0
local write wait 44 100.0
log buffer space 2 50.0 50.0
log file parallel write 383 92.4 .8 1.0 5.7
log file sync 39 82.1 2.6 2.6 12.8
os thread startup 17 100.0
process diagnostic dump 94 34.0 63.8 2.1
reliable message 7 100.0
utl_file I/O 12 100.0
DIAG idle wait 7204 100.0
PX Idle Wait 1802 100.0
SQL*Net message from client 5067 87.1 6.6 1.0 .5 .5 .1 .5 3.7
Space Manager: slave idle wait 726 .6 99.4
Streams AQ: qmn coordinator idle wait 256 49.2 .8 50.0
Streams AQ: qmn slave idle wait 128 100.0
Streams AQ: waiting for messages in the queue 721 100.0
Streams AQ: waiting for time management or cleanup tasks 5 40.0 20.0 40.0
class slave wait 17 100.0
pmon timer 1212 .9 99.1
rdbms ipc message 17.6K 1.8 .4 .2 .2 .1 .1 21.0 76.2
smon timer 12 100.0
Back to Wait Events Statistics
Back to Top
I couldnt add the rest of the report here since it is telling me I have exceeded 30000 characters. If you want to see the full report, please email me at [email protected]Unless your database is strictly a DSS-type of database, your AWR report exposes loads of issues with it. And I think none of the time during the AWR window was spent on database. Look at the DB time (with all those multi cores) compared with the elapsed time of the AWR.
As you are on 11g, why not make use of MEMORY_TARGET (a single parameter to manage both SGA and PGA)? If you are already on it, ignore this as I can't see it anywhere. If not, get rid of SGA_TARGET and PGA_AGGREGATE_TARGET and replace it with a single MEMORY_TARGET parameter. However you may have a minimum threshold set for different SGA pools so that they won't shrink beyond that point.
Having said that, setting MEMORY_TARGET is not a guarantee to avoid ORA-4030. Just a single bad PL/SQL code could go and exploit the untunable part of your process memory and even go and blow up the physical memory. If you are using FORALL and BULK load, see if you can cut it down into few chunks rather than running as a single process.
What does your V$PGASTAT say? -
ORA-04030: out of process memory when using Java Stored Procedures
Hello,
I have a problem using Java Stored Procedures in Oracle 10g.
My Java application performs http posts to a webservice and the response is parsed in order to populate some DB tables.
There is a scheduled job which calls the Java Stored Procedure every x minutes.
No matter of the 'x minutes' values - after about 160 - 200 calls I get this error:
ORA-04030: out of process memory when trying to allocate 1048620 bytes (joxp heap,f:OldSpace)
ORA-04030: out of process memory when trying to allocate 2097196 bytes (joxp heap,f:OldSpace)
The job stops just while is posting the http request. The weird thing is that almost each time the first http post request I get this error:
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
at java.net.Socket.connect(Socket.java:426)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(DashoA6275)
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.commons.httpclient.protocol.ReflectionSocketFactory.createSocket(ReflectionSocketFactory.java:140)
at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSocket(SSLProtocolSocketFactory.java:130)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
and the second try works fine.
So, The out of process memory occured each time just before getting such an error, and I suspect to be a connection between these errors.
Tech details:
1. OS: WinXP
2. Oracle 10.1.0.2.0
3. To perform http post I use HttpClient 3.1 from Apache.
4. I checked the http connection to be closed each time, and this is done.
5. I checked the oracle statement and connection to be closed each time and this is done
6. The JVM error (logged in .trc files of Oracle) is:
java.lang.OutOfMemoryError
at java.lang.Thread.start(Native Method)
at sun.security.provider.SeedGenerator$ThreadedSeedGenerator.run(SeedGenerator.java:297)
DB Settings details:
Starting up ORACLE RDBMS Version: 10.1.0.2.0.
System parameters with non-default values:
processes = 200
sessions = 225
shared_pool_size = 159383552
large_pool_size = 8388608
java_pool_size = 104857600
nls_language = AMERICAN
control_files = C:\ORACLE\PRODUCT\10.1.0\ORADATA\XXXXXX\CONTROL01.CTL, C:\ORACLE\PRODUCT\10.1.0\ORADATA\XXXXXX\CONTROL02.CTL, C:\ORACLE\PRODUCT\10.1.0\ORADATA\XXXXXX\CONTROL03.CTL
db_block_size = 8192
db_cache_size = 29360128
compatible = 10.1.0
fal_client = XXXXXX
fal_server = XXXXXXs
log_buffer = 524288
log_checkpoint_interval = 100000
db_files = 70
db_file_multiblock_read_count= 32
db_recovery_file_dest = C:\oracle\product\10.1.0\flash_recovery_area
db_recovery_file_dest_size= 2147483648
standby_file_management = AUTO
undo_management = AUTO
undo_tablespace = undotbs_01
undo_retention = 14400
remote_login_passwordfile= EXCLUSIVE
db_domain =
dispatchers = (PROTOCOL=TCP) (SERVICE=XXXXXXXDB)
remote_dependencies_mode = SIGNATURE
job_queue_processes = 4
parallel_max_servers = 5
background_dump_dest = C:\ORACLE\PRODUCT\10.1.0\ADMIN\XXXXXX\BDUMP
user_dump_dest = C:\ORACLE\PRODUCT\10.1.0\ADMIN\XXXXXX\UDUMP
max_dump_file_size = 10240
core_dump_dest = C:\ORACLE\PRODUCT\10.1.0\ADMIN\XXXXXX\CDUMP
sort_area_size = 1048576
sort_area_retained_size = 1048576
db_name = XXXXXX
open_cursors = 500
optimizer_mode = FIRST_ROWS
pga_aggregate_target = 25165824
Any help would be appreciated. Thanks.
Can be a problem with JVM threading under Oracle ?The server prcess failed to allocate more memory for large objects ( in Oldspace).
If you Google ORA-04030, you will see several recommendations to work around this.
The Java VM in the database already has HttpClient, i don't know why you are loading the Apache HttpClient but this might not be the surce of the problem.
Kuassi http://db360.blogspot.com -
ORA-04030 On ORACLE 10g RAC database with two nodes as active
OS-HP-AIX 5L(5.3)----IBM
DATABASE-10.2.0.2(10G)
I am getting error "ORA-04030" while executing a query
I have already set the ulimits for oracle account to UNLIMITED
1)STACK----UNLIMITED(BOTH SOFT/HARD LIMITs)
2)DATA----UNLIMITED(BOTH SOFT/HARD LIMITs)
3)MEMORY----UNLIMITED(BOTH SOFT/HARD LIMITs)
4)TIME----UNLIMITED(BOTH SOFT/HARD LIMITs)
step 1:-When I skip the listener then query executes very fine.But when
i go through the listener the "ORA-04030" errors come.
step 2:-Then when i stop and start listener on both the nodes the all
the query works fine.
This thing happens every time the system reboots
Can anyone tell me the solution for this
and why this thing happensThanks for ur immediate response
ORA-04030: out of process memory when trying to allocate 127000 bytes (QERHJ
hash-joi,kllcqas:kllsltba)
ORA-04030: out of process memory when trying to allocate 66184 bytes (pga
heap,kco buffer)
ORA-04030: out of process memory when trying to allocate 127000 bytes (QERHJ
hash-joi,kllcqas:kllsltba)
sql qurry
SELECT
WRK_PERF_ID, WRK_ID, PTY_NA_ID, PTY_ID PTY_ID,
PTY_TYP_CDE, PTY_ROL_TYP_CDE, SOC_CDE2 SOC_CDE,
DECODE(SOC_CDE2,'10','Y',NULL,'N',
NVL(( SELECT NVL(AFL_IND, 'N') FROM pty y WHERE y. IPI_BAS_NR = SOC_CDE2 AND NVL(DEL_FL,'N') = 'N'
AND ROWNUM < 2 ),'N')) AFL_IND,
pDate,
ENTMT_ID, ROL_TYP_CDE, IP_STA_IND_CDE, UNID_ID_FST_NA,
UNID_IP_NA, IP_PAY_STA, REASON, SHR_OWN_PTY_NA_ID,
PGM_STT_DT, PAY DIRIND,
ACTV_OWN_SHR, ACTV_COPY_SHR, CLM_OWN_SHR, CLM_COPY_SHR,
FNC_PTY_RESIGNED_ON_DIS_DT ( PTY_ID,
TO_DATE( DECODE(PTY_TYP_CDE,'WRTMB',
'2004-04-10' ,'AFMBR', '2004-05-10' , '2004-03-10'),'YYYY-MM-DD')) TF
FROM
SELECT WRK_PERF_ID, WRK_ID, PTY_NA_ID, PTY_ID PTY_ID,
PTY_TYP_CDE, PTY_ROL_TYP_CDE, NVL(SOC_CDE2,'0') SOC_CDE2,
DECODE(PTY_TYP_CDE,'WRTMB', '2004-04-10' ,'AFMBR', '2004-05-10' , '2004-03-10') pDATE,
ENTMT_ID, ROL_TYP_CDE, IP_STA_IND_CDE, UNID_ID_FST_NA,
UNID_IP_NA, IP_PAY_STA, REASON, SHR_OWN_PTY_NA_ID,
PGM_STT_DT, PAY_DIR_IND,
SUM(NVL(ACTV_OWN_SHR,0)) ACTV_OWN_SHR,
SUM(NVL(ACTV_COPY_SHR,0)) ACTV_COPY_SHR,
NVL( SUM(NVL(CLM_OWN_SHR,0)),0) CLM_OWN_SHR,
NVL(SUM(NVL(CLM_COPY_SHR,0)),0) CLM_COPY_SHR
FROM
SELECT B.WRK_PERF_ID, B.WRK_ID, B.PTY_NA_ID,
D.PTY_ID , D.PTY_TYP_CDE, D.PTY_ROL_TYP_CDE,
CASE
WHEN D.PTY_ROL_TYP_CDE ='W' OR D.PTY_ROL_TYP_CDE ='P'
THEN
SELECT MIN(soc_cde)
FROM MBRSH_AGR_TER A
WHERE A.pty_id = D.PTY_ID
AND A.STT_DT <= TO_DATE( DECODE(D.PTY_TYP_CDE,'WRTMB', '2004-04-10' ,'AFMBR', '2004-
05-10' , '2004-03-10' ),'YYYY-MM-DD')
AND ( A.END_DT >= TO_DATE( DECODE(D.PTY_TYP_CDE,'WRTMB', '2004-04-10' ,'AFMBR', '2004-05-10' , '2004-03-1
0' ),'YYYY-MM-DD') OR A.END_DT IS NULL)
AND A.INCL_EXCL_IND = 'I'
AND ( A.TIS_CDE = 840 OR
EXISTS (
SELECT 1
FROM CPST_TERR C
WHERE C.CHILD_TIS_CDE = 840
AND C.PARENT_TIS_CDE = A.TIS_CDE
AND NVL(C.DEL_FL, 'N') = 'N'
AND NVL(A.DEL_FL,'N') = 'N'
AND soc_cde NOT IN
SELECT soc_cde
FROM MBRSH_AGR_TER B
WHERE B.pty_id = D.PTY_ID
-- b.soc_cde = a.soc_cde
AND B.STT_DT <= TO_DATE( DECODE(D.PTY_TYP_CDE,'WRTMB', '2004-04-10' ,'AFMBR', '2004-0
5-10' , '2004-03-10' ),'YYYY-MM-DD')
AND (B.END_DT >= TO_DATE( DECODE(D.PTY_TYP_CDE,'WRTMB', '2004-04-10' ,'AFMBR', '2004-05-10' , '2004-03-10'
),'YYYY-MM-DD') OR B.END_DT IS NULL)
AND B.INCL_EXCL_IND = 'E'
AND NVL(B.DEL_FL,'N') = 'N'
AND ( B.TIS_CDE = 840 OR
EXISTS ( SELECT 1
FROM CPST_TERR D2
WHERE D2.CHILD_TIS_CDE = 840
AND D2.PARENT_TIS_CDE = B.TIS_CDE
AND NVL(D2.DEL_FL, 'N') = 'N'
)-- NOT IN
) --w,p end
WHEN D.PTY_TYP_CDE='SOC' THEN D.IPI_BAS_NR
END
) SOC_CDE2,
B.ENTMT_ID, B.ROL_TYP_CDE,
B.IP_STA_IND_CDE, B.UNID_ID_FST_NA, B.UNID_IP_NA, B.IP_PAY_STA, B.REASON, B.SHR_OWN_PTY_NA_ID,
A.PGM_STT_DT, D.PAY_DIR_IND,
ACTV_OWN_SHR, ACTV_COPY_SHR, CLM_OWN_SHR, CLM_COPY_SHR
FROM STG_ACIP_DIST_MODE1 B, STAGING_USAGE_SELECTION_MODE1 A, PTY_NA C, PTY D
WHERE B.WRK_PERF_ID = A.WRK_PERF_ID
AND B.PTY_NA_ID = C.PTY_NA_ID
AND C.PTY_ID = D.PTY_ID
AND A.CALC_RUN_CTL_ID = 279
AND A.DIS_ID = 241
GROUP BY WRK_PERF_ID, WRK_ID, PTY_NA_ID, PTY_ID, PTY_TYP_CDE, PTY_ROL_TYP_CDE,
SOC_CDE2, ENTMT_ID, ROL_TYP_CDE, IP_STA_IND_CDE, UNID_ID_FST_NA,
UNID_IP_NA, IP_PAY_STA, REASON, SHR_OWN_PTY_NA_ID,
PGM_STT_DT, PAY_DIR_IND
order by WRK_PERF_ID, WRK_ID, PTY_NA_ID, PTY_ID
It is just a simple query with group by which i ran by sqlplus but it is geting more then million records. -
Bill and Routing Interface concurrent program is not processing component
Hi All,
While running Bill and Routing Interface concurrent program,not processing the component item(Line Item) from bom_inventory_comps_interface,still it show process flag as 1. where as billing item(Header Item) is successfully done..i have tried with all the option by giving component sequence id and batch id still it is not processing component item..
Is it recommendable to give bill sequence id and component sequence id in interface table using bom_inventory_component_s sequence..
I will be very pleased if i listen from u guys... Plz help me in resolving this issue..
My Header Insert Stmt..
INSERT INTO apps.bom_bill_of_mtls_interface@system_link_visma
(assembly_item_id, organization_id,
alternate_bom_designator, last_update_date,
last_updated_by, creation_date, created_by,
revision, item_number, item_description,
implementation_date, transaction_type,
process_flag, assembly_type, batch_id
VALUES (l_inv_item_id, l_org_id,
NULL, SYSDATE,
1318, SYSDATE, 1318,
l_revision, l_item_num, l_description,
SYSDATE, 'CREATE',
1, 1, 10003535
Component Insert stmt
INSERT INTO apps.bom_inventory_comps_interface@system_link_visma
(operation_seq_num, component_item_id,
item_num, basis_type, component_quantity,
auto_request_material, effectivity_date,
disable_date, planning_factor,
component_yield_factor,
enforce_int_requirements,
include_in_cost_rollup, wip_supply_type,
supply_subinventory, supply_locator_id,
check_atp, optional,
mutually_exclusive_options,
low_quantity, high_quantity,
so_basis, shipping_allowed,
include_on_ship_docs, required_to_ship,
required_for_revenue, component_remarks,
transaction_type, process_flag,
assembly_item_id, component_item_number,
batch_id,component_sequence_id
VALUES (l_operation_seq, l_comp_item_id,
cur2.item_sequence, l_basis, cur2.quantity,
l_auto_request_mtls, cur2.from_date,
cur2.TO_DATE, cur2.planning_factor,
cur2.yield_factor,
l_enforce_int_requirements,
l_include_in_cost_rollup, l_supply_type,
l_supply_subinventory, NULL,
l_check_atp, l_optional,
l_mutually_exclusive_options,
cur2.minimum_quantity, cur2.maximum_quantity,
l_sale_order_basis, l_shippable_flag,
l_include_on_ship_docs, l_required_to_ship,
l_required_for_revenue, cur2.comments,
'CREATE', 1,
l_inv_item_id, l_comp_item_num,
10003535,apps.bom_inventory_components_s.nextval@system_link_visma
For Subcomponent Insert Stmt
INSERT INTO apps.bom_sub_comps_interface@system_link_visma
(substitute_component_id,
substitute_item_quantity,
assembly_item_id, component_item_id,
operation_seq_num, organization_id,
substitute_comp_number,
component_item_number,
assembly_item_number,
transaction_type, process_flag,
enforce_int_requirements,
effectivity_date,component_sequence_id,batch_id
VALUES (l_sub_comp_item_id,
cur3.quantity,
l_inv_item_id, l_comp_item_id,
cur2.operation_sequence, l_org_id,
l_sub_comp_item_num,
l_comp_item_num,
l_item_num,
'CREATE', 1,
l_enforce_int_requirements,
SYSDATE,apps.bom_inventory_components_s.currval@system_link_visma,10003535
Thanks
Raman Sharma
Edited by: 929841 on May 4, 2012 12:28 AM
Edited by: 929841 on May 4, 2012 2:58 AMYou need to populate the organization_id or organization_code in bom_inventory_comps_interface.
Here is a minimal insert
INSERT INTO bom.bom_inventory_comps_interface
(operation_seq_num, last_update_date, last_updated_by,
creation_date, created_by, process_flag, transaction_type,
bom_item_type,
effectivity_date, organization_code, assembly_item_number,
item_num, component_item_number, component_quantity
VALUES (1 -- op_seq_num
,SYSDATE, 1433
,SYSDATE, 1433, 1 -- process_flag
,'Create',
4 -- bom_item_type 1 Model; 2 Option class; 3 Planning; 4 Standard; 5 Product family
,SYSDATE - 1, 'PUB', 'SSGPARENT1' -- assembly_item_number
,10 --item_num
, 'SSGCOMP1' -- component_item_number
, 10 --qty
)Sandeep Gandhi -
Hi
I have a stored procedure that uses the XMLQuery function (SELECT XMLQuery( '......' RETURNING CONTENT) FROM dual; ) to extract data from 3 different tables and store the xml file in XML DB. This store procedure was running fine for a long time until 2 weeks ago where I started seeing the following error:
Database Error: DBD::Oracle::db do failed: ORA-04030: out of process memory when trying to allocate 92 bytes (koh dur heap d,qmxtkWriteXobToOpn:heap)
Currently I have 16,000 records. I am not sure what is going on, the size of the previous successful output xml file is about 2M. I also noticed when the stored procedure runs with 3G of system memory available, it basically used up all the memory and cpu time. The store proc consistently dies after 3.5 hour and spits out the ORA-04030 out of process memory error.
Does anyone have any suggestion what to look for or what parameters I need to set? ThanksUnless your database is strictly a DSS-type of database, your AWR report exposes loads of issues with it. And I think none of the time during the AWR window was spent on database. Look at the DB time (with all those multi cores) compared with the elapsed time of the AWR.
As you are on 11g, why not make use of MEMORY_TARGET (a single parameter to manage both SGA and PGA)? If you are already on it, ignore this as I can't see it anywhere. If not, get rid of SGA_TARGET and PGA_AGGREGATE_TARGET and replace it with a single MEMORY_TARGET parameter. However you may have a minimum threshold set for different SGA pools so that they won't shrink beyond that point.
Having said that, setting MEMORY_TARGET is not a guarantee to avoid ORA-4030. Just a single bad PL/SQL code could go and exploit the untunable part of your process memory and even go and blow up the physical memory. If you are using FORALL and BULK load, see if you can cut it down into few chunks rather than running as a single process.
What does your V$PGASTAT say? -
RMAN ERROR ORA-04030 out of process memory allocate 1049100 bytes pga heap
Hello,
I have this problem with a production database 9.2.0.8.
I attach the parameters from production database and repository rman database (9.2.0.8).
PRODUCTION DB SERVER 9.2.0.8
WINDOWS SERVER 2003 R2 SP1
SQL> SHOW PARAMETER SGA
NAME VALUE
lock_sga FALSE
pre_page_sga FALSE
sga_max_size 1888562548
SQL>
SQL> SHOW PARAMETER PGA
NAME VALUE
pga_aggregate_target 335544320
SQL> SHOW PARAMETER POOL
NAME VALUE
java_pool_size 33554432
large_pool_size 134217728
shared_pool_reserved_size 13421772
shared_pool_size 268435456
SQL> SHOW PARAMETER CACHE
NAME VALUE
db_cache_advice ON
db_cache_size 1073741824
REPOSITORY RMAN DB SERVER 9.2.0.8
WINDOWS SERVER 2000 SP4
SQL> SHOW PARAMETER SGA
NAME VALUE
lock_sga FALSE
pre_page_sga FALSE
sga_max_size 1074865628
SQL> SHOW PARAMETER PGA
NAME VALUE
pga_aggregate_target 134217728
SQL> SHOW PARAMETER POOL
NAME VALUE
java_pool_size 33554432
large_pool_size 134217728
shared_pool_reserved_size 6710886
shared_pool_size 134217728
SQL> SHOW PARAMETER CACHE
NAME VALUE
db_cache_size 134217728
SCRIPT RMAN
run {
allocate channel t1 type disk;
allocate channel t2 type disk;
backup skip readonly filesperset = 1 format 'E:\rman\BDWEBEXT\BD_%d_%u_%s_%p.rmn' tag 'Backup Completo BDWEBEXT' database;
release channel t1;
release channel t2;
ERROR
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on t2 channel at 02/09/2008 14:46:58
ORA-04030: out of process memory when trying to allocate 1049100 bytes (pga heap,KSFQ Buffers)
Recovery Manager complete.
Does someone know that it can be?
Thank youhow solve ORA-04030: out of process memory when trying to allocate
Sybrand Bakker
Senior Oracle DBA
Maybe you are looking for
-
Thunderbird has been working great for me for years. I'm on a Windows 7 desktop computer. The new version 31.1.2 got auto-installed yesterday, and now I have the popup window to "Add Security Exception" happening all the time, even with different mai
-
Missing topics in printed documentation
I am using RoboHelp V7 and WebHelp as my Primary Layout. My project has approximately 100 topics. The project is basically an A-Z with various topics saved into 26 folders (A-Z). The printed documentation prints perfectly except that the H1 headings
-
DCS EPS 2.0 files not printing spot colors
I know that PMS colors have been changed with CS6 using lab color as the basis to preview colors, but I've been getting this problem printing DCS EPS 2.0 files from Photoshop in Illustrator. It does not matter if I print in CS5 or CS6 the same error
-
Double trotation is not working for h:dataTable
Hi members; I have a problem in displaying with <h:dataTable> JSF tag My case is that I have a large data (around 16 properites), I split them over two <h:dataTable>. The first <h:dataTable rotates over the first set and then comes the second one whi
-
How can I sort audobooks by author?
I just bought a new ipod touch with 64gb. i'm used to sort my audio books in itunes 'reading' or 'radio play'. now i must found out that ipod touch show all my audio books just after the title. is there a way to change to different view like 'by auth