oracle笔记

数据泵的使用需要保证客户端与服务器端的版本兼容
expdp common/shrptsms_2016@SHRPTSMS schemas=shrptsms_2016 directory=TS_SHSMS dumpfile =d:\tmp\expdp_test1.dmp logfile=d:\tmp\expdp_test1.log;

--查询表空间,并将表空间设置为自动增长
select * from dba_data_files where TABLESPACE_NAME='TS_SHSMS'--找到表空间文件
alter database datafile 'D:\WORK\TOOLS\ORACLE_11G\ORADATA\ORCL\TS_SHSMS.DBF' autoextend on;

11g新表没有创建segment,需要自己创建
Select 'alter table '||table_name||' allocate extent;' from user_tables
select 'alter table '||table_name||' allocate extent;'from user_tables WHERE SEGMENT_CREATED='NO';

今天在创建表的时候遇到一个ora-01536 超出了表空间users的空间限量的问题
通过sql查看表空间,是自动增长的(如果不是,可通过alter database datafile 'D:\WORK\TOOLS\ORACLE_11G\ORADATA\ORCL\USERS01.DBF' autoextend on;语句修改)

select tablespace_name,file_name,autoextensible from dba_data_files where tablespace_name = 'USERS';

后来上网搜了下发现是因为这个用户本身没有那么大的表空间使用权限
可以设置为无限量使用
alter user ***(用户名) quota unlimited on ***(表空间); 

注:导出时,对于没有 segment的表,不会导出,可以参考上面的语句先创建segment,然后执行导出.dmp文件

参考链接: http://www.cnblogs.com/chinhr/archive/2011/10/11/2207122.html

你可能感兴趣的:(编程笔记)