الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما هو الفرق بين : Nls_Database_Parameters Nls_Instance_Parameters Nls_Session_Parameters

بدأه oubbadah في 27 نوفمبر 2010 · 2 رد · 861 مشاهدة · في قسم إدارة قاعدة البيانات أوراكل
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم :ما هو الفرق بين :

nls_database_parameters

nls_instance_parameters

NLS_SESSION_PARAMETERSك

حيث عند حدوث مشكلة في اللغة فاننا نقوم بتغير ذلك من خلال الريجستري :مثلا

غير القيمة الموجود من

ARABIC_UNITED ARAB EMIRATES.AR8MSWIN1256

نغيرها الى :

AMERICAN_AMERICA.AR8MSWIN1256

...........

لكن نستطيع فعل ذلك بطريقة اخرى من خلال الكود :

select * from NLS_DATABASE_PARAMETERS

updata NLS_DATABASE_PARAMETERS

'set VALUE='AR8MSWIN1256

'where PARAMETER='NLS_NCHAR_CHARACTERSET

من خلال المستخدم sys

والمستخدم scott لايملك الصلاحية لذلك

............

السؤال هنا لماذا لا نستخدم Select * From nls_instance_parameters او SELECT * FROM NLS_SESSION_PARAMETERS بدلا من Select * From nls_database_parameters

في الكود انف الذكر ...فمتى نستخدمهم وما الفرق بينهم ..وماذا تعني الاحرف nls

#2

وعليكم السلام ،

حسب ما اذكر ، أنك تستطيع تغيير تنسيق التاريخ و ترميز اللغة وأمور ثانية على عدة مستويات ، مثلاً

- عند إنشاء قاعدة البيانات create database ، تقدر تضيف بعض البارمترات لتلك المعلومات ، وبالتالي ستكون هذه القيم هي القيم الافتراضية لقاعدة البيانات هذه ( لجميع المستخدمين sessions و لجميع النسخ instances ) .

- يمكنك أن تغير تنسيق التاريخ مثلاً date format ، بعد تشغيل database ، يعني بدلاً من أن تستخدم التنسيق الذي استخرجته من بيانات قاعدة البيانات ، وبالتالي هنا سيتأثر جميع المستخدمين بهذا التغيير ، ولكن تستطيع أن تزيل هذا التغيير ، وبالتالي العودة للقيمة الافتراضية الموجودة في مستوى database .

- يمكنك أن تغيير تنسيق التاريخ لشخص واحد فقط one session ( لجلسة واحدة ) ، وبالتالي بقية المستخدمين لن يشعروا بهذا التغيير . وبمجرد أن تتراجع عن هذا التغيير ، فإن قيمة instance هي التي سنعتمدها ، ولو فرضنا أنه لاتوجد قيمة معينة ، فإن القيمة الموجودة في database نفسها .. هي التي سنعتمدها .

القصة ومافيها أن لديك ثلاثة مستويات من البارمترات .. بارمترات على مستوى session وهي لها الأولية وتؤثر على مستخدم واحد ، وبيانات على مستوى instance ، وتؤثر بالنسخة الحالية من database ( التي تعمل ) ، ولكن ليس لها قيمة لو عملت تغييرات على مستوى session ، وبيانات على مستوى database نفسها والتي لن يكون لها قيمة لو غيرتها في مجال instance أو session .

لكن لا أذكر بالظبط تفاصيل تغيير اللغة أو الترميز ، هل يمكن أن يتم من خلال session ؟ أو instance ؟ أو database ؟ أو الجميع ؟

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#3

اشكرك جزيل الشكر :::

لكن لدي استفسار حول ردك في ((يمكنك أن تغيير تنسيق التاريخ لشخص واحد فقط one session ( لجلسة واحدة ) ، وبالتالي بقية المستخدمين لن يشعروا بهذا التغيير . وبمجرد أن تتراجع عن هذا التغيير ، فإن قيمة instance هي التي سنعتمدها ، ولو فرضنا أنه لاتوجد قيمة معينة ، فإن القيمة الموجودة في database نفسها .. هي التي سنعتمده)))

حيث لماذا عندما نتراجع عن التغيير فان قيمة instance هي التي سنعتمدها..لماذا لم نقل قيمة database اولا ثم instance

السؤال الثاني :

لم افهم عبارتك :(وبيانات على مستوى instance ، وتؤثر بالنسخة الحالية من database ( التي تعمل ) ، ولكن ليس لها قيمة لو عملت تغييرات على مستوى session ، وبيانات على مستوى database نفسها والتي لن يكون لها قيمة لو غيرتها في مجال instance أو session .)

فما الفرق بين قيم instance وقيم database .حيث لا يمكن فتح الداتابيز قبل تشغيل instance فحسب استيعابي للموضوع وكانني ارى قيم instance = قيم database

مواضيع مشابهة