体系结构
oracle数据服务器由oracle数据库和实例组成
实例由后台进程和内存结构组成
内存结构由共享池,数据缓冲区,日志缓存区
Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。
使用数据库
- 先创建表空间,再创建数据库用户同时为用户分配表空间。
- 这样以后用这个新用户登录到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 修改执行的最后一条语句
/ 执行最后一条语句