表空间,用户,角色,授权

1、数据库
我们通常说的数据库含物理数据、数据库管理系统。也即物理数据、内存、操作系统进程的组合体。

2、实例
用来访问和使用数据库的一块进程。我们操作oracle数据库必须要有一个实例(SID)。实例是一个数据访问入口,通过 实例我们可以访问表空间的数据。

  • 一个数据库可以有多个实例
  • 一个实例可以管理多个表空间

3、表空间
oracle数据库用来存放物理表,索引等数据库对象的空间,一个数据库实例可以有多个表空间。

一个表空间可以指定对应的数据文件。

创建语法:

Create TableSpace  表空间名称  
DataFile           表空间数据文件路径  
Size               表空间初始大小  
Autoextend on   --表示自动增长

例子:
create tablespace db_test  
datafile 'D:\oracle\product\10.2.0\userdata\db_test.dbf'  
size 50m  
autoextend on;


删除表空间:
drop tablespace 表空间名称 including contents and datafiles cascade constraint;
--contents 表示表空间内容
--datafiles 表示数据文件
--cascade constraint 删除关联

4、表
用于存储数据,描述数据的结构。表存储在对应的表空间上。

语法:
Create table 表名(
        字段1 字段类型 ,
     ........
)tablespace 表空间名

5、用户
Oracle数据库建好后,要想在数据库里建表,必须先为数据库建立用户,并为用户指定表空间。

创建用户语法:
CREATE USER          用户名  
IDENTIFIED BY        密码  
DEFAULT TABLESPACE   表空间(默认USERS) 

给用户分配权限:
GRANT CONNECT TO 用户名;  --连接权限
GRANT RESOURCE TO 用户名;  --
GRANT dba TO 用户名;--dba为最高级权限,可以创建数据库,表等

撤销权限:
revoke  权限 from 用户;

删除用户
drop user 用户名称 cascade;

查询用户的权限
使用用户登录并执行:
selecte * from session_privs 

修改密码的命令:
1、alter user 用户名 identified by  密码
2、grant connect to 用户名 identified by 密码
3、password  用户名


忘记了系统管理员密码咋办?
通常两种方式:
1、尝试进入sqlplus 并用修改密码命令修改
     在cmd中输入sqlplus / as sysdba;
  如果能进入,则此方法有效。
2、重新生成密码文件
在\oracle\product\11.2.0\dbhome_1\database 目录下有PWDsid.ora的文件字样,
这是存储用户账号和密码信息的文件,sid代表你的数据库实例名,此文件无法用文本编辑,删掉。
在DOS下面使用orapwd.exe,如果无法运行请查询oracle的环境变量是否正确。

orapwd file= PWDsid.ora  password=123456这个命令是修改sys用户的密码。
你把生成的文件覆盖原来的密码文件。除sys和system其他用户的密码不会改变

oralce数据库中的角色

  • connect 角色,主要用于临时用户,只有连接权限,即可以连接数据库查看数据,不能做其他的事情。
  • resource 角色,resource橘色提供给用户创建自己的表,序列,存储过程,触发器等东西的权限。
  • dba角色 数据库管理员,拥有所有的权限。

你可能感兴趣的:(表空间,用户,角色,授权)