oracle 一些用到过的表空间操作命令
来源:互联网 发布:适合女生看的a v 知乎 编辑:程序博客网 时间:2024/05/23 02:24
Oracle创建表空间:
/*创建临时表空间 */
create temporary tablespace user_temp
tempfile'D:\oracle\oradata\Oracle9i\user_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
/*创建数据表空间 */
create tablespace user_data
logging
datafile'D:\oracle\oradata\Oracle9i\user_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
/*创建用户并指定表空间 */
create user username identified bypassword
default tablespace user_data
temporary tablespace user_temp;
/*给用户授予权限 */
grant connect,resource,dba to username;
删除表空间(包括表空间的数据文件):
DROP TABLESPACE tablespace_name INCLUDINGCONTENTS AND DATAFILES;
删除数据文件:
要想删除数据文件,数据文件必须为空。
ALTER TABLESPACE product DROP DATAFILE ‘F:\...\PRODUCT4’;
其中,DROP DATAFILE表示删除数据文件;product是数据文件所属的表空间名;PRODUCT4是被删除的数据文件。
如果要删除临时文件,可以使用类似于下面的命令:
ALTER TABLESPACE lmtemp DROP TEMPFILE ‘/…/lmtemp02.dbf’;
其中lmtemp是临时表空间的名字;lmtemp02.dbf是被删除的临时文件的名字;TEMPFILE是关键字,表示删除临时表空间中的临时文件。
也可以使用下面的命令删除临时文件:
ALTER DATABASE TEMPFILE ‘/…/lmtemp02.dbf’DROP INCLUDING DATAFILES;
导入dmp文件:
Imp userid=用户名/密码@连接名 file=文件路径\文件名 FULL=Y buffer=10000000ignore=y
对表空间无权限:
错误:ORA-01950: 对表空间‘TEST’无权限
查了下资料,原来是我的当前用户的默认表空间不是TEST,并且是表空间的配额是限制的,所以没有对TEST表空间做修改的权限,要把当前用户的默认表空间更改成 TEST,并且把配额限制更改成无限制。所以重新用 sys 用户登录,并把修改用户的权限分配给当前用户,然后再用当前用户更改自身的默认表空间(当然,你也可以在sys用户模式或者SQLPLUS下更改用户的默认表空间)。代码如下:
alter user itsm defaulttablespace TEST;
grant unlimited tablespace to itsm;
现在用户test就把TEST表空间作为默认的表空间。再执行上面建表的语句就OK,无错了。
扩展表空间:
1.手动增加表空间中数据文件的大小。
ALTER DATABASE DATAFILE ‘D:\...’ RESEIZE1000M
把表空间中数据文件的尺寸扩大到1000MB
2.把表空间中的数据文件设成自动扩展
ALTER DATABASE DATAFILE ‘D:\...’ AUTOEXTENDON NEXT 5M MAXSIZE UNLIMITED
其中,AUTOEXTEND ON 表示这个数据文件可以自动扩展,“自动扩展”的意思是当这个数据文件的空间用完时,这个数据文件的空间可以自动增加;NEXT 5M指定这个指定这个数据文件每次扩展的大小;MAXSIZE UNLIMITED表示这个数据文件的空间可以无限制扩展。
3.往表空间中增加数据文件
ALTER TABLESPACE USERDB ADD DATAFILE ‘D:\..’SIZE 100M
往表空间USERDB中增加数据文件p2.ora,这样同样也可以实现扩展表空间的目的。
错误:ORA-01688:表。。分区。。无法通过8192(在表空间。。中)扩展:
解决:需要扩展表空间。
查看表空间与对应的表空间文件:
SELECT
t1.name, t2.name
FROM
v$tablespace t1,
v$datafile t2
WHERE
t1.ts#=t2.ts#
order by t1.name
这两个视图,一个存储表空间的信息,另外一个是数据文件信息.表空间在磁盘上至少要对应一个数据文件的.
我们来对比一下这两个视图的描述,可以看到这两个表中TS#字段的含义是一样的.而V$TABLESPACE中的name是表空间名,V$DATAFILE中的name是数据文件名,因此可以用这个字段将两张视图连接起来,就能看到表空间对应的数据文件了。
CMD登录:
sqlplus 用户名/密码@database
- oracle 一些用到过的表空间操作命令
- Oracle表空间的一些操作
- 用到过的linux 命令
- linux 用到过的命令
- 操作mysql数据库时常用到的一些命令
- 操作mysql数据库时常用到的一些命令
- 定制化操作时用到的一些命令
- 对oracle表空间的一些常见操作
- 画图时用到过的一些方法
- 一些用到过的正则表达式
- 一些用到过的C 函数
- 用到的一些linux命令
- linux一些用到的命令。
- linux 一些用到的命令
- Linux一些用到的命令
- 我用到过的Linux命令集合
- ps用到的一些操作
- oracle表空间操作 CREATE TABLESPACE命令
- squid源码分析2—refresh_pattern机制分析
- python学习4:获取豆瓣上映电影数据
- squid源码分析3—purge流程分析
- 针对异常java.lang.IllegalStateException onMeasure() did not set the measured dimension解决方法
- l.ExecException: Process 'command 'C:\Java\jdk1.8.0_45\bin\java.exe'' 错误
- oracle 一些用到过的表空间操作命令
- 疯子求助-梧桐雨解答的jsp proxy
- Mac快捷键大全
- 2016.3.29 360c++ 研发编程第二题
- 链表基本操作复习
- PHP的Memcache扩展的安装和使用
- 【NGUI】NGUI英文单词换行错误
- SQL索引一步到位(
- Windows之Xmanager连接linux打开Oracle视图操作