بتاريخ: 29 أبريل 200719 سنة comment_98388 احنا علشان نعمل جدول مطابق لجدول اخر فبنعمل كود ذى كده - على سبيل المثال :- create table employees2 as select*from employees; طيب لو احنا عاوزيين نعمل ذى الفكرة اللى فاتت بس على أسكيمة مش جدول ...... يعنى يبقى عندنا أسكيمة hr2 مطابقة تماماً لأسكيمة hr و بها نفس ال objects اللى موجوده فى الاصلية - اللى هى ال hr - فدى تبقى أيه كودها ؟و شكراً تقديم بلاغ
بتاريخ: 29 أبريل 200719 سنة comment_98392 rem ----------------------------------------------------------------------- rem Filename: cr8like.sql rem Purpose: Script to create a new user (with privs) like an existing rem database user. User data will not be copied. rem Date: 02-Nov-1998 rem Author: Frank Naude, Oracle FAQ rem Updated: Konstantin Krivosheyev - 7 Dec 2002 rem Updated: Frank Naude - 18 Dec 2003, 2 Dec 2004 rem ----------------------------------------------------------------------- set pages 0 feed off veri off lines 500 accept oldname prompt "Enter user to model new user to: " accept newname prompt "Enter new user name: " -- accept psw prompt "Enter new user's password: " -- Create user... select 'create user &&newname identified by values '''||password||''''|| -- select 'create user &&newname identified by &psw'|| ' default tablespace '||default_tablespace|| ' temporary tablespace '||temporary_tablespace||' profile '|| profile||';' from sys.dba_users where username = upper('&&oldname'); -- Grant Roles... select 'grant '||granted_role||' to &&newname'|| decode(ADMIN_OPTION, 'YES', ' WITH ADMIN OPTION')||';' from sys.dba_role_privs where grantee = upper('&&oldname'); -- Grant System Privs... select 'grant '||privilege||' to &&newname'|| decode(ADMIN_OPTION, 'YES', ' WITH ADMIN OPTION')||';' from sys.dba_sys_privs where grantee = upper('&&oldname'); -- Grant Table Privs... select 'grant '||privilege||' on '||owner||'.'||table_name||' to &&newname;' from sys.dba_tab_privs where grantee = upper('&&oldname'); -- Grant Column Privs... select 'grant '||privilege||' on '||owner||'.'||table_name|| '('||column_name||') to &&newname;' from sys.dba_col_privs where grantee = upper('&&oldname'); -- Tablespace Quotas... select 'alter user '||username||' quota '|| decode(max_bytes, -1, 'UNLIMITED', max_bytes)|| ' on '||tablespace_name||';' from sys.dba_ts_quotas where username = upper('&&oldname'); -- Set Default Role... set serveroutput on declare defroles varchar2(4000); begin for c1 in (select * from sys.dba_role_privs where grantee = upper('&&oldname') and default_role = 'YES' ) loop if length(defroles) > 0 then defroles := defroles||','||c1.granted_role; else defroles := defroles||c1.granted_role; end if; end loop; dbms_output.put_line('alter user &&newname default role '||defroles||';'); end; / تقديم بلاغ
بتاريخ: 29 أبريل 200719 سنة كاتب الموضوع comment_98395 أخى العزيز مودىأنا مش فاهم انت تقصد ايه بكودك ...... أنا عملت copy و paste لكودك فى اسكيمة ال system و أسكيمة ال hr و بعد كده شوفت كل ال users من خلال :- select USERNAME,ACCOUNT_STATUS from dba_users; ولاقيت ان مفيش user مكرر ..... و كل اللى لاحظته الأسكيمة الجديدة اللى اسمها MGMT_VIEW ....... فهل هذه الأسكيمة هى الأسكيمة المنسوخة من الأسكيمة التى قمت بتنفيذ كودك فيها ؟ ..... و أذا كان فما هى الطريقة التى تمكننى من التحكم فى أسم الاسكيمة المنسوخة ؟ فممكن لو سمحت تبقى تكتب توضيح مع الكود اللى كتبته علشان الرؤية عندى توضح أكتر .و شكراً تقديم بلاغ
بتاريخ: 30 أبريل 200719 سنة comment_98433 ممكن بعد انشاء اليوزر الجديد تعمل export لليوزر القديم وبعد كده تعمل import لها فى اليوزر الجديدimp user/pass@db file=xxx.dmp fromuser=olduser touser=newuser تقديم بلاغ
بتاريخ: 30 أبريل 200719 سنة كاتب الموضوع comment_98487 أخى العزيز Essamshabeebانا لا أعرف كيف أترجم كودك ..... انا قمت بعمل مستخدم جديد بأسم hr2 بكلمة سر pshr2 و أديته الصلاحيات الازمة ..... والأن كيف اكتب كودك واين بالطريقة المناسبة لنقل محتويات المستخدم hr والذى كلمة مروره pshr الى المستخدم الجديد hr2 الذى كلمة مروره pshr2و شكراً منتظر الرد ....... تقديم بلاغ
بتاريخ: 3 مايو 200719 سنة comment_98743 العزيز هانى من الـ command mode 1- تعمل export للمستخدم القديم hr عن طريق التالى :-exp system/manager@orcl file=c:\hr.dmp owner=hr log=hr.log2- تعمل امبورت فى اليوزر الجديد كما يلى imp system/manager@orcl file=c:\hr.dmp fromuser=hr touser=hr2 log=h2.logوموفق ان شاء الله تقديم بلاغ
بتاريخ: 3 مايو 200719 سنة كاتب الموضوع comment_98752 أخى الكريم Essamshabeeb وبارك الله فيكالطريقة نجحت بالفعلشكراً جزيلاً لك . تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.