تو این آموزش طریقه راه اندازی از صفر و یک سری دستورات مهم برای ساختن دامپ رو بهتون آموزش بدم.با من همراه باشید:)

1-ابتدا باید با کاربر sysdba لاگین کنیم به سیستم:

1-sqlplus / as sysdba

2-بعد باید یه یوزر بسازیم واسه خودمون:

2-create user x identified by x;

3-بعدش باید دسترسی های لازم رو بهش بدیم:

3-1-grant create any table to username;
3-2-grant create table to username;
3-3-grant unlimited tablespace to username;
3-4-grant create session to username;
### Grant All privileges to Specific User ###

3-5-grant all privileges to userName identified by password;

3-1-برای مشاهده تعداد مجوزهای صادر شده برای یک کاربر:

3-1-select count(*),grantee from dba_sys_privs where grantee in ('X') group by  grantee;

4-بعد باید یه دایرکتوری بسازیم که بتونیم دامپ هامون رو توش بریزیم:

4-CREATE DIRECTORY MyDump AS ‘D:\MyDump;

(نکته:با انجام دستور بالا دایرکتوری ای در سیستم ایجاد نمیشود.فقط یه آبجکت در خود اوراکل ساخته میشود.و ما باید خودمان بریم تو ویندوز یه دایرکتوری دستی ایجاد کنیم.)

5-سپس باید فایل دامپ مورد نظر خودمون رو توی دایرکتوری ساخته شده که در اینجا MyDump هستش بریزیم.

6-بعدش باید دامپ مون رو ریستور کنیم توش:

 

(توجه:cmd را باز میکنیم و این دستورات رو میزنیم.نباید با کاربری لاگین کنیم .خود اوراکل هنگام ریستور کردن دامپ یوزر پس کاربری که در قسمت remap_schemaهستش رو از ما میگیره.)

6-impdp system/oracle directory=MyDump remap_schema=sourceUser:destUser table_exists_action=replace  dumpfile=IRAN_DUMP_6TIR-SOBH.DMP

7-سپس با دستور زیر به یوزر مورد نظر سوئیچ میکنیم:

connect x/x;

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

select table_name from user_tables;

*برای فهمیدن کل آبجکت های دایرکتوری ساخته شده:

SELECT * FROM all_directories;

**برای حذف یک دایرکتوری خاص:

Drop directory directory_name

***در صورتی که نیاز به دامپ گرفتن از سمت سرور بود با دستور زیر این کار را انجام می دهیم:

expdp system/oracle directory=MyDump  dumpfile=IRAN_DUMP_6TIR-SOBH.DMP

-وصل شدن به یوزر ادمین:

conn / asadmin

-وصل شدن به یک یوزر خاص:

connect username/password;
(sqlplus username/password@database-name)

خروج از یوزر مورد نظر و رفتن به sysdba:

disconnect;

حذف یک کاربر:

DROP USER user_name [ CASCADE]

شمارش تعداد کاربران جاری:

select count(username) from dba_users;

اضافه کردن ستون جدید به دیتابیس:

ALTER TABLE supplier
ADD supplier_name varchar2(50)

نمایش کاربر جاری:

show user;

نمایش تمامی کاربران:

select username from dba_users;

نمایش تمامی جداول کاربر جاری:

select tablespace_name, table_name from user_tables;

نمایش تمامی جداول موجود در دیتابیس:

select tablespace_name, table_name from dba_tables;

انتخاب رکوردهای خاصی از جدول:

SELECT column_name(s) FROM table_name WHERE ROWNUM <= number;

آپدیت کردن:

SET column1 = expression1,
   column2 = expression2,
   ...
   column_n = expression_n
WHERE conditions;

خروج از محیط sqlplus:

exit

dump import:

impdp system/oracle directory=DIR_NAME remap_schema=user:user table_exists_action=replace dumpfile=DUMPNAME.DMP

اگر موقع ایمپورت کردن با ارور زیر مواجه شدید:

ORA-39087: directory name is invalid

کافی است دستور زیر را وارد کنید:

GRANT read, write ON DIRECTORY MyDump TO hotel;

حل مشکل لاک شدن یوزر:

grant imp_full_database to YOURUSER;

یا:

alter user scott account unlock;

dump export:

expdp system/oracle directory=DIR_NAME dumpfile=DUMPNAME.DMP

دادن دسترسی های معمول به یک دیتابیس

1-revoke dba from db;
2-grant create any table to db;
3-grant create table to db;
4-grant unlimited tablespace to db;
5-grant create session to db;

تنظیمات url connection برای وصل شدن به دیتابیس ها در اکلیپس

1-sql server

#hibernate.dialect=org.hibernate.dialect.SQLServerDialect
#hibernate.connection.driver_class=com.microsoft.sqlserver.jdbc.SQLServerDriver
#hibernate.connection.url.import=jdbc:sqlserver://localhost;databaseName=test
#hibernate.connection.url=jdbc:sqlserver://localhost;databaseName=test
#hibernate.connection.username=user
#hibernate.connection.password=pass
#hibernate.connection.usernameReport=user
#hibernate.connection.passwordReport=pass

2-oracle

hibernate.dialect=org.hibernate.dialect.Oracle10gDialect 
hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver
hibernate.connection.url.import=jdbc:oracle:thin:@localhost:1521:servicename
hibernate.connection.url=jdbc:oracle:thin:@localhost:1521:servicename
hibernate.connection.username=user
hibernate.connection.password=pass
hibernate.connection.usernameReport=user
hibernate.connection.passwordReport=pass

3-my sql:

hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url.import=jdbc:mysql://localhost:3306/test
hibernate.connection.url=jdbc:mysql://localhost:3306/test
hibernate.connection.username=root
hibernate.connection.password=root
hibernate.connection.usernameReport=root
hibernate.connection.passwordReport=root
hibernate.show_sql=true
hibernate.hbm2ddl.auto=update

جلوگیری از منقضی شدن پسورد یوزرها در دیتابیس

select profile from DBA_USERS where username = '<username>';
alter profile <profile_name> limit password_life_time UNLIMITED;
select resource_name,limit from dba_profiles where profile='<profile_name>';