导出数据库文件的时候,比较简单
输入以下命令:
expdp userid='用户名/密码@sid' schemas=用户名 directory=DATA_PUMP_DIR dumpfile=XX.DMP compression=all
其中dumpfile可以改名。通过查询语句select * from dba_directories t;可以知道DATA_PUMP_DIR的默认路径,当然你也可以选择其他的路径作为导出dmp文件的地方。
导入数据库文件的时候
首先以管理员的身份登录到plsql上,然后通过语句select * from dba_directories;//查询系统dump目录的dump名(即:DATA_PUMP_DIR)的地址,将DMP文件放入此地址。
然后执行语句
(1)创建表空间
create tablespace 表空间名 datafile '路径' size 100m autoextend on next 32m ;
其中注意表空间名可以自己取,路径要和dump目录相对应。
(2)创建用户名和密码
create user 用户名 identified by 密码
default tablespace 表空间名
(3)给用户授权
grant connect,resource,dba to 用户名 ;
其中用户名和密码,可以自己设定,这里的用户名和语句(3)中的用户名对应,需要注意。
如果创建无误的话,这时就可以进入dos界面,直接cmd进入就可以,不用管理员身份运行。运行下列语句:
(impdp 用户名/密码 dumpfile=要导入的文件名.dmp REMAP_SCHEMA=导出的用户名:导入的用户名 EXCLUDE=USER)
impdp username/password dumpfile=database.dmp REMAP_SCHEMA=username1:username EXCLUDE=USER
删除本地导入的数据库
首先也是通过管理员的身份登录到plsql上,然后可以通过drop user 用户名 cascade;语句删除某用户,如果弹出提示框该用户无法删除,那么可以通过语句select username,sid,serial# from v$session;查看该用户的sid和serial# ,然后执行语句alter system kill session 'sid,serial#';(此时的sid,serial#即查询出来的用户的sid和serial#值)。然后再重新执行drop user 用户名 cascade;便可以删除某用户。删除表空间之前可以先通过语句select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;查询出要删除的表空间名,然后执行语句drop tablespace 表空间名 including contents and datafiles cascade constraint;即可删除表空间