Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Cara Memeriksa Nilai Parameter NLS di Oracle Database

Di Oracle Database, parameter NLS (Dukungan Bahasa Nasional) menentukan perilaku spesifik lokal pada klien dan server.

Parameter ini dapat diatur di berbagai tempat, seperti di tingkat database, di file parameter inisialisasi, di variabel lingkungan, di tingkat sesi, dan bahkan di dalam beberapa fungsi.

Anda dapat memeriksa nilai parameter NLS dengan tampilan berikut.

Tampilan Performa Dinamis NLS

Tampilan kinerja dinamis adalah tampilan khusus yang terus diperbarui saat database terbuka dan digunakan. Tampilan ini berisi data tentang banyak hal, termasuk penggunaan dan alokasi memori, status file, kemajuan tugas dan tugas, statistik dan metrik, eksekusi SQL, serta parameter sistem dan sesi.

Tampilan performa dinamis berikut dapat digunakan untuk mengembalikan informasi tentang parameter NLS:

  • V$NLS_PARAMETERS menunjukkan nilai saat ini dari berbagai parameter NLS.
  • V$NLS_VALID_VALUES mencantumkan nilai valid yang dapat disetel oleh berbagai parameter NLS.

Berikut adalah contoh dari setiap tampilan.

V$NLS_PARAMETERS Lihat

Berikut ini contoh kueri V$NLS_PARAMETERS lihat di sistem saya:

SELECT * FROM V$NLS_PARAMETERS; 

Hasil:

 PARAMETER VALUE CON_ID __________________________ _________________________________ _________ NLS_LANGUAGE ENGLISH 3 NLS_TERRITORY AUSTRALIA 3 NLS_CURRENCY $ 3 NLS_ISO_CURRENCY AUSTRALIA 3 NLS_NUMERIC_CHARACTERS ., 3 NLS_CALENDAR GREGORIAN 3 NLS_DATE_FORMAT DD/MON/RR 3 NLS_DATE_LANGUAGE ENGLISH 3 NLS_CHARACTERSET AL32UTF8 3 NLS_SORT BINARY 3 NLS_TIME_FORMAT HH12:MI:SSXFF AM 3 NLS_TIMESTAMP_FORMAT DD/SEN/RR HH12:MI:SSXFF AM 3 N 3 FLS_TIME_TZ_FORMAT HH12:MI:SSXFF AM TZR 3 NLS_TIMESTAMP_TZ_FORMAT DD/MON/RR HH12:MI:SSXFF AM TZR 3 NLS_DUAL_CURRENCY $3 NLS_NCHAR_CHARACTERSET AL16UTF16 3 NLS_COMP_EXPENGTH_STELS_COMP BINARY 3 NLS_TIME_TZ_FORMAT 

V$NLS_VALID_VALUES Lihat

V$NLS_VALID_VALUES view mencantumkan nilai valid yang dapat disetel oleh parameter NLS berikut:

  • NLS_LANGUAGE
  • NLS_SORT
  • NLS_TERRITORY
  • NLS_CHARACTERSET

Untuk memberi Anda gambaran tentang tipe data yang terdapat dalam tampilan ini, berikut kueri yang mengembalikan 10 baris teratas:

SELECT * FROM V$NLS_VALID_VALUES
FETCH FIRST 10 ROWS ONLY; 

Hasil:

 PARAMETER NILAI TIDAK DIGUNAKAN CON_ID ____________ __________________ _______________ _________ BAHASA AMERIKA SALAH 0 BAHASA JERMAN SALAH 0 BAHASA PERANCIS SALAH 0 BAHASA KANADA PRANCIS SALAH 0 BAHASA SPANYOL SALAH 0 BAHASA BAHASA ITALIA FALSE SALAH 0 

Jadi, nilai-nilai ini dapat digunakan di mana pun parameter NLS menerima nilai bahasa. Misalnya, kita dapat melakukan hal berikut:

ALTER SESSION SET NLS_LANGUAGE = 'AMERICAN'; 

Yang menyetel NLS_LANGUAGE parameter ke AMERICAN . Untuk menyetelnya ke nilai yang berbeda, kita dapat memeriksa V$NLS_VALID_VALUES lihat untuk melihat bahasa mana yang diterima.

Tampilan Kamus Data NLS

Anda dapat memeriksa parameter NLS sesi, instans, dan database dengan mengkueri tampilan kamus data berikut:

  • NLS_SESSION_PARAMETERS menunjukkan parameter NLS dan nilainya untuk sesi yang menanyakan tampilan. Itu tidak menampilkan informasi tentang set karakter.
  • NLS_INSTANCE_PARAMETERS menunjukkan parameter instans NLS saat ini yang telah ditetapkan secara eksplisit dan nilai parameter instans NLS.
  • NLS_DATABASE_PARAMETERS menunjukkan nilai parameter NLS untuk database. Nilai disimpan dalam database.

Seperti disebutkan, parameter NLS dapat diatur di berbagai tempat. Setiap cakupan dapat berisi nilai yang berbeda untuk parameter NLS yang diberikan daripada cakupan lainnya. Tampilan kamus data di atas memungkinkan Anda menanyakan setiap cakupan untuk nilainya. Parameter sesi NLS menggantikan parameter instans NLS. Dan parameter instans NLS menggantikan parameter NLS untuk database.

Lihat Metode Pengaturan Parameter NLS dan Prioritasnya untuk tabel yang menguraikan urutan prioritas yang dimiliki setiap cakupan dalam kaitannya dengan yang lain.

Inilah yang saya dapatkan ketika saya menanyakan setiap tampilan ini di sistem saya:

SELECT * FROM NLS_SESSION_PARAMETERS;
SELECT * FROM NLS_INSTANCE_PARAMETERS;
SELECT * FROM NLS_DATABASE_PARAMETERS; 

Hasil:

 PARAMETER VALUE __________________________ _________________________________ NLS_LANGUAGE ENGLISH NLS_TERRITORY AUSTRALIA NLS_CURRENCY $ NLS_ISO_CURRENCY AUSTRALIA NLS_NUMERIC_CHARACTERS ., NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT DD/MON/RR NLS_DATE_LANGUAGE ENGLISH NLS_SORT BINARY NLS_TIME_FORMAT HH12:MI:SSXFF AM NLS_TIMESTAMP_FORMAT DD/MON/RR HH12:MI:SSXFF AM NLS_TIME_TZ_FORMAT HH12:MI:SSXFF AM TZR NLS_TIMESTAMP_TZ_FORMAT DD/MON/RR HH12:MI:SSXFF AM TZR NLS_DUAL_CURRENCY $ NLS_COMP BINARY NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CONV_EXCP FALSE 17 baris dipilih. PARAMETER VALUE __________________________ ___________ NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_SORT NLS_DATE_LANGUAGE NLS_DATE_FORMAT NLS_CURRENCY NLS_NUMERIC_CHARACTERS NLS_ISO_CURRENCY NLS_CALENDAR NLS_TIME_FORMAT NLS_TIMESTAMP_FORMAT NLS_TIME_TZ_FORMAT NLS_TIMESTAMP_TZ_FORMAT NLS_DUAL_CURRENCY NLS_COMP BINARY NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CONV_EXCP FALSE 17 rows selected. PARAMETER VALUE __________________________ _______________________________ NLS_RDBMS_VERSION 19.0.0.0.0 NLS_NCHAR_CONV_EXCP FALSE NLS_LENGTH_SEMANTICS BYTE NLS_COMP BINARY NLS_DUAL_CURRENCY $ NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM NLS_TIME_FORMAT HH.MI.SSXFF AM NLS_SORT BINARY NLS_DATE_LANGUAGE AMERICAN NLS_DATE_FORMAT DD-MON-RR NLS_CALENDAR GREGORIAN NLS_NUMERIC_CHARACTERS ., NLS_NCHAR_CHARACTERSET AL16UTF16 NLS_CHARACTERS ET AL32UTF8 NLS_ISO_CURRENCY AMERICA NLS_CURRENCY $ NLS_TERRITORY AMERICA NLS_LANGUAGE AMERICAN 20 baris dipilih. 

Ambil NLS_LANGUAGE parameter misalnya. Ini diatur ke AMERICAN pada tingkat database dan instans (seperti yang dapat dilihat dari NLS_DATABASE_PARAMETERS dan NLS_INSTANCWE_PARAMETERS pandangan). Tetapi parameter sesi (yang dapat dilihat di NLS_SESSION_PARAMETERS view) menggunakan ENGLISH , yang menggantikan dua setelan lainnya.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memiliki Output PL/SQL secara Real Time

  2. Oracle SQL:Memahami perilaku SYS_GUID() saat hadir dalam tampilan sebaris?

  3. Sisipkan Massal ke dalam database Oracle:Mana yang lebih baik:UNTUK loop kursor atau Select sederhana?

  4. Bagaimana cara membuat tabel Oracle dengan tabel tipe objek bersarang?

  5. SQL untuk menghasilkan daftar angka dari 1 hingga 100