Skip to Main Content

APEX

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Multi Language Support

417192May 21 2004 — edited May 27 2004
Hi,

I am investigating the best practice/approach for multilanguage support. We have european and chinese users.

Here (briefly) is what I would like to do

SELECT colx "alias"
FROM T
WHERE coly = :a

If I am servicing an english user then the alias string might be something like name, address, tel etc.
If I am servicing a chinese user then alias might be something like 名字 etc....

In other words I want reports with english columns for english users and chinese columns for chinese
users.

It would be nice to store different versions of the same SQL statement in a table and do the following:

SELECT q INTO vc_query FROM app_queries WHERE lang = 'Chinese'
then return the SQL statement OR
EXECUTE IMMEDIATE vc_query USING IN vc_constraint INTO c1, c2 etc....

Another related issue: what is the best practice for setting NLS..... on the fly ie. when the user
is authorised ?

Any advise, best practice appreciated.

best regards,

Mark Battersby
email: mark.battersby@ctseurope.cn

Comments

506787
The memory limits for RHEL4 are depended on the actual kernel you are using.

The theoretical limit is 2^32 = 4G
With the SMP kernel you get 3G of process space, and 1G of kernel space. This means a user process can use up to 3G
With the hugemem kernel the memory usage is "tricked", and there is 4G of user space, and 4G of kernel space (thus it capable of using 8G in total)

The chipmakers have identified the need for the usage of more memory. It's done using PAE, Physical Address Extention.
Put simplistic, there are an extra set of bits added to the memory bus, 4 bits extra, so the theoretical addressable space is raised to 2^36 = 64G

The 32-bit limit of 4G is not limited to linux, windows has exactly the same issue (and the same workarounds), but windows has 2G of user space and 2G of kernel space by default.

It is possible to use the "extra" memory above 4G by using software products which are capable of using PAE memory.
The oracle database is capable, the parameter is called USE_INDIRECT_DATA_BUFFERS, and places the buffercache (ONLY the buffercache, so not the entire SGA) in PAE memory.
Fahd.Mirza
Fritz, thanks for the answer.

I am actually planning to install Oracle Application Server 10g on 32 bit linux. I want to give Oracle HTTP Server as much memory as possible. Is there a way I could do that in this scenario?

Thanks
Tommy.Reynolds-Oracle
1) If you install one of the PAE kernels, you will use all available physical memory.

[http://www.redhat.com/rhel/compare/]

The distribution contains all the kernels you will need.

2) In terms of a running program, also known as a process, RHAS4 has two kinds of kernels:

2a) "Hugemem" kernels allow applications to have a full 4GB address space.
2b) All other kernel without "hugemem" in the name limit applications to only 3GB address space.

So, if you never will want to upgrade to RHEL5/OEL5 or later you can use the "hugemem" kernels so that you can run larger applications or have bigger SGA's.

However, the kernel team has decided that the "hugemem" feature was just too cumbersome to implement widely and has discontinued that feature after the RHEL4/OEL4 series. But this feature works just fine in RHEL4/OEL4; the kernel developers just figured everyone who needed "bigger" would just switch to 64-bit machines.

Cheers
Fahd.Mirza
TommyReynolds,

Please tell me is the RHEL 5 64-bit is stable for production? Also do you have idea that whether Oracle has released 64-bit version of Oracle Application Server 10g, because I don't find it on OTN Downloads area.

Thanks and regards
506787
As tommy said, just remember: 32bit means there's approx. 3G for userspace. That's it.
as I said, some applications can use PAE memory, but that requires specialised setup.

I do not know your expertise in the application server, and the type of application it is going to serve, and the number of users, but:
-the http server has a modest memory footprint. up to a 1000 concurrent connections can easily be served with a normal 32 bit configuration.

but if you got an application, there is a very big chance it won't run in the http server. there is a big chance it will run in java (in the OC4J container). if that's the case, apache/the http server acts as a proxy between the client and the OC4J server.

an normal application doesn't need extensive memory, and in general you could say that if an application does require that, it's just badly written.
1 - 5
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Jun 24 2004
Added on May 21 2004
4 comments
310 views