Reg: Kernel Parameters White paper
Hi Gurus,
Can any one tell me the importance of kernel parameters with respect to oracle database installation.
Thanks & Regards
Azim
There is some Oracle specific info at [Solaris Internals and Performance FAQ|http://www.solarisinternals.com/wiki/index.php/Solaris_Internals_and_Performance_FAQ]
Are you looking to solve a problem(s) or just avoid them?
have a good day,
Glen
Similar Messages
-
Unable to set kernel parameters using solaris 10
HI,
I'm trying to install DB2 8.2 on solaris 10.the problem i'm encountering in installation is unable to set MSGMAX and MSGMNB kernel parameters. I tried setting the new replacement parameter process.max-msq-qbytes through projects->Resource Control from the management console.but still uinable to set the parameters.
Can anyone help me in setting the above kernel parameters.
Its not possible to set it thru /etc/system.
thanx
guruHI,
I'm trying to install DB2 8.2 on solaris 10.the problem i'm encountering in installation is unable to set MSGMAX and MSGMNB kernel parameters. I tried setting the new replacement parameter process.max-msq-qbytes through projects->Resource Control from the management console.but still uinable to set the parameters.
Can anyone help me in setting the above kernel parameters.
Its not possible to set it thru /etc/system.
thanx
guru -
Unable to set kernel parameters using Reource Control
HI,
I'm trying to install DB2 8.2 on solaris 10.the problem i'm encountering in installation is unable to set MSGMAX and MSGMNB kernel parameters. I tried setting the new replacement parameter process.max-msq-qbytes through projects->Resource Control from the management console.but still uinable to set the parameters.
Can anyone help me in setting the above kernel parameters.
Its not possible to set it thru /etc/system.
thanx
guruI finally had some time to find the actual syntax for tuning process.max-msq-qbytes and process.max-msg-messages. prctl will change those paramaters for an existing process.
As a proof of concept I changed process.max-msg-messages to a 64k. process 2221 is my shell.
prctl -n process.max-msg-messages -r -v 64k 2221
bash-3.00# prctl 2221
process: 2221: -csh
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
process.max-port-events
privileged 65.5K - deny -
system 2.15G max deny -
process.max-msg-messages
privileged 64.0K - deny -
system 4.29G max deny -
process.max-msg-qbytes
privileged 64.0KB - deny -
system 4.00GB max deny -And now to make this persist across reboots...
So long as I'm experimenting, I'll use projadd and add a new project which just includes me and not the rest of the users in the group staff.
bash-3.00# projadd -p 115 -U testuser \
-K "process.max-msg-messages=(priv,64K,deny)" \
-K "process.max-msg-qbytes=(priv,64K,deny)" \
user.me This creates the following /etc/project:
(note the last line is all on one line in the real file minus the \.)
placer% cat /etc/project
system:0::::
user.root:1::::
noproject:2::::
default:3::::
group.staff:10::::
user.me:115::testme::\
process.max-msg-messages=(priv,64000,deny);process.max-msg-qbytes=(priv,65536,deny)After a reboot I checked the values by loging in under my user and running prctl.
placer% prctl $$
process: 419: -csh
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
process.max-port-events
privileged 65.5K - deny -
system 2.15G max deny -
process.max-msg-messages
privileged 64.0K - deny -
system 4.29G max deny -
process.max-msg-qbytes
privileged 64.0KB - deny -
system 4.00GB max deny -
process.max-sem-ops
privileged 512 - deny -
system 2.15G max deny -
...Solaris 10 has different tunables and default values from 8 and 9. It's default tunables should be good for most applications per a given system's hardware. There are some great blog articles, and discussions on opensolaris.org and blogs.sun.com on tuning that explain the intent of tuning and why we shouldn't have to tune.
Cheers,
~~sa -
Unable to set kernel parameters using Reource Control in solaris 10
HI,
I'm trying to install DB2 8.2 on solaris 10.the problem i'm encountering in installation is unable to set MSGMAX and MSGMNB kernel parameters. I tried setting the new replacement parameter process.max-msq-qbytes through projects->Resource Control from the management console.but still uinable to set the parameters.
Can anyone help me in setting the above kernel parameters.
Its not possible to set it thru /etc/system.
thanxHI,
I'm trying to install DB2 8.2 on solaris 10.the problem i'm encountering in installation is unable to set MSGMAX and MSGMNB kernel parameters. I tried setting the new replacement parameter process.max-msq-qbytes through projects->Resource Control from the management console.but still uinable to set the parameters.
Can anyone help me in setting the above kernel parameters.
Its not possible to set it thru /etc/system.
thanx -
i have a line drawing (black on white paper) i have scanned and need to make the white paper transparent, maintaining the line drawing, can i and then HOW can i do this in PS? this is for my business logo. ive used it for years but with a solid background. id like to have it just be the drawing over my photos with a transparent background.
First let me apologize for posting a reply that was only suitable for advanced users. Photoshop is broad and powerful therefore has a huge learning curve. In fact I would state no one knows and uses all of Photoshop. When we first get Photoshop it intimidate us and we're very uncomfortable using it. Many thing are not intuitive there in much learning involved. After some time we begin to know something and we are able to do some thing. Learning become rapid and we start playing in Photoshop. It is very important to play with Photoshop. Playing with Photoshop and asking for help with in forums like this IMO is the best way to learn.
Photoshop Power lies in layers, selection and automation. However it takes knowledge to use photoshop well so most powerful tool you have ins Photoshop is the gray matter between your ears. Most at one time or another want to watermark or put a logo on their image. So its best to automate this process. All run into a problem in the process. "Size" We find our assets vary in size and aspect ratios. Landscape, Portraits, Panoramas and others. This complicates automation. Vector graphics works best when size vary greatly. If you can not work out how to create a vector solution like a custom shape. Create your Logo and watermark large thing scale down better the up. Text scale well for text uses vectors graphics however if you rasterize text it will not scale well.
I do not type or do English well so let me do some screen captures. I can not stress enough how important Black, White, Grays and Blending is when it come to image processing. Become friends with Multiply, Screen, Overlay and Luminosity blending.....
However when there is a white or black background though you can blend them you can not add a style like a drop shadow, emboss or make it invisible setting fill to 0 so only the style is visible. When there is contrast between the logo and background it is easy to separate the two. To select the background and delet it to have the logo with a transparent background. Many tools can be used to create the selection hee I use my action kill white.
Vector Shape would work better for scaling However it would be best to create the logo from scratch in a vector program like illustrator but I never had the resources to justify the Creative suite. I only had Photoshop. Recently Adobe gave me and other a year subscription to the creative suite for our participation here. I still have not installed anything but Photoshop, A while back I found a program that can create vector patf for black and white art work. It will not be as good as using something like illustrator. However vector paths can be edited in Photoshop and cleaned up some. Here is the PSD it 13MB because od the gradient http://www.mouseprints.net/old/dpr/AmPm24-7.psd -
Oracle Berkeley DB Java Edition High Availability (White Paper)
Hi all,
I've just read Oracle Berkeley DB Java Edition High Availability White Paper
http://www.oracle.com/technetwork/database/berkeleydb/berkeleydb-je-ha-whitepaper-132079.pdf
In section "Time Consistency Policy" (Page 18) it is written:
"Setting a lag period that is too small, given the load and available hardware resources, could result in
frequent timeout exceptions and reduce a replica's availability for read operations. It could also increase
the latency associated with read requests, as the replica makes the read transaction wait so that it can
catch up in the replication stream."
Can you tell me why those read operations will not be taken by the master ?
Why will we have frequent timeout ?
Why should read transaction wait instead of being redirect to the master ?
Why should it reduce replica's availability for read operations ?
ThanksPlease post this question on the Berkeley DB Java Edition (BDB JE) forum Berkeley DB Java Edition. This is the Berkeley DB Core (BDB) forum.
Thanks,
Andrei -
IOMMU explanation of kernel parameters
Hello!
I've set up an HTPC with an AMD A4-5300 CPU, A75 (Hudson-D3) chipset and a PCIe sound card (Asus Xonar DX). Whenever I tried to get a sound out of it (e.g. aplay blubb.wav) I only got dozens of these messages in the kernel log:
[ 46.215678] AMD-Vi: Event logged [IO_PAGE_FAULT device=02:00.0 domain=0x0000 address=0x0000000000100000 flags=0x0050]
The messages appeared only on the first aplay command. When the program finished and I ran it again, I got no additional messages but sadly also no sound.
Spending two evenings on this problem with google I found out it might be some trouble with IOMMU features of the processor or mainboard. So after trying out several of the options, I found iommu=soft in the kernel parameters got the sound to work fine. I have the possible options from here: https://www.kernel.org/doc/Documentatio … ptions.txt
But I don't really understand what's the matter with this IOMMU thing. It seems like a memory management for I/O Components and seems related to DMA access. But what does the IOMMU do? Which side effects come with these options? I understand the "soft" option in that way, that some features present in hardware are now managed in software. "can be used to prevent the of an available hardware IOMMU" sounds even worse since the option might completely disable the hardware feature. But is this really bad? I mean with the option I finally have good quality audio output but for what price? Can I expect disadvantages from this setting? Since I'm not really into all this kernel and hardware stuff, this all seems so confusing. Or is it possible that the error causing the above message has a totally different source and it's just luck that the option kind of worked around it?
Can anyone here maybe explain even a little bit about the IOMMU and what might have caused these problems?
I opened a thread in the multimedia section here where I asked for help to get audio output but no one replied. So I think the people living over there are also not familiar with the topic. And since I found kind of a workaround which is hardware related I hope it is ok to open this other thread to maybe get some explanation about what I have really done there...Thanks for the detailed explanation!
But isn't the GART something Video Card related? Or is it that what you mean with "abusing" the GART?
So when I set "iommu=soft" the IOMMU basically gets disabled? Quoting the file about the boot options, it says:
3. <arch/x86_64/kernel/pci-swiotlb.c> : Software IOMMU implementation. Used
e.g. if there is no hardware IOMMU in the system and it is need because
you have >3GB memory or told the kernel to us it (iommu=soft))
Kernel boot message: "PCI-DMA: Using software bounce buffering
for IO (SWIOTLB)"
What I don't fully understand... Is the IOMMU actually a CPU feature or is it on the mainboard's hand? For what I read, the A-Processors from AMD are IOMMU supported, so my setup should work with it. Or could it be my mainboard not having correct support for it? (MSI FM2-A75IA-E53)
For testing, I disabled the IOMMU switch in GRUB, dmesg shows the kernel already automatically chooses software buffering. ("[ 0.654086] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)") but then I get those tons of AMD-Vi messages. When I set the IOMMU to force software buffering, I have not a single problem. The entry in dmesg also tells it is using software bounce buffering. But shouldn't there be no difference if the kernel chooses the software option or if I force it to do so? -
Thanks to all those who responded requesting the Express white paper. I
received an overwhelming response. I was expecting a dozen or so
requests - I received over 80. Apparently there is strong demand for
lessons learned about working with Express.
The paper is in-progress. Everyone that requested it will get it when
it is ready, hopefully before end of September. BTW, my paper on
Express and the Object/Relational Problem will be published by Dr.
Dobb's Journal about that time also - the publisher tells me that the
November issue will be on the newsstands by end of September. The DDJ
article is a review of the basics of Express, what it does, and how
you develop with it. It also includes our early experiences with it
(article was written end of April and reflects almost three month's
experience with Express at that time). The article also goes briefly
over our concept for a rapid process specific to Express. The white
paper will have much more to say on the topic.
Several people thanked me for my generosity in offering a free white
paper and sharing our experiences with the Forte' community. There is
nothing generous about the offer: it is unabashed self-promotion in the
finest tradition of American crass commercialism. We're a consulting
company. We sell our knowledge and experience. If, after you get the
white paper, you would like to retain us on a consulting assignment we
would be very grateful, and you will have a chance to pay us back for
our generosity. If not, maybe you can reciprocate and share your
experiences.
Now to the subject of this posting: why am I posting this now? Well,
for one thing, I received several responses that said something
like: " we've tried Express and we were disappointed with ...", or "we've
been using it and have been frustrated with ...", or "we've evaluated it
and we had difficulties with ...". I started writing reply notes to each
of the individuals who expressed those negative experiences, but when I
reviewed what I wrote, it sounded like a Dear Abby column, with the replies
sounding like: Dear Disappointed, or Dear Frustrated, or Dear With
Difficulties. I decided I'll just post one note for all those who've
had negative experiences, or who are just starting to use/evaluate Express
and are likely to have similar experiences. Hence this. I also felt that
I should give people somewhat of an overview of what's coming in the
white paper while they're waiting to get the finished product.
Perhaps initial difficulties with Express is a problem of unrealistic
expectations. I always try to remember Mick Jagger's words. Mick, as
everyone knows, is one of the great software minds of the 20th century:
"You can't always get what you want ...". You must determine if you're
getting what you need.
Seriously, I have been working on the object/relational "impedance
mismatch problem" for close to ten years now (since 1987 when I
developed an Ada/SQL binding for the US Department of Defense). I have seen
many solutions, and have developed several myself for C,C++,Ada and
for Oracle, Sybase, Informix, and Ingress. I find Express to be one
of the most elegant solutions to that thorny problem. If you look at it from
that point of view alone, it's very hard to fail to be impressed. If you're
expecting Express (or PowerBuilder 5, or any other solution) to be yet another
Silver bullet to slay the development monster then you'll be disappointed.
Software development is hard, will continue to be hard, and will continue
to get more complex. Anything that can help us eliminate or reduce what
Frederick Brooks calls "accidental complexity", and design around "essential
complexity", will help. Forte' and Express definitely do that. Paul
Butterworth's paper on "Managing the New Complexities of Application
Development", shows how Forte' has solved many of the development/deployment
problems. If you haven't read it, I highly recommend it. If you have, I would
recommend a re-read if you've forgotten why you chose Forte' to begin with, or
if you yourself did not participate in making that choice, The Express user's
manual, "Using Forte' Express", shows how Express extends Forte' to reduce
the complexity of developing RDBMS-based systems.
To get an appreciation for what Express does for you, try a simple
experiment : spec out a GUI/RDBMS application, say the order entry application
that comes with Express as a tutorial. Do it without Express. Then do it with
Express. Try to make the application as complete as possible - it must
implement all your business rules and have all the behaviors that you desire.
Relax a bit about look and feel. Also Remember to keep the experiment fair.
As part of your application development come up with a framework and an
architecture that the next application will use. Your non-Express application
also must be as extensible and modifiable as Express allows an Express
project. Record the development time of both. If you can beat Express in
development time, then you're a Forte' development Guru and people should be
beating a path to your door.
Lest anyone think I am a cheerleader for Express, I want to mention that
I have some very strong disagreements with several aspects of the
Express architecture. One major problem I find with it is conceptual.
The Express relational encapsulation has added a great deal of accidental
complexity, i.e complexity that is not inherently there because
of the nature of the problem. It arises because of design or implementation
choices. Express represents each database table with three classes (there is
actually six classes per table, three of which are just derived place holders
to contain customizations, so we'll ignore them for this discussion). For a
table EMP, Express produces three base classes: an EMPClass, an EMPQuery
class, and EMPMgr class. The EMPClass is quite understandable. It
encapsulates the table's data. The EMPMgr class is somewhat understandable,
it encapsulates operations that manage the table's data as it crosses the
interfaces. But why do we need one class per table? A manager should manage
several things, not one thing. That leads us to EMPQuery, the encapsulation
that I have most difficulty with: creating a query class for each table. That
is definitely the wrong abstraction.
If you consider that, in general, a SQL query is multi-table:
select t1.col1, t2.col2, t3.col3, ...
from t1, t2, t3, ..
where <expressions on t1.col1, t2.col2, ...>
order by <expressions on t1.col1, t2.col2, ...>
you'll see that the abstraction here is a query tree across many tables,
many columns, and a large variety of expressions - single and multi-table. To
attempt to encapsulate that in objects that are basically single table objects
will produce a great deal of accidental complexity. The design choice of one
query class per table makes writing one-table queries simple, but writing
multi-table queries awkward.
The Express architecture would be much simpler if there is a QueryTree
class for all tables. Better yet, leave the representation of queries as
text strings - ANSI or Forte' SQL on the client side, and DBMS-specific on the
server side. A great deal of complexity in doing query customizations will
be reduced. You will lose some type checking that the current design has, but
hey, you can't always get what you want. When you have several hundred tables
in your database and Express generates six classes to per table, you'll see
that the number of classes generated as excessive. When you try to design a
general query modification scheme you'll realize how awkward multi-table joins
are to do via the Express BusinessQuery class. Last week I was developing a
general design for row-level security, the query structure drove me crazy,
I ended up catching the generated SQLText and inserting the security
constraints.
Now back to the Dear Abby column: If you're unhappy because of performance
issues, try to isolate the reason for the poor performance. This is not easy
in 3-tier applications. Don't be too quick to blame the bad performance on
Express. Do you have a non-Express benchmark application that does the
same thing and outperforms Express? Don't be too quick to blame Forte'
either. Do you have a non-Forte' benchmark, that does the same things
and outperforms Forte'? The operative words here are "does the same
things". A VB application that issues a SQL Select is not a benchmark.
Forte' allows you to instrument applications to study performance
bottlenecks. Find out where your hot spots are and try to do some design
work. If the Express architecture gets in the way, it's time for feedback
to Express developers.
Performance issues, particularly in 3-tier client/server systems are
multi-faceted and complex. There are many interactions of database
issues, interaction of the database with TOOL language issues, locking,
caching, timing of asynchronous events, shared objects, distributed objects,
remote references, memory allocation/deallocation, message traffic,
copying across partitions, etc. etc. that have to be considered. There
was an interesting discussion just a few days ago on multi-threading
on the client side, and blocking in DBMS APIs. Issues like that can
keep you bogged down for days. I have worked on several performance efforts
on triage tuning teams and swat re-design teams, where several hundred man
hours were dedicated to performance and tuning of c/s systems. Big and
complex topic. What I would advice about performance is what Tom Gilb says:
"(1) don't worry about it, and (2) don't worry about it yet" - assuming of
course that you have a rational design, and a sound framework. Many sins of
design are committed in the name of performance. Anyway, enough
of the harangue about premature considerations of performance. Bottom
line is : once you get your functionality, instrument, measure, and tune. If
your architecture was sound, you won't have to re-design for performance, you
would've designed it in.
On our project the system is so large we are subsumed with rapid process
issues: how can we get this monster finished on time? without having to
expand the team to several times its size, and without having to spend more
than we can afford? The upcoming white paper's focus will be on the rapid
process. Probably at a later date, we'll do another paper on performance
issues with Express.
Another reason you may be unhappy with Express is if you perceive that
it is the wrong tool for your application - but was chosen by
corporate mandate. If your application does not involve an RDBMS (say
real-time process control), then Express is obviously not for you. It may
also appear that Express is not suitable for your application if your usage
of the RDBMS is marginal, but your application logic is quite complex (in our
case the application has many AI aspects to it, a rules-based database, and
many interconnected patterns of rules, and rich behaviors). If you find
you're spending too much time doing things outside Express, fighting
Express, or doing way too many customizations, then Express may
not have been the right choice for your application.
Don't think, however, that Express is only for those applications that
maintain relational base tables. You can use a relational database to
store tables other than base tables (state transition tables, dialog
support tables, views, and other kinds of virtual tables). To make use
of Express's powerful application generating capabilities you can use
tables created for the sole purpose of of supporting an Express
application model. The table is in essence, a state transition
diagram. The Express application model creates rows in this
virtual table while the dialog is in-progress. You can use insert and
update triggers in your SQL engine to do the real thing to your base
tables. This trick is among some I'll detail in the white paper.
Another reason some people may be unhappy with Express may be methodology
tension between those who use behavior-driven methodologies (Booch, Jacobson,
Wirfs-Brock), and those who favor data-driven methodologies (OMT, Coad). If
you're in the first camp, you'll probably feel that the modeling done via
Express is not adequate. You'd probably say "that's not an object model!
that's an ERD". You would be half right - the Express business model shows
only containment and association relationships. It does not document "uses"
relationships, so it really can't be considered a full object-model. Granted;
but once you make that realization, your reaction should be one of joy, not
sadness. This is a brilliant reduction in the amount of modeling that needs
to be done since most MIS systems are dominated by their data-model, not their
behavior model (See Arthur Riel's Design Heuristics) . Behavior-based methodologies,
with their documentation of use-cases and class behavior will tend to be analysis
overkill for most MIS projects. For some OOA/OOD practitioners, going back to a
data-centered process may be unpalatable. For those folks my advice would be to try to
look at the business model/application models as meta-models. Take the
generated classes and produce a full object model if you wish. Document your
domain classes in your favorite CASE tool. By all means document
domain-pertinent behavior and use-cases, they will help you test. But do
appreciate the productivity gain produced by the reduction of modeling load
that Express data-centered approach gives you. Your detailed
behavior-based, use-case model may be a luxury you can't afford.
If the methodology clash manifests itself politically in your
organization, where you have the OO purists pooh-pooh a data centered
approach, then you have my sympathies. My best advice is to cool it on the
methodology religion front. If you have a product to deliver, you can't
afford it. Also keep in mind that even if your modeling work is reduced by
adopting a data-centered Express process, you'll still have ample
opportunities to fully utilize your OOD expertise when it comes time to add
functionality or improve performance of the entire application as a whole.
There will still be processes where Express may not be expressive enough. Those
processes whose behavior is so rich and intricate that you cannot find a
data-based trick to model them with, you'd have to do outside Express. These
should be rare and the exception not the rule in MIS systems, however.
Does that exhaust the list of reasons of why people may be
disappointed in Express? Probably not. Undoubtedly Express reduces your
degrees of freedom, and constrains your choices, but many times "jail
liberates". More reasons? I've heard some complaints about repository
corruption problems. I'm not aware that we've had those, or that it is
something due to Express. I'll check with our Forte' system manager. If we
have, they must not have been show stoppers, and our system manager must
have dealt with them quickly enough that the developers did not notice much.
Until you get the full paper in a few weeks, I'll leave you with some
thoughts about Express, and OO development in general:
1. Learn about the concept of "Good enough" in software
engineering. Here are some sources:
- Ed Yourdon: Read Ed Yourdon's article in the last issue of Byte,
titled "When Good Enough is Best". One of Yourdon's tips in the
article: "It's the Process, Stupid!"
Don't take "good enough" to mean that development with Express
requires you to lower your expectations, or lower your
standards. You must tune the concept of "good enough" to your
acceptable standards.
- Arthur Riel: Read Arthur Riel's great book "Object-Oriented Design
Heuristics". Riel shows that there are many problems with no optimal
solutions. This is particularly true in those systems that
are not purely object oriented. Systems that interface with
non-object oriented "legacy" systems, which is what Express
is. Also, Riel's discussion of behavior-based vs data-based
methodologies is very illuminating.
2. Don't obsess about look and feel. That's where Express is most
constraining. If you have unique look and feel requirements,
and look and feel is paramount to you, save yourself some pain and
choose another tool, or sing along with Mick: you can't always get
you want ...
3. Be clear about what rapid development really means. An excellent
resource is the book by Steve McConnell of Microsoft: "Rapid
Development - Taming Wild Software Schedules". A thick book, but the
chapters on best practices, and the tens of case studies are great. The
book shows clearly the differences between evolutionary
delivery, and staged delivery. It shows the differences between
evolutionary prototyping, throwaway prototyping, user-interface
prototyping, and demonstration prototyping and the appropriate uses
and risks of each. In our white paper we advocate a life cycle
approach that is basically evolutionary prototyping, with evolutionary
delivery, and occasional use of throwaway prototypes. We don't advocate
using Express for demonstration prototyping.
4. Realize that Express is maturing along with the product you're
developing. If you don't have deep philosophicalobjections to the
Express framework and architecture, then most of
the concerns with Express would be temporary details that will be
smoothed as Express, and Forte', mature. How long did we wait for
Windows to mature? Let's be fair to the Express developers.
5. The main keys to success in Express are not rocket science (I
worry now about having hyped up people's expectations myself). The
major keys to success revolve around management issues, not
technical issues: expectations management, process management,
and customizations management.
The full paper includes the design and implementation of a Customizations
Management System that allows you to plan customizations needed and to
inventory customizations completed. It automates the process of
extracting the customizations completed from the repository and stores
them in a relational database. A customizations browser then allows
management to plan and prioritize the implementation of customizations. It
allows developers to study the completed customizations and to reuse code,
design, or concepts to implement further customizations. Managing
customizations is absolutely essential for success in Express. The paper
will also detail a rapid process that is "Express friendly".
I'm glad there was such a big response to the white paper offer. Now I have
to sit down and write it!
Nabil Hijazi Optimum Solutions, Inc.
[email protected] 201 Elden Street
Phone: (703) 435-3530 #501
Fax: (703) 435-9212 Herndon, Va 22070
================================================
You can't always get what you want.
But if you try sometime, you might find,
you get what you need. Mick Jagger.
------------------------------------------------[email protected] wrote:
>
A few comments on Nabil Hijazi's observations...
Nabil Hijazi writes...
One major problem I find with it is conceptual.The Express relational
encapsulation has added a great deal of accidental complexity, i.e complexity
that is not inherently there because of the nature of the problem. It arises
because of design or implementation choices.
Paul Krinsky comments...
Anyone who has used NeXT's Enterprise Object Framework (EOF) will be at home
with Express's architecture, it is very similar. NeXT has been around for a
while and have gone through a lot. They originally started with DBKit to solve
the persistence problem. Basically it wrappered the database libraries. EOF was
created when it became clear that the DBKit approach wouldn't work. EOF has
EO's (Enterprise Objects), EOQuery, EOController, etc. that do pretty much what
BusinessClass, BusinessQuery and BusinessMgr do. I'm not sure if Forte hired
people with NeXT experience, but it would be interesting to find out if both
companies came up with the same architecture independently. What are the
chances?
Nabil Hijazi writes...
The design choice of one query class per table makes writing one-table queries
simple, but writing multi-table queries awkward.
Paul Krinsky comments...
I don't think BusinessQuery is too bad once you get used to it. Multi-table
queries are pretty easy if you use the foreign attributes Express provides to
build connected queries. One feature I miss from EOF is the EOFault. An EOFault
stands in for an object to reduce the overhead of retrieving everything an
object has a pointer to. For example, a retrieve on customer that contains an
array of orders would bring in EOFaults to stand in for the orders. When one of
the orders was referenced, EOF would produce a fault (hence the name) and go
and get the required record. Of course you could force EOF to bring the real
data and not use EOfaults if you wanted (if chance were high that you would
need it). This feature saved a lot of memory and increased the speed of
retrieval while still providing transparent access from the viewpoint of the
developer. Another cool feature was uniquing. EOF kept track of the EOs it
retrieved for a client. So if two windows both retrieved Customer X, EOF would
realize this and point the 2nd window at the copy already in memory. This
avoided having multiple copies of the same object in memory and allowed
provided everyone with the most current changes.
Nabil Hijazi writes...
The Express architecture would be much simpler if there is a QueryTree
class for all tables. Better yet, leave the representation of queries as text
strings - ANSI or Forte' SQL on the client side, and DBMS-specific on the
server side. A great deal of complexity in doing query customizations will be
reduced. You will lose some type checking that the current design has, but hey,
you can't always get what you want. When you have several hundred tables in
your database and Express generates six classes to per table, you'll see that
the number of classes generated as excessive. When you try to design a general
query modification scheme you'll realize how awkward multi-table joins are to
do via the Express BusinessQuery class. Last week I was developing a general
design for row-level security, the query structure drove me crazy, I ended up
catching the generated SQLText and inserting the security constraints.
Paul Krinsky comments...
I like the fact that Express manages the mapping to the database. I can change
the underlying database schema and all my queries still work. When the DBAs
inform me that I'm not following their naming standard (remove all vowels
except for 207 "standard" abbreviations that somehow got blessed then compress
to 8 characters using a bit compression algorithm that NASA would be proud of -
am I ranting?) it lets me conform without having to deal with it except in the
business model. It's nice to have a layer of abstraction.
I'm not a big fan of having all the generated classes either. I think it's a
necessary evil because of TOOL. NeXT uses Objective-C which is much more
dynamic in nature (more in common with Smalltalk than C). Their business model
can be defined on the fly and changed at runtime. It's pretty powerful but you
always have the speed vs. size tradeoff. The BusinessQuery is a nice way to
send only the what you need to the server in a format that isn't too difficult
to translate to SQL but not so close to SQL that you couldn't rip out the
backend and use the same interface to communicate with something other than a
relational database.
With any tool you have to understand it's strengths and weaknesses. Express is
a 1.0 product. Given that I think they have done a great job. The biggest
request I have is that Express moves away from being so focused on UI and
Database access and focus more on the BusinessClasses. For example, why are the
Validate and NewObject methods not on the BusinessClass? I understand their
importance in the Window classes but they should really delegate most of the
work to the BusinessClass. Otherwise you end up with most of the logic in the
UI and a 2-tier application. One of the first things we did is extend the
Window classes to delegate validation, etc. to the classes they display.Paul,
This a very good point. After reviewing all the customizations we have done on
our Express project, (BTW, I work with Nabil) I found that we have not done any
business service customizations except for database row level security. We could
have easily moved validation to the business classes. Actually, Express gives you examples
for this. They recommend customizing the insert and update methods to apply validation.
You could simply add your own validate method on the business class and have the insert,
update, or the window call it. This is actually much more object oriented than coding
validation into the window classes (for the oo purest out there!).
Robert Crisafulli
AMISYS Managed Care Solutions Inc.
(301) 838-7540
>
I look forward to reading the white paper on Express. I would encourage anyone
else to post similar documents. If anyone is interested, I can dig up some
stuff I wrote on EOF's architecture. It's a good source for enhancement
requests if nothing else! If anyone has used other persistence frameworks I
think the group would benefit from their experiences.
Paul Krinsky
Price Waterhouse LLC
Management Consulting Group -
How to resolve error in opening White Paper from OTN?
Attn: Oracle Reports Team
I want to optimize/tune my report. I was suggested from this forum to read White Paper available at http://otn.oracle.com/products/reports/pdf/275641.pdf.
I tried several times to open/print The white paper on above address but always got an error 'There was a problem reading this document (14)':
Previously I have been able to open and print white papers but here is some problem on the document side. Pl. guide as how I can I get this problem resolved.
Is Oracle Reports Team responsibel for resolving such problems or if there is some other department, let me know their contact so that I can take up matter with them. I need this white paper urgently as I am stuck up with a report. This report is taking 4 hours to process while expectation is 20 minutes.
Pl. help.
TariqI've just tried this with the following link and was able to download the paper without a problem:
http://otn.oracle.com/products/reports/pdf/275641.pdf
I'm using Acrobat Reader 5.0, but you may want to just try downloading again.
Danny -
Looking for a Good White Paper on Oracle Data Modeling
Hopefully this is the proper area in which to ask this questions - been looking around these boards for a while but can't find what I'm looking for. I'd like to get a good modeling overview for topics such as:
-- pros and cons of normalization, e.g., performance considerations when deciding to normalize some data (and incur the cost of joins) vs keeping it denormalized (and having simpler queries)
-- overall performance considerations
-- warehouse vs mart considerations, esp as they relate to front end tools that will sit on the data mart
A general data modeling white paper or PDF would be very helpful to get me started.
Thanks all!
MikeYou don't need a White Paper you need a college course or a book.
The book I have on my shelf, don't know if it is still in print, is CASE*METHOD Entity Relationship Modelling by Richard Barker
Addison-Wesley Publishing Company
ISBN 0-201-41696-4
Normalization isn't about pros and cons. For performance denormalize. For data integrity normalize. Most systems end up somewhere between 3N and 4N or with what is referred to as Boyce-Codd NF. Google is your friend here but buy the book or take the course. This is not a subject to be read lightly in a dozen or so pages. -
When inserting a .pdf of a document into a Keynote template with a standard white paper color the text and images show up, but the white background is transparent. How do you also make the white paper color show up?
Use the color fill option - select the inserted .pdf and assign a fill color of white to it using the Color Fill Menu on the Toolbar or the Color Picker Palette.
Good Luck. -
Hi all,<BR><BR>I'm looking for any white paper discussing Essbase 9 improvements over 7.x. Can anyone point me to any link?<BR><BR>Regards,<BR>Gerd
This is what Hyperion tech support sent to me when I asked that question..... <BR><BR><BR>We decided not to go to Version 9 just yet......<BR><BR><BR><a target=_blank class=ftalternatingbarlinklarge href="http://dev.hyperion.com/resource_library/technical_documentation/">http://dev.hyperion.com/resour...chnical_documentation/</a>
-
Dear all,
How can I see Kernel parameters in OS or Database level?
Best Regards,
AmyIssue the following command:
/sbin/sysctl -a | grep sem
Unable to find a file sysctl under /sbin directory, only see the following files:
/sbin
$ ls -lt
total 88
-rwxrwxr-- 1 root system 25036 Nov 01 2004 rc.boot
drwxrwxr-x 3 root system 512 Nov 01 2004 helpers
lrwxrwxrwx 1 root system 34 Jul 04 2003 install-info -> /usr/opt/freeware/bin/install-info
-r-xr-xr-x 1 root system 2746 Sep 19 2002 comp.uext
-r-xr-xr-x 1 root system 3168 Sep 19 2002 comp.kext
-r-xr-xr-x 1 root system 3518 Sep 19 2002 comp.uext64 -
Kernel parameters -maximum threads per process
How can we change the kernel parameters also how can we increase the maximum number of threads allowed .
How can we increase maimum perocess per used id .There is no kernel parameter limiting the maximum
number of threads allowed. If you are talking about
user level threads, you will run into virtual address
space limitations at about 3000 for a process
assuming 32-bit address space and default
stack size of 1M per thread, and assuming you are
not using the alternate thread library (see threads(3thr))
or Solaris 9. If you need more than this many
threads at the same time, I suspect you are doing something
incorrectly. Otherwise, try using a smaller stack size
per thread. If you are running on Solaris 9, or using
the alternate thread library, both give you a 1x1
thread model, i.e., each user thread has a corresponding
kernel entity (lwp). In this case, you will cause
your machine to hang by eating up all available
space for lwp's. In either case, the question should be:
"how do I limit the number of threads per process?", since
there is currently no limitation other than space.
In Solaris 9, you can use resource management to
limit the number of lwp's (and therefore user threads)
per process. -
Kernel Parameters on Red Hat Linux
The installation instructions require us to set cetain kernel
parameters, such as SHMMAX, SHMSEG, SEMMNS, and so on.
Does anyone know how this is done for Red Hat Linux? I have
been hunting around the documentation and public domain web-
sites for a couple of weeks now and I haven't found any
reference to how to set these parameters.
Eternally grateful for any insights...
Cheers!
Stuart Housden
nullI had problems with 8i and 32Meg of SHMMAX (sometimes, when I
published an EJB, Oracle crashed). I didn't recompiled the
kernel, only did
echo 134217728 > /proc/sys/kernel/shmmax.
This limited the maximum shared memory to 128Meg (I installed
with JavaVM enabled), and I my problems got away.
Robson.
Anwar (guest) wrote:
: Stuart Housden (guest) wrote:
: : The installation instructions require us to set cetain kernel
: : parameters, such as SHMMAX, SHMSEG, SEMMNS, and so on.
: : Does anyone know how this is done for Red Hat Linux? I have
: : been hunting around the documentation and public domain web-
: : sites for a couple of weeks now and I haven't found any
: : reference to how to set these parameters.
: : Eternally grateful for any insights...
: : Cheers!
: : Stuart Housden
: This question was replied to multiple times on the list before,
: but here goes. Check out:
: http://jordan.fortwayne.com/oracle
: Basically, you have to edit the kernel header files, and
: recompile the kernel. Read the Kernel-HOWTO too.
: Anwar.
null
Maybe you are looking for
-
IPhone 5 doesn't connect to iTunes, although I just synchronized my iPhone 3.
I just bought an iPhone 5 and would like to sync with content from iPhone 3. When configurating the iPhone, I chose the option to connect to iTunes. However, it was impossible to click on File/ synchronize iPhone, as it was greyed out! As I wanted to
-
Print Selection Screen Parameters in ALV report only once
Does anyone know how to print the selection screen within a ALV report. I've tried everything. I have the code to capture the selection parameters into a internal table. I can use top_of_page but I only want it printed once.
-
Outlook 2011 for Mac Sync issue with Calendar
Does anybody know if there is an issue with the Calendar not syncing with iCloud. Everything in Outlook will sync using iCloud except the Calendar.iCal has no issue, just Calendar from Outlook.
-
Updated to ios5 cant edit song info via itunes anymore
Here's what's going on. I updated my OS on iPod Touch and when I did, all my content on it got deleted sans photos and contact info. Not too big of a deal but now when I drag songs from my music folder in windows and edit the song info in iTunes (i.e
-
Problems with modalPanel in Internet Explorer and Safari
Hello there, I am working on a JSF (Richfaces) application. To handle advanced searches and confirm boxes I am using the richfaces modalPanel dialog, which uses Ajax. There are a number of re-rendering problems. 1. First of all, any errors won't disp