【Oracle教程二】—— 基础入门

【Oracle教程二】—— 基础入门

一、Oracle简介

Oracle数据库是Oracle(甲骨文)公司的核心产品,适合于大型项目的开发;银行、电信、电商、金融等各领域都大量使用Oracle数据库。

Oracle数据库是一种对象关系型数据库,在关系型数据库的基础上,引入了一些面向对象的特性。

Oracle数据库的产品可以免费下载,其服务是收费的,也就是该数据库用于商业目的时,必须取得Oracle的授权。

Oracle出现有30年时间,经历了很多版本,目前最新的版本是12c。11g版本是目前比较稳定,很多企业也在使用,所以我们从此版本入门学习,后面的版本基本也不会有太大区别。

PS:MySQL是Java开发常用的数据库,MySQL的母公司08年被SUN公司收购,而SUN公司09年被Oracle收购,所以MySQL也是Oracle旗下的产品。

PS:SQL Server数据库与Oracle数据库之间最大的区别要属表空间设计。Oracle数据库被划分成称作为表空间的逻辑区域——形成Oracle数据库的逻辑结构。一个Oracle数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是Oracle数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。

二、Oracle数据库结构

  • oracle实例
    数据库启动时,系统首先在服务器内存中分配“系统全局区(SGA)”,构成Oracle的进程结构;
    然后启动若干个常驻内存的操作系统进程,构成oracle的进程结构,内存区域和后台进程合称为一个oracle实例。
    必须的后台进程有:PMON、SMON、DBWR、LGWR、RECO、CKPT
    查看正在运行的后台进程语句:
select * from v$bgprocess where paddr <> '00';
  • 每个数据库都由数据文件、控制文件、日志文件组成,至少有1个控制文件和2个重做日志文件。
  • 表空间(一系列数据文件的集合,数据库中的基本逻辑单元)。
  • 段(在表空间内细分的一种逻辑结构,用于保证高效率运行)。
  • 区(因段的空间不可预知而陆续分配的一些不连续的小块称为区)。
  • 数据块(将区划分为大小一致的数据块,以方便加载到内存处理,它是oracle中最小的读写单位)。

三、常用工具

打开菜单栏,找到Oracle
在这里插入图片描述
1、配置工具 net manager
用于安装完成以后,在使用的过程中需要调整oracle侦听和连接参数。

2、网络配置向导 net Configuration Assistant
用于配置新的侦听和本地服务名。

3、管理工具(OEM 企业管理器 http://localhost:1158/em )

4、查询工具(SQL Plus )
有三种用户界面:

  • web界面: http://localhost:5560/isqlplus (端口号注意是安装成功时最后一个界面提供的)
  • 控制台界面:在DOS窗口中输入sqlplus.exe回车
  • 图形界面:在oracle菜单中点击:应用程序开发->SQL Plus
    常用登录命令:
  • sys/*** as sysdba //数据库管理员登录
  • scott/*** //使用scott登录
  • conn / as sysdba //切换成数据库管理员

5、常用命令

  • 打开cmd命令窗口,输入sqlplus scott/***(密码)登陆到Oracle,动手学习更高效!
  • 如果还没安装Oracle数据库请看上一篇文章
--			注释
remark			注释
exit			退出
set LineSize n		设置每行字符数,n为字符数,默认是80
set PageSize n		设置每页行数,n为行数
edit			修改上一行中的代码
spool c:/lesson1.txt 	用spool off结束保存数据
start 			运行sql文件或txt文件,用@也可
desc 表名		查看表结构
show User		查看当前用户

四、表空间管理

1、表空间的理解
如果用过MySQL,SQL Server,那么初学Oracle肯定会有很多迷惑,第一个可能就是表空间,那么在学习表空间之前不妨先来理清楚表空间到底是什么。

  • Oracle数据库被划分成称作为表空间的逻辑区域——形成Oracle数据库的逻辑结构。一个Oracle数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是Oracle数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。
  • 在MySQL中,我们可以创建多个数据库,可以在各个数据库上面创建不同的表,而在Oracle中就不能这样操作,Oracle新增了表空间和用户的概念,表空间是虚拟的,并且只有一个数据库,为了方便维护,一般一个表空间上只创建一个用户。
  • 为了更容易理解,我们可以拿MySQL来类比学习,Oracle先创建表空间,这里的用户名类似于mysql的数据库名,Oracle的用户名.表名等价于mysql的数据库名.表名;因此在写兼容mysql和Oracle的语句时可以用到。
  • Oracle安装完数据库的一般流程:先建表空间(分区)–>再建用户(分配相应的表空间和用户权限)–>登陆用户,建表。

2、查看

  • 查看所有表对象:
select table_name from all_tables;
select object_name from all_objects where object_type='TABLE'
  • 查看所有表空间:
select * from dba_tablespaces;

3、创建表空间

Create TableSpace <表空间名称>
	DataFile '表空间数据文件路径/xxx.dbf'
	size [表空间大小n K|M]
	[autoextend off|on];

4、修改表空间

  • 扩展表空间数据文件大小
Alter database
DataFile 'e:/xxx/xxx.dbf'
reSize 10M;
  • 为表空间添加数据文件
Alter tablespace 表空间名
add DataFile '新文件路径和名称'
size 5M;
  • 修改数据文件允许自动扩展大小且指定最大值
Alter database
datafile 'e:/xxx/xxx.dbf'
autoextend on next 15M maxsize 20M;
  • 给表空间重命名
Alter tablespace 表空间名
ReName to 新名称;	
  • 使表空间脱机
Alter tablespace 表空间名
offLine temporary;	
  • 使表空间联机
Alter tablespace 表空间名
onLine;	
  • 删除表空间(需要以管理员登录)
Drop Tablespace 表空间名;

五、权限、角色和用户

1、oracle对实施控制的对象有:系统操作的功能和用户创建的数据或对象。(即:系统权限、对象权限)

2、一组权限的集合,称为角色。作用是方便批量地给用户授权。

3、预置用户

  • Sys(用于执行管理任务的一个帐户,即DBA)
  • System(同sys)
  • Scott(演示数据库的所有者帐户)

4、创建新用户:

  • 查看所有用户和密码: 以sysdba登录 select * from dba_users
Create User <用户名>
identified by <密码>
default tableSpace 表空间名称
temporary tablespace 临时表空间名称;

5、给用户授予连接的角色

Grant connect to 用户名;

6、给用户授予使用资源的权限

Grant resource to 用户名;

7、查看某表所属的表空间

select t.table_name, t.tablespace_name from user_tables t

8、将指定表的所有权限授予指定用户

Grant all on 表名 to 用户名

9、收回指定用户对指定表的所有权限

Revoke all on 表名 from 用户名

10、删除用户

Drop user 用户名;	(需要以管理员登录)

11、用户连接数据库以后,所有创建的对象(表,视图,过程,索引等)形成的集合,称为模式。

12、B用户在使用A用户所创建的对象时,需要A用户授权。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值