1、用有dba权限的用户登录:sys用户
2、创建对应表空间
需要手动创建文件夹
-- 格式:create tablespace 表空间名 datafile 文件路径 size 文件大小 [自增 每次增加多少 最大大小]SQL> create tablespace DB_TEST datafile 'C:\ProgramFiles\Oracle\oradata\orcl\DB_TEST.DBF' size 100m autoextend on next 10M maxsize unlimited;
3、创建用户,并指定表空间
用户名需要和导出文件内的用户名相同
-- 格式: create user 用户名 identified by 密码 default tablespace 表空间名;SQL> create user USER_TEST identified by PWD_TEST default tablespace DB_TEST;
4、授权
-- 格式:grant 权限 to 用户名;SQL> grant connect,resource,dba to USER_TEST;
5、创建目录对象
-- 格式:create directory 目录名 as 目录地址;SQL> create directory DIR_TEST as 'C:\ProgramFiles\Oracle\oradata\dir_test';
6、给用户授予目录的读写权限
-- 格式:Grant 权限 on directory 目录名 to 用户名;SQL> Grant read,write on directory DIR_TEST to USER_TEST;
7.使用cmd导入/导出数据库
-- 导入数据-- 格式:impdp 用户名/密码@实例名 directory=表空间名 dumpfile=数据库文件名 [table_exists_action=处理方式] [full=y] [logfile=日志文件名]C:\Users\Administrator> impdp USER_TEST/PWD_TEST@ORCL directory=DIR_TEST dumpfile=DB_TEST.DMP table_exists_action=replace full=y-- 导出数据-- 格式:expdp 用户名/密码@实例名 directory=表空间名 dumpfile=数据库文件名 [logfile=日志文件名]C:\Users\Administrator> expdp USER_TEST/PWD_TEST@ORCL directory=DIR_TEST dumpfile=DB_TEST.DMP
相关常用命令
-- 查询用户SQL> select * from dba_users;-- 删除用户,及级联关系也删除掉-- 格式:drop user 用户名 cascade;SQL> drop user USER_TEST cascade;-- 查找工作空间的路径SQL> select * from dba_data_files; -- 删除表空间,及对应的表空间文件也删除掉-- 格式:drop tablespace 表空间名称 including contents and datafiles cascade constraint;SQL> drop tablespace DB_TEST including contents and datafiles cascade constraint;-- 查看所有目录SQL> select * from dba_directories;-- 删除目录-- 格式:DROP DIRECTORY directory_name;SQL> DROP DIRECTORY DIR_TEST;-- 7、查看目录及权限SQL> SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t, all_directories d WHERE t.table_name(+) = d.directory_name ORDER BY 2, 1;