posts - 78, comments - 34, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

         从今日起连结四天Oracle,由冯威老师授课。由于以前没有接触过Oracle数据库,所以上午讲解的Oraclae数据库的一些专业名词,让我有点措手不及。不过没关系,回家看一下就可以了。上午的内容比较枯燥,下午还好。下午讲解在Oracle数据库中使用SQL语句,这相对轻松些。SQL语句与前两天学习的在MySQL中使用SQL语句一样,但还没讲那么多,十分简单!首先回顾一下Oracle的基本概念。

         Oracle数据库的特点:

1.        支持大数据量,多用户的高性能的事务处理。

2.        Oracle遵守数据存取语言、操作系统、用户接口和网络通讯协议的工业标准。

3.        实施安全控制和完整性控制。

4.        支持分布式数据库和分布处理。

5.        具有可移植性、可兼容性和可连接性。

6.        全球化、跨平台的数据库。

         Oracle数据库的一些基本概念:

数据库对象:

1.        表:与其他数据库相同,是一种数据存储对象——数据实体。由行和列组成,列是字段,行是一条记录。

2.        约束条件:用于保证数据必须符合的一些约束行规则的,被设置在单个字段或多个字段组合上的,写入这些字段的数据必须符合约束条件的限制。这是什么?可能是varchar(20),这种东西,或者 not null之类的吧!应该还有SQL语句中的约束条件。

3.        视图:也就是虚表。实际上视图就是一个命令查询的结果集。

4.        索引:构建于表字段或者字段组合上,加速对表的查询。

5.        序列:产生顺序的不重复的字符串,就是主键。

6.        同义词:一个数据库对象的别名。

7.        存储过程:用于完成某种特定功能的PL/sql程序,存储在数据库中。

8.        函数:用于完成复杂计算的函数,这个比较好理解。比如sumavg…

9.        触发器:这个就是数据库的事件处理机制,没什么特别的。

10.     包:这个比较高级。一些相关的函数和存储过程的命令集合,存储在数据库中。 

数据库安全:

1.        用户:就是数据库的用户!可以操作自己权限的数据。

2.        方案:一组数据库对象的命令集合,一个方案唯一对应一个数据库用户,方案的名称和用户名称完全相同,在访问数据库对象的时候,通常采取的是“方案名.对象名”的方式来访问。这种用法还是第一次见。

3.        权限:就是用户只能根据管理员设置的用户权限进行的相关操作,数据库里也有角色这个定义。不同的角色具有不同的权限。用户被赋予了某个角色,他就具有这个角色的权限。

4.        角色:一组命令的权限,用于简化对权限的管理操作,可以一次将多个权限授予一个或者多个用户。角色,在一些商业软件中比较常见,企业管理软件中应用居多。

5.        配额:有点像大锅饭时期的配额,但这里的配额不是均衡的。这里的配额是指,当创建存储对象时,比如表。需要一安的数据库空间来存放这些对象,这些空间就是配额。 

数据库文件和存储:

1.        数据文件:用于存放数据的操作系统文件,文件中保存着用户创建的所有数据库对象的信息。它十分重要,如果丢失就会导致所有数据丢失。数据库包含一个或多个数据库文件。老冯在讲解Oracle安装时,提到将数据库的数据部分安装在非系统盘里,就是为了保护数据文件。直接在安装界面中将安装路径修改为非系统盘即可。

2.        表空间:数据文件被组织在一起,按照表空间方式进行管理。它是一个或多个数据文件的逻辑集合,在数据库中存储空间被表现为表空间,在操作系统中表现为数据文件。一个数据库可以包含多个表空间。

3.        控制文件:数据库的核心文件,存放着数据库重要的信息,例如数据库的名称和数据库的结构(数据文件、重做日志文件的名称和目录)。

4.        重做日志文件:记录数据库改变的文件,所有数据修改操作都记录在日志文件中,主要用于保证数据库的可恢复性。

5.        初始化参数文件:存放数据库初始化参数的文件,数据库启动时读取这些参数设置分配数据库的内存空间。 

数据库网络访问:

1.        数据库名:在控制文件中有记录,在参数文件中通过“db_name指定”。

2.        实例名:数据库的内在区域和后台进程的集合的总称,在参数文件中通过“instance_name”指定,通常与“db_name”相同。

3.        服务名:数据库在操作系统上被作为一个服务对待,对外来说它就是一个数据库服务。服务器名称通过参数service_name指定,通常与全局数据库名相同。

4.        连接字符串:通过网络访问远端服务器上的数据时,用于描述数据库访问地址的字符串,通常的结构是:“主机名(或IP):端口号:服务名”,例如:“192.168.1.100:1521:orcl”,1521Oracle数据库的默认端口号。

5.        服务命名:连接字符串的别名,因为连接字符串的复杂所以使用服务命名替代,被用于通过网络连接数据库,通常的使用格式是:“用户名/口令@服务名”。

6.        监听器:在服务器端运行的一个进程,用于监听客户端到数据库的连接请求,在通过网络访问数据库时必须启动。 

OK!看完成上边的内容,我简单的回顾一下Oracle的安装与配置吧!虽然相比SQL语句,上边的内容不是很重要,但是多了解还是好的,如果在以后的工作中能用到那就更好了! 

Oracle的安装,这个比较简单,首先说一下注意的问题:

1.        不要使用非字母路径,路径中不要包含空格。

2.        建议裸机安装,否则极可能安装失败或错误。

3.        成功安装后,不要使用系统优化等工具。这样可能造成Oracle系统出错。

4.        将系统文件安装到系统盘,将数据文件安装到非系统盘。

5.        设置全局数据库名称:数据库实例+域名。例,itcast.com 

开始安装,直接将安装路径设置为非系统盘即可。安装程序会默认将系统文件安装到系统盘中。其他的都不需要设置。 

安装完成后会提示配置系统。首先选择监听器程序配置,添加一个监听器。非常简单!什么是监听器?看上边的基本概念吧!设置监听器名称(随意),协议使用TCP,端口默认。服务器端不要添加过多的监听器,既然是测试或者自己用一个就足够了。监听器也是一个服务,可能在Windows的服务列表中关闭它们。

安装Oracle客户端: 

然后配置命名方法,什么是命名方法配置?(http://lwchq.spaces.live.com/blog/cns!76F6E52267F8CCF6!703.entry?wa=wsignin1.0&sa=214971721

客户机应用程序在试图连接数据库服务时,需要借助命名方法将连接标识符解析为连接描述符。
Oracle Net
提供了五种命名方法: 
主机命名(Host Naming):使 TCP/IP 环境中的用户能够通过其现有名称解析服务来解析名称
本地命名:使用在每个客户机的 tnsnames.ora 文件中配置和存储的信息查找网络地址
目录命名:将数据库服务或网络服务名解析为连接描述符,该描述符存储在中央目录服务器中
Oracle Names
:这是由 Oracle Names 服务器系统构成的 Oracle 目录服务,这些服务器可以为网络上的每个服务提供由名称到地址的解析
外部命名:使用受支持的第三方命名服务 

对于只有几个数据库的小型组织来说,应使用主机命名将名称存储在现有名称解析服务中,也可使用本地命名将名称存储在客户机上的 tnsnames.ora 文件中。对于有多个数据库的大型组织来说,应使用目录命名将名称存储在集中管理的符合 LDAP 的目录服务器中。 

配置成本地命名即可。 

配置本地NET服务器,我的电脑上东西多,还不敢安装Oracle的服务器,所以直接连接到了老冯的服务器。

1.      添加

2.      服务器名:itcast.com,前面有提到过。

3.      TCP

4.      主机名,如果是本地可以键入“localhost”。如果是其他机器,IP地址。

5.      选择测试,如果测试失败,更改登录。OK 

此时可以使用上面配置的账户,用Oracle自带的SQL Plus登录,SQL是个控制台程序,可以执行SQL语句。 

Oracle自带的EnterpriseManagerConsole,可以视图化的对服务器进行设置。只有在客户端才有这个工具。 

管理Oracle数据库,用的最多的PLSQL Developer,老冯给我们发了个“PLSQL Developer 7.0.1”,并且下午对SQL语句在Oracle中的应用的讲解,全是使用这个工具! 

学到这儿,多少有些想深入了解一下数据库。虽然学习完这四天的Oracle后,在以后的开发中足够用。但IT这个行业的知识太宽了,我不可以学习那么宽,要有针对性的学习!所以,不到需要那天还是学好当下,钻研当下吧! 

幸好来到这里学习,这些有经验的讲师把各技术重点都整理出来了。我们学习的就是这些,如果要是自学,这些东西不知道得学习多长时间!也不知道会走多少弯路!可能真自学成才的那一天,这些技术已经有些落伍了。学习技术的重点就是把握技术的核心和实现原理,即使将来出了新技术,也是基于这些技术的升级罢了!我坚决支持这种深入的学习方式!


只有注册用户登录后才能发表评论。


网站导航: