DMP是一種數據庫文件,其內容包括了整個數據庫和表以及用戶的所有信息,如存儲過程,表定義,表結構等,用於程序員調試程序。
DMP文件導入數據庫步驟(以下每一步給出一個實例,方便大家復制修改)
以下三步的執行環境都需要進入oralce之后,cmd下進入oracle的方式:sqlplus system/密碼 回車即可。dba權限進入為:sqlplus / as sysdba。
1、創建用戶表空間,格式如下:
create tablespace test(表空間的名字)
datafile 'D:\oracle\product\10.2.0\userdata\test.dbf' (這邊可以寫成oracle的某個路徑下)
size 50m (初始大小)
autoextend on;(自動擴展)
實例:create tablespace test datafile 'D:\test.dbf' size 50m autoextend on;
2、創建用戶,格式如下:
CREATE USER utest (用戶名)
IDENTIFIED BY upassword(密碼)
DEFAULT TABLESPACE test(上面創建的表空間)
TEMPORARY TABLESPACE temp;(臨時表空間就寫temp即可)
實例:CREATE USER IDHOME2 IDENTIFIED BY IDHOME2 DEFAULT TABLESPACE test TEMPORARY TABLESPACE temp;
3、給創建的用戶賦予權限來管理自己的表空間
GRANT CONNECT TO utest;
GRANT RESOURCE TO utest;
GRANT dba TO utest;--dba為最高級權限,可以創建數據庫,表等。這小三條分步執行。
4、創建dmp文件的存放目錄
CREATE OR REPLACE DIRECTORY GLIMPDIR as 'C:\'; (GLIMPDIR 即為新建的目錄名,as后面的路徑自己隨便選一個)
執行后將dmp文件放到該目錄下。
5、接下來我們就可以將我們的dmp文件導入到我們自己的表空間中了,注意,這一步要切到cmd命令窗口,導入方式
imp usename/password@SID full=y file= d:\data\xxxx.dmp ignore=y
實例:
impdp IDHOME2/IDHOME2@orcle DIRECTORY=GLIMPDIR dumpfile=IDHOME_20211014.DMP (將文件導入到我們自己新建的用戶的表空間中)
注意:exp導出的用Imp導入,expdp導出的用impdp導入。在上面第五步之前,有一個編碼的處理,有可能發生編碼錯誤的,參考以下命令,分步執行。
sqlplus / as sysdba
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL> ALTER DATABASE OPEN;
SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE UTF8;
SQL> set linesize 120;
SQL> ALTER DATABASE character set INTERNAL_USE JA16SJISTILDE;
SQL> ALTER SESSION SET sql_TRACE=FALSE;
SQL> shutdown immediate;
SQL> STARTUP;
備注:若dmp文件更新,重新導入覆蓋時,ignore=y貌似不好使,直接刪除用戶空間,完全整一個新的來,重新導入,費時但友好。以下是一些常用語句:
刪除用戶:
drop user username cascade ;
刪除表空間及數據文件:
drop tablespace test including contents and datafiles cascade constraint;
解鎖用戶:
alter user username account unlock;
查詢用戶名,密碼:
select username,password from dba_users;
修改密碼:
alter user username identified by 新密碼