ورود

View Full Version : انتقال جدول هاي يک tablespace به tablespace ديگر



MEGANMEGAN
چهارشنبه 12 تیر 1392, 18:02 عصر
با سلام
من مي خواهم جداول يک tablespace را انتقال دهم ولي اين tablespace بيش از 100 جدول دارد
ايا اسکريپت وجود دارد که به وسيله ان بتوان بطور اتوماتيک تمامي جداول را انتقال داد؟
همچنين براي index ها
با تشکر

sajjadzandi
دوشنبه 17 تیر 1392, 10:34 صبح
با سلام
برای انتقال آبجکت ها در اوراکل از شیوه های گوناگونی می توان بهره برد؛ همچون
create table as select ,
dbms_redefinition,
و یا
data pump export import توسط دستورات expdp,impdp.
اما یکی از شیوه های مناسب تر استفاده از دستور
alter table move tablespace
است که قبل از اجرای آن tablespace دوم مد نظر را باید ایجاد کرد و از نظر حجم و اندازه آنها را مورد بررسی قرار داد.
بهتر که tablespace اول را در مد readonly ببریم.
بعد دستور
alter table move tablespace;
را میزنیم که در اینجا نام جدولتان و در ادامه آن tablespace مقصد را درج می کنید.
لازم به یادآوری است که آن دسته از Indexهای که مطابق با rowID ایجاد شده اند به علت تغییر مسیر فیزیکی رکورد های جدول به شکل UNUSABLE خواهند شد و باید rebuild شوند.

MEGANMEGAN
سه شنبه 18 تیر 1392, 12:18 عصر
فکر کنم شما منظور من را درست متوجه نشدید من دستورات اولیه را بلدم دنبال یه اسکریپت می گردم که نام دیتا فایل مبدا و مقصد را گرفته و بقیه کارها را انجام دهد.
تاکید می کنم که نام دیتا فایل را بگیرد