الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

HOW to IMPORT to different/another Tablespace

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله وبركاته ،،،

لدي أكثر من 200 كائن (tables & indexes) في الـSYSTEM TBS !! وهذه الكائنات ملك لـ (owned by) مستخدم "س" وحاولت نقلها للـTABLSPACE الخاص بهذا المستخدم

ببساطة عملت EXPORT لتلك الكائنات :

exp userid=system/manager owner=X file=c:\dumpfile


ومسحت المستخدم (بالطبع تم مسح تلك الكائنات من الـSYSTEM TBS) وقمت بإنشاء المستخدم من جديد بعد أن أنشأت Tablespce خاص له:

CREATE USER x IDENTIFIED BY x
DEFAULT TABLESPACE X_TBS


وبعد ما عملت IMPORT تفاجأت أن الكائنات تم إنزالها على الـSYSTEM TBS !!

السؤال: كيف يمكنني نقل هذه الكائنات من الـSYSTEM TBS لـ X_TBS بواسطة تقنية exp & imp ؟
أو
هل لديك اقتراح آخر لنقل هذه الكائنات بطريقة أخرى (سريعة <_<

ولـــــــــــكم جزيل الشـــكر والعرفان ،،،

بتاريخ:
  • كاتب الموضوع
<_<
بتاريخ:

نعم توجد طريقة اسهل واسرع بكثير :

alter table TABLE_NAME move tablspace NEW_TABLESPACE 



ولااستخدامها من جميع الجداول الموجودة في مستخدم معين

spool move.sql
select ' alter table ' ||table_name ||' move tablespace NEW_TABLESPACE||';'
from dba_tables
where owner=USERNAME;
spool off



ملاحظة جميع الجداول اللتي قمت بتغيرها ، ستجد ان حاله index هي Invalid لذا يجب عليك عمل rebuild اما في نفس tablespace او مكانك اخر

spool rebuild_index.sql
select 'alter index '|| index_name|| ' rebuild tablespace TABLESPACE_NAME||';'
from dba_indexes
where owner=USERNAME;
spool off

بتاريخ:

السلام عليكم ورحمة الله وبركاته ،،،
أخواني صيام وقيام مقبول ان شاء الله ،،،

أخي عروه ايضا هذه طريقة أخرى

- من مستخدم الى آخر كمايلي :-

اولا سنقوم بعمل EXPORT عن طريق المستخدم SYSTEM لل SCHEMA التي نريد التعامل معها وهي في هذا المثال SCOTT SCHEMA وونفذ الأمر التالي من COMMAND PROMPT

exp SYSTEM/SYSTEM OWNER=SCOTT FILE=C:\SCOTTDATA



OWNER : وهو المستخدم الذي نريد نقل البيانات منه
FILE : مكان واسم الملف الذي سيتم التصدير فيه

وثانيا سنقوم بعمل IMPORT عن طريق المستخدم SYSTEM ايضا وونفذ الأمر التالي من COMMAND PROMPT

imp SYSTEM/SYSTEM FILE=C:\SCOTTDATA FROMUSER=SCOTT TOUSER=ALI



FROMUSER : المستخدم الذي نقلنا بياناته في الخطوة السابقة وهو SCOTT في هذه الحالة .
TOUSER : المستخدم الذي سننقل له البيانات وهو في هذه الحالة ALI .

تحياتي

بتاريخ:
  • كاتب الموضوع

حياكم الله يا إخواني ،،، وبارك الله فيكم

فعلاً يابو صالح الطريقة جميلة وقيد التنفيذ ... ومتأكد انها ناجحة ,, لكن بعد ما أصعد قاعدة البيانات من 8.0.5 إلى 9i __ :) آآسف نسيت أذكر من البداية رقم الإصدار الذي أتعامل معه

أخي وأستااااااااااااااااذي محمد :
المشكلة التي تواجهني ليست نقل الملكية لمستخدم ، وإنما نقل الكائنات المملوكة من قبل المستخدم من الـSYSTEM Tablespace إلى Tablespace آخــر ..

اعذروني سأفصل أكثر حتى تعم الفائدة:
يعني إذا افترضنا أن SCOTT لديه جداول مخزنة في SYSTEM TBS فإن تقنية exp/imp لا تستطيع (على حد علمي حتى الآن) أن تنقل هذه الجداول إلى Tablespace آخر !! إلا في حال أنك استطعت أن تغير إسم الـSTSTEM TBS إلى إسم آخر قبل عملية الـimport وهذه غير ممكن على حد علمي

إذاً يمكننا القول أنه في حال أن الكائنات ليست مخزنة في الـSYSTEM Tbs فإن نقل هذه الكائنات إلى Tablespace آخر ممكنة باستخدامم تقنية export / import ....... كيف؟
1. اعمل Export للكائنات المراد نقلها (ويستحسن استخدام =OWNER من =TABLES) ومن ثم مسحها - أو مسح الـOWNER كاملاً-
2. امسح الـTablespace الذي يحتوي على الكائنات
* (القصد هو تغيير إسم الـTablespace) فإذا تعذر مسحه !! قم بنقله إلى DMP file مؤقتا إلى أن تتم الخطوة التالية -3-
3. اعمل Import لتلك الكائنات.. لكن، تأكد من أن الـDefault Tablespace للمستخدم الموضح في touser ليس SYSTEM <_<

وباااااااااااااااااااااااااارك الله فيكم ، وما عدمناكم إن شاء الله

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.