关于oracle数据库的应用

ororacle数据库应用

1.

--查询所有表空间
  select * from v$tablespace;
--查询所有用户
  select * from dba_users where username='ZDATA';
--查询表空间详情
  select * from dba_data_files;

2.

--创建表空间
  create tablespace z_data --表空间名
  datafile 'z_data00.dbf' --数据文件
  size 32m --初始大小
  autoextend on next 32m --增长量
  maxsize 2048m; --最大大小
  --增长量和最大大小可以不写,默认增长量为初始大小,最大大小不限

--在一个表空间创建多个数据文件
  create tablespace z_data_demo
  datafile 'z_data_demo1.dbf'
  size 16m ,
  'z_data_demo2.dbf'
  size 16m ;

--删除表空间
  drop tablespace z_data_demo including contents and datafiles;
--删除表空间有两种方法:
  --一是用上面的语句同时删除与表空间关联的内容和数据文件;
  --二是先只删除表空间,然后找到文件直接右键再删除。
3.
--创建用户(此时用户为空白权限)
  create user zdata
  identified by 123
  default tablespace z_data; --不设定表空间时默认的表空间时users或system,默认临时表空间为temp
--删除用户
  drop user zdata;
--给用户授权
  --grant 系统权限 to 用户
  grant connect,resource to zcldata;
  --拥有Connect权限的用户只可以登录Oracle,不可以访问数据库对象
  --拥有Resource权限的用户只可以访问数据库对象
--grant 对象权限 on 对象 to 用户
  --all代表所有权限,execute表示执行存储过程的权限
  grant select,update,insert,delete on scott.emp to zcldata;
--撤销权限
  revoke 系统权限 from 用户 ;
  revoke 对象权限 on 对象 from 用户 ;

4.

--创建角色
  create role tests;
--将查询权限授权给角色tests
  grant select on scott.emp to tests;
  grant select on scott.dept to tests;
--将角色tests授权给用户zcldata
  grant tests to zcldata;
--删除角色
  drop role tests;

5.

--创建序列
  CREATE SEQUENCE 序列名
  [INCREMENT BY n] --增值
  [START WITH n] --开始值
  [{MAXVALUE / MINVALUE n|NOMAXVALUE}] --最大值/最小值
  [{CYCLE|NOCYCLE}] --是否循环
  [{CACHE n|NOCACHE}]; --是否启动缓存

  create sequence seq_emp;
  select seq_emp.nextval from dual; --查询下一个序列值
  select seq_emp.currval from dual; --查询当前序列值
--删除序列
  drop sequence seq_emp;

6.

--索引(提高数据库查询效率,但是会增加磁盘空间的负担)
--创建索引
  create index 索引名 on 表名(字段名);
--删除索引
  drop index 索引名 ;

posted on 2019-03-31 11:13  Demonzql  阅读(167)  评论(0编辑  收藏  举报

导航