标签:
Oracle 的结构是 区/段、表空间、用户、表...(区段是Oracle存储方面的概念,编码人员不需要了解过多)。当我们安装完Oracle后,默认就会拥有一个数据库,之后的所有操作,都是在这个默认的数据库中进行的。
注: 这里要与SqlServer的数据库(database)概念区别开,SqlServer中的数据库是我们最常操作的,给我们的印象是每个数据库是相互隔离的,不同用户(user)登录后可看到所有数据库并进行操作;而Oracle中我们的操作都是在同一个数据库(database或叫数据库实例)中进行的,起到隔离作用的是用户(user),不同用户(user)登录后,只能看到自己所拥有的对象(如表、视图、过程、函数等);当然,以上的前提是权限最小的情况下。
用户(user)拥有多个表(Table)、视图(View)、存储过程(Procedure)、函数(Function)、包(packgae)等;用户及其包含的对象要存储到某一个表空间中;一个表空间可以存储多个用户信息。
Oracle的表空间分为:
a) 创建(表空间文件为1个)
1 create tablespace tablespaceName 2 logger -- 可将表空间的创建信息记录到Oracle的日志中 3 datafile ‘tablespaceName.dbf‘ --保存文件的路径,习惯上将表空间的名称用于文件的名称
--(可设置绝对路径,相对路径的话会保存到默认目录下) 4 size 64m --最初的数据文件大小 5 autoextend on --开启自增长 6 next 64m maxsize 1024m --每次增长64m,最大1024m 7 extent management local; --extent management 有两种方式 local(本地管理,默认);
--dictionary(数据字典管理)
b) 创建(表空间文件为多个)
1 create tablespace tablespaceName 2 logger 3 datafile 4 ‘tablespaceName01.dbf‘ size 64m autoextend on next 64m maxsize unlimited, --设置自增长且无上限 5 ‘tablespaceName02.dbf‘ size 64m autoextend on next 64m maxsize unlimited, 6 ‘tablespaceName03.dbf‘ size 64m autoextend on next 64m maxsize unlimited 7 extent management local;
c) 表空间增加文件
1 alter tablespace tablespaceName 2add datafile ‘tablespaceName04.dbf‘ 3 size 64m autoextend on 4next 64m maxsize unlimited;
d) 删除表空间
1 drop tablespace tablespaceName including contents and datafiles cascade constraints;
a) 创建(表空间文件为1个)
1 create tablespace tablespaceName 2 logger -- 可将表空间的创建信息记录到Oracle的日志中 3 tempfile ‘tablespaceName.dbf‘ --保存文件的路径,习惯上将表空间的名称用于文件的名称
--(可设置绝对路径,相对路径的话会保存到默认目录下) 4 size 64m --最初的数据文件大小 5 autoextend on --开启自增长 6 next 64m maxsize 1024m --每次增长64m,最大1024m 7 extent management local; --有两种方式 local(本地管理,默认)、dictionary(数据字典管理)
b) 创建(表空间文件为多个)
1 create tablespace tablespaceName 2 logger 3 tempfile 4 ‘tablespaceName01.dbf‘ size 64m autoextend on next 64m maxsize unlimited, --设置自增长且不设置上线 5 ‘tablespaceName02.dbf‘ size 64m autoextend on next 64m maxsize unlimited, 6 ‘tablespaceName03.dbf‘ size 64m autoextend on next 64m maxsize unlimited 7 extent management local;
c) 给表空间增加文件
1 alter tablespace tablespaceName 2 add tempfile ‘tablespaceName04.dbf‘ size 64m autoextend on next 64m maxsize unlimited;
d) 删除表空间
1 drop tablespace tablespaceName including contents and datafiles cascade constraints;
a) 创建
1 create undo tablespace tablespaceName datafile ‘tablespaceName.dbf‘ size 64m;
b) 修改系统默认UNDO表空间(有UNDOTBS修改为自己创建的)
1 alter system set undo_tablespace=tablespaceName;
c) 删除UNDO表空间
1 drop tablespace "tablespaceName" including contents and datafiles;
用户(user)的创建过程需要:a)设置用户名、密码;b)设置数据表空间;c)设置临时表空间;d)设置权限,几个步骤。
1 create user userName identified by password 2 defalut tablespace dataTablespaceName 3 temporary tablespace tempTablespaceName; -- a、b、c
1 grant connect,resource,exp_full_database,imp_full_database to userName; --d
用户的修改及删除
1 --修改密码 2 alter user userName identified by password2; 3 4 --删除用户及其拥有对象 5 drop user userName cascade;
在创建用户的过程中,有设置权限的操作。Oracle的内置了多个角色,角色拥有不同权限。
a) Oralce的特殊权限
b) 特殊角色
c) 用户授权常用参数:
1 connect、resource、dba、unlimited tablespace、 2 create session --创建会话 3 create any sequence --创建序列 4 create any table --创建表 5 create any view --创建视图 6 create any index --创建索引 7 create any procedure --创建存储过程 8 create any directory --创建目录 9 10 alter session --修改会话 11 alter any sequence --修改序列 12 alter any table --修改表 13 alter any view --修改视图 14 alter any index --修改索引 15 alter any procedure --修改存储过程 16 alter any directory --修改目录 17 18 drop session --删除会话 19 drop any sequence --删除序列 20 drop any table --删除表 21 drop any view --删除视图 22 drop any index --删除索引 23 drop any procedure --删除存储过程 24 drop any directory --删除目录 25 26 select any table --查询表 27 select any dictionary --查询目录 28 insert any table 29 update any table 30 delete any table 31 debug any procedure --debug存储过程 32 debug connect session 33 exp_full_database --导出 34 imp_full_database --导入
1 select * from dba_role_privs a where a.grantee=‘userName‘; 2 --或 3 select * from dba_sys_privs a where a.grantee=‘userName‘;
1 select ROLE, PRIVILEGE from role_sys_privs where role=‘RESOURCE‘; --RESOURCE,CONNECT,DBA 2 --或 3 select grantee,privilege from dba_sys_privs where grantee=‘RESOURCE‘;
revoke resource from userName;
revoke unlimited tablespace from userName;
select * from v$version where rownum <=1;
当不同版本数据库的导入导出操作是,需要标记版本号
标签:
原文地址:http://www.cnblogs.com/cloud915/p/4340455.html