Oracle表空间常用操作 博客分类: 资料文档
程序员文章站
2024-03-23 20:05:10
...
1、创建表空间 在SQL Plug下,执行下面的语句 create tablespace NBERP logging datafile 'D:\oracle\oradata\Oracle9i\user_data.dbf' size 50m autoextend on next 50m maxsize 2048m extent management local; 红色为表空间名字; 黄色为表空间文件的路径; 蓝色为表空间的最大值; 2、转移单个表的所属表空间 以userinfo表为例,刚开始此表属于表空间USERS,用下面的语句可以查表所属的表空间 select TABLE_NAME, TABLESPACE_NAME from tabs where TABLE_NAME='USERINFO'; 修改表的所属表空间,用下面的sql: alter table userinfo move tablespace NBERP; commit; 然后再用 select TABLE_NAME, TABLESPACE_NAME from tabs where TABLE_NAME='USERINFO'; 确认userinfo表是否已经更改表空间了。 3、某个表空间下的所有表都转移表空间的办法 关键在于这个sql alter table userinfo move tablespace NBERP; 将黄色的表换成其他表,就能达到转换表空间的目的; 用下面的sql拼装某个表空间下的所有表转移表空间的SQL select 'alter table '||table_name||' move tablespace NBERP;commit;' from user_tables where tablespace_name='USERS'; 将上面sql执行的结果,导出来,每行记录就表示1个表的表空间转移, 4、转移某表空间下的所有索引到另一个表空间下 关键sql如下,转移单个索引到其他表空间 alter index idx_user rebuild tablespace NBERP;commit; 同样的,拼装所有转移索引的sql为 select 'alter index '||index_name||' rebuild tablespace newspace;commit;' from user_indexs where tablespace_name='USERS'; 将执行结果导出,执行结果集中拼装的sql,改变所有的索引。 5、查看所有表空间的最大值 select tablespace_name ,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name; 6、查看表空间的剩余空间 select tablespace_name ,sum(bytes)/1024/1024 from dba_free_space group by tablespace_name;
推荐阅读
-
常用正则 博客分类: 资料文档 HTML
-
Oracle表空间常用操作 博客分类: 资料文档
-
常用正则 博客分类: 资料文档 HTML
-
oracle表空间权限问题 博客分类: 数据库 oracleSybaseSQL Server
-
SQL SERVER系统表和常用函数介绍 博客分类: mysql/oracle/sqlserver/db2/mongdb/redis/neo4j/GreenPlum/Teradata/hsqldb/Derby/sakila
-
oracle表空间总大小 剩余大小 博客分类: oracle oracleoracle表空间
-
导入不同表空间的数据 博客分类: oracle
-
oracle 删除和重建表空间脚本 博客分类: 数据库 oraclesql
-
oracle常用操作 博客分类: 数据库 OracleSQL ServerSQL
-
2、Oracle的逻辑结构 博客分类: Oracle学习系列 表空间块pctfree回滚表空间临时表空间组