1.创建用户和授权
第一种:create user username identified by password;
grant dba,resource,connect to username;
第二种: grant dba,resource,connect to username identified by password;
2.创建表空间
create tablespace TS_TSPIPE
logging
datafile 'D:\sjcj\TS_TSPIPE.dbf'
size 50m
autoextend on
next 50m maxsize unlimited
extent management local;
查看表空间
SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size
FROM dba_tablespaces t, dba_data_files d
WHERE t.tablespace_name = d.tablespace_name
GROUP BY t.tablespace_name;
3.普通imp和exp导入导出
imp username/password@ip:port/orcl file=数据库文件路径.dmp log=数据库日志文件.log owner=username(用户级别)
exp username/password@ip:port/orcl file=数据库文件路径.dmp log=数据库日志文件.log full=y
设置导出空表
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
4 .数据泵导入导出
--查询可以数据泵可以导出的目录
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;
--(+) 加号其实就是外关联 left join,right join的简写而已
创建数据导出目录aa_dir为目录名,'E:\aa'为数据库实际目录,命令如下:
create directory aa_dir as 'E:\aa';
为oracle用户授予访问数据目录的权限,命令如下:
Grant read,write on directory aa_dir to username;
执行数据泵命令,注意一定要在Cmd下执行,不能登录sqlplus后执行。
expdp username/password@ip:port/orcl directory=aa_dir dumpfile=aa.dmp schemas=username logfile=aa.log;
impdp scott/tiger@orcl directory=dump_dir dumpfile=expdp.dmp schemas=scott;
1)按用户导
expdp scott/tiger@orclschemas=scott dumpfile=expdp.dmp DIRECTORY=dir logfile=expdp.log
2)并行进程parallel
expdp scott/tiger@orcl directory=dir dumpfile=scott3.dmp parallel=40 job_name=scott3
3)按表名导
expdpscott/tiger@orclTABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dir;
4)按查询条件导
expdpscott/tiger@orcldirectory=dir dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';
5)按表空间导
expdp system/manager DIRECTORY=dir DUMPFILE=tablespace.dmp TABLESPACES=temp,example;
6)导整个数据库
expdp system/manager DIRECTORY=dir DUMPFILE=full.dmp FULL=y;
1)导入用户(从用户scott导入到用户scott)
impdp scott/tiger@orcl directory=dump_dir dumpfile=expdp.dmp schemas=scott;
2)导入表(从scott用户中把表dept和emp导入到system用户中)
impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmptables=scott.dept,scott.emp remap_schema=scott:system;
3)导入表空间
impdp system/manager@orcl directory=dump_dir dumpfile=tablespace.dmp tablespaces=example;
4)导入数据库
impdb system/manager@orcl directory=dump_dir dumpfile=full.dmp full=y;
5)追加数据
impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmp schemas=systemtable_exists_action
设置系统字符集
Windows:
我的电脑 -> 属性 -> 高级 -> 环境变量
新建环境变量:NLS_LANG
设置值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
select * from nls_database_parameters t where t.parameter='NLS_CHARACTERSET';