开讲Oracle系列片之前还是要厚脸皮提一下"口碑"的事!没办法,领导施加压力,天天催口碑的事,要完成部门任务,我也没办法!!Holly也想好好静下心研究技术和大家一起分享,但是“口碑任务“完不成,就没法静心搞技术!我每天上10节课,早8:30到晚8:30,下班了,在写微信公众号,整理知识点!有点小辛苦,有点累,但是还是要每天坚持做自己该做的事!教学要做,个人提升要做,团队任务也要完成,毕竟在一个团队里,每个人不可能只做自己喜欢做的,但是不想做的事这也是我的工作内容的一部分,也需要完成!所以各位小伙伴们,如果你身边有想学java的,UI设计,前端,大数据,.net,记得联系holly老师!
1.3 数据库相关操作
1.3.1 创建数据库
1.组成
表空间由一个或多个数据文件组成;从逻辑上讲,是数据库中最大的逻辑单元,可进一步划分为小的逻辑存储单元。一个Oracle数据库至少包含一个表空间。
2.数据库结构分类:
(1) 逻辑结构:指数据库创建之后形成的逻辑概念之间的关系。
(2) 物理结构:数据库中的一组操作系统文件。
3.oracle物理组件:
(1) 数据文件:存储数据库文件,比如表、索引等。
(2) 日志文件:用于记录对数据库进行的详细的修改信息,在数据库所做的详细修改都被放在日志中。
(3)控制文件:是记录数据库物理结构的二进制文件,该文件包含维护和验证数据库完整性的一些必要信息。
4.创建:
安装时自动创建,安装成功后,通过配置助手创建
5.创建数据库步骤:
(1)配置和移植工具→Database Configuration Assistant
(2)配置和移植工具→Net Configuration Assistant
1.3.2 SQL语言
1.简介
(1)非过程化查询语言
(2)是沟通数据库服务器和客户端的重要工具
(3)查询、更新和管理关系数据库系统
2.分类:
(1)数据定义语言(DDL):
CREATE(创建)、ALTER(更改)和DROP(删除)命令。
(2) 数据操纵语言(DML):
INSERT(插入)、DELETE(删除)和UPDATE(修改)命令。
(3)事务控制语言(TCL):
COMMIT(提交)、SAVEPOINT(保存点)和ROLLBACK(回滚)命令。
(4)数据控制语言(DCL):
GRANT(授予)和REVOKE(回收)命令。
(2) 数据操纵语言(DQL):
SELECT(选择)
1.3.3. 表空间
1.3.3.1.概念:
表空间是oracle数据库存储数据的逻辑单元
一个表空间向上可以存放各种应用对象。
一个表空间向下由多个数据文件组成。
表空间是最大的逻辑存储结构,它对应一个或多个数据文件 ,表空间的大小是它所对应的数据文件大小的总和。
1.3.3.2.表空间分类:
(1)永久性表空间:
一般保存基表、视图、过程和索引等数据。SYSTEM、SYSAUX、USERS、EXAMPLE表空间是默认安装的。
(2)临时表空间:
用于保存系统中短期活动的数据,如排序数据等。
(3)撤销表空间:
用来帮助回退末提交的事务数据,已经提交的数据再这里是不可以恢复的。一般不需要建立临时表空间和撤销表空间,除非把他们转移其他磁盘中以便提高性能。
1.3.3.3.表空间的目的:
(1) 对不同用户分配不同的表空间,对不同的模式对象分配不同的表空间,方便对用户操作,对模式对象管理。
(2)可以将不同数据库文件创建到不同的磁盘中,有利于管理磁盘空间,有利于提高I/O性能,有利于备份和恢复数据等。
1.3.3.4.数据库存储结构的组成:
(1)SYSTEM表空间:
SYSTEM表空间用于存放ORACLE系统内部表和数据字典的数据,如表名、列名、用户名等。不建议用户创建的表和索引放在该表空间下.
(2)SYSAUX表空间:
该表空间下存放系统内部的常用样例用户的对象。一般不存储用户的数据,由ORACLE系统内部自动维护。
(3)撤销表空间:
该表空间用于存放撤销信息。用来存放增删改操作前的数据。当增删改完成后,会释放该表空间的部分空间,一般创建oracle实例后,会创建一个叫UNDOTBS1的撤销表空间
(4)USERS表空间:
建议用户使用该表空间。可以在改表空间创建各种对象、表、索引等。oracle的基本样例用户SCOTT对象就存放在USERS表空间中。
(5)TEMP表空间:
存放临时数据的表空间。
1.3.3.5.创建表空间
1.语法:
CREATE TABLESPACE tablespacename DATAFILE 'filename' [SIZE integer [K|M] [AUTOEXTEND [OFF| ON] ];
2.语法说明:
(1)CREATE 创建
(2)TABLESPACE 表空间
(3)tablespacename 表空间的名称
(4)DATAFILE 指定一个或多个表空间的数据文件,当有多个数据文件时用逗号隔开
(5)filename 是表空间中数据文件的路径和名称,默认以.dbf结尾
(6) SIZE 用来指定文件大小,K表示指定千字节大小,M用于指定兆字节大小。
(7)AUTOEXTEND用来启用或禁用数据文件的自动扩展,on为自动扩展
3.案例
create tablespace tab_tb111
datafile 'C:\oracle\product\10.2.0\oradata\orcl\holly.dbf'
size 30m autoextend on;
1.3.3.6 调整表空间大小
1.语法:
ALERT DATABASE DATAFILE '<数据库文件全路径>' RESIZE <新的大小>
1.3.3.7 改变表空间的读写状态:
1.使表空间只读
ALERT TABLESPACE <表空间> READ ONLY;
2.使表空间可读写
ALERT TABLESPACE <表空间> READ WRITE;
3.online在线
3.offline离线
1.3.3.8 删除表空间:
1.删除表空间不删除.dbf物理文件:
① 语法: DROP TABLESPACE 表空间名称;
② 注意:此时只能删除表空间,不能删除表空间下的.dbf文件;
③ 例如:表空间是房间,你可以把房间四周墙进行破拆,但是房子原来里面的内容还在原位
2.删除表空间时一起删除.dbf物理文件:
①语法:drop tablespace 表空间名 including contents and datafiles;
② 注意:删除表空间时删除表空间下的.dbf文件;
③ 例如:表空间是房间,拆迁时把原来房间内容一起移除
1.3.3.9 查询存在的表空间:
select tablespace_name,status from dba_tablespaces;
查询已经存在的表空间名称和状态(注字段是死的)
示例1:
--1.表空间操作
--1.1 创建表空间
create tablespace tab_tb111
datafile 'C:\oracle\product\10.2.0\oradata\orcl\holly.dbf'
size 30m autoextend on;
--1.2 修改变空间大小
alter database datafile
'C:\oracle\product\10.2.0\oradata\orcl\holly.dbf'
resize 50m;
--1.3 删除表空间(不能删除空间下的.dbf数据文件)
drop tablespace tab_tb111;
--1.4 再次创建
create tablespace tab_tb111
datafile 'C:\oracle\product\10.2.0\oradata\orcl\holly.dbf'
size 30m autoextend on;
--1.5 删除表空间(同时删除数据文件:优选)
drop tablespace tab_tb111 including contents and datafiles;
--1.6 查看所有表空间
select tablespace_name,status from dba_tablespaces;
1.3.4 用户权限管理
1.3.4.1 用户
1.默认用户:
(1) 系统用户:SYS,SYSTEM
(2)测试账户:SCOTT
2.创建用户并指定使用的表空间
语法:CREATE USER <用户名> IDENTIFIED BY <口令> DEFAULT TABLESPACE <表空间名> TEMPORARY TABLESPACE <临时表空间名> QUOTA 100M ON <表空间名>;
3.修改用户
语法:ALTER USER <用户名> <属性名> <属性值>
4.删除用户
语法:DROP USER <用户名> CASCADE;
案例
create tablespace tbs_holly
datafile 'C:\oracle\product\10.2.0\oradata\orcl\tb111.dbf'
size 30m autoextend on;
--2.1 创建用户并赋密码
create user holly identified by sys default tablespace tbs_holly;
--2.2 删除用户
drop user holly cascade;
1.3.4.2 权限
1.分类:
(1) 系统权限
①CREATE SESSION:连接到数据库
②CREATE TABLE:创建表
③CREATE VIEW:创建视图
④CREATE SEQUENCE:创建序列
(2) 对象权限
①管理员直接向用户授予权限
②管理员将权限授予角色,然后再将角色授予给一个或多个用户。
(3)系统角色:
①CONNECT:连接数据库
②RESOURCE:创建表、触发器、存储过程等。
③DBA:数据库管理员角色,拥有管理数据库的最高权限。
2.授权:
语法:GRANT 权限或角色 TO 用户名;
3.撤销权限:
语法:REVOKE 权限或角色 FROM 用户名;
有问题或更好建议可以联系holly老师,让我们共同学习:
每周会不定期的进行: 斗鱼直播讲堂(房间号672217)
直播时间会在前一天的微信公众号通知!
希望大家天天关注微信公众号哦!
博客园: 红酒人生(有大量技术帖子)
想高薪就业 就学习java,安卓,大数据,数据库,web开发,前端开发 ,可以来" 北大青鸟南京中博软件学院" 找 Holly老师 哦!!!Holly老师欢迎您来咨询!
长按下方二维码关注Holly老师公众号,一起学java吧!