PDA

View Full Version : سوال خالی کردن فضای Table Space Temporary



alireza586
یک شنبه 07 آبان 1391, 14:18 عصر
سلام
من داخل اوراکل 9i فضای TableSpace Temporary پر شده چطوری می تونم اون را تخلیه کنم
چون این فضا یه فضای موقت هستش اون را روی اتومات تنظیم کردم که افزایش پیدا بکنه اما حجم اون داره زیاد بزرگ می شه لطفا کمک کنید متشکرم

رسول_57
دوشنبه 08 آبان 1391, 08:26 صبح
سلام
من داخل اوراکل 9i فضای TableSpace Temporary پر شده چطوری می تونم اون را تخلیه کنم
چون این فضا یه فضای موقت هستش اون را روی اتومات تنظیم کردم که افزایش پیدا بکنه اما حجم اون داره زیاد بزرگ می شه لطفا کمک کنید متشکرم

چندین پاسخ برای این سوال وجود دارد :

1-یک Temp Tablespace جدید ایجاد کرده ، آن را به صورت پیش فرض قرار دهید و Tablespace قبلی را Drop کنید .

2-می توانید به صورت دستی فایل های آن را با دستور مشابه زیر پاک کنید :

SQL> ALTER DATABASE TEMPFILE '/oradata/temp02.dbf' DROP INCLUDING DATAFILES;

البته توجه داشته باشید که اگر تمام فایل ها را به این طریق پاک کنید با پیغام خطای ora-25153 مواجه می شوید که به معنای خالی بودن TableSpace است . پس بهتر است یک فایل موقتی را در نهایت به آن اضافه کنید به صورتی مشابه زیر :

SQL> ALTER TABLESPACE temp ADD TEMPFILE '/oradata/temp03.dbf' SIZE 100M;

alireza586
دوشنبه 08 آبان 1391, 10:46 صبح
با سلام و تشکر از جواب کامل و خوب شما دوست عزیز
یه سوال برام پیش اومد
من تمام کاربرانی که تعریف کردم temp tablespace اونها را این temp تعیین کردم اگه یه جدید ایجاد کنم و قدیم را حذف کنم مشکلی پیش نمی یاد

رسول_57
دوشنبه 08 آبان 1391, 14:53 عصر
با سلام و تشکر از جواب کامل و خوب شما دوست عزیز
یه سوال برام پیش اومد
من تمام کاربرانی که تعریف کردم temp tablespace اونها را این temp تعیین کردم اگه یه جدید ایجاد کنم و قدیم را حذف کنم مشکلی پیش نمی یاد

ابتدا بایت Temp TableSpace آنها را به TableSpace جدید تغییر دهید سپس حذف کنید .

alireza586
دوشنبه 08 آبان 1391, 15:08 عصر
کاربران خیلی زیادند و این امکان نیست اگر اون را حذف کنم بلافاصله با همون نام دوباره ایجاد کنم مشکلی پیش می یاد؟


در مورد روش دوم دستور ALTER DATABASE TEMPFILE '/oradata/temp02.dbf' DROP INCLUDING DATAFILES
DATAFILE را کاملا از OS حذف می کنه این مشکلی ایجاد نمی کنه ؟

از کمک شما متشکرم

رسول_57
دوشنبه 08 آبان 1391, 15:29 عصر
1- ببینید اگر Temp TableSpace را حذف کنید اروری نمی بینید (از نظر منطقی برایتان گفتم که ابتدا تغییر دهید) ، می توانید آن را حذف و سپس با همان نام قبلی و یا با نام جدید ایجاد کرده و سپس مشخصات اسکیمایی را که از آن TableSpace استفاده می کنند تغییر دهید (به TableSpace جدید)

2-ببینید TempFile ها ، فایل هایی هستند که به صورت موقتی مثلا برای اعمال Sql مانند Minus ، Intersect و یا بعضی Join ها که به فضای زیادی در Ram نیاز است استفاده می گردند و برای سیستم حیاتی نیستند بنابراین حذف آنها عموما مشکلی ایجاد نمی کند .

alireza586
دوشنبه 08 آبان 1391, 15:40 عصر
متشکرم کاملا به جواب رسیدم