1.表空间创建
1)查看表空间(sys用户下)
SQL> select * from v$tablespace;
TS# NAME INC BIG FLA
---------- ------------------------------ --- --- ---
0 SYSTEM YES NO YES
1 UNDOTBS1 YES NO YES
2 SYSAUX YES NO YES
4 USERS YES NO YES
6 EXAMPLE YES NO YES
3 TEMP YES NO YES
6 rows selected.
SQL>
2)创建表空间
l ORACLE可以创建的表空间有三种类型:
(1)TEMPORARY: 临时表空间,用于临时数据的存放;
创建临时表空间的语法如下:
CREATE TEMPORARY TABLESPACE "mytablespace"......
(2)UNDO : 还原表空间. 用于存入重做日志文件.
创建还原表空间的语法如下:
CREATE UNDO TABLESPACE " mytablespace "......
(3)用户表空间: 最重要,也是用于存放用户数据表空间
可以直接写成: CREATE TABLESPACE " mytablespace "
TEMPORARY 和 UNDO 表空间是ORACLE 管理的特殊的表空间.只用于存放系统相关数据.
l LOGGING 有 NOLOGGING 和 LOGGING 两个选项,
(1) NOLOGGING: 创建表空间时,不创建重做日志.
(2)LOGGING 和NOLOGGING正好相反, 就是在创建表空间时生成重做日志.
用NOLOGGING时,创建时不用生成日志,表空间的创建较快,但是没能日志,数据丢失后,不能恢复,但是一般我们在创建表空间时,是没有数据的,按通常的做法,是建完表空间,并导入数据后,是要对数据做备份的,所以通常不需要表空间的创建日志,因此,在创建表空间时,选择 NOLOGGING,以加快表空间的创建速度.
//如果有重名的表空间会被覆盖。
create tablespace mytablespace datafile 'e:\dbf\mytablespace.dbf' size 5m
autoextend on next 100k maxsize 10m
创建表空间mytablespace 存放在e:\dbf 创建文件mytablespace.dbf 自动扩展增量100k最大文件10m
3)添加表空间的文件
ALTER TABLESPACE "MYTABLESPACE" ADD DATAFILE 'E:\DBF\myts02' SIZE 10M AUTOEXTEND ON NEXT 100K MAXSIZE 15M
表空间mytablespace 增加添加文件myts02.dbf大小为10m 数据文件已满后自动扩展增量100kb,最大文件大小为15m
2.创建用户并分配表空间
查看用户
SQL> select * from dba_users;//所有用户
SQL> select * from all_users;//所有用户
SQL> select * from user_users;//仅自己的
SQL> create user fly identified by fly;//创建用户fly,密码fly
User created.
SQL> alter user fly default tablespace mytablespace;//用户分配的表空间mytablespace
User altered.
SQL>
3.分配权限
将表空间分配给用户:
一个表空间可以分配给多个用户
SQL> grant resource to fly;//给用户资源权限
Grant succeeded.
SQL> grant connect to fly;//给用户凝结权限
Grant succeeded.
Resource ,connect->所有权限
Sql>Alter user fly quota 3m on mytablespace;
//在mytablespace上分配 3m 给fly用户使用
Sql>Grant create session to fly;
//给fly登录权限
Sql>Grant create table to fly with admin option;
// dba将系统权限分配给fly
Sql>Select tname from tab
//查看当前用户所有的表
SQL> grant dba to fly;
Grant succeeded.
//授予fly用户dba角色的权限
Oracle所有的系统权限
alter any cluster 修改任意簇的权限
alter any index 修改任意索引的权限
alter any role 修改任意角色的权限
alter any sequence 修改任意序列的权限
alter any snapshot 修改任意快照的权限
alter any table 修改任意表的权限
alter any trigger 修改任意触发器的权限
alter cluster 修改拥有簇的权限
alter database 修改数据库的权限
alter procedure 修改拥有的存储过程权限
alter profile 修改资源限制简表的权限
alter resource cost 设置佳话资源开销的权限
alter rollback segment 修改回滚段的权限
alter sequence 修改拥有的序列权限
alter session 修改数据库会话的权限
alter sytem 修改数据库服务器设置的权限
alter table 修改拥有的表权限
alter tablespace 修改表空间的权限
alter user 修改用户的权限
analyze 使用analyze命令分析数据库中任意的表、索引和簇
audit any 为任意的数据库对象设置审计选项
audit system 允许系统操作审计
backup any table 备份任意表的权限
become user 切换用户状态的权限
commit any table 提交表的权限
create any cluster 为任意用户创建簇的权限
create any index 为任意用户创建索引的权限
create any procedure 为任意用户创建存储过程的权限
create any sequence 为任意用户创建序列的权限
create any snapshot 为任意用户创建快照的权限
create any synonym 为任意用户创建同义名的权限
create any table 为任意用户创建表的权限
create any trigger 为任意用户创建触发器的权限
create any view 为任意用户创建视图的权限
create cluster 为用户创建簇的权限
create database link 为用户创建的权限
create procedure 为用户创建存储过程的权限
create profile 创建资源限制简表的权限
create public database link 创建公共数据库链路的权限
create public synonym 创建公共同义名的权限
create role 创建角色的权限
create rollback segment 创建回滚段的权限
create session 创建会话的权限
create sequence 为用户创建序列的权限
create snapshot 为用户创建快照的权限
create synonym 为用户创建同义名的权限
create table 为用户创建表的权限
create tablespace 创建表空间的权限
create user 创建用户的权限
create view 为用户创建视图的权限
delete any table 删除任意表行的权限
delete any view 删除任意视图行的权限
delete snapshot 删除快照中行的权限
delete table 为用户删除表行的权限
delete view 为用户删除视图行的权限
drop any cluster 删除任意簇的权限
drop any index 删除任意索引的权限
drop any procedure 删除任意存储过程的权限
drop any role 删除任意角色的权限
drop any sequence 删除任意序列的权限
drop any snapshot 删除任意快照的权限
drop any synonym 删除任意同义名的权限
drop any table 删除任意表的权限
drop any trigger 删除任意触发器的权限
drop any view 删除任意视图的权限
drop profile 删除资源限制简表的权限
drop public cluster 删除公共簇的权限
drop public database link 删除公共数据链路的权限
drop public synonym 删除公共同义名的权限
drop rollback segment 删除回滚段的权限
drop tablespace 删除表空间的权限
drop user 删除用户的权限
execute any procedure 执行任意存储过程的权限
execute function 执行存储函数的权限
execute package 执行存储包的权限
execute procedure 执行用户存储过程的权限
force any transaction 管理未提交的任意事务的输出权限
force transaction 管理未提交的用户事务的输出权限
grant any privilege 授予任意系统特权的权限
grant any role 授予任意角色的权限
index table 给表加索引的权限
insert any table 向任意表中插入行的权限
insert snapshot 向快照中插入行的权限
insert table 向用户表中插入行的权限
insert view 向用户视图中插行的权限
lock any table 给任意表加锁的权限
manager tablespace 管理(备份可用性)表空间的权限
references table 参考表的权限
restricted session 创建有限制的数据库会话的权限
select any sequence 使用任意序列的权限
select any table 使用任意表的权限
select snapshot 使用快照的权限
select sequence 使用用户序列的权限
select table 使用用户表的权限
select view 使用视图的权限
unlimited tablespace 对表空间大小不加限制的权限
update any table 修改任意表中行的权限
update snapshot 修改快照中行的权限
update table 修改用户表中的行的权限
update view 修改视图中行的权限