Oracle表空间:
查看表空间路径:select * from dba_data_files
/*分为四步 */
/*第1步:创建临时表空间 */
create temporary tablespace u1_temp
tempfile 'C:\APP\ORACLE\ORADATA\ORCL\u1_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
/*第2步:创建数据表空间 */
create tablespace u1_data
logging
datafile 'C:\APP\ORACLE\ORADATA\ORCL\u1_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
/*第3步:创建用户并指定表空间 */
create user u1 identified by password
default tablespace u1_data
temporary tablespace u1_temp;
/*第4步:给用户授予权限 */
grant connect,resource,dba to u1
修改用户密码:
create user u1 identified by a123456;
2、查看当前数据库名(实例名)
select name from v$database;
3、数据库的导入导出
sql>CREATE DIRECTORY dump AS '/home/oracle/dump';
[oracle@localhost dump]expdp u2/a123456 directory=dump dumpfile=u2_20190808.dmp schemas=u2 logfile=u2_20190808.log;
[oracle@localhost dump]impdp u1/a123456 directory=dump dumpfile=u2_20190808.dmp remap_schema=u2:u1 logfile=u2_20190808.log;
方法二:
oracle导出命令:
expdp zywl/a123456 directory=dump dumpfile=x.dmp schemas=zywl logfile=expdp_test1.log version=10.2.0.1.0;
最后的一个参数从高版本导入到低版本,可以指定dmp的版本。一般可以不追加version参数。
oracle导入命令:
impdp system/oracle directory=dump dumpfile=scm.dmp remap_schema=scm:vclub REMAP_TABLESPACE=wingsboat:vclub,wingsboat_temp:vclub_temp;
如果用户名需要变更,就追加参数remap_schema,前一个为dmp文件中的用户名,后面那个为新的用户名。
如果表空间名称变更,就追加参数REMAP_TABLESPACE,前一个为dmp文件中的表空间,后一个为新的。多个表空间用逗号分开。
一般用户名和表空间不变,就可以不追加参数remap_schema和REMAP_TABLESPACE。
4.实践
[oracle@localhost ~]$ impdp u1/zy123456@ip/orcl directory=DUMP dumpfile=u1_20190613.dmp remap_schema=u2:u1 transform=segment_attributes:n;
中间可能会报错;解决办法:
[root@localhost oracle]#chown -R oracle:oinstall dump/
然后再切换到oracle上再执行命令