কীভাবে একটি ওরাকল ডাটাবেসে সর্বাধিক সংখ্যক অনুমোদিত সংযোগগুলি পরীক্ষা করতে হয়?


90

ওরাকল ডাটাবেসের জন্য অনুমোদিত সংযোগগুলির সর্বাধিক সংখ্যার যাচাই করার জন্য এসকিউএল ব্যবহার করে সবচেয়ে ভাল উপায় কী? শেষে, আমি বর্তমান সেশনের সংখ্যা এবং অনুমোদিত অনুমোদিত সংখ্যাটি দেখাতে চাই, যেমন "বর্তমানে, 80 টির মধ্যে 23 টি সংযোগ ব্যবহৃত হয়েছে"।

উত্তর:


122

ওরাকল ডাটাবেস সমর্থন করে এমন সংযোগের সংখ্যা নির্ধারণে কয়েকটি আলাদা সীমাবদ্ধতা আসতে পারে। সর্বাধিক পন্থাটি হ'ল সেশন প্যারামিটার এবং ভি $ সেশন ব্যবহার করা, অর্থাৎ

অনুমতি দেওয়ার জন্য ডাটাবেসটি কনফিগার করা সেশনের সংখ্যা

SELECT name, value 
  FROM v$parameter
 WHERE name = 'sessions'

বর্তমানে সক্রিয় সেশনের সংখ্যা

SELECT COUNT(*)
  FROM v$session

আমি যেমন বলেছি, যদিও ডাটাবেস স্তরে এবং অপারেটিং সিস্টেমের স্তরে এবং ভাগ করা সার্ভারটি কনফিগার করা হয়েছে কিনা তার উপর নির্ভর করে অন্যান্য সম্ভাব্য সীমাবদ্ধতা রয়েছে। যদি ভাগ করা সার্ভারটি উপেক্ষা করা হয়, আপনি সেশনস প্যারামিটারের সীমাটি আঘাত করার আগে আপনি প্রসেসেস প্যারামিটারের সীমাটিকে ভালভাবে আঘাত করতে পারেন। এবং আপনি অপারেটিং সিস্টেমের সীমাতে আঘাত হানতে পারেন কারণ প্রতিটি সেশনে নির্দিষ্ট পরিমাণের র‍্যামের প্রয়োজন হয়।


দুঃখিত, আমরা এই কোয়েরিটি কীভাবে চালাতে পারি? "ভি-সেশন থেকে" নির্বাচন করুন (*) এর জন্য "টেবিল বা দেখার অস্তিত্ব নেই"
গ্রামবাসী

4
@ yin03 - এর দ্বারা বোঝা যাচ্ছে যে আপনি যে সমস্ত ওরাকল ব্যবহারকারী ব্যবহার করছেন তার v$sessionদৃষ্টিভঙ্গিতে অধিকার নেই । আপনাকে আপনার ডিবিএর কাছে এই সুযোগটি দেওয়ার জন্য জিজ্ঞাসা করতে হবে। সম্ভবত, আপনি সেই অধিকারটি চাইবেন select any dictionaryযদিও select_catalog_roleঠিক সেই বস্তুর ভূমিকা বা সরাসরি অনুদানও কাজ করবে।
জাস্টিন গুহ

36

সেশন প্যারামিটার থেকে প্রাপ্ত করা হয় প্রসেস প্যারামিটার এবং সেই অনুযায়ী পরিবর্তন যখন আপনি সর্বোচ্চ প্রসেস সংখ্যা পরিবর্তন করুন। আরও তথ্যের জন্য ওরাকল ডক্স দেখুন ।

সেশনগুলির সম্পর্কে কেবল তথ্য পেতে:

    select current_utilization, limit_value 
    from v$resource_limit 
    where resource_name='sessions';
CURRENT_UTILIZATION LIMIT_VALUE
------------------- -----------
                110 792

উভয় সম্পর্কে তথ্য দেখানোর জন্য এটি চেষ্টা করুন:

    select resource_name, current_utilization, max_utilization, limit_value 
    from v$resource_limit 
    where resource_name in ('sessions', 'processes');
RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION LIMIT_VALUE
------------- ------------------- --------------- --- --------
প্রক্রিয়া 96 309 500
সেশন 104 323 792

34

আমি ভেবেছিলাম এই উত্সের ভিত্তিতে এটি কাজ করবে ।

SELECT
  'Currently, ' 
  || (SELECT COUNT(*) FROM V$SESSION)
  || ' out of ' 
  || DECODE(VL.SESSIONS_MAX,0,'unlimited',VL.SESSIONS_MAX) 
  || ' connections are used.' AS USAGE_MESSAGE
FROM 
  V$LICENSE VL

তবে, জাস্টিন গুহা ঠিক আছে is এই ক্যোয়ারী আরও ভাল ফলাফল দেয়:

SELECT
  'Currently, ' 
  || (SELECT COUNT(*) FROM V$SESSION)
  || ' out of ' 
  || VP.VALUE 
  || ' connections are used.' AS USAGE_MESSAGE
FROM 
  V$PARAMETER VP
WHERE VP.NAME = 'sessions'

দুঃখিত, আমরা এই কোয়েরিটি কীভাবে চালাতে পারি? আমি "নির্বাচিত COUNT (*) ভি ভি সেশন"
গ্রামবাসী

4
@ yin03 আপনি কী ওরাকল বা অন্য কোনও ডাটাবেস ব্যবহার করছেন? যদি ওরাকল হয় তবে এটি কোনও অনুমতির সমস্যা হতে পারে।
জোসেফস্টাইন্স

4
নিখুঁত ক্যোয়ারী @ জোসেফস্টাইন্স!
গৌরব

@ গুয়ারাভ, আমি আপনাকে এটি দরকারী বলে খুশী করেছি!
জোসেফস্টাইন্স

4

দ্রষ্টব্য: এটি কেবল প্রশ্নের অংশের উত্তর দেয়।

আপনি যদি সর্বাধিক সংখ্যক সেশনের অনুমতি পেতে চান তবে সিক্ল্ডপ্লাসে sysdba হিসাবে নির্বাহ করতে পারেন:

SQL> show parameter sessions

এটি আপনাকে এর ফলাফল দেয়:

    NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
java_max_sessionspace_size           integer     0
java_soft_sessionspace_limit         integer     0
license_max_sessions                 integer     0
license_sessions_warning             integer     0
sessions                             integer     248
shared_server_sessions               integer

সেশনগুলির প্যারামিটারটি আপনি যা চান তা হ'ল।


4

আপনি যদি ক্লাস্টার জুড়ে মোট সেশনটির সংখ্যা পেতে চান তবে আরএসি এর জন্য জিভি $ সেশনটি ব্যবহার করুন।



আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.