找回密码
 FreeOZ用户注册
查看: 7971|回复: 34
打印 上一主题 下一主题

[数据库] Oracle学习笔记

[复制链接]
跳转到指定楼层
1#
发表于 3-5-2010 21:14:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?FreeOZ用户注册

x
好几年以前用过一点Oracle,一直都用MS SQL了,很少接触这个,不过如果用起来和MS SQL差不多,为什么不自己学习一下呢?

先下来那个Oracle 10g XE的免费版装上看看再说。下载地址:
http://www.oracle.com/technology ... abase/xe/index.html

安装第一步就要求输入密码,我知道MS SQL早已经集成了AD验证,所以直接用Windows集成验证就可以了,不推荐使用密码验证,不过Oracle还是第一步要输入一个密码。

200M的安装文件,却需要1.6G的空间。看来XE版本安装以后也不小啊,和MS SQL企业版所需要的空间差不多。

安装路径也比较不同默认直接在 C:\OracleEX\

默认管理员账户名叫 system 而不是MS SQL 的Adminitator

管理界面也有所不同,主界面是Web的,其他的几个关键功能是命令行的。  当然,如果用习惯了就无所谓了,计算是用MS SQL,也可以直接用命令行解决问题,而不是使用图形界面,可是Oracle直接提供代替图形界面的命令行,给入门者增加了门槛。

另外,一个实例数据库也没有,什么功能都需要自己配,学习起来可真不方便啊!
回复  

使用道具 举报

2#
发表于 3-5-2010 21:25:20 | 只看该作者
200M的安装文件,却需要1.6G的空间。
----因为XE版的内建一个配置好的数据库,不过对数据最高容量有限制(好象是4G?)

安装第一步就要求输入密码,我知道MS SQL早已经集成了AD验证,所以直接用Windows集成验证就可以了,不推荐使用密码验证,不过Oracle还是第一步要输入一个密码。
--这是XE版的,企业版的Oracle有很多种验证机制

管理界面也有所不同,主界面是Web的,其他的几个关键功能是命令行的。
--想学Oracle还是得用命令行,很强大滴 ,想用GUI,可以考虑TORD,TORA, sqldeveloper之类,企业版ORACLE也可以使用内置GUI的管理工具

另外,一个实例数据库也没有
--数据库有的,而且XE版是不允许自建数据库实例的


论坛里有很多ORACLE DBA的,可以找大家来分享下
回复  

使用道具 举报

3#
 楼主| 发表于 3-5-2010 21:40:06 | 只看该作者

回复 #2 coredump 的帖子

是啊,移民过来的IT工程师占了绝大多数,可是论坛的学习气氛并不浓啊。
回复  

使用道具 举报

4#
发表于 3-5-2010 21:43:30 | 只看该作者
不会PL/SQL的不算会用oracle
回复  

使用道具 举报

5#
 楼主| 发表于 3-5-2010 21:47:19 | 只看该作者

回复 #4 天下有山 的帖子

  那我用SQL语句查询数据库没问题,这不算是PL/SQL么?
回复  

使用道具 举报

6#
发表于 3-5-2010 21:58:23 | 只看该作者
还有PL部分呢
回复  

使用道具 举报

7#
 楼主| 发表于 3-5-2010 22:10:49 | 只看该作者
原来有一个示例数据库啊,还有一个样例用户 HR
按着示例,一步一步建立一个Application

Oracle的Application的概念,相当于一个WEB界面的GRUD应用。(这个在MS SQL中是需要利用VS编程实现的)

总体感觉因为XE版本没有像MS SQL Server一样的集成的管理界面,感觉一点也不直观,倒是和My SQL的界面差不多。
回复  

使用道具 举报

8#
 楼主| 发表于 3-5-2010 22:26:10 | 只看该作者

GUI界面的选择

http://www.ilovefreesoftware.com ... lsql-developer.html

这里有一篇文章提到了4个免费的工具可以用来做开发。

TOAD 和 PL/SQL Developer 最流行,但是不是免费的。以下4个工具都是免费的,

  • SQL Developer 专注于数据开发
  • TORA  数据开发和数据库管理
  • DreamCoder 类似TORA,但是比TORA弱
  • Free SQL Editor 类似 SQL Developer,但是比它弱,轻量级工具


这样看来我就还是看看TORA吧。值得一提的是TORA还是一个多平台工具,支持Linux,Windows和MAC OS X

[ 本帖最后由 xblues 于 3-5-2010 21:28 编辑 ]
回复  

使用道具 举报

9#
 楼主| 发表于 3-5-2010 23:29:46 | 只看该作者

看来Oracle还真够麻烦的

MS SQL 的概念是:机器名,数据服务实例名,数据库

Oracle 的概念则有所不同:机器名,SID(这个直接就到数据库了,每个数据库都有一个SID名字,那么如果一个查询需要访问不同的数据库怎么办啊?

下面的语句查看实例名和数据库名

To find the current value of ORACLE_SID:

    SVRMGR> select instance from v$thread;

    INSTANCE
    ----------------
    DB_SID

To find the current value of DB_NAME:

    SVRMGR> select name from v$database;

    NAME
    ---------
    DBNAME

看了一下,XE版本好像不能够修改实例名,数据库名也不能修改,都叫做 XE,那怎么用啊?!
回复  

使用道具 举报

10#
发表于 3-5-2010 23:52:17 | 只看该作者

回复 #9 xblues 的帖子

你应该装标准版,XE是阉割版,做做简单demo还凑合。
用来学习各种概念,折腾数据库不合适
回复  

使用道具 举报

11#
 楼主| 发表于 4-5-2010 00:23:15 | 只看该作者

回复 #10 coredump 的帖子

标准版的盗版不好找。。。。。。。  一会BT一下看看,感觉标准版好大啊。

刚才好像理解错了。Oracle的SID的概念划分和MS SQL不一样。

MS SQL
机器名,数据库服务实例名,数据库。

Oracle
数据库,数据库实例名SID,这个是最上层的概念。
比如同一个数据库,可以用不同的SID安装在几台机器上,数据库名相同,SID名字不同。

MS SQL的数据库集群是建立在操作系统集群基础上的,
而Oracle的数据库集群是Oracle自己的技术,集成在数据库本身了。所以数据库是最大的概念。

有么有Oracle的高手,指点一点,看看我说的对不对。

评分

参与人数 1威望 +30 收起 理由
coredump + 30 直接官网下载,个人开发学习用,没有盗版一 ...

查看全部评分

回复  

使用道具 举报

12#
发表于 4-5-2010 00:34:38 | 只看该作者
回复  

使用道具 举报

13#
 楼主| 发表于 4-5-2010 00:39:30 | 只看该作者

回复 #12 zhengt 的帖子

  这个是收费的吧,需要序列号的。
回复  

使用道具 举报

14#
发表于 4-5-2010 00:42:53 | 只看该作者
原帖由 xblues 于 3-5-2010 23:23 发表
标准版的盗版不好找。。。。。。。  一会BT一下看看,感觉标准版好大啊。

刚才好像理解错了。Oracle的SID的概念划分和MS SQL不一样。

MS SQL
机器名,数据库服务实例名,数据库。

Oracle
数据库,数据库实例名SID,这个是最上层的概念。
比如同一个数据库,可以用不同的SID安装在几台机器上,数据库名相同,SID名字不同。

MS SQL的数据库集群是建立在操作系统集群基础上的,
而Oracle的数据库集群是Oracle自己的技术,集成在数据库本身了。所以数据库是最大的概念。

有么有Oracle的高手,指点一点,看看我说的对不对。

首先,ORACLE的管理工具最好的都是COMMAND LINE方式。一个合格的ORACLE DBA应该可以不使用任何图形界面操作数据库,包括安装ORACLE。设想一下,如果你给客户做技术支持,人家的数据库瘫痪了,你上门处理,然后告诉人家:对不起,要我处理问题可以,但是要在你们的生产数据库上面先装一个多大多大的图形界面工具,安装大概需要20分钟。。。##¥%。。¥……#·#·##!·#%…………——。你觉得客户会怎么样。我支持过有的银行的生产系统,他们的生产数据库安装任何软件要多个领导签字,还要先检查版权信息。。。。所以这个时候你要做的是使用SQL PLUS在最短的时间内把问题搞定。
2:ORACLE的db_name,SID,INSTANCE NAME,global name,呵呵,你要慢慢体会。一下很难说清楚。
回复  

使用道具 举报

15#
发表于 4-5-2010 00:55:00 | 只看该作者

回复 #13 xblues 的帖子

不收费的, 你只需要注册一个otn账号, 就可以下载安装,创建自己的数据库的.

评分

参与人数 1威望 +49 收起 理由
xblues + 49 谢谢分享!

查看全部评分

回复  

使用道具 举报

16#
发表于 4-5-2010 00:59:39 | 只看该作者
虫子,你这样东一榔头西一棒槌的不行啊。
没效率,而且不系统。
建议你找本书来学学吧。最好是Oracle认证的书,前面几课简单的又好懂,而且比较系统。
回复  

使用道具 举报

17#
发表于 4-5-2010 01:01:47 | 只看该作者
版内搜索一下"XX学习笔记"
全是有头没尾,三分钟热度的东西
回复  

使用道具 举报

18#
 楼主| 发表于 4-5-2010 01:32:22 | 只看该作者

回复 #16 西皮二黄 的帖子

随便了解一下皮毛就可以了,具体用的时候再具体学习。
回复  

使用道具 举报

19#
 楼主| 发表于 4-5-2010 01:32:55 | 只看该作者

回复 #17 klux 的帖子

你有意见么?你也可以发啊,我没意见。
回复  

使用道具 举报

20#
 楼主| 发表于 4-5-2010 01:37:09 | 只看该作者
原帖由 zhengt 于 3-5-2010 23:55 发表
不收费的, 你只需要注册一个otn账号, 就可以下载安装,创建自己的数据库的.


什么时候开始Oracle也不收费了啊?

评分

参与人数 1威望 +30 收起 理由
coredump + 30 一直这样

查看全部评分

回复  

使用道具 举报

21#
发表于 4-5-2010 01:54:34 | 只看该作者
原帖由 xblues 于 4-5-2010 00:37 发表


什么时候开始Oracle也不收费了啊?

ORACLE的DB产品,都可以在ORACLE网站免费下载。
http://www.oracle.com/technology/software/index.html
正版ORACLE,是一个法律概念,不是一个技术概念。
我给一个银行 安装的生产数据库,就直接是从网站上下的。我们几乎所有的数据库,包括一部分生产系统,也是下载的。
只要你登记交钱。当然他们会给你介质,但是和网站上下载的在技术上没有区别。
所以你如果是学习或者玩玩,你完全不必理会其他的,直接下免费的就好了。

[ 本帖最后由 ma.qy 于 4-5-2010 01:00 编辑 ]

评分

参与人数 1威望 +49 收起 理由
xblues + 49 谢谢分享!

查看全部评分

回复  

使用道具 举报

22#
 楼主| 发表于 4-5-2010 07:20:41 | 只看该作者

安装Oracle企业版

大家都说XE版本用来学习不够,而且正式版又是免费的,所以连夜下载了正式版,2G。
下来了两个zip,解压缩,合并目录,再合并成一个ISO文件,挂接到虚拟机的Windows Server 2008 R2上就可以安装了。

我先卸载了XE,开始安装EE版本(安装的时候可以自由选择版本,反正不花钱,我就选择了EE版本,一般的功能都会有)。还需要选择是安装桌面版还是服务器版,我选择了桌面安装。接着是问设置管理员密码。安装也还可以。

安装完了一下子就看到了那么多图形化的界面和工具,看来Oracle和MS的做法不同啊。MS的XE版本看起来和企业本差不多,可是Oracle的XE和EE版本可是差了十万八千里,Oracle的XE版本顶多算是一个小型数据库引擎,工具一改省掉了。

让我慢慢研究这个Oracle。
回复  

使用道具 举报

23#
 楼主| 发表于 13-8-2010 01:30:28 | 只看该作者

接着学习Oracle

好久不用,没有实际需要,所以就不想学习了,最近又开始需要接触Oracle了,所以重新开始学习。
回复  

使用道具 举报

24#
 楼主| 发表于 13-8-2010 01:50:52 | 只看该作者

Uninstall Oracle

以前安装的那个版本好久不用居然密码也忘记了。
什么都忘记了,只好卸载,然后重新安装。

Oracle 11g 居然没有提供卸载程序!!!卸载步骤具体看这里:
http://www.emarcel.com/emarcel/database/114-uninstalldb11g

Oracle 11g的安装路径也变了,下面是卸载程序的路径:
C:\app\Administrator\product\11.2.0\dbhome_1\deinstall\

从命令行运行这个目录下的 deinstall
都按默认,最后一个问题回答Y,大部分文件都删除掉了,除了一些dll文件,重新启动机器,然后可以直接删除整个目录。
回复  

使用道具 举报

25#
 楼主| 发表于 13-8-2010 02:11:54 | 只看该作者

安装Oracle 11g

去Oracle网站下载企业版,最新版是11g

执行setup

要求填写email,可以不填写,选择不需要通知

这一步问一下那一种安装方式,我选择第一个,也就是安装程序和数据库,完全安装。
Create and configure a database
Install database software only
Upgrade an existing database

这一步问安装方式,我选择Destop Class配置,这样可以不需要回答很多问题,能用就可以啦。
Desktop Class
Server Class

下一步寻问安装路径,默认安装在:
根目录      C:\app\Administrator
程序目录    C:\app\Administrator\product\11.2.0\dbhome_1
数据库目录  C:\app\Administrator\oradata
安装版本,我选择企业版
字符集     Default,Unicode
Global database name: orcl.0.2.15
管理员密码

下一步就是安装执行以前,给你一个总结了:
占用磁盘空间:3.34G
Oracle system identifier (SID): orcl

点击开始安装。等个二十几分钟就安装好啦。

The Database Control URL is https://localhost:1158/em
回复  

使用道具 举报

26#
 楼主| 发表于 13-8-2010 02:21:14 | 只看该作者

tnsnames.ora 文件

参考资料:
http://www.oracle-base.com/artic ... rkConfiguration.php

文件位置:
C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN

下面有三个ora文件:
listener.ora
sqlnet.ora
tnsnames.ora  这个是至关重要的配置文件
回复  

使用道具 举报

27#
发表于 13-8-2010 11:09:49 | 只看该作者
我也是一直没有搞明白Oracle的结构, 好像是sid是对应SQL server的数据库实例, 然后一个用户就是对应SQL Server的一个实例下的数据库. 不知道我理解的对不对.
回复  

使用道具 举报

28#
 楼主| 发表于 14-8-2010 16:53:14 | 只看该作者

回复 #27 huazhb 的帖子

MS SQL 和 Oracle 不是完全可以对应起来的,从某种意义上讲Oracle的层次更加简单。

Server -- SID / Database -- Schema/User -- Table

一台服务器可以安装多个SID,也就是数据库实例,这个实例就是一个数据库,下面有很多表,每个表都属于不同的Schema,用户根据可以访问的schema的不同所以可以访问的表也不同。
回复  

使用道具 举报

29#
 楼主| 发表于 14-8-2010 17:00:51 | 只看该作者

登陆 Database Control 管理数据库

安装好以后就可以从开始菜单里找那个Database Control 的web管理工具去配置数据库了。或者直接输入如下URL

https://<hostname>:1158/em

安装的时候,会询问你一个管理员的密码,你登陆这个界面的时候是需要这个密码的,用户名是 system

缺省安装的数SID是 orcl
回复  

使用道具 举报

30#
发表于 30-8-2010 18:19:45 | 只看该作者
不错不错不错不错
回复  

使用道具 举报

您需要登录后才可以回帖 登录 | FreeOZ用户注册

本版积分规则

小黑屋|手机版|Archiver|FreeOZ论坛

GMT+11, 8-2-2025 16:55 , Processed in 0.047064 second(s), 46 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表