--查询表空间,大小及剩余使用情况 select a.tablespace_name,total,free,total-free 已使用 from ( select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files where tablespace_name = 'RESOURSE2011' group by tablespace_name ) a, ( select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space where tablespace_name = 'RESOURSE2011' group by tablespace_name ) b where a.tablespace_name=b.tablespace_name order by a.tablespace_name --查看表空间文件 select * from dba_data_files where tablespace_name like 'RESOURSE2011'; --设置表空间自动增长 alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\JOINTJOY\USERS01.DBF' autoextend on next 2048M maxsize unlimited; --更改制定数据库文件大小 ALTER DATABASE DATAFILE 4 RESIZE 10183M; --查看所有表 select * from all_tables t where t.tablespace_name = 'USERS' and owner = 'MEMBER2011' and t.table_name = 'MEM_ORDER_SETMEAL' select * from all_tables t where t.tablespace_name = 'MEMBER2011' and owner = 'MEMBER2010' select * from all_users select * from dba_users u where u.username = 'RESOURSE2011' --授权 grant dba to member2011 --查看所有表空间 select * from dba_tablespaces select * from user_tablespaces; --.查看用户系统权限 select * from dba_sys_privs dsp where grantee = 'MEMBER' AND PRIVILEGE LIKE '%TABLESPACE%' ORDER BY PRIVILEGE select * from user_sys_privs; GRANT ALTER TABLESPACE TO MEMBER2011; --查看用户对象权限 select * from dba_tab_privs where TABLE_NAME = 'MEM_ORDER_SETMEAL' SELECT * FROM USER_TAB_PRIVS --查看当前用户连接 select * from v$session_connect_info --查看用户的表空间的限额 ******************************************************************************************** select * from dba_ts_quotas; select * from user_ts_quotas; --回收表空间限额控制 alter user MEMBER2011 quota 0 on MEMBER2010; ALTER USER MEMBER2011 QUOTA UNLIMITED ON MEMBER2010; select tablespace_name,bytes from dba_data_files where tablespace_name = 'RESOURSE2011' select tablespace_name,sum(bytes) free from dba_free_space where tablespace_name = 'MEMBER2010' group by tablespace_name 表空间的大小与用户的配额大小是两种不同的概念。表空间的大小是指实际的用户表空间的大小,而配额大小指的是用户指定使用表空间的的大小 把表空间文件增大,还是出现这个问题,用户在使用表空间的同时使用空间的限额,如果超出限制,就算有空的地方,也不会让用户使用。 遇到ORA-01536错误,首先要查看用户的表空间的限额 select * from dba_ts_quotas; select * from user_ts_quotas; max_bytes字段-1是代表没有限制,其它值多少就是多少. dba_ts_quotas :描述所有用户表空间的限额 user_ts_quotas :描述当前用户表空间的限额。 如果查询结果中max_bytes字段不为-1,修改为无限制或者指定的大小。 不对用户做表空间限额控制: GRANT UNLIMITED TABLESPACE TOuser; 这种方式是全局性的。 或者 alter useruserquota unlimited onuser_tablespace; 这种方式是针对特定的表空间的. 回收表空间限额控制: revoke unlimited tablespace fromuser; 或者 alter useruserquota 0 onuser_tablespace; ******************************************************************************************* --创建表空间和用户 脚本1: CREATE TABLESPACE "GLIS8_INDEX" LOGGING DATAFILE 'D:\ORACLE\ORADATA\GLIS\GLIS8_INDEX.ora' SIZE 5M AUTOEXTEND ON NEXT 1024K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL / CREATE TABLESPACE "GLIS8_TABLE" DATAFILE 'D:\ORACLE\ORADATA\GLIS\GLIS8_TABLE.ora' SIZE 5M AUTOEXTEND ON NEXT 1024K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL / CREATE TABLESPACE "GLIS8_MAINTABLE" LOGGING DATAFILE 'D:\ORACLE\ORADATA\GLIS\GLIS8_MAINTABLE.ora' SIZE 5M AUTOEXTEND ON NEXT 1024K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL / COMMIT; 脚本2: drop user usrglis CASCADE; CREATE USER "USRGLIS" PROFILE "DEFAULT" IDENTIFIED BY "usrglis" DEFAULT TABLESPACE "GLIS8_TABLE" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK; GRANT "CONNECT" TO "USRGLIS"; GRANT "RESOURCE" TO "USRGLIS"; COMMIT;
oracle 10g 数据库sql
猜你喜欢
转载自hnychenl.iteye.com/blog/1473558
今日推荐
周排行