Oracle

来源:互联网 发布:ipad安装软件 编辑:程序博客网 时间:2024/06/16 14:14

Oracle的物理结构
   数据文件(DateFile):一个数据库可以拥有一个或多个数据文件
 重做日志文件(Redo Log Files):至少有两个重做日志文件
  控制文件(Control File):可以有一个或多个



表空间的创建

Create  tablespace(表空间的名称)datafile‘数据文件保存的位置(数据文件名.dbf)’   size*m    autoextendon  next*m'允许自动增长每次增长*M'   maxsize *m‘最大值 *M’ ‘ unlimited  无限大'


创建临时表空间
create  temporary tablespace  临时表空间名称  tempfile‘数据文件保存的位置(数据文件名.dbf)’size *m  autoextend on  next 5maxsize 100m;


表空间增加数据文件
Alter  tablespace 表空间的名称  add  datafile ’数据文件保存的位置(数据文件名.dbf)’  size*m


可以改变表空间的大小
alter database  datafile '数据文件保存的位置(数据文件名.dbf)'resize 10m;

删除表空间
Drop tablespace  表空间名
如果表空间非空,请使用 including  contents选项,如果删除对应的数据文件,在including contents  后面再加上and datafiles.
drop空


设置表空间脱机和联机
Alter tablespace 表空间名 online(联机)
Alter tablespace 表空间名  Offline(脱机)


1:建立一个一般的数据表空间usernew

Creact  tablespace usernew datafile’f:\gll\usernew.dbf’;

 

2:修改表空间usernew,将其设置为脱机状态。

Alter  tablespace usernew Offline;

 

3:为表空间usernew添加一个数据文件u1.dbf

Alter  database usernew  add datafile’f:\gll\u1.dbf’;

 

4:修改数据文件u1.dbf,将其长度改为5MB

Alter  database  datafile ‘f:\gll\u1.dbf’  resize 5MB;

 

5.删除表空间usernew,同时删除对应的数据文件。

Drop  tablespace  usernew  including contents  and datafiles;

 

6:查看该用户下的表空间

 

Select  tablespce _name from dba_tablespces;




表空间不够用,需要增大表空间,实际上需要增大数据文件的大小

表空间和数据文件的关系是:一个数据文件只能属于一个表空间,一个表空间可以有一个或者多个数据文件

 

--查询表空间的数据文件

SELECT * FROM dba_data_files WHERE tablespace_name ='SA_DMP';

 

查询出表空间对应的数据文件,在磁盘空间允许的情况下

ALTER DATABASE  DATAFILE'E:ORACLEPRODUCT10.2.0ORADATAFUFUSA_DMP.DBF' RESIZE15000M;

 

如果表空间需要自动扩展或者有最大值限制的

ALTER DATABASE datafile'E:ORACLEPRODUCT10.2.0ORADATAFUFUSA_DMP.DBF' autoextend ONNEXT 50M maxsize 20000M;

 

另外,查看用户对表空间的使用限额:

SELECT * FROM user_ts_quotas;

如果maxsize 字段值为 -1,则是无限制,如果有其他值,则该值是最大值


创建新用户

 

create user 用户名 identified by 密码 defaulttablespace 临时数据表空间 temporary  tablespace 临时表空间;  quota{integer[K|M]  ontablespace】表空间的配额


给新用户授权




为用户 Martin授予 Scotty用户的emp表的查询、更新、删除权限

Sql>connect scott/tiger;切换用户

SQL>GRANT select on emp tomartin;查
SQL>GRANT update on emp tomartin;更新
SQL>GRANT delete on emp to martin;删

如果要将emp表的全部权限授权martin用户
SQL>GRANT  all onemp to  martin;

修改密码
alter user 用户名 identified by 新密码

收回用户的权限
使用revoke语句回收已经授权用户的权限
语法格式:revoke  privileges  [onobiect_name] from username

回收marin用户对emp表的操作权限(多个权限用逗号隔开)
revoke select ,update  on  empfrom martin

0 0
原创粉丝点击