oracle 10g 数据库sql


--查询表空间,大小及剩余使用情况
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;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值