Am I understanding SoftReferences correctly?
I have browsed the forum archives and various articles on SoftReference and garbage collection, but I'm not 100% sure I'm getting it.
I am trying to set up a primitive cache system for holding List<Double> objects that are retrieved from a database. I am planning on storing them in a Map<Integer, SoftReference<List<Double>>>, with the key serving as a permanent ID to lookup the appropriate list.
If my cache gives out a reference to the List<Double>, my understanding is that the List<Double> cannot be collected as long as that reference persists. What I am unsure of is whether the List<Double> could be collected if I only gave out a reference to one of the Double objects in the list. From what I've read, my hunch is that the answer is yes... could someone please tell me if I am correct?
Many thanks!
Edit: strange... the ">" bracket after SoftReference in my message is not visible in the editable text version
If my cache gives out a reference to the
List<Double>, my understanding is that the
List<Double> cannot be collected as long as that
reference persists. You are correct. If the program has a strong reference to the list, then the list won't be eligible for collection.
What I am unsure of is whether
the List<Double> could be collected if I only gave
out a reference to one of the Double objects in the
list. From what I've read, my hunch is that the
answer is yes... Again correct. The soft reference points to the list. If you give out a reference to something in the list, then there's no hard reference to the list, and it's eligible for collection.
Side comment: unless your lists are relatively large (a few thousand items or more), and you have a lot of them, then soft references really won't buy you much. For small objects, I've found that a fixed-size LRU cache was a better solution.
Similar Messages
-
Do i understand this correctly?
am i understanding this correctly? instead of downloading a movie on my ipad i just select it from itunes on the ipad and it will be streamed to appletv?
but why is that better than just choosing it off appletv and watching it immediately??
i will give this endorsement appletv is great and i enjoy using it, but i must be missing something as i see no big deal about streaming movies i rent...ok, if they are my own videos of family etc....please enlighten meTheatrically this could work with all h.264 streaming content you might find when browsing the web or even from app players like ABC, Comcast and ATT U-verse.
It will be interesting to see if this works when guests come over who may have content that differs from my own. -
So if I understand this correctly...
... there is no "great" way to manage the fans and monitor temperature levels for my new (unibody) MacBook Pro when running Windows XP via Boot Camp? I have Boot Camp 2.1, Windows (Media Center) SP2, a MacBook Pro 2.8GHz and a bit of disbelief.
So far as I understand it, Speedfan is useless because there isn't a configuration file which can acquaint the program with this motherboard/chipset, therefore Input Remapper is the only remaining choice, and fan speeds must be set manually there, instead of in a manner where they would adjust depending on CPU load and temperature.
Does this all agree with consensus?
I'm fairly unhappy at the moment. Of course I anticipated making a general switch to OSX when I purchased the MacBook 2 weeks ago, however I still have quite a few Windows apps which I intend to use extensively in the future, games included. The prospect of using this thing without a power cord in XP seems unrealistic, because I can't imagine the power settings are at all finely tuned, instead first impressions leave me thinking things are quite crude in Windows -- far from the easy dual operability that Apple had me believe.
Any suggestions or responses to my ravings would be appreciated.Thanks for the post. The issue I have with smcfancontrol (and I assume others do as well) is a)you have to start in OSX before booting to Windows to set the fan speed, and b) this isn't a very responsive solution, in that the computer isn't choosing the ideal fan speed based on temperatures, rather a program has set a minimum fan speed regardless of what the temps are from one point to another. I believe I have this correct with smcfancontrol, but if I'm mistaken, please, someone, correct me. I remain incredulous, because perhaps the main advantage of owning a laptop -- portability -- is rendered null because I can expect little more than 1 hour of very dry use in XP as a result of what I can only assume to be poor power management and rather clumsy fan/temperature control from the current Boot Camp drivers.
Message was edited by: MacAdamy
Message was edited by: MacAdamy -
Do I understand WDS correctly?
Hi all..
Ok, i've been trying to get WDS working with my WLSE.
I'm not sure if I understand correctly.. our laptop clients currently authenticate via another system but I have a WLSE which I want to use to manage the radio network, signal strength/stats/etc.
Am I right in thinking that the main WDS AP needs to authenticate with Radius via the WLSE before all the AP's will start sending data to the WDS and then to the WLSE? :((
I've got my Radius server configured on the WDS access point and the other APs are seeing it, as when I issue the "show wlccp wds ap" command I get the following:
WIG-ap01#sh wlccp wds ap
MAC-ADDR IP-ADDR STATE LIFETIME
0013.6086.2ced 192.168.94.3 AUTH IN PROGRESS -
0012.80fd.0790 192.168.94.14 AUTH IN PROGRESS -
0013.6086.2cb2 192.168.94.2 AUTH IN PROGRESS -
0012.d922.a237 192.168.94.11 AUTH IN PROGRESS -
I cannot get it any further than "AUTH IN PROGRESS"
Here is some of the Radius config on the WDS AP
aaa group server radius iauth01
server <IP ADD REMOVED> auth-port 1645 acct-port 1646
aaa group server radius rad_mac
aaa group server radius rad_admin
aaa group server tacacs+ tac_admin
aaa group server radius rad_pmip
aaa group server radius dummy
aaa group server radius rad_eap
aaa group server radius rad_acct
aaa authentication login eap_methods group rad_eap
aaa authentication login mac_methods local
aaa authentication login method_iauth01 group iauth01
aaa authorization exec default local
aaa authorization ipmobile default group rad_pmip
aaa accounting network acct_methods start-stop group rad_acct
aaa session-id common
dot11 network-map
negated
radius-server host <IP removed> auth-port 1645 acct-port 1646 key xxxx
radius-server timeout 30
radius-server attribute 32 include-in-access-req format %h
radius-server authorization permit missing Service-Type
radius-server vsa send accounting
bridge 1 route ip
wlccp authentication-server infrastructure method_iauth01
wlccp wds priority 128 interface BVI1
wlccp wnm ip address <ip removed>
Please help, I know im a n00b.. but the lack of documentation with this is really screwing me.
Thanks
TimThanks for the replies guys..
I've managed to get it to send stuff to the radius server which also authenticates with the AD, however the radius server is rejecting me because im using a "unknown authentication type" its windows radius server.
My friend has double checked my config on my AP's and Radius and WDS is setup fine.. we are wondering if you use a standard radius server? or does it have to be a Cisco ACS or a AP with the local radius server running...
Many thanks
Tim -
I am understanding this correctly?
Hi All
I've been unable to confirm this in the color manual:
When I send from fcp to color, do the clips in the color timeline link to the media files in the capture scratch on my video drive? After I've rendered and sent back to fcp, would the 'colorized' clip in the fcp timeline link to the rendered files in the color render directory i nominated in the set-up room?
Have I missed something, are there other directories I should be aware of?
I am trying to get a firmer understanding of how color's media management structure and set-up. If you have any pdf's or other info on this topic please let me know.
Cheers
-j-You are correct. There are no other directories to be aware of regarding source material and rendered material.
-
Very Swing Newbie, Can somebody tell me if my "understanding" is correct
Ok I am trying to draw a 2D maze in Swing. My idea was to draw cells, black cells(squares) to mean blocked off, and white cells to mean open. I also wanted the maze to look decent, and have blue lines borders cutting each cell (kind of like borders in an excel chart). I've gotten some tips as to how to do this with a gridLayoutManager, and use labels as the squares, but the labels don't give me that well defined separation between one cell and the other, they just look like one continous block of color. Another thing I was reading about was the EtchedBorder look, and I was wondering if that could be done for labels, so that each label/cell has an etched border, which would give it a more defined separation?
The other way I was thinking about doing this was to just draw lines, and fill in squares, but not so simple with Swing. Like I said I am just learning, so I am only beginning to understand how Swing works. Please correct me if I am wrong, and that is what I want to know now, if I am wrong. How I understand it is that basically Swing doesn't really have a draw feature, where you get a canvas and then you just start drawing, it is more like assembling things with predefinied components, and building up a UI with these lego pieces basically. And if you wanted to draw you'd have to override the paint() method for the component, and that is the only way to draw something. Is that true? So basically i have two options draw something by overriding the paint component, meaning I'd have to extend a top level container, or try to build my GUI with the components given. Please give me some information, thank you.And this is another way.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Maze extends JFrame
MPanel pan = new MPanel ();
public Maze()
super();
setBounds(6,6,368,388);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent ev)
dispose();
System.exit(0);
getContentPane().add("Center",pan);
setVisible(true);
public class MPanel extends JPanel
public MPanel()
setBackground(Color.pink);
public void paintComponent(Graphics g)
super.paintComponent(g);
for (int i=0; i < 400; i++)
g.setColor(Color.blue);
if (i%20 == 1) g.setColor(Color.white);
if (i/20 == 8) g.setColor(Color.white);
int y = i/20;
int x = i%20;
g.fillRect(x*18+1,y*18+1,17,17);
public static void main (String[] args)
new Maze();
Noah -
Understanding the correct use of FromOrderComponets and ToOrderComponents
Hi all
Someone could help me understand the difference, and in what case I must use fromOrderComponets and in what case i must use toOrderComponents.
In the Decomposition Rules.
I've done multiple orchestrations to own cartridges, by multiple products, and I've never needed to use the expression toOrderComponents, because we've always used FromOrdercomponents.
any explanation is helpful,
Best Regards
David A Leon HHi Leon,
In the Design Studio Help, please refer to "Working with Decomposition Rules" inorder to understand Decomposition Rules.
Property Correlation is used while setting a dependency in the Product Specification. This is where FromOrderComponent & ToOrderComponent both are extensively used. For more information, please refer help section for the following.
1)About Order Item Dependencies
2)Orchestration Dependency Editor Order Item Dependencies Tab
Thanks,
Naveen Jabade -
IOS Multitasking -- Do I understand it correctly?
Due to many problem about battery drain and some request for kill all Apps with 1 button, I would like to share my understanding about the multitasking issue which many people think of it as the cause of problem.
AFAIK, There is NOT real multitasking in iOS for other Apps except the system apps. And system apps are not take CPU time that much to make the A4 processor to burn CPU that hot and drain battery that quick. The only effect of running (or other word, opening) too many Apps is that it will consume memory to much and it will cause a noticeable lag time when switching between Apps.
In my case, rebooting the phone, once or twice, with closing all apps before, helps NOTHING.
So, regarding the issue of battery drain and (little) slow response, please everyone do not blame yourselves for opening so many apps at the same time. It must be the OS itself that have something wrong about managing the process that take too much CPU time. I assume that there must be some system process trying to do something but cannot do it then sleep and wake up in a short interval to try again and again. The process could be about Push Notifications involving the metadata of some apps that inconsistent with the updated OS as they said.
So I would like to conclude that opening too many app is not the cause of battery drain, and kill-all button help nothing in the case.
Just want to share.AFAIK, There is NOT real multitasking in iOS for other Apps except the system apps.
Yes there is, but there is no need, reason, or benefit for the overwhelming majority of 3rd party apps to run in the background when leaving the app. The number of 3rd party apps that run in the background are few and far between since there is no benefit or reason for the apps to do so. Music streaming apps run in the background, and a number of GPS navigation apps can run in the background. Most other 3rd party apps will be suspended or quit when leaving the app. -
I read that photos are not stored in the cloud until 1000 have been taken on my device's. Is there a way to force all my photo's to the cloud so they are not stored on my device's?
If you switch on your Photo Stream, then it will store any number of photos up to 1000 photos. No, you would have to manually delete them from your device if you want to, but the Cloud will only store 1000 as I say. When you get to picture #1001, then picture #1 will disappear, so I would recommend storing your photos somewhere else, like backing up on your computer of external HDD.
-
Not understanding variables correctly
Hello All
I am having trouble with my variables. How do I int or double them with out giving them a value?
public static int monthPop( int bRate, int dRate, int numberMonths, int bunnyThresh, int bunnyStart, int tables )
int growRate, counter, result;
double bunNew, bunOld, popNew, popOld;
counter = 1;
if(tables == 1)
System.out.println("Month\t\t\tBunnies");
while(counter <= numberMonths)
bunOld = bunnyStart / bunnyThresh;
bunNew = bunOld + growRate * bunOld * ( 1 - bunOld);
popNew = bunNew * bunnyThresh;
int outcome = (int)population;
System.out.println( counter + "\t\t\t" + outcome );
counter = counter + 1;
else
while(counter <= numberMonths)
bunOld = bunnyStart / bunnyThresh;
bunNew = bunOld + growRate * bunOld * ( 1 - bunOld);
popNew = bunNew * bunnyThresh;
counter = counter + 1;
int outcome = (int)population;
System.out.println( "\n\n\n" );
System.out.println( "So after " + numberMonths + " month(s), the " +
" population would be " + outcome + " bunnies." );
return counter;
}So this sub program get fed 6 variables and I am trying to run the program and I get errors for popNew variable not being initialized and the build fails. I am not sure what I am doing wrong and would love to get some help if possible. it is much appreciated.
So I am trying to use a formula
bunNew = bunOld + growRate * bunOld * ( 1 - bunOld)
where
bunNew is relative population ending of the month
bunOld is relative population beginning of the month
popNew is the actual number of bunnies at the end of the month
popOld is the actual number of bunnies at the beginning of the month
bunnyThresh is the threshold of the bunny ranch.
growRate is equal to bRate - dRate
So again I am not sure what is going on based on my code. I think everything looks good, but again I am new and taking java programing class.
So any and all help is much appreciated.
thanks
ed
Edited by: Uprvrndn on Jan 27, 2008 5:49 AMOk did some revising of the code
public static int monthPop( int bRate, int dRate, int numberMonths, int bunnyThresh, int bunnyStart, int tables )
int counter, result;
double bNew, bOld, pNew, pOld, growRate;
pOld = bunnyStart;
bOld = pOld / bunnyThresh;
counter = 1;
growRate = bRate - dRate;
System.out.println(pOld + " " + bOld + " " +
growRate + " \n\n\n");
if(tables == 1)
System.out.println("Month\t\t\tBunnies");
while(counter <= numberMonths)
bNew = bOld + growRate * bOld * ( 1 - bOld);
pNew = bNew * bunnyThresh;
bOld = pNew;
int outcome = (int)pNew;
System.out.println( counter + "\t\t\t" + outcome );
System.out.println( counter + "\t\t\t" + pNew );
counter++;
else
while(counter <= numberMonths)
bNew = bOld + growRate * bOld * ( 1 - bOld);
pNew = bNew * bunnyThresh;
bOld = pNew;
counter++;
int outcome = (int)pNew;
System.out.println( "\n\n\n" );
System.out.println( "So after " + numberMonths + " month(s), the " +
" population would be " + outcome + " bunnies." );
return counter;
}I get the follow error and I quote:
edmac:Program2 erose$ javac Program2.java
Program2.java:180: variable pNew might not have been initialized
int outcome = (int)pNew;
^
1 error
edmac:Program2 erose$
Also because I am trying to show a table of a month to month I started at 1 instead of 0. So month 1 would be the starting point. Month 0 would be the initial when the farm was first established. -
Am I understanding this correctly?
Do you have to have iTunes installed on a PC to get FW or Software updates?
That is the stupidist thing I have ever seen.
I've already talked to the packagers and the network security team (As they currently block iTunes) and this is a deal killer............
Both Goodlink and Blackberry can do updates OTA (Over the Air)
We are an orginization of 35,000 + end users and they can't install anything on their PC's.
If iTunes is mandatory then they will never gain acceptance in the Enterprise market as that is unacceptable. Sorry Dr you can't get any patient information because all of the bandwidth is being used by people downloading podcasts.
And what is the deal with no native encryption on the device????
I don't even see a reason to test as this would be a HIPPA violation before we even started???????
Poor planing and horrible implementation.
If I am incorrect please point me to documentation stating otherwise.
Thanksmsg630,
There is a built-in ability in iTunes to restrict access to the iTunes Store, designed for those most restrictive of managers - Parents. While not intended for the Enterprise per se you can restrict access to the iTunes Store, Podcasts, Internet Radio, and/or shared libraries. You can create a preferences file that could be deployed to the machines. However, you don't need to install iTunes on every PC. (more on that later in this post)
The program to distribute your own iPhone apps is available to companies with 500 employees or more. I am not sure if it is currently accepting limited applications or any application. This is the program that was in beta with several companies at least since March. There has been two betas ongoing, one for developers and one for Enterprise.
http://developer.apple.com/iphone/program/details.html
In addition the iPhone will take the most restrictive of the ActiveSync policies and policies you deploy with the iPhone Configuration Utility.
The iPhone supports the following policies set by the Exchange admin:
1. Enforce password on device
2. Minimum password length
3. Require both numbers and letters
4. Inactivity time in minutes (essentially how long until it autolocks)
In addition it supports Remote Wipe. If the device is still listed to be wiped on the Exchange server it will wipe again if you try to reconfigure for the server.
With the iPhone Configuration Utility you can deploy profiles via website (such as on an Intranet) or via email. The iPhone Configuration Utility can set:
1. Require Passcode
2. Allow simple value (repeating characters, or short)
3. Require Alphanumeric (while normally on the iPhone a passcode set is only 4 numbers, if your profile or exchanger server required it can be longer and a mix of letters and numbers)
4. Minimum Passcode Length (yes, it can be more than 4 digits when configured via Exchange Activesync policies or the iPhone Configuration profile)
5. Minimum number of complex characters (symbols such as $, &, and !)
6. Maximum number of failed attempts (Default is after 6 it imposes a time delay before trying again, after 11 it has to be connected to the iTunes it syncs with to reset the attempts)
7. Maximum Passcode Age (how often do they have to change the passcode)
8. Passcode lock (in minutes)
If there is both Exchange Activesync and a configuration profile (or multiple profiles) on the device, the most restrictive combination is used.
Apps up to 10 MB can be installed OTA.
It is entirely concievable that only 1 copy of iTunes be installed in the IT department for setting up the device, load a profile, and then hand it activated to the employee. If they need an internal App it can be deployed OTA.
The iPhone can communicate for email, contacts and calendars OTA with an Exchange Server.
Hope this helps,
Nathan C.
Message was edited by: Nathan C -
Do I understand this correct?
Hi Im just playing around with code to learn new things. And a question appeared.
When I do
List list = new LinkedList(new ArrayList());I tell one of the constructors in LinkedList that I want the list to be an ArrayList?
And is this the same as
List list = new LinkedList();
list = new ArrayList()/ Curios MagnusMagnusT76 wrote:
Hi Im just playing around with code to learn new things. And a question appeared.
When I do
List list = new LinkedList(new ArrayList());I tell one of the constructors in LinkedList that I want the list to be an ArrayList?No. A List is either a LinkedList or an ArrayList. It can't be both.
What you do is create a new ArrayList (which is empty, of course) and pass that to the constructor of the LinkedList. If you look up [that constructors JavaDoc|http://java.sun.com/javase/6/docs/api/java/util/LinkedList.html#LinkedList(java.util.Collection)] you'll see that you only specify the initial content of the LinkedList. Since the content List you specify is empty, the LinkedList will be empty as well. That's exactly the same effect as if you had used the no-arguments constructor.
And is this the same as
List list = new LinkedList();
list = new ArrayList()
No, this is an entirely different thing.
First you create a LinkedList and rember a reference to it in the list variable. Then you overwrite the reference with a reference to a newly created ArrayList (thus forgetting the original reference).
Both pieces of code do unnecessary and useless work. The difference between the two is that with the first you havean empty LinkedList in the end and with the second piece of code you have an empty ArrayList in the end. -
Understanding Statistics io and Logical reads - is logical reads information correct
Hi,
This question arises during a performance test - on SQL Server 2012 with SP2.
In the following example, table has only column and that is of data type INT.
When inserted 592 records of data type INT it is doing only 1 logical read but as soon another record is inserted SP is reporting 2 logical reads. Why?
In the code, i have highlighted difference between
statistics io - logical reads and sys.dm_exec_procedure_stats.total_logical_reads
to understand the difference between these 2 information.
set nocount on
GO
create table dbo.test_storage_and_logical_reads
employee_number int --primary key
GO
go
CREATE procedure dbo.test_sp_logical_reads
as
begin
select
employee_number
from dbo.test_storage_and_logical_reads
order by employee_number desc
end
go
insert into dbo.test_storage_and_logical_reads
(employee_number)
VALUES (1)
GO 592
EXEC sp_spaceused 'dbo.test_storage_and_logical_reads'
--set statistics io on
--GO
exec dbo.test_sp_logical_reads
GO
----Table 'test_storage_and_logical_reads'. Scan count 1, logical reads 1, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
---- But sys.dm_exec_procedure_stats.total_logical_reads is reporting 3 instead.
truncate table dbo.test_storage_and_logical_reads
GO
insert into dbo.test_storage_and_logical_reads
(employee_number)
VALUES (1)
GO 593
EXEC sp_spaceused 'dbo.test_storage_and_logical_reads'
exec dbo.test_sp_logical_reads
GO
----Table 'test_storage_and_logical_reads'. Scan count 1, logical reads 2, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
---- But sys.dm_exec_procedure_stats.total_logical_reads is reporting 4 instead.
--drop procedure dbo.test_sp_logical_reads
--drop table dbo.test_storage_and_logical_reads
GO
NB: I do understand the logical and physical reads. Thanks.
For quick review of new features, try virtual labs: http://msdn.microsoft.com/en-us/aa570323Hi.
I still need to test the scenario but if you read definition of this DMV it says 'Returns aggregate performance statistics for cached stored procedures' so I guess, I am not sure 3 can be due to this aggregated output given by this DMV. Will test it
on SS 2012 SP2 will get back to you.
Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it.
My TechNet Wiki Articles
Hi Shanky / Sean Gallardy
i think Sean Gallardy created the "test_sp_logical_reads" table in master DB, i have that same issue when i accidentiatly created the table "test_sp_logical_reads" in master, but when i create the same table in USER DB like "sample1"
it only allocate 1 page for 592,
hi Asam,
Let me narrow down the your question, if my understanding is correct ...
<<When you have the free space in a page of a Heap, why SQL Server is assigning New page for a New Record>>
Answer is in PFS bytes
The answer is that PFS bytes are not fully reset until the page is reallocated. On deallocation, the only bit in the PFS byte that's changed is the allocation status bit - this makes it very easy to rollback a deallocation
--Before inserting the 593 record plese execute the below query
--Note Replace "database1" with your DBName
DBCC TRACEON (3604);
DBCC IND ('database1', 'test_storage_and_logical_reads', 1);
--Result
PageFID PagePID IAMFID IAMPID ObjectID IndexID PartitionNumber PartitionID iam_chain_type PageType IndexLevel NextPageFID NextPagePID PrevPageFID PrevPagePID
1 2770 NULL NULL 517576882 0 1 72057594039828480 In-row data 10 NULL 0 0 0 0
1 2769 1 2770 517576882 0 1 72057594039828480 In-row data 1 0 0 0 0 0
--your intrested in the second record(page)
DBCC PAGE ('database1', 1, 2769,3) WITH TABLERESULTS;
--you can find 38th row as
--PFS (1:1) = 0x64 MIXED_EXT ALLOCATED 100_PCT_FULL
--which means your page is full
--you can try inserting 300 rows it will show you PFS (1:1) = 0x61 MIXED_EXT ALLOCATED 50_PCT_FULL
please refer in the below link
http://blogs.msdn.com/b/sqlserverstorageengine/archive/2006/07/08/under-the-covers-gam-sgam-and-pfs-pages.aspx
http://aboutsqlserver.com/2013/12/17/sql-server-storage-engine-heap-tables/
"This page has a PFS byte value of 0x04 - how can it be full when its not allocated?"
The answer is that PFS bytes are not fully reset until the page is reallocated. On deallocation, the only bit in the PFS byte that's changed is the allocation status bit - this makes it very easy to rollback a deallocation.
Here's an example. Using a database with a simple table with one row.
A DBCC PAGE of the IAM page includes:
PFS (1:1) = 0x70 IAM_PG MIXED_EXT ALLOCATED 0_PCT_FULL
If I run the following:
BEGIN
TRANSACTION
DROP
TABLE T1
GO
And then do the DBCC PAGE again, the output now includes:
PFS (1:1) = 0x30 IAM_PG MIXED_EXT 0_PCT_FULL
And if I rollback then transaction, the DBCC PAGE output reverts to:
PFS (1:1) = 0x70 IAM_PG MIXED_EXT ALLOCATED 0_PCT_FULL
Thanks
Saravana Kumar C -
New to Network - Is this topology and understanding correct ? (please help)
Hi all,
I am new to network and is currently taking my ICDN1 course, but have no actual hands-on experience beside the short labs lesson in class..
Hence, I will like to take this opportunity to check with gurus here for their advices and to see if my understanding is correct or wrong.
Please pardon me if I ask/make any silly questions or wrong theories.
=========================================================
Refer to below diagram (which I drawn)
Assumptions
Node 1 and Node 2 need to have public IPs assigned by ISP.
Internal and mangement network not reflected Security not a concern, NAT/DMZ not required
Firewall and Router are 2 separate physical device
Questions
Q1) is my toplogy and IPs assignment correct base on the assumption above ?
Q2) do we need to assign IPs to Fe0/0 for both firewall and MyRouter ? Must it be using the ISP issued IPs or can it be internal IPs ?
Q3) Can we consider MyRouter Fe0/0 and below = 1 broadcast domain/network segment or
MyRouter Fe0/0 to Fe0/0 firewall = 1 network segment and Firewall Fe0/1 and below = another network segment ? and why ?
I am thinking of how does a IP packet transfer from node1 to the internet. Let's say node1 send a packet to 8.8.8.8
[src ip=202.156.1.4][dst ip=8.8.8.8][src mac=a.b.c.d][dst mac=a.b.c.f] (packet going from Node1 to the gateway/firewall)
[src ip=202.156.1.4][dst ip=8.8.8.8][src mac=a.b.c.g][dst mac=a.b.c.h] (packet going from the Firewall to the MyRouter)
Q4) How does firewall know which interface it must exit on the next hop ?
Is there a routing table in Firewall ? Does the Firewall has a default gateway , or it has a default route ?
Q5) Since the firewall is connected to MyRouter directly, how does it know the MAC address of MyRouter and vice versa ? Can we do ARP request without going through switch ? Is the MyRouter physically connected to the switch or to the Firewall ?
Hope some kind gurus here can enlightened me.
ThanksHi Jon,
Thanks for shedding some light on my questions
In terms of IP addressing it depends on what the ISP has given you. Often you get two blocks, one for the link between the outside of your router and the ISP router and one for use for the connection between the outside interface of your firewall and the inside interface of your firewall.
The ISP router would then have a route for the block in use between your firewall and router pointing to the outside interface of your router.
Q1) Let's say the 1st block will be 202.123.123.1 and 202.123.123.2 that will be the IP between my external interface of MyRouter and the ISP router -> am I right ?
Q2) For the 2nd block based on my example, it will be 202.156.1.0/24, am i right ?
Q3) Can i further subnet this block (202.156.1.0/24) so that I can have a different subnet between MyRouter internal interface fe0/0 <-> MyFirewall external interface fe0/0 and another subnet for MyFirewall internal interface fe0/1 and below ?
In this case, I can have 2 different subnet so that routing and occur between MyRouter to MyFirewall ?
Q4) Actually with regards to the question on whether MyRouter needs to be connected to the switch is because from what I have understand, a packet need to have both the L3 ip addresses and L2 mac addresses to be send out.
Since the firewall is forwarding a packet from node1 to the MyRouter, it needs to know MyRouter mac address, so I am asking if an ARP request can be done directly from the connection from MyFirewall to MyRouter..
Actually, is there a routing table inside the Firewall as well ? how does it knows where to forward the packet out ?
Q5) I understand that it will be good to do NAT and I have been hearing from people that assigning public IPs on the nodes are bad. But why ?
If I have assigned public IPs on the nodes, doesn't the packets still go through the firewall for whatever inspection that is needed as compared to NAT ?
Jon, just a shoutout and thanks on the replies that you have given me as I do not really have anyone to ask except for the forums around.
Thank you.
Regards,
Noob -
Need understanding on the ADDM
Hi,
Db version 11.2.0.3
EBS version 12.1.3
OS : Linux
I have 2 SEV-1 SR's going on with Oracle on which we are working with them. I ran a ADDM from yesterday Morning till today afternoon( Almost 25 Hours).
My understanding :
1. Update query 85ag5gkm9wzmb is taking maximum of time and resources ( One SR is for this - this is Autoinvoice Master Program).
2. SGA and PGA are undersized. Current SGA is 24Gb and PGA is 6Gb. Do I really need to increase SGA and PGA ? My previous has been that on increasing
SGA/PGA to suggested value , it will further prompt for increasing.
3. SYS.DBMS_SPACE.AUTO_SPACE_ADVISOR_JOB_PROC needs some action from my end, should I disable this job , what does it really do ? i am trying to figure that out ,
any help on this will be appreciated.
Please confirm if my understanding is correct and other suggestion/inputs you can provide. Also please suggest how to find if I/O is a bottleneck in the system ? I can see db file sequential read and db file scattered reads in the AWR but they are mostly by the update statement 85ag5gkm9wzmb.
Below is the ADDM for reference.
ADDM Report for Task 'TASK_10569'
Analysis Period
AWR snapshot range from 6708 to 6733.
Time period starts at 19-DEC-13 11.30.37 AM
Time period ends at 20-DEC-13 12.30.43 PM
Analysis Target
Database 'PROD' with DB ID 221722471.
Database version 11.2.0.3.0.
ADDM performed an analysis of instance PROD, numbered 1 and hosted at
hostname.domainname.in.
Activity During the Analysis Period
Total database time was 448593 seconds.
The average number of active sessions was 4.98.
Summary of Findings
Description Active Sessions Recommendations
Percent of Activity
1 Top SQL Statements 3.44 | 69.1 6
2 Top Segments by "User I/O" and "Cluster" 2.64 | 53.06 5
3 Undersized SGA .94 | 18.91 1
4 Undersized PGA .28 | 5.66 0
5 PL/SQL Execution .19 | 3.9 5
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Findings and Recommendations
Finding 1: Top SQL Statements
Impact is 3.44 active sessions, 69.1% of total activity.
SQL statements consuming significant database time were found. These
statements offer a good opportunity for performance improvement.
Recommendation 1: SQL Tuning
Estimated benefit is 2.26 active sessions, 45.37% of total activity.
Action
Run SQL Tuning Advisor on the UPDATE statement with SQL_ID
"85ag5gkm9wzmb".
Related Object
SQL statement with SQL_ID 85ag5gkm9wzmb.
UPDATE RA_CUST_TRX_LINE_GL_DIST LGD SET (AMOUNT, ACCTD_AMOUNT) =
(SELECT /*+ index(rec1 RA_CUST_TRX_LINE_GL_DIST_N6) ordered */
NVL(LGD.AMOUNT, 0) - ( SUM(LGD2.AMOUNT) - ( DECODE(LGD.GL_DATE,
REC1.GL_DATE, 1, 0) * CTL.EXTENDED_AMOUNT ) ), NVL(LGD.ACCTD_AMOUNT,
0) - ( SUM(LGD2.ACCTD_AMOUNT) - ( DECODE(LGD.GL_DATE, REC1.GL_DATE,
1, 0) * DECODE(:B2 , NULL, ROUND( CTL.EXTENDED_AMOUNT *
NVL(CT.EXCHANGE_RATE,1), :B3 ), ROUND( ( CTL.EXTENDED_AMOUNT *
NVL(CT.EXCHANGE_RATE,1) ) / :B2 ) * :B2 ) ) ) FROM
RA_CUSTOMER_TRX_LINES CTL, RA_CUSTOMER_TRX CT,
RA_CUST_TRX_LINE_GL_DIST LGD2, RA_CUST_TRX_LINE_GL_DIST REC1 WHERE
CTL.CUSTOMER_TRX_LINE_ID = LGD2.CUSTOMER_TRX_LINE_ID AND
CTL.CUSTOMER_TRX_ID = CT.CUSTOMER_TRX_ID AND LGD.CUSTOMER_TRX_LINE_ID
= CTL.CUSTOMER_TRX_LINE_ID AND LGD2.ACCOUNT_SET_FLAG = 'N' AND
REC1.CUSTOMER_TRX_ID = CT.CUSTOMER_TRX_ID AND REC1.ACCOUNT_CLASS =
'REC' AND REC1.LATEST_REC_FLAG = 'Y' AND NVL(LGD.GL_DATE, TO_DATE(
2415021, 'J') ) = NVL(LGD2.GL_DATE, TO_DATE( 2415021, 'J') ) GROUP BY
CTL.CUSTOMER_TRX_LINE_ID, REC1.GL_DATE, CTL.EXTENDED_AMOUNT,
CTL.REVENUE_AMOUNT, CT.EXCHANGE_RATE ), PERCENT = (SELECT /*+
index(rec2 RA_CUST_TRX_LINE_GL_DIST_N6) */ DECODE(LGD.ACCOUNT_CLASS
|| LGD.ACCOUNT_SET_FLAG, 'SUSPENSEN', LGD.PERCENT, 'UNBILLN',
LGD.PERCENT, 'UNEARNN', LGD.PERCENT, NVL(LGD.PERCENT, 0) - (
SUM(NVL(LGD4.PERCENT, 0)) - DECODE(REC2.GL_DATE, NVL(LGD.GL_DATE,
REC2.GL_DATE), 100, 0) ) ) FROM RA_CUST_TRX_LINE_GL_DIST LGD4,
RA_CUST_TRX_LINE_GL_DIST REC2 WHERE LGD.CUSTOMER_TRX_LINE_ID =
LGD4.CUSTOMER_TRX_LINE_ID AND REC2.CUSTOMER_TRX_ID =
LGD.CUSTOMER_TRX_ID AND REC2.CUSTOMER_TRX_ID = LGD4.CUSTOMER_TRX_ID
AND REC2.ACCOUNT_CLASS = 'REC' AND REC2.LATEST_REC_FLAG = 'Y' AND
LGD4.ACCOUNT_SET_FLAG = LGD.ACCOUNT_SET_FLAG AND
DECODE(LGD4.ACCOUNT_SET_FLAG, 'Y', LGD4.ACCOUNT_CLASS,
LGD.ACCOUNT_CLASS) = LGD.ACCOUNT_CLASS AND NVL(LGD.GL_DATE, TO_DATE(
2415021, 'J') ) = NVL(LGD4.GL_DATE, TO_DATE( 2415021, 'J') ) GROUP BY
REC2.GL_DATE, LGD.GL_DATE ), LAST_UPDATED_BY = :B1 , LAST_UPDATE_DATE
= SYSDATE WHERE CUST_TRX_LINE_GL_DIST_ID IN (SELECT /*+ index(rec3
RA_CUST_TRX_LINE_GL_DIST_N6) */ MIN(DECODE(LGD3.GL_POSTED_DATE, NULL,
LGD3.CUST_TRX_LINE_GL_DIST_ID, NULL) ) FROM RA_CUSTOMER_TRX_LINES
CTL, RA_CUSTOMER_TRX T, RA_CUST_TRX_LINE_GL_DIST LGD3,
RA_CUST_TRX_LINE_GL_DIST REC3 WHERE T.REQUEST_ID = :B5 AND
T.CUSTOMER_TRX_ID = CTL.CUSTOMER_TRX_ID AND (CTL.LINE_TYPE IN (
'TAX','FREIGHT','CHARGES','SUSPENSE' ) OR (CTL.LINE_TYPE = 'LINE' AND
CTL.ACCOUNTING_RULE_ID IS NULL )) AND LGD3.CUSTOMER_TRX_LINE_ID =
CTL.CUSTOMER_TRX_LINE_ID AND LGD3.ACCOUNT_SET_FLAG = 'N' AND
REC3.CUSTOMER_TRX_ID = T.CUSTOMER_TRX_ID AND REC3.ACCOUNT_CLASS =
'REC' AND REC3.LATEST_REC_FLAG = 'Y' AND
NVL(T.PREVIOUS_CUSTOMER_TRX_ID, -1) = DECODE(:B4 , 'INV', -1,
'REGULAR_CM', T.PREVIOUS_CUSTOMER_TRX_ID,
NVL(T.PREVIOUS_CUSTOMER_TRX_ID, -1) ) GROUP BY
CTL.CUSTOMER_TRX_LINE_ID, LGD3.GL_DATE, REC3.GL_DATE,
CTL.EXTENDED_AMOUNT, CTL.REVENUE_AMOUNT, T.EXCHANGE_RATE HAVING (
SUM(NVL(LGD3.AMOUNT, 0)) <> CTL.EXTENDED_AMOUNT *
DECODE(LGD3.GL_DATE, REC3.GL_DATE, 1, 0) OR
SUM(NVL(LGD3.ACCTD_AMOUNT, 0)) <> DECODE(LGD3.GL_DATE, REC3.GL_DATE,
1, 0) * DECODE(:B2 , NULL, ROUND( CTL.EXTENDED_AMOUNT *
NVL(T.EXCHANGE_RATE,1), :B3 ), ROUND( ( CTL.EXTENDED_AMOUNT *
NVL(T.EXCHANGE_RATE,1) ) / :B2 ) * :B2 ) ) UNION SELECT /*+
index(rec5 RA_CUST_TRX_LINE_GL_DIST_N6) INDEX (lgd5
ra_cust_trx_line_gl_dist_n6) index(ctl2 ra_customer_trx_lines_u1) */
TO_NUMBER( MIN(DECODE(LGD5.GL_POSTED_DATE||LGD5.ACCOUNT_CLASS||
LGD5.ACCOUNT_SET_FLAG, 'REVN', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'REVY',
LGD5.CUST_TRX_LINE_GL_DIST_ID, 'TAXN', LGD5.CUST_TRX_LINE_GL_DIST_ID,
'TAXY', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'FREIGHTN',
LGD5.CUST_TRX_LINE_GL_DIST_ID, 'FREIGHTY',
LGD5.CUST_TRX_LINE_GL_DIST_ID, 'CHARGESN',
LGD5.CUST_TRX_LINE_GL_DIST_ID, 'CHARGESY',
LGD5.CUST_TRX_LINE_GL_DIST_ID, 'UNEARNY',
LGD5.CUST_TRX_LINE_GL_DIST_ID, 'UNBILLY',
LGD5.CUST_TRX_LINE_GL_DIST_ID, NULL ) ) ) FROM
RA_CUST_TRX_LINE_GL_DIST LGD5, RA_CUST_TRX_LINE_GL_DIST REC5,
RA_CUSTOMER_TRX_LINES CTL2, RA_CUSTOMER_TRX T WHERE T.REQUEST_ID =
:B5 AND T.CUSTOMER_TRX_ID = REC5.CUSTOMER_TRX_ID AND
CTL2.CUSTOMER_TRX_LINE_ID = LGD5.CUSTOMER_TRX_LINE_ID AND
REC5.CUSTOMER_TRX_ID = LGD5.CUSTOMER_TRX_ID AND REC5.ACCOUNT_CLASS =
'REC' AND REC5.LATEST_REC_FLAG = 'Y' AND (CTL2.LINE_TYPE IN (
'TAX','FREIGHT','CHARGES','SUSPENSE') OR (CTL2.LINE_TYPE = 'LINE' AND
(CTL2.ACCOUNTING_RULE_ID IS NULL OR LGD5.ACCOUNT_SET_FLAG = 'Y' )))
GROUP BY LGD5.CUSTOMER_TRX_LINE_ID, LGD5.GL_DATE, REC5.GL_DATE,
LGD5.ACCOUNT_SET_FLAG, DECODE(LGD5.ACCOUNT_SET_FLAG, 'N', NULL,
LGD5.ACCOUNT_CLASS) HAVING SUM(NVL(LGD5.PERCENT, 0)) <> DECODE(
NVL(LGD5.GL_DATE, REC5.GL_DATE), REC5.GL_DATE, 100, 0) )
Rationale
The SQL spent 100% of its database time on CPU, I/O and Cluster waits.
This part of database time may be improved by the SQL Tuning Advisor.
Rationale
Database time for this SQL was divided as follows: 100% for SQL
execution, 0% for parsing, 0% for PL/SQL execution and 0% for Java
execution.
Rationale
SQL statement with SQL_ID "85ag5gkm9wzmb" was executed 20 times and had
an average elapsed time of 9763 seconds.
Rationale
Top level calls to execute the PL/SQL statement with SQL_ID
"gccbpwamzp78q" are responsible for 100% of the database time spent on
the UPDATE statement with SQL_ID "85ag5gkm9wzmb".
Related Object
SQL statement with SQL_ID gccbpwamzp78q.
declare l_header_rounding_flag VARCHAR2 ( 1 ) ; BEGIN select
trx_header_level_rounding into l_header_rounding_flag from
ar_system_parameters ; :return_value:i_return_value := arp_rounding .
correct_dist_rounding_errors ( :request_id , NULL , NULL ,
:rows_processed:i_rows_processed , :error_msg:i_error_msg , NULL ,
NULL , :trx_class , 'N' , :debug_mode , l_header_rounding_flag , 'N'
) ; END ;
Recommendation 2: SQL Tuning
Estimated benefit is .42 active sessions, 8.39% of total activity.
Action
Run SQL Tuning Advisor on the SELECT statement with SQL_ID
"d9xccqfmfjvns".
Related Object
SQL statement with SQL_ID d9xccqfmfjvns.
SELECT RCT.CUSTOMER_TRX_ID K_TRX_ID, RCT.TRX_NUMBER, SUM
(APS.AMOUNT_DUE_REMAINING) CM_AMOUNT_APPLIED,RCT.TRX_DATE FROM
APPS.RA_CUSTOMER_TRX_ALL RCT, APPS.AR_PAYMENT_SCHEDULES_ALL APS,
APPS.RA_CUST_TRX_TYPES_ALL TCTTA, APPS.AR_CUSTOMERS AC,
APPS.HZ_CUSTOMER_PROFILES HCP, APPS.RA_TERMS RT WHERE
RCT.CUST_TRX_TYPE_ID = TCTTA.CUST_TRX_TYPE_ID AND AC.CUSTOMER_ID =
RCT.BILL_TO_CUSTOMER_ID AND RCT.CUSTOMER_TRX_ID=APS.CUSTOMER_TRX_ID
AND AC.CUSTOMER_ID = HCP.CUST_ACCOUNT_ID AND RCT.BILL_TO_SITE_USE_ID
= HCP.SITE_USE_ID AND RT.TERM_ID = HCP.STANDARD_TERMS AND TCTTA.TYPE
IN ('INV') AND UPPER(TCTTA.NAME) IN ( SELECT UPPER(MEANING) FROM
FND_LOOKUP_VALUES WHERE LOOKUP_TYPE = :B3 ) AND RCT.TRX_DATE <= NVL
(TO_DATE(:B2 , 'RRRR/MM/DD HH24:MI:SS'), RCT.TRX_DATE) AND
AC.CUSTOMER_ID = :B1 GROUP BY RCT.CUSTOMER_TRX_ID,
RCT.TRX_NUMBER,RCT.TRX_DATE HAVING SUM (APS.AMOUNT_DUE_REMAINING) > 0
ORDER BY RCT.TRX_DATE
Rationale
The SQL spent 100% of its database time on CPU, I/O and Cluster waits.
This part of database time may be improved by the SQL Tuning Advisor.
Rationale
Database time for this SQL was divided as follows: 100% for SQL
execution, 0% for parsing, 0% for PL/SQL execution and 0% for Java
execution.
Rationale
SQL statement with SQL_ID "d9xccqfmfjvns" was executed 123412 times and
had an average elapsed time of 0.29 seconds.
Rationale
Top level calls to execute the PL/SQL statement with SQL_ID
"bcxz2s8wj5spc" are responsible for 100% of the database time spent on
the SELECT statement with SQL_ID "d9xccqfmfjvns".
Related Object
SQL statement with SQL_ID bcxz2s8wj5spc.
BEGIN XXSD_APPLY_CM_APPLY_TO_INV(:errbuf,:rc,:A0,:A1,:A2,:A3); END;
Recommendation 3: SQL Tuning
Estimated benefit is .3 active sessions, 6.04% of total activity.
Action
Run SQL Tuning Advisor on the SELECT statement with SQL_ID
"2ujt2fg615ymk".
Related Object
SQL statement with SQL_ID 2ujt2fg615ymk.
SELECT HP.PARTY_NAME PARTY_NAME, RCT.TRX_NUMBER TRX_NUMBER,
RCT.TRX_DATE TRX_DATE, APS.AMOUNT_DUE_ORIGINAL AMOUNT_DUE_ORIGINAL,
APS.AMOUNT_DUE_REMAINING OUTSTANDING_AMOUNT, RCTT.NAME
TRANSACTION_TYPE FROM RA_CUSTOMER_TRX_ALL RCT,
AR_PAYMENT_SCHEDULES_ALL APS, RA_CUST_TRX_TYPES_ALL RCTT,
HZ_CUST_ACCOUNTS HCA, HZ_PARTIES HP, APPS.AR_CUSTOMERS AC,
APPS.HZ_CUSTOMER_PROFILES HCP, APPS.RA_TERMS RT, HZ_PARTY_SITES HPS,
HZ_CUST_ACCT_SITES_ALL HCASA, HZ_CUST_SITE_USES_ALL HCSUA WHERE 1 = 1
AND RCT.BILL_TO_CUSTOMER_ID = HCA.CUST_ACCOUNT_ID AND HCA.PARTY_ID =
HP.PARTY_ID AND APS.CUSTOMER_TRX_ID = RCT.CUSTOMER_TRX_ID AND
APS.ORG_ID = RCT.ORG_ID AND RCTT.CUST_TRX_TYPE_ID =
RCT.CUST_TRX_TYPE_ID AND RCTT.ORG_ID = RCT.ORG_ID AND AC.CUSTOMER_ID
= HCA.CUST_ACCOUNT_ID AND AC.CUSTOMER_ID = RCT.BILL_TO_CUSTOMER_ID
AND AC.CUSTOMER_ID = HCP.CUST_ACCOUNT_ID AND RCT.BILL_TO_SITE_USE_ID
= HCP.SITE_USE_ID AND RT.TERM_ID = HCP.STANDARD_TERMS AND
HPS.PARTY_SITE_ID = HCASA.PARTY_SITE_ID AND HCASA.CUST_ACCOUNT_ID =
AC.CUSTOMER_ID AND HCASA.CUST_ACCT_SITE_ID = HCSUA.CUST_ACCT_SITE_ID
AND HCSUA.SITE_USE_ID = RCT.BILL_TO_SITE_USE_ID AND RCT.TRX_DATE
BETWEEN NVL (TO_DATE (:B6 , 'RRRR/MM/DD HH24:MI:SS' ), '1-JAN-1900' )
AND NVL (TO_DATE (:B5 , 'RRRR/MM/DD HH24:MI:SS' ), '31-DEC-2100' )
AND RCTT.NAME = NVL (:B4 , RCTT.NAME) AND RT.TERM_ID = NVL (:B3 ,
RT.TERM_ID) AND HP.PARTY_NAME = NVL (:B2 , HP.PARTY_NAME) AND ( (CASE
WHEN :B1 = 'Open' THEN APS.AMOUNT_DUE_REMAINING END != 0 ) OR ((CASE
WHEN :B1 = 'Closed' THEN APS.AMOUNT_DUE_REMAINING END = 0 ) ) OR CASE
WHEN :B1 IS NULL THEN 1 END = 1 )
Rationale
The SQL spent 100% of its database time on CPU, I/O and Cluster waits.
This part of database time may be improved by the SQL Tuning Advisor.
Rationale
Database time for this SQL was divided as follows: 100% for SQL
execution, 0% for parsing, 0% for PL/SQL execution and 0% for Java
execution.
Rationale
SQL statement with SQL_ID "2ujt2fg615ymk" was executed 19 times and had
an average elapsed time of 1368 seconds.
Rationale
At least 2 distinct execution plans were utilized for this SQL statement
during the analysis period.
Rationale
Top level calls to execute the PL/SQL statement with SQL_ID
"g969dx1d0uucf" are responsible for 100% of the database time spent on
the SELECT statement with SQL_ID "2ujt2fg615ymk".
Related Object
SQL statement with SQL_ID g969dx1d0uucf.
BEGIN XXSD_TRX_DETAIL_REPORT(:errbuf,:rc,:A0,:A1,:A2,:A3,:A4,:A5);
END;
Recommendation 4: SQL Tuning
Estimated benefit is .2 active sessions, 4.04% of total activity.
Action
Run SQL Tuning Advisor on the SELECT statement with SQL_ID
"gy02p15c6bf0w".
Related Object
SQL statement with SQL_ID gy02p15c6bf0w.
SELECT SUM (RECEIPTS) - SUM (PAYMENTS) FROM (SELECT
AIP.ACCOUNTING_DATE GL_DATE , DECODE(NVL(APC.VENDOR_NAME ,
APC.REMIT_TO_SUPPLIER_NAME ) , 'FD Investment' , 'FD' , 'Payment' )
TYPE , APC.DOC_SEQUENCE_VALUE VOUCHER_NO , APC.CREATION_DATE
VOUCHER_DATE , TO_CHAR (APC.CHECK_NUMBER ) CHECK_NUMBER , TO_CHAR
(NVL(APC.FUTURE_PAY_DUE_DATE , APC.CHECK_DATE ) , 'DD-MON-YYYY' )
CHECK_DATE , NVL(APC.VENDOR_NAME , APC.REMIT_TO_SUPPLIER_NAME )
VENDOR_NAME , API.ACCTS_PAY_CODE_COMBINATION_ID ACCOUNT_CODE ,
'Supplier Payment' DESCRIPTION , TO_CHAR (DECODE(SIGN(SUM
(AIP.AMOUNT) ) , -1 , SUM (AIP.AMOUNT * NVL(AIP.EXCHANGE_RATE , 1 )
) * -1 , SUM (0) ) ) RECEIPTS , TO_CHAR (DECODE(SIGN(SUM
(AIP.AMOUNT) ) , 1 , SUM (AIP.AMOUNT * NVL(AIP.EXCHANGE_RATE , 1 )
) , SUM (0) ) ) PAYMENTS , TO_NUMBER (SUM (AIP.AMOUNT *
NVL(AIP.EXCHANGE_RATE , 1 ) ) ) PAYMENTS1 , CBA.BANK_ACCOUNT_NAME
BANK_ACCOUNT_NAME , CBA.BANK_ACCOUNT_NUM BANK_ACCOUNT_NUM ,
BANK.PARTY_NAME BANK_NAME , BRANCH.PARTY_NAME BRANCH_NAME FROM
APPS.AP_INVOICE_PAYMENTS_ALL AIP , APPS.AP_INVOICES_ALL API ,
APPS.AP_CHECKS_ALL APC , APPS.CE_BANK_ACCOUNTS CBA ,
APPS.CE_BANK_ACCT_USES_ALL CBU , HZ_PARTIES BANK , HZ_PARTIES BRANCH
WHERE API.INVOICE_ID = AIP.INVOICE_ID AND AIP.CHECK_ID =
APC.CHECK_ID AND APC.CE_BANK_ACCT_USE_ID = CBU.BANK_ACCT_USE_ID
AND CBA.BANK_ACCOUNT_ID = CBU.BANK_ACCOUNT_ID AND CBA.BANK_ID =
BANK.PARTY_ID AND CBA.BANK_BRANCH_ID = BRANCH.PARTY_ID AND ( (
APC.STATUS_LOOKUP_CODE IN ( 'NEGOTIABLE' , 'CLEARED' , 'VOIDED' ,
'RECONCILED UNACCOUNTED' , 'RECONCILED' , 'CLEARED BUT UNACCOUNTED' )
AND AIP.ACCOUNTING_DATE < :b1 AND APC.FUTURE_PAY_DUE_DATE IS NULL
) OR ( APC.STATUS_LOOKUP_CODE IN ( 'NEGOTIABLE' ) AND
APC.FUTURE_PAY_DUE_DATE < :b1 ) ) AND CBA.BANK_ACCOUNT_ID = :b2
AND AIP.INVOICE_PAYMENT_TYPE IS NULL AND ( API.ORG_ID IS NULL OR
API.ORG_ID = :b3 ) GROUP BY AIP.ACCOUNTING_DATE ,
DECODE(NVL(APC.VENDOR_NAME , APC.REMIT_TO_SUPPLIER_NAME ) , 'FD
Investment' , 'FD' , 'Payment' ) , APC.DOC_SEQUENCE_VALUE ,
APC.CREATION_DATE , TO_CHAR (APC.CHECK_NUMBER ) , TO_CHAR
(NVL(APC.FUTURE_PAY_DUE_DATE , APC.CHECK_DATE ) , 'DD-MON-YYYY' ) ,
NVL(APC.VENDOR_NAME , APC.REMIT_TO_SUPPLIER_NAME ) ,
API.ACCTS_PAY_CODE_COMBINATION_ID , 'Supplier Payment' ,
CBA.BANK_ACCOUNT_NAME , CBA.BANK_ACCOUNT_NUM , BANK.PARTY_NAME ,
BRANCH.PARTY_NAME UNION ALL SELECT APID.ACCOUNTING_DATE GL_DATE ,
DECODE(POV.VENDOR_NAME , 'FD Investment' , 'FD' , 'I' ) TYPE ,
API.DOC_SEQUENCE_VALUE VOUCHER_NO , API.CREATION_DATE VOUCHER_DATE ,
API.INVOICE_NUM CHECK_NUMBER , TO_CHAR (API.INVOICE_DATE ,
'DD-MON-YYYY' ) CHECK_DATE , POV.VENDOR_NAME VENDOR_NAME ,
API.ACCTS_PAY_CODE_COMBINATION_ID ACCOUNT_CODE , NVL(API.DESCRIPTION
, API.INVOICE_NUM ) DESCRIPTION , TO_CHAR (SUM (API.INVOICE_AMOUNT *
NVL(API.EXCHANGE_RATE , 1 ) ) ) RECEIPTS , TO_CHAR (SUM (0) ,
'fm999999999990.00' ) PAYMENTS , TO_NUMBER (SUM (0) ) PAYMENTS1 ,
CBA.BANK_ACCOUNT_NAME BANK_ACCOUNT_NAME , CBA.BANK_ACCOUNT_NUM
BANK_ACCOUNT_NUM , BANK.PARTY_NAME BANK_NAME , BRANCH.PARTY_NAME
BRANCH_NAME FROM APPS.AP_INVOICE_DISTRIBUTIONS_ALL APID ,
APPS.AP_INVOICE_LINES_ALL APLA , APPS.AP_INVOICES_ALL API ,
APPS.PO_VENDORS POV , APPS.CE_BANK_ACCOUNTS CBA , HZ_PARTIES BANK ,
HZ_PARTIES BRANCH WHERE API.INVOICE_ID = APID.INVOICE_ID AND
APLA.INVOICE_ID = APID.INVOICE_ID AND APLA.LINE_NUMBER =
APID.INVOICE_LINE_NUMBER AND API.VENDOR_ID = POV.VENDOR_ID AND
CBA.BANK_ACCOUNT_ID = :b2 AND CBA.ASSET_CODE_COMBINATION_ID =
APID.DIST_CODE_COMBINATION_ID AND CBA.BANK_ID = BANK.PARTY_ID AND
CBA.BANK_BRANCH_ID = BRANCH.PARTY_ID AND APID.MATCH_STATUS_FLAG =
'A' AND NVL(API.PAYMENT_STATUS_FLAG , 'N' ) != 'N' AND
APID.ACCOUNTING_DATE < :b1 AND ( API.ORG_ID IS NULL OR API.ORG_ID
= :b3 ) GROUP BY APID.ACCOUNTING_DATE , DECODE(POV.VENDOR_NAME ,
'FD Investment' , 'FD' , 'I' ) , API.DOC_SEQUENCE_VALUE ,
API.CREATION_DATE , API.INVOICE_NUM , TO_CHAR (API.INVOICE_DATE ,
'DD-MON-YYYY' ) , POV.VENDOR_NAME ,
API.ACCTS_PAY_CODE_COMBINATION_ID , NVL(API.DESCRIPTION ,
API.INVOICE_NUM ) , CBA.BANK_ACCOUNT_NAME , CBA.BANK_ACCOUNT_NUM ,
BANK.PARTY_NAME , BRANCH.PARTY_NAME UNION ALL SELECT ACRH.GL_DATE
GL_DATE , DECODE(ACRH.STATUS , 'REVERSED' , 'REV' ,
DECODE(ACRH.CREATED_FROM , 'RATE ADJUSTMENT TRIGGER' , 'ERF' ,
'Receipt' ) ) TYPE , ACR.DOC_SEQUENCE_VALUE VOUCHER_NO ,
ACR.CREATION_DATE VOUCHER_DATE , ACR.RECEIPT_NUMBER CHECK_NUMBER ,
TO_CHAR (ACR.RECEIPT_DATE , 'DD-MON-YYYY' ) CHECK_DATE ,
NVL(SUBSTR(HP.PARTY_NAME , 1 , 50 ) , 'Miscellaneous Activity' )
VENDOR_NAME , ACRH.ACCOUNT_CODE_COMBINATION_ID ACCOUNT_CODE ,
'Customer Receipt' DESCRIPTION , TO_CHAR (SUM (DECODE(ACRH.STATUS ,
'REVERSED' , NVL(ADA.ACCTD_AMOUNT_DR , 0 ) , 'CLEARED' ,
NVL(ADA.ACCTD_AMOUNT_DR , 0 ) , 'REMITTED' , NVL(ADA.ACCTD_AMOUNT_DR
, 0 ) , 'CONFIRMED' , NVL(ADA.ACCTD_AMOUNT_DR , 0 ) ) ) ,
'fm999999999990.00' ) RECEIPTS , TO_CHAR (SUM (DECODE(ACRH.STATUS ,
'REVERSED' , NVL(ADA.ACCTD_AMOUNT_CR , 0 ) , 'CLEARED' ,
NVL(ADA.ACCTD_AMOUNT_CR , 0 ) , 'REMITTED' , NVL(ADA.ACCTD_AMOUNT_CR
, 0 ) , 'CONFIRMED' , NVL(ADA.ACCTD_AMOUNT_CR , 0 ) ) ) ,
'fm999999999990.00' ) PAYMENTS , TO_NUMBER (TO_CHAR (SUM (0) ) )
PAYMENTS1 , CBA.BANK_ACCOUNT_NAME BANK_ACCOUNT_NAME ,
CBA.BANK_ACCOUNT_NUM BANK_ACCOUNT_NUM , BANK.PARTY_NAME BANK_NAME ,
BRANCH.PARTY_NAME BRANCH_NAME FROM APPS.AR_CASH_RECEIPT_HISTORY_ALL
ACRH , APPS.AR_CASH_RECEIPTS_ALL ACR , APPS.HZ_PARTIES HP ,
APPS.HZ_CUST_ACCOUNTS HCA , APPS.CE_BANK_ACCOUNTS CBA ,
APPS.CE_BANK_ACCT_USES_ALL CBAU , APPS.AR_DISTRIBUTIONS_ALL ADA ,
HZ_PARTIES BANK , HZ_PARTIES BRANCH WHERE ACRH.CASH_RECEIPT_ID =
ACR.CASH_RECEIPT_ID AND CBAU.BANK_ACCT_USE_ID =
ACR.REMIT_BANK_ACCT_USE_ID AND CBAU.BANK_ACCOUNT_ID =
CBA.BANK_ACCOUNT_ID AND HCA.PARTY_ID = HP.PARTY_ID AND
ACR.PAY_FROM_CUSTOMER = HCA.CUST_ACCOUNT_ID AND CBA.BANK_ID =
BANK.PARTY_ID AND CBA.BANK_BRANCH_ID = BRANCH.PARTY_ID AND
ACRH.STATUS IN ( 'CLEARED' , 'REMITTED' , 'CONFIRMED' , 'REVERSED' )
AND ACRH.CASH_RECEIPT_HISTORY_ID = ADA.SOURCE_ID AND
ADA.SOURCE_TABLE = 'CRH' AND ADA.SOURCE_TYPE != 'BANK_CHARGES'
AND CBA.BANK_ACCOUNT_ID = :b2 AND ACRH.GL_DATE < :b1 AND (
ACR.ORG_ID IS NULL OR ACR.ORG_ID = :b3 ) AND ( (
ACR.REVERSAL_DATE IS NOT NULL AND ACRH.STATUS = 'REVERSED' ) OR (
ACRH.CASH_RECEIPT_HISTORY_ID IN (SELECT INCRH.CASH_RECEIPT_HISTORY_ID
FROM APPS.AR_CASH_RECEIPT_HISTORY_ALL INCRH WHERE
INCRH.CASH_RECEIPT_ID = ACR.CASH_RECEIPT_ID AND INCRH.STATUS !=
'REVERSED' )) ) GROUP BY ACRH.GL_DATE , DECODE(ACRH.STATUS ,
'REVERSED' , 'REV' , DECODE(ACRH.CREATED_FROM , 'RATE ADJUSTMENT
TRIGGER' , 'ERF' , 'Receipt' ) ) , ACR.DOC_SEQUENCE_VALUE ,
ACR.CREATION_DATE , ACR.RECEIPT_NUMBER , TO_CHAR (ACR.RECEIPT_DATE ,
'DD-MON-YYYY' ) , NVL(SUBSTR(HP.PARTY_NAME , 1 , 50 ) ,
'Miscellaneous Activity' ) , ACRH.ACCOUNT_CODE_COMBINATION_ID ,
'Customer Receipt' , CBA.BANK_ACCOUNT_NAME , CBA.BANK_ACCOUNT_NUM ,
BANK.PARTY_NAME , BRANCH.PARTY_NAME UNION ALL SELECT ACRH.GL_DATE
GL_DATE , DECODE(ADJ.REASON_CODE , NULL , 'ADJ' , ADJ.REASON_CODE
|| ' - ADJ' ) TYPE , ACR.DOC_SEQUENCE_VALUE VOUCHER_NO ,
ACR.CREATION_DATE VOUCHER_DATE , NULL CHECK_NUMBER , NULL
CHECK_DATE , NVL(SUBSTR(HP.PARTY_NAME , 1 , 50 ) , 'Miscellaneous
Activity' ) VENDOR_NAME , ACRH.ACCOUNT_CODE_COMBINATION_ID
ACCOUNT_CODE , NVL(ACR.COMMENTS , ACR.RECEIPT_NUMBER ) DESCRIPTION ,
TO_CHAR (SUM (-1 * ADJ.AMOUNT ) , 'fm999999999990.00' ) RECEIPTS ,
NULL PAYMENTS , TO_NUMBER (TO_CHAR (SUM (0) ) ) PAYMENTS1 ,
CBA.BANK_ACCOUNT_NAME BANK_ACCOUNT_NAME , CBA.BANK_ACCOUNT_NUM
BANK_ACCOUNT_NUM , BANK.PARTY_NAME BANK_NAME , BRANCH.PARTY_NAME
BRANCH_NAME FROM APPS.AR_CASH_RECEIPT_HISTORY_ALL ACRH ,
APPS.AR_CASH_RECEIPTS_ALL ACR , APPS.HZ_PARTIES HP ,
APPS.HZ_CUST_ACCOUNTS HCA , APPS.CE_BANK_ACCOUNTS CBA ,
APPS.CE_BANK_ACCT_USES_ALL CBAU , APPS.AR_RECEIVABLE_APPLICATIONS_ALL
APP , APPS.AR_ADJUSTMENTS_ALL ADJ , HZ_PARTIES BANK , HZ_PARTIES
BRANCH WHERE ACRH.CASH_RECEIPT_ID = ACR.CASH_RECEIPT_ID AND
APP.CASH_RECEIPT_ID = ACRH.CASH_RECEIPT_ID AND APP.DISPLAY = 'Y'
AND APP.STATUS = 'APP' AND APP.APPLICATION_TYPE = 'CASH' AND
ADJ.CUSTOMER_TRX_ID = APP.APPLIED_CUSTOMER_TRX_ID AND
ADJ.CHARGEBACK_CUSTOMER_TRX_ID IS NULL AND ADJ.TYPE = 'CHARGES'
AND CBAU.BANK_ACCT_USE_ID = ACR.REMIT_BANK_ACCT_USE_ID AND
CBAU.BANK_ACCOUNT_ID = CBA.BANK_ACCOUNT_ID AND ACRH.CASH_RECEIPT_ID
= ACR.CASH_RECEIPT_ID AND HCA.PARTY_ID = HP.PARTY_ID AND
ACR.PAY_FROM_CUSTOMER = HCA.CUST_ACCOUNT_ID AND CBA.BANK_ID =
BANK.PARTY_ID AND CBA.BANK_BRANCH_ID = BRANCH.PARTY_ID AND
ACRH.STATUS IN ( 'CLEARED' , 'REMITTED' , 'CONFIRMED' , 'REVERSED' )
AND CBA.BANK_ACCOUNT_ID = :b2 AND ACRH.GL_DATE < :b1 AND (
ACR.ORG_ID IS NULL OR ACR.ORG_ID = :b3 ) AND ( (
ACR.REVERSAL_DATE IS NOT NULL AND ACRH.STATUS = 'REVERSED' ) OR (
ACRH.CASH_RECEIPT_HISTORY_ID IN (SELECT MIN
(INCRH.CASH_RECEIPT_HISTORY_ID) FROM APPS.AR_CASH_RECEIPT_HISTORY_ALL
INCRH WHERE INCRH.CASH_RECEIPT_ID = ACR.CASH_RECEIPT_ID AND
INCRH.STATUS != 'REVERSED' )) ) GROUP BY ACRH.GL_DATE ,
DECODE(ADJ.REASON_CODE , NULL , 'ADJ' , ADJ.REASON_CODE || ' -
ADJ' ) , ACR.DOC_SEQUENCE_VALUE , ACR.CREATION_DATE , NULL ,
NULL , NVL(SUBSTR(HP.PARTY_NAME , 1 , 50 ) , 'Miscellaneous
Activity' ) , ACRH.ACCOUNT_CODE_COMBINATION_ID , NVL(ACR.COMMENTS ,
ACR.RECEIPT_NUMBER ) , NULL , CBA.BANK_ACCOUNT_NAME ,
CBA.BANK_ACCOUNT_NUM , BANK.PARTY_NAME , BRANCH.PARTY_NAME UNION ALL
SELECT PT.TRANSACTION_DATE GL_DATE , DECODE(PT.CREATED_FROM_DIR ,
'PAYMENT' , 'Payment' ) TYPE , PT.TRXN_REFERENCE_NUMBER VOUCHER_NO ,
TRUNC (PT.CREATION_DATE ) VOUCHER_DATE , PT.BANK_TRXN_NUMBER
CHECK_NUMBER , TO_CHAR (PT.TRANSACTION_DATE , 'DD-MON-YYYY' )
CHECK_DATE , DESTBA.BANK_ACCOUNT_NAME VENDOR_NAME ,
GCC.CODE_COMBINATION_ID ACCOUNT_CODE , 'Inter Bank Transfer' ACC_DESC
, '0' RECEIPTS , TO_CHAR (SUM (PT.PAYMENT_AMOUNT) ) PAYMENTS ,
TO_NUMBER (SUM (PT.PAYMENT_AMOUNT) ) PAYMENTS1 ,
SRCBA.BANK_ACCOUNT_NAME BANK_ACCOUNT_NAME , SRCBA.BANK_ACCOUNT_NUM
BANK_ACCOUNT_NUM , BANK.PARTY_NAME BANK_NAME , BRANCH.PARTY_NAME
BRANCH_NAME FROM APPS.HZ_ORGANIZATION_PROFILES SBANKORGPROFILE ,
APPS.HZ_CODE_ASSIGNMENTS SBANKCA , APPS.HZ_PARTIES SBRANCHPARTY ,
APPS.HZ_ORGANIZATION_PROFILES SBRANCHORGPROFILE ,
APPS.HZ_CODE_ASSIGNMENTS SBRANCHCA , APPS.HZ_RELATIONSHIPS SBRREL ,
APPS.HZ_CODE_ASSIGNMENTS SBRANCHTYPECA , APPS.HZ_CONTACT_POINTS
SBRANCHCP , APPS.HZ_CONTACT_POINTS SEDICP ,
APPS.HZ_ORGANIZATION_PROFILES DBANKORGPROFILE ,
APPS.HZ_CODE_ASSIGNMENTS DBANKCA , APPS.HZ_PARTIES DBRANCHPARTY ,
APPS.HZ_ORGANIZATION_PROFILES DBRANCHORGPROFILE ,
APPS.HZ_CODE_ASSIGNMENTS DBRANCHCA , APPS.HZ_RELATIONSHIPS DBRREL ,
APPS.HZ_CODE_ASSIGNMENTS DBRANCHTYPECA , APPS.HZ_CONTACT_POINTS
DBRANCHCP , APPS.HZ_CONTACT_POINTS DEDICP ,
APPS.CE_PAYMENT_TRANSACTIONS PT , APPS.CE_BANK_ACCOUNTS SRCBA ,
APPS.CE_BANK_ACCOUNTS DESTBA , APPS.XLE_ENTITY_PROFILES SRCLE ,
APPS.XLE_ENTITY_PROFILES DESTLE , APPS.GL_CODE_COMBINATIONS GCC ,
APPS.HZ_PARTIES HZP , HZ_PARTIES BANK , HZ_PARTIES BRANCH WHERE
SYSDATE BETWEEN TRUNC (SBANKORGPROFILE.EFFECTIVE_START_DATE ) AND
NVL(TRUNC (SBANKORGPROFILE.EFFECTIVE_END_DATE ) , SYSDATE + 1 )
AND SBANKCA.CLASS_CATEGORY = 'BANK_INSTITUTION_TYPE' AND
SBANKCA.CLASS_CODE IN ( 'BANK' , 'CLEARINGHOUSE' ) AND
SBANKCA.OWNER_TABLE_NAME = 'HZ_PARTIES' AND ( SBANKCA.STATUS = 'A'
OR SBANKCA.STATUS IS NULL ) AND SBANKCA.OWNER_TABLE_ID =
SBANKORGPROFILE.PARTY_ID AND SBRANCHPARTY.PARTY_TYPE =
'ORGANIZATION' AND SBRANCHPARTY.STATUS = 'A' AND
SBRANCHORGPROFILE.PARTY_ID = SBRANCHPARTY.PARTY_ID AND SYSDATE
BETWEEN TRUNC (SBRANCHORGPROFILE.EFFECTIVE_START_DATE ) AND
NVL(TRUNC (SBRANCHORGPROFILE.EFFECTIVE_END_DATE ) , SYSDATE + 1 )
AND SBRANCHCA.CLASS_CATEGORY = 'BANK_INSTITUTION_TYPE' AND
SBRANCHCA.CLASS_CODE IN ( 'BANK_BRANCH' , 'CLEARINGHOUSE_BRANCH' )
AND SBRANCHCA.OWNER_TABLE_NAME = 'HZ_PARTIES' AND (
SBRANCHCA.STATUS = 'A' OR SBRANCHCA.STATUS IS NULL ) AND
SBRANCHCA.OWNER_TABLE_ID = SBRANCHPARTY.PARTY_ID AND
SBANKORGPROFILE.PARTY_ID = SBRREL.OBJECT_ID AND
SBRREL.RELATIONSHIP_TYPE = 'BANK_AND_BRANCH' AND
SBRREL.RELATIONSHIP_CODE = 'BRANCH_OF' AND SBRREL.STATUS = 'A'
AND SBRREL.SUBJECT_TABLE_NAME = 'HZ_PARTIES' AND
SBRREL.SUBJECT_TYPE = 'ORGANIZATION' AND SBRREL.OBJECT_TABLE_NAME =
'HZ_PARTIES' AND SBRREL.OBJECT_TYPE = 'ORGANIZATION' AND
SBRREL.SUBJECT_ID = SBRANCHPARTY.PARTY_ID AND
SBRANCHTYPECA.CLASS_CATEGORY = 'BANK_BRANCH_TYPE' AND
SBRANCHTYPECA.PRIMARY_FLAG = 'Y' AND
SBRANCHTYPECA.OWNER_TABLE_NAME = 'HZ_PARTIES' AND
SBRANCHTYPECA.OWNER_TABLE_ID = SBRANCHPARTY.PARTY_ID ANDHi Karan,
If your DB node has 48 GB and there are no other applications/program running on the server than I believe you still have for room for SGA/PGA resize.
GSS was scheduled to run at 20% till last week ( runs every week) while i just made it to run for auto_sample_size by giving the percent as 0. I have checked and found that most of the tables had good stats , though one of the programs has started to take too much time after that. So for now i have reverted it back to 20%.
10% - 20% is the percentage which I usually go with and this works well for me. Anyways that being said 10% default would do the trick in most cases.
The update statement which is causing the trouble is a seeded oracle program so we have checking that with oracle. ( Auto_invoice_master).
Yes as recommended, Please get confirmation from SR as well.
Please also see note:
How To Setup AutoInvoice For Optimal Performance (Doc ID 1083467.1)
Troubleshooting AutoInvoice Performance Issues (Doc ID 1089196.1)
Thanks &
Best Regards
Maybe you are looking for
-
Filtering multi source data in a Dashboard
Hello, I want to create a dashboard with multi source data (Tables / XML files) Filtering data from one source it's easy, but what I want is to use the same criteria to filter the rest Each (Table / XML file) Will stored in a separate Excel Tab Examp
-
I'm using PSE 8 with Vista home version. When I ask for a print preview I get a blank page. Any ideas what I might do? Thanks jft43
-
Jspc -nowrite -keepgenerated does not work correctly
When you execute jspc -nowrite -keepgenerated file.jsp it is not supposed to generated a file.class file but it still is trying to at least some of the time. $ java weblogic.jspc -nowrite -keepgenerat
-
Signal strength but no internet via Linksys WAG54G
Hello there. I am connected to the internet via a Linksys WAG54G ADSL Gateway. On my PowerMac - ethernet-connected - everything is fine, but on my PowerBook I am getting indications that it has successfully connected (using a WEP key) to the home net
-
Does iTunes v11.1 support opening playlists in separate windows?
Just curious is if iTunes v11.1 supports opening playlists in separate windows as iTunes v10 does. Anyone checked this out?