Oracle 10g NLS Parameters
Could people please let me know if there are any issues with setting Oracle 10g NLS Parameters at database level, specifically the NLS_TERRITORY to the country I am in together with setting the timezone to UTC.
Will there be any conflicts b/c as the moment, our NLS_TERRITORY is set 开发者_运维百科to AMERICA which is not correct?
Thanks.
With Oracle, you must be cautious with the NLS parameters in general. Documentation is always a good idea: NLS / Globalization stuff
Note that the NLS_TERRITORY parameter is derived from NLS_LANG. So, you should be able to affect the NLS_TERRITORY parameter by changing NLS_LANG. (This should be synched up in any case.)
After you get through that (please do read it), you will probably be thinking "Hey, we have existing data, will we need to perform any conversions on it after changing the parameter?"
- TAKE A BACKUP! BEFORE CHANGING THE PARAMETER. PLEASE
- And yes, you may have to perform some data conversion, depending on how things have been stored, and what territory you change to.
Also keep in mind that any client software that uses this database should have its NLS_LANG (especially the characterset portion of it) set the same as the database - otherwise data can get mangled.
What do you mean by "NLS Parameters at database level, specifically the NLS_TERRITORY"?
If you mean the parameters showing up in NLS_DATABASE_PARAMETERS, then these cannot be changed once the database is created. However, these particular parameters (except NLS_[NCHAR]_CHARACTERSET) are used only in CHECK constraints and a few other expressions that need to remain constant throughout the life of a database (e.g. VPD). Hence, it seldom matters to what NLS_TERRITORY in NLS_DATABASE_PARAMETERS is set to.
精彩评论