Orcale基本操作——(一)

一、需要启动的服务

image
从上到下,依次

  • 监听服务
  • 数据库服务

二、表空间

与mysql不同,Orcale操作的是表空间。
也就是说 创建数据库 = 创建表空间。
表空间的分类

  • 基本表空间
-- 创建
create tablespace myspace /*创建表空间 myspace*/
datafile 'G:myspace.dbf'  /*指定数据文件地址*/
size 50M                  /*初始大小50M*/
autoextend on next 5M     /*设置自动扩展 每次5M*/
maxsize 100M;             /*设置最大存储 100M*/

-- 设置表空间属性,在线、离线、只读、读写。
-- 在线
alter tablespace myspace online;
-- 离线
alter tablespace myspace offline;
-- 只读,注意myspace不能是离线
alter tablespace myspace read only;
-- 读写
alter tablespace myspace read write;
-- 查看表空间状态
select tablespace_name,status from dba_tablespaces;
-- 重命名表空间
alter tablespace myspace rename to myspaces;
-- 修改表空间数据文件大小
alter database datafile 'G:myspace.dbf' resize 30M;
-- 查看表空间 myspaces 下的数据文件大小
select tablespace_name,file_name,bytes
from dba_data_files
where tablespace_name = 'MYSPACES';
-- 给表空间myspaces添加两个新的数据文件
alter tablespace myspaces
add datafile
'G:myspace1.dbf'
size 10M
autoextend on next 5M maxsize 50M,
'G:myspace2.dbf'
size 10M
autoextend on next 5M maxsize 50M;
-- 删除表空间的数据文件
alter tablespace myspaces
drop datafile 'G:myspaces.dbf';/*注意,表空间的第一个数据文件不允许删除*/
-- 删除表空间
drop tablespace myspaces
including contents and datafiles;
  • 临时表空间
-- 创建临时表空间
create temporary tablespace mytemp
tempfile 'G:mytemp.dbf'
size 10M
autoextend on next 5M maxsize 50M;
  • 大文件表空间
-- 创建大文件表空间
create bigfile tablespace mybig
datafile 'G:mybig.dbf'
size 10M;
  • 非标准数据块表空间
-- 创建非标准数据块表空间
create tablespace myblock
datafile 'G:myblock.dbf'
size 10M
blocksize 8K;
/*
blocksize的单位是千字节
blocksize的大小必须和db_nk_cache_size大小相等
db_nk_cache_size查看方式
show parameter db_block_size;
8192 转换为千字节就是8K
*/

image

三、数据库

image

四、用户、权限、角色

1. 概念

用户

Orcale中,用户是访问数据库系统的有效账户,是可以对数据库资源进行访问的对象。
只有授予被创建的用户相应的数据库访问权限,用户才可以访问数据库。
用户分为三类

  • 数据库管理员(DBA)
    用来管理和维护数据库系统的运行,负责数据库建立、存储、修改和删除数据库中的信息。
  • 数据库开发人员
    拥有较大权限,相当于一个数据库管理员
  • 最终用户
    指数据库的日常操作人员。局限日常事务,权限控制在完成日常操作。
权限

一个用户创建后,必须赋予相应的权限后才可以操作数据库。
权限分为:

  • 系统权限
    image

  • 对象权限
    image

角色

角色是一个数据库对象,是一组相关权限的集合。例如,一个程序员需要对数据库查改的权限,然后数据库管理员可以一项一项的赋予。但是当很多个程序员都需要查改的权限呢?这时候一个一个赋予就显得太过麻烦。所以Orcale允许定义角色,来解决这个问题。定义一个程序员角色(拥有查改权限)然后给需要的用户赋予一个程序员角色就完成了权限的赋予。
角色分类:

  • 预定义角色
    Orcale内置的初始角色,如:connect,resource,dba等。
  • 自定义角色
    用户自行创建的角色

2. 操作

  • 用户
-- 创建用户
create user zhangsan      -- 用户名zhangsan
identified by 123456      -- 密码123456
default tablespace users  -- 默认表空间users
temporary tablespace temp -- 临时表空间temp
quota 20M on users;       -- 用户在users表空间可以使用的字节数为20M
-- 修改用户密码
alter user zhangsan identified by 123;
-- 修改用户口令过期
alter user zhangsan password expire;
-- 修改用户锁定状态
alter user zhangsan account lock;
-- 修改用户状态解锁
alter user zhangsan account unlock;
-- 删除用户
drop user zhangsan cascade; -- cascade表示删除用户以及该用户创建的所有内容
  • 权限
-- 授予用户权限
grant create session,create table -- 连接数据库,创建表的权限
to zhangsan                       -- 授予给用户zhangsan
with admin option;                -- 可选,用户zhangsan可以将权限再授予给其他用户
-- 授予用户对象权限
grant select,insert -- 查询,插入对象权限
on scott.emp        -- scott.emp表的查询,插入权限
to zhangsan;        -- 授予zhangsan
-- 撤销用户权限
-- 撤销用户的系统权限
revoke create table
from zhangsan;      -- 撤销用户zhangsan创建表的权限
-- 撤销用户的对象权限
revoke insert
on scott.emp
from zhangsan;      -- 撤销用户zhangsan对scott.emp的插入权限
  • 角色
-- 创建自定义角色
create role test   --创建角色test
identified by 123; -- 口令为123,默认无口令
-- 为角色授予对象权限
grant select,insert,update,delete
on scott.emp
to test;           -- 操作与用户一致
-- 删除预定义角色
drop role test;
posted @ 2022-10-13 19:49  发生什么事了?  阅读(61)  评论(0编辑  收藏  举报