ورود

View Full Version : نحوه kill نمودن كاربران



سیروس مقصودی
یک شنبه 12 تیر 1390, 08:56 صبح
با سلام

چگونه ميتوان از طريق كد نويسي (Sql Plus) اتصال كل كاربران به DataBase را از بين برد چون ما هنگام تهيه فايل پشتيبان وقتي حتي بك كاربر به DataBase متصل باشد امكان تهيه فايل پشتيبان (Dump) وجود ندارد و ما مجبور هستيم كه اتصال كل كاربران به DataBase را از بين ببريم .

با تشكر

sajjadrazmi
یک شنبه 12 تیر 1390, 12:20 عصر
سلام
واسه این کار، می تونید با استفاده از دستورات زیر، بانک اطلاعاتی را در حین انجام عملیات معلق نموده و پس از اتمام کار از حالت معلق خارج نمایید:
SQL> ALTER SYSTEM SUSPEND;
SQL> ALTER SYSTEM RESUME;
--> هنگامي که بانک‌اطلاعاتي در وضعيت معلق قرار مي‌گيرد، از خواندن و نوشتن در کليه datafileها و control fileها جلوگيري مي‌شود.

اگر نتونستید از دستورات فوق استفاده نمایید، دستورات زیر را چک کنید:
SQL> ALTER SYSTEM QUIESCE RESTRICTED;
SQL> ALTER SYSTEM UNQUIESCE;

روش دیگری که هشتن، shutdown بانک اطلاعاتی به صورت immediate و سپس راه اندازی آن در حالت restrict می باشد.

موفق باشید.

سیروس مقصودی
دوشنبه 13 تیر 1390, 08:09 صبح
با سلام

خيلي ممنون از وقتي كه صرف اينجانب نموديد بيشتر هدف من kill نمودن كاربران ميباشد چون سيستم ساعت يك نصف شب عمليات BackUp گيري را بصورت اتوماتيك انجام ميدهد و گاهي كاربران يادشان ميرود كه از سيستم خارج شوند و تا زماني كه كل كاربران از سيستم خارج نشوند عمليات BackUp گيري انجام نميگيرد و اگر تا ساعت يك نصف شب كاربران خارج نشود ديگر عمليات مذكور در آن روز انجام نميگيرد .

با تشكر

Cold.82
دوشنبه 13 تیر 1390, 08:33 صبح
چرا از hot backup استفاده نمی کنین ؟

sajjadrazmi
چهارشنبه 15 تیر 1390, 10:25 صبح
با سلام

خيلي ممنون از وقتي كه صرف اينجانب نموديد بيشتر هدف من kill نمودن كاربران ميباشد چون سيستم ساعت يك نصف شب عمليات BackUp گيري را بصورت اتوماتيك انجام ميدهد و گاهي كاربران يادشان ميرود كه از سيستم خارج شوند و تا زماني كه كل كاربران از سيستم خارج نشوند عمليات BackUp گيري انجام نميگيرد و اگر تا ساعت يك نصف شب كاربران خارج نشود ديگر عمليات مذكور در آن روز انجام نميگيرد .

با تشكر

سلام
خواهش می کنم
وقتی شما از دستور SHUTDOWN IMMEDIATE استفاده می کنید، ارتباط تمامی کاربران چه فعال و چه غیرفعال با بانک اطلاعاتی قطع می شود. تراکنش های فعال rollback شده و اونهایی هم که تموم شدند، روی datafileها ثبت می شوند. چون اوراکل موقع shutdown به صورت پیش فرض یک checkpoint full انجام می دهد.
اگه می خوان کاربرا رو kill کنین، با استفاده از ویوی زیر، لیست کاربران را در آورده و سپس آنها را یکی یکی kill کنید (می تونید با استفاده از یک حلقه این کار را انجام بدید)

select SID, Serial# from V$SESSION s
where s.STATUS = 'ACTIVE'

ALTER SYSTEM KILL SESSION 'sid,serial#';