体系结构

oracle数据服务器由oracle数据库和实例组成

实例由后台进程和内存结构组成

内存结构由共享池,数据缓冲区,日志缓存区

Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表

使用数据库

  1. 先创建表空间,再创建数据库用户同时为用户分配表空间。
  2. 这样以后用这个新用户登录到Oracle时,所有这个用户创建的东西(表,视图..)都会存放在创建用户时分配给他的表空间里。

PS:以下的使用都需要sysdba管理员权限,可以在命令窗口或者是SQL窗口执行

1. 创建一个表空间


create tablespace $tablename$
datafile ‘%path%/*.dbf’
size 10M
autoextend on/off --是否自动增长

--删除表空间 如果包含中括号,就是删除文件和内容
drop tablespace $tablespacename$ [including contents and datafile]

2. 创建一个用户,为用户分配表空间

create user $username$
identified by $password$
[default tablespace $tablespacename$] --表空间,默认分配user表空间
[temporary tablespace $temptablespacename$] --临时表空间,默认分配到temp表空间
--删除用户
drop user $username$

--修改用户登录口令
alter user $username$  identified by $newpassword$

3. 给用户授权

--增删改查以及可以使用当前用户连接到数据库,带有中括号则表示权限可以转授
grant connect,resource to $username$ [with grant option]

--补充
grant select on scott.emp to $username$ --给当前用户授予查询scott用户中emp表的权限
grant all on scott.emp to $username$ --分配给当前用户查询,删除,修改scott用户中的某个表的权限

--回收权限
revoke connect,resource from $username$
revoke select on scott.emp from $username$

下面几个是比较常用的权限
CONNECT 角色: 是授予最终用户的典型权利,最基本的,包括了以下权限

  • CREATE TABLE --建立表
  • CREATE VIEW --建立视图
  • ALTER SESSION --修改会话
  • CREATE SEQUENCE --建立序列
  • CREATE SESSION --建立会话,即可连接到oracle数据库服务器
  • CREATE SYNONYM --建立同义词
  • CREATE CLUSTER --建立聚簇
  • CREATE DATABASE LINK --建立数据库链接

RESOURCE角色:是授予开发人员的

  • CREATE CLUSTER
  • CREATE INDEXTYPE
  • CREATE OPERATOR
  • CREATE PROCEDURE --建立存储过程
  • CREATE SEQUENCE --建立序列
  • CREATE TABLE --建立表
  • CREATE TRIGGER --建立触发器
  • CREATE TYPE --创建新的数据类型

all权限,包括增删改权限

连接

conn $username$/$password$ [as sysdba]

--断开连接
disconn

查看执行的语句

ed 修改执行的最后一条语句
/ 执行最后一条语句

02-01 02:40