Oracle 新手语法记录

一、用户

1. 创建用户

语法:create user 用户名 identified by 口令;

create user test identified by test;

2. 修改用户

语法:alter user 用户名 identified by 口令;

 alter user test identified by 123456;

3. 删除用户

语法:drop user 用户名;

drop user test;

若用户拥有对象,则不能直接删除,否则将返回一个错误值,指定关键字 cascade ,可删除用户所有的对象,然后再删除用户

语法:drop user 用户名 cascade;

drop user test cascade;

4. 解锁用户

alter user 用户名 account unlock;

二、授权角色

1.含义概述

三种标准角色

connect role(连接角色)
  • 临时用户,特指不需要建表的用户,通常只赋予他们 connect role
  • connect是使用Oracle简单权限,这种权限只对其他用户的表有访问权限,包括 select/insert/update/delete 等。
  • 拥有connect role 的用户还能创建表,师徒,序列(sequence),簇(cluster),同义词(synonym),回话(session)和其他 数据的链(link)
resource (资源角色)
  • 更可靠和正式的数据库用户可以授予 resource role
  • resource 提供给用户另外的权限以穿件他们自己的表,序列,过程(procedure),触发器(tigger),索引(Index)和簇(cluster)
dba role (数据库管理员角色)
  • dba role 拥有所有的系统权限
  • 包括无限制的空间限额和其他用户授予各种权限的能力,system 由dba 用户拥有。

2.授权命令

语法:grant connect,resource to 用户名;

grant connect,resource to test;

3.撤销权限

语法:revoke connect,resource from 用户名;

revoke connect,resource from test;

三、创建、授权、删除角色

除了前面讲到的三种系统角色----connect、resource和dba,用户还可以在oracle创建自己的role。用户创建的role可以由表或系统权限或两者的组合构成。为了创建role,用户必须具有create role系统权限。

1. 创建角色

语法:create role 角色名;

create role testrole;

2. 授权角色

语法:grant select on class to 角色名;

grant select on class to testRole;

3. 删除角色

语法:drop role 角色名;

drop role testRole;

注意:与testRole角色相关的权限将从数据库全部删除

四、创建表空间

1. 创建临时表空间

create temporary tablespace xlzf_temp
tempfile 'C:Dataxlzf_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;

2. 创建数据表空间

create tablespace xlzf_data
logging
datafile 'C:Dataxlzf_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;

3. 创建用户并指定表空间

create user xlzf identified by xlzf
default tablespace xlzf_data
temporary tablespace yuhang_temp;

4. 给用户授予权限

grant connect,resource,dba to yuhang;

5. 删除表空间

drop tablespace 表空间名 including CONTENTS and datafiles;

五、导入、导出数据库

执行环境:DOC

1. 导出数据库

将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中

exp system/manager@TEST file=d:daochu.dmp full=y

将数据库中system用户与sys用户的表导出

exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)

将数据库中的表table1 、table2导出

exp system/manager@TEST file=d:daochu.dmp tables=(table1,table2)

将数据库中的表table1中的字段filed1以"00"打头的数据导出

exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like  '00%'"

2. 导入数据库

将D:daochu.dmp 中的数据导入 TEST数据库中。

imp system/manager@TEST  file=d:daochu.dmp

上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。

将d:daochu.dmp中的表table1 导入

imp system/manager@TEST  file=d:daochu.dmp  tables=(table1) 
原文地址:https://www.cnblogs.com/houlin/p/10013993.html