Oracle11g导出数据库时无法导出空表的解决方法
先执行下面的语句,然后把执行出来的语句复制出来再执行一次就行了。
SELECT \'alter table \' || TABLE_NAME || \' allocate extent;\'FROM USER_TABLES;
查看Oracle数据库及用户下相关信息
- 查看用户在表空间的大小
SELECT SEGMENT_TYPE, OWNER, SUM(BYTES) / 1024 / 1024FROM DBA_SEGMENTSWHERE TABLESPACE_NAME = \'USERS\'GROUP BY SEGMENT_TYPE, OWNER;
- 查看用户中表在表空间的大小
SELECT SEGMENT_NAME, SUM(BYTES) / 1024 / 1024FROM DBA_SEGMENTSWHERE OWNER = \'用户\'GROUP BY SEGMENT_NAME;
- 用户下表所在的大小
SELECT SEGMENT_NAME, ROUND(BYTES / 1024 / 1024, 2) FROM USER_SEGMENTS;
- 查看数据库的表空间文件存放位置
SELECT FILE_NAME FROM SYS.DBA_DATA_FILES;
- 查看空闲表空间
SELECT TABLESPACE_NAME, SUM(BYTES) / 1024 / 1024 || \'M\' AS FREESPACESFROM DBA_DATA_FILESGROUP BY TABLESPACE_NAME;
- Oracle database版本信息
SELECT * FROM V$VERSION;
- Oracle database安装平台信息
SELECT VERSION FROM V$INSTANCE;
创建Oracle表空间
create tablespace 空间名loggingdatafile \'D:\\app\\Administrator\\oradata\\orcl\\空间名.dbf\'--初始大小为50Msize 50mautoextend on--每次增长50M,最大值无限大next 50m maxsize UNLIMITEDextent management local;
Oracle11g新创建的用户进行一些优化
- 设置最大的线程数
ALTER SYSTEM SET PROCESSES = 400 SCOPE = SPFILE;
- Oracle11g设置用户名永远不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
- 修改控制文件里可重复使用的记录所能保存的最小天数:(一般设置为45天)
ALTER SYSTEM SET CONTROL_FILE_RECORD_KEEP_TIME = 45 SCOPE = SPFILE;
修改用户下的表和索引的表空间
把执行出来的结果,复制出来再执行一次。
select \'alter table \'|| table_name ||\' move tablespace 表空间名;\' from user_tables;select \'alter index \'|| index_name ||\' rebuild tablespace 表空间名;\' from user_indexes;