Oracle 简介(甲骨文公司)
- Oracle 数据库管理系统
- Oracle (甲骨文)公司核心产品
- 目前最流行的商业及关系型数据库
- 主流版本9i 10g/11g 12c(提供云服务)
Oracle 安装总结
注意事项
- 选择安装目录最好是 非系统盘
- 安装时可以直接创建数据库,也可以选择不创建
- 服务器的主机名不能有特殊字符(一般默认用oracle安装的所在电脑IP作为主机名)
- 数据库安装完毕,建议不要更改主机名
Oracle服务的启动与关闭
在服务型(在开始菜单输入services.msc)
- OracleService<SID>:数据库服务
- OracleOraDb11g_home1TNSListener:数据库监听服务
- OracleDBConsole<SID>:企业管理器服务
配置网络服务
- 利用Oracle自带的 Net Manager 工具进行服务和监听的创建
- 服务名:即启动服务的SID,要求小写
- 主机名:本地用 127.0.0.1 或 localhost 即可,但其他地址用 IP
- 端口号:Oracle 指定默认端口号为 1521
数据库用户-系统用户
SYS 用户
- 地位:Oracle 的一个超级用户
- 作用:主要用来维护系统信息和管理实例
- 登录身份:只能以 SYSDBA 或 SYSOPER 角色登录
SYSTEM
地位:Oracle 默认的系统管理员
作用:通常用来管理 Oracle 数据库的童虎、权限就、存储
登录身份:可以用 Normal 方式登录
表空间
概念:最大的逻辑单位
- 作用:
- 方便存储管理数据
- 提高 I/O 读写性能(即读写速度)
- 便于增量、差异等方式进行备份和恢复
- 分类(三种):(永久性表空间、临时性表空间、撤销表空间)
- 默认表空间:
- system(系统参数)
- sysaux(权限)
- user(用户)
- undo(撤销)
- temp(临时)
创建表空间
- 通过CREATE TABLESPACE 命令建表空间
语法举例:
CREATE TABLESPACE smbms
DATAFILE 'D:\java\Oracle11g\oradata\oracle\smbms1.DBF'
SIZE 100M
[ AUTOEXTENO ON NEXT 32M MAXSIZE UNLIMITED]
- 创建用户
语法:
CREATE USER user
IDENTIFIED BY password
[DEFAULT TABLESPACE tablespace]
例如:
CREATE USER smbms
IDENTIFIED BY smbms
DEFAULT TABLESPACE smbms
- 权限与角色
- 权限:
- 用户必须赋予相应的权限,才能操作数据库
- 权限指执行特定类型SQL 命令或访问其他对象的权利
- 系统权限和对象权限
- 系统权限允许用户执行某些数据库操作,如创建表就是一个系统权限
- 对象权限允许用户对数据库对象(如表、视图、序列等)执行特定操作
- 角色:
- 为了简化权限管理,引入了角色的概念
- 角色是具有名称的一组权限的组合
- 常用系统预定义角色
- CONNECT:临时用户
- ROSOURCE:更为可靠和正式的用户
- DBA:数据库管理员角色,拥有管理数据库的最高权限
- 权限:
-- 分配权限或角色
-- GRANT privileges or role TO user;
--例如:
GRANT CONNECT TO smbms; -- 临时登录权限
GRANT resource TO smbms; -- 更可靠的增删改查权限
-- 撤销权限或角色
-- REVOKE privileges or role TO user;
REVOKE CONNECT TO smbms; -- 撤销登录权限
REVOKE resource TO smbms; -- 撤销增删改查权限
注意事项:单行执行:即一条一条分开执行,不能一起执行
- 建表
CREATE TABLE teacher
( tno number(4) not null,
tname varchar2(10) not null,
tid char(18),
gender char(2),
birthdate date
)
- 添加列
ALTER TABLE teacher
add (
hiredate DATE,
sal NUMBER(7,2),
wechat VARCHAR2(20)
);
- 修改列
alter table teacher MODIFY(tname VARCHAR2(30));
- 删除列
alter table teacher DROP COLUMN wechat;
- 用户切换问题
- 金钥匙————输入用户名和密码进行切换
权限不足
- 创建用户和分配权限角色等 必须用 system 用户
- 普通用户是没有权限进行创建用户及自行分配
- 用户必须得到 connect 登录权限和 resource 增删改查权限,才能进行用户的常规功能操作(该权限只能由 system 用户分配)
- 用户登录错误问题
- 登录密码添错(系统用户密码和普通用户密码要识别清除)
- 找不到表(例如:原先创建的表在 smbms 用户下创建,然后用其他用户进行查看)
完整性内容
- 四种完整性约束:域完整性、实体完整性、引用完整性、自定义完整性
- 四种常用约束类型:主键约束、唯一键约束、检查约束、外键约束
- 其对应的命名规则及关键字
语法
- 主键约束
alter table teacher add constraint pk_teacher primary key(tno);
alter table dept add constraint pk_dept primary key(deptno);
- 唯一键约束
alter table teacher add constraint uk_teacher_tname unique(tname);
- 检查约束
alter table teacher add constraint ck_teacher_gender check(gender in('男','女'));
- 外键约束
alter table teacher add constraint fk_teacher_deptno foreign key(deptno)
references dept(deptno);
- 删除约束
alter table teacher drop constraint CK_TEACHER_GENDER
-- 删除约束时,到对应的表中找到对应的约束,复制名称,然后删除
备份与恢复
备份:
- 利用PL/SQL工具,选中表–右键选择导出数据
- 按住Ctrl+鼠标左键选择需要导出的表(即可多选)
- 选择SQL插入(SQL+Insert) 选项卡,勾选 创建表 复选框,其他都取消勾选
- 在输出文件位置,选择导出路劲
- 文件命名为 当前登陆用户名.sql ,文件类型为SQL脚本文件
- 点击导出按钮,即可输出xxx.sql文件
恢复:
- 打开PL/SQL软件,拖拽SQL脚本文件到编辑区,删除脚本中的prompt….,仅保留create语句、alter语句、CRUD(增删改查)及commit语句
- 然后按F8运行
备份分类和恢复分类
备份分类:
- 两大角度(物理和逻辑、备份策略角度)
- 物理和逻辑角度:
- 物理备份和逻辑备份
- 备份策略角度:
- 完全备份、增量备份、差异备份
恢复分类:
- 两大角度:(实例恢复、介质恢复)
- 介质恢复:完全恢复和不完全恢复