AI智能
改变未来

Oracle维护数据库常用语句


Oracle11g导出数据库时无法导出空表的解决方法

先执行下面的语句,然后把执行出来的语句复制出来再执行一次就行了。

SELECT \'alter table \' || TABLE_NAME || \' allocate extent;\'FROM USER_TABLES;

查看Oracle数据库及用户下相关信息

  1. 查看用户在表空间的大小
SELECT SEGMENT_TYPE, OWNER, SUM(BYTES) / 1024 / 1024FROM DBA_SEGMENTSWHERE TABLESPACE_NAME = \'USERS\'GROUP BY SEGMENT_TYPE, OWNER;
  1. 查看用户中表在表空间的大小
SELECT SEGMENT_NAME, SUM(BYTES) / 1024 / 1024FROM DBA_SEGMENTSWHERE OWNER = \'用户\'GROUP BY SEGMENT_NAME;
  1. 用户下表所在的大小
SELECT SEGMENT_NAME, ROUND(BYTES / 1024 / 1024, 2) FROM USER_SEGMENTS;
  1. 查看数据库的表空间文件存放位置
SELECT FILE_NAME FROM SYS.DBA_DATA_FILES;
  1. 查看空闲表空间
SELECT TABLESPACE_NAME, SUM(BYTES) / 1024 / 1024 || \'M\' AS FREESPACESFROM DBA_DATA_FILESGROUP BY TABLESPACE_NAME;
  1. Oracle database版本信息
SELECT * FROM V$VERSION;
  1. 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新创建的用户进行一些优化

  1. 设置最大的线程数
ALTER SYSTEM SET PROCESSES = 400 SCOPE = SPFILE;
  1. Oracle11g设置用户名永远不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
  1. 修改控制文件里可重复使用的记录所能保存的最小天数:(一般设置为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;
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » Oracle维护数据库常用语句