oracle表空间
1 --查询所有的表空间及空间大小 2 select a.tablespace_name, total, free, total - free used 3 from (select tablespace_name, sum(bytes) / 1024 / 1024 total 4 from dba_data_files 5 group by tablespace_name) a, 6 (select tablespace_name, sum(bytes) / 1024 / 1024 free 7 from dba_free_space 8 group by tablespace_name) b 9 where a.tablespace_name = b.tablespace_name; 10 11 --查询用户的表空间 12 select username,default_tablespace from user_users; 13 14 select username,default_tablespace from dba_users order by username; 15 --创建表空间 16 create tablespace xm datafile'c:/xmm.mdf' size 50m 17 --创建用户 18 create user zs identified by zs default tablespace xm; 19 --给用户授权 20 GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW , DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE, DBA,CONNECT,RESOURCE,CREATE SESSION TO his_nh 30 --新增数据文件,并且允许数据文件自动增长 31 ALTER TABLESPACE users ADD DATAFILE 32 'D:\USERS_LSP_3.DBF' SIZE 1g 33 AUTOEXTEND ON NEXT 50M MAXSIZE 10g; 34 35 --删除表空间,同时删除数据文件: 36 drop tablespace test_data including contents and datafiles; 37 38 --查询所有的表空间及空间大小 39 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", 40 D.TOT_GROOTTE_MB "表空间大小(M)", 41 D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", 42 TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / 43 D.TOT_GROOTTE_MB * 100, 44 2), 45 '990.99') || '%' "使用比", 46 F.TOTAL_BYTES "空闲空间(M)", 47 F.MAX_BYTES "最大块(M)" FROM (SELECT TABLESPACE_NAME, 48 ROUND(SUM(BYTES) / 49 (1024 * 1024), 50 2) TOTAL_BYTES, 51 ROUND(MAX(BYTES) / 52 (1024 * 1024), 53 2) MAX_BYTES FROM SYS.DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F, 54 (SELECT DD.TABLESPACE_NAME, 55 ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB FROM SYS.DBA_DATA_FILES DD GROUP BY DD.TABLESPACE_NAME) D WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME ORDER BY 1; 56 --如果dmp文件很小,但是导入之后非常大,有可能是由于导入的时候默认使用了原来的Intial extent 57 58 --查看清华图书视图的定义: 59 SELECT TEXT FROM USER_VIEWS WHERE VIEW_NAME='清华图书'; 60 --查看用户拥有的视图: 61 SELECT object_name FROM user_objects WHERE object_type='VIEW'; 62 63 --指定SQL 使用索引 64 select /*+book myindex*/ * from book where bid like '2%'; 65 --增大表空间(添加新的数据块) 66 67 ALTER TABLESPACE "USERS" ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF' SIZE 1024M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED; 68 select * from v$datafile 69 70 //删除表数据 71 SELECT 'TRUNCATE TABLE '|| table_name || ';' FROM USER_TABLES 72 ORDER BY TABLE_NAME;