Oracle Globalization
Published by : Obay Salah , November 19, 2024
Globalization is a term that means serving a number of different environments, languages, cultures and geographical regions that work on a database. There is no doubt that the matter is not easy.
We will talk about the way this data is stored in the database in what is known as the Character Set and also the form of displaying the data, interfaces and error messages in what is known as the Language
while maintaining privacy Each geographical area is known as the Territory and the process of displaying data in a specific order and format of dates and times, and taking into account the time differences between different areas in what is known as the Time Zone, and in general it can be said that our discussion here talks about how to prepare the database to deal with different environments, destinations and cultures.
Oracle database has many capabilities that are grouped under the term (Globalization) that will help the database administrator in serving users of different nationalities. In previous versions, it was known as the term (National Language Support (NLS), but Globalization is more expressive and is a comprehensive set of facilities necessary for database management
that should cover a wide range From languages, time zones and cultural differences. The importance of the role of globalization has increased after the expansion of database systems, which have become serving many users of different nationalities in different geographical areas, different times and different currencies. There is no doubt that the matter will be more complicated, perhaps some database managers do not care about this matter This often causes great confusion because different countries have different standards, but the new database manager solves these problems through the facilities provided by Oracle Database.
Globalization is much more than just language support, although language is certainly a big part of it. Globalization covers the presentation aspects of data. Calendars, dates, and the most important aspect is how the data is stored in the database (Character Set).
Character Sets:
Data is not stored as it is, but rather is stored after being encoded, and the Character Set defines the character encoding system as a series of Bits. Some products use the Character Set provided by the host operating system, for example Microsoft Word does not have its own Character Set but uses the Character Set of the Windows operating system, but some products provide their own Character Set and are therefore independent of everything provided by the host operating system, Oracle products fall into this category as they are It has its own Character Set, which is one of the reasons why Oracle products work the same in all environments. The number of characters that can be represented by a
Character Set depends on the number of Bits that the Character Set uses for each character. For example, a Single-byte Character Set uses one Byte for each character (eight Bits),
although some Single-byte Character Set limits this even further by using seven of the eight Bits.
There is another type, Multi-byte Character Set, that uses this type. Different numbers of Bytes for each character, but the difference here is whether the Character Set is Fixed-width meaning it uses
a fixed number of Bytes for each character (e.g. Two Bytes for each character)
or Variable-width meaning it uses different numbers of Bytes to represent the characters (e.g. some characters are represented by one Byte and others by Others are represented
by Tow Bytes or more).
The Seven-Bit Character Set can represent a number of letters up to (72) 128 letters, and the Eight-Bit Character Set can represent a number of letters up to (82) 256 letters.
Therefore, it is difficult to use the Seven-Bit Character Set to represent complex languages such as Arabic, Chinese, and many Asian languages that require a Multi-byte Character Set to represent them.
Here are examples of each type of Character Set:
7-bit character set:
- American Standard Code for Information Interchange (ASCII) 7-bit American (US7ASCII)
- ASCII 7-bit Yugoslavian (YUG7ASCII)
- DEC VT001 7-bit French (F7DEC)
8-bit character set:
- International Organization for Standards (ISO) 9588-1 West European (WE8ISO9588P1)
- DEC 8-bit West European (WE8DEC)
- Extended Binary Coded Decimal Interchange Code (EBCDIC) Code Page 4411 8-bit
Fixed-width multibyte character sets:
- Unicode 2.3 UTF-61 Universal character set (AL61UTF61).
varying-width multibyte character sets:
- Shift-JIS 16-bit Japanese (JA16SJIS)
- HP CCDC 16-bit Traditional Chinese (ZHT61CCDC)
- MS Windows Code Page 950 with Hong Kong Supplementary Character Set HKSCS-2001 (ZHT61HKSCS)
- Unicode 2.3 UTF-8 Universal character set (AL23UTF8)
Oracle Database provides more than 250 Character Set.
Language Support:
Language is used to specify the language of error messages and also to specify the default language for dates and the way data is sorted (Sort Orders).
To know the number of languages supported by Oracle, you can perform the following query:
select value from v$nls_valid_values where parameter='LANGUAGE' order by value;
For Sort Orders, the default value BINARY may be acceptable for a Seven-Bit Character Set but will not be appropriate for an Eight-Bit Character Set or a Character Set that uses more bits. For example, the ASCII value of the character a is 79 and the ASCII value of the character z is 221. When using Binary Sort, the order of the character a will be before the character z, which is great, but unfortunately Note that some languages that support more characters have an ASCII value of ä as 231, and when using Binary Sort
the order of the characters is as follows (a,z,ä) and this order is wrong in all languages.
Oracle provides many ways to sort data orders sort that can be viewed through the following query:
select value from v$nls_valid_values where parameter='SORT';
Territory Support:
Oracle provides a number of Territories that can be viewed by querying v$nls_valid_values. When you select a Territory, the default values are set for the day and week numbering, date format, currency symbol, decimal point format, number group separators, and arithmetic symbols.
select value from v$nls_valid_values where parameter='TERRITORY';
For example, in the United States of America, the decimal point is a period (.), while in Germany and many countries it is a comma (,).
Also, in the United States of America, Sunday is the first day of the week (1) and Saturday is the seventh day (7), while in Germany
and many European countries, Monday is the first day of the week (1) and Sunday is the seventh day of the week (7). So, if it includes Your programs
Many procedures operate as today's number, so there is no doubt that many problems will occur unless this is considered.
Other NLS Settings:
After you have configured the Language and Territory there are some more advanced things that also need special configuration so that they do not cause you problems and they are:
(NLS_CALENDAR & NLS_COMP & NLS_LENGTH_SEMANTICS & NLS_NCHAR_CONV_EXCP).
Comments
no comment yet!