بتاريخ: 10 أكتوبر 200619 سنة comment_80516 السلام عليكم ورحمة الله وبركاته ،،،لدي أكثر من 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 ؟أوهل لديك اقتراح آخر لنقل هذه الكائنات بطريقة أخرى (سريعة )؟ولـــــــــــكم جزيل الشـــكر والعرفان ،،، تقديم بلاغ
بتاريخ: 15 أكتوبر 200619 سنة comment_80808 نعم توجد طريقة اسهل واسرع بكثير : 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 تقديم بلاغ
بتاريخ: 16 أكتوبر 200619 سنة comment_80840 السلام عليكم ورحمة الله وبركاته ،،،أخواني صيام وقيام مقبول ان شاء الله ،،،أخي عروه ايضا هذه طريقة أخرى - من مستخدم الى آخر كمايلي :-اولا سنقوم بعمل 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 .تحياتي تقديم بلاغ
بتاريخ: 17 أكتوبر 200619 سنة كاتب الموضوع comment_80964 حياكم الله يا إخواني ،،، وبارك الله فيكمفعلاً يابو صالح الطريقة جميلة وقيد التنفيذ ... ومتأكد انها ناجحة ,, لكن بعد ما أصعد قاعدة البيانات من 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 وباااااااااااااااااااااااااارك الله فيكم ، وما عدمناكم إن شاء الله تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.