alter user username quota unlimited on spacename;
解决方案 »
- oracle中跨数据表空间调用存储过程事务控制
- 在Command Window中如何执行含输出的存储过程
- 如何从远程连接asm实例?
- 【请教】前辈们,关于引用游标的一个小问题
- 200分:求三层内联查询的难题
- Oracle,时间间隔(以分钟为单位)的计算!
- oracle 8.1.7导出的.dmp文件如何导入到oracle 8.0.5?
- 如何创建一个跨两个表空间的触发器?
- 【求助】关于一个procedure里的"EXECUTE IMMEDIATE ..." 谢谢。
- 有类似substr的用于number型数据的函数吗?
- 行列转换
- Oracle 中我要查询一个表中间的n -- n + m行记录,Sql语句怎么写? ( n > 0, m >0 )
①查看现有表空间信息
SELECT a.file_id,a.tablespace_name,a.bytes/1024/1024 as "Total(MB)",
sum(nvl(b.bytes,0))/1024/1024 as "Free(MB)",sum(nvl(b.bytes,0))/a.bytes*100 as "%free"
FROM dba_data_files a,dba_free_space b
WHERE a.file_id=b.file_id(+)
GROUP BY a.tablespace_name,a.file_id,a.bytes
ORDER BY a.tablespace_name;
②手工创建表空间
CREATE TABLESPACE 表空间名称
DATAFILE
'文件名' [SIZE 数目 [K|M] ] [REUSE]
[AUTOEXTEND
{OFF | ON
MAXSIZE { UNLIMITED | 数目 [K|M] } ] } ]
[, ...其它数据文件...]
[ONLINE | OFFLINE]
[PERMANENT | TEMPORARY]
[MANAGEMENT LOCAL | DICTIONARY]
/*详见《ORACLE 9I入门与提高》P182
例:
CREATE TABLESPACE DATA_DATA
DATAFILE
'C:\Oracle8\DATABASE\DATA_DATA.dbf' SIZE 256M REUSE --REUSE覆盖原数据文件
AUTOEXTEND ON NEXT 2M MAXSIZE 2048M --允许表空间自动扩允,每次增加2M,空间最大值2G
DEFAULT STORAGE( --设置存储默认值
INITIAL 64K --分配给对象的初始空间大小
NEXT 64K --每次增加大小,通常与INITIAL值相同
MINEXTENTS 1 --多数情况取值为1
MAXEXTENTS UNLIMITED --目前设置为"对象大小无限制"
PCTINCREASE 0 --通常情况取值为0
)
ONLINE
PERMANENT;
-------------------------------------------
SQL> SELECT a.file_id,a.tablespace_name,a.bytes/1024/1024 as "Total(MB)",
2 sum(nvl(b.bytes,0))/1024/1024 as "Free(MB)",sum(nvl(b.bytes,0))/a.bytes*100 as "%free"
3 FROM dba_data_files a,dba_free_space b
4 WHERE a.file_id=b.file_id(+)
5 GROUP BY a.tablespace_name,a.file_id,a.bytes
6 ORDER BY a.tablespace_name; FILE_ID TABLESPACE_NAME Total(MB) Free(MB) %free
---------- ------------------------------ ---------- ---------- ----------
3 ROLLBACK_DATA 10 5.31054687 53.1054687
1 SYSTEM 60 6.203125 10.3385416
4 TEMPORARY_DATA 2 1.99804687 99.9023437
2 USER_DATA 3 1.5234375 50.78125SQL>
SQL> CREATE TABLESPACE DATA_DATA
2 DATAFILE
3 'C:\Oracle8\DATABASE\DATA_DATA.dbf' SIZE 256M REUSE --REUSE覆盖原数据文件
4 AUTOEXTEND ON NEXT 2M MAXSIZE 2048M --允许表空间自动扩允,每次增加2M,空间最大值2G
5 DEFAULT STORAGE(
6 INITIAL 64K --分配给对象的初始空间大小
7 NEXT 64K --每次增加大小,通常与INITIAL值相同
8 MINEXTENTS 1 --多数情况取值为1
9 MAXEXTENTS UNLIMITED --目前设置为"对象大小无限制"
10 PCTINCREASE 0 --通常情况取值为0
11 )
12 ONLINE
13 PERMANENT;表空间被创建SQL>
SQL> SELECT a.file_id,a.tablespace_name,a.bytes/1024/1024 as "Total(MB)",
2 sum(nvl(b.bytes,0))/1024/1024 as "Free(MB)",sum(nvl(b.bytes,0))/a.bytes*100 as "%free"
3 FROM dba_data_files a,dba_free_space b
4 WHERE a.file_id=b.file_id(+)
5 GROUP BY a.tablespace_name,a.file_id,a.bytes
6 ORDER BY a.tablespace_name; FILE_ID TABLESPACE_NAME Total(MB) Free(MB) %free
---------- ------------------------------ ---------- ---------- ----------
5 DATA_DATA 256 255.998046 99.9992370
3 ROLLBACK_DATA 10 5.31054687 53.1054687
1 SYSTEM 60 6.19335937 10.3222656
4 TEMPORARY_DATA 2 1.99804687 99.9023437
2 USER_DATA 3 1.5234375 50.78125SQL>
③修改表空间
ALTER TABLESPACE 表空间名称
{[COALESCE]
[PERMANENT | TEMPORARY]
[READ ONLY | READ WRITE]
[ONLINE]
[OFFLINE [NORMAL | TEMPORARY |IMMEDIATE | FOR RECOVER]]
[MINMUM EXTENT 数目 [K|M] ]
[DEFAULT 存储参数语句]
[数据文件语句]
}
/*详见《ORACLE 9I入门与提高》P186*/
-------------------------------------------
例:增加表空间大小
ALTER TABLESPACE INDEX_RPT ADD
DATAFILE '/dev/vg_ora5/rdata_1g_172' SIZE 1023M;
例:改变表空间数据文件大小
ALTER TABLESPACE DATA_DATA
DATAFILE 'C:\Oracle8\DATABASE\DATA_DATA.DBF' RESIZE 250K;④撤消空间
ALTER TABLESPACE DATA_DATA OFFLINE;
DROP TABLESPACE DATA_DATA;
GRANT { 系统权限1 [, 系统权限2, … ] | ALL [PRIVILEGES] }
TO { 用户1 [, 用户2, … ] | PUBLIC }
[WITH ADMIN OPTION];
ALL PRIVILEGES:授权给用户除select any dictionary以外的所有系统权限
PUBLIC:向数据库中的所有用户授权
WITH ADMIN OPTION:被授权用户可以将OPTION权限授予其他用户/*授予权限种类详见《ORACLE 9i入门与提高》P251 */
SQL> GRANT
2 create session,create table,create view,create type,create procedure,
3 create trigger,create any index,create sequence,select any table
4 TO username;授权成功。
identified by "PWD" default tablespace "tablespacename"
account unlock;grant dba to "username"