目录
第一篇:oracle学习心得第二篇:oracle学习心得第三篇:学习心得(安装liunx和oracle)第四篇:oracle学习入门-- 简单详细 -- java培训心得第五篇:如何学习oracle更多相关范文正文
第一篇:oracle学习心得
一、sql server的理解
sql server服务器就像一栋大楼,大楼里的机房就像服务器的数据库,机房里的电脑如同数据库里的表
1、 登录用户可以登录服务器——可以进大楼
2、 登录用户成为数据库用户才能进指定的数据库——进入大楼的人给了某个机房的钥匙
才能进入机房
3、 登录用户有权限使用表——进入机房的人有电脑的密码才能使用电脑
二、oracle的理解
oracle服务器(全局数据库)就像一个商场,商场的每一家公司是表空间,公司的业务是表
1、 数据库由多个表空间组成——商场里有多家公司组成
2、 表空间由段组成——公司要有自己的经营业务,可以只有一个业务,就是一个表空
间中只有一个段,可以有多个业务,就是一个表空间有多个段
3、 段由区组成——单个业务的细分类别。例如有家公司经营三个业务,卖书,卖家电,
卖衣服,则每个业务就是一个段。而每个业务又有细分,比如卖书的话要进行分类了。计算机区,人文区,小说区等,每一区都要放上书架存放书籍,则书架就是oracle块,存放数据的
三、数据库,表空间,用户(指定默认表空间),表统统由管理员管理
四、在oem中管理数据库的步骤
1、创建
1) 存储——表空间——创建表空间 (tomspace)(类似于在sql中创建数据库,
通常可以省略,使用默认表空间为users,,临时表空间为temp)
2) 首先展开安全性——创建新用户(tom,指定表空间)(类似于在sql中指定
数据库用户)
3) 创建表——指定方案(用户)和表空间(列名不要带<>)
4) 设置约束
5) 输入信息:方案——用户名——表——右击——查看 /编辑目录…
2、修改
1)方案——用户名——表
2)修改表结构,添加约束
3、删除: 右击表——移去
五、注意事项
1、 刚创建的用户不会出现在方案中,只有创建了一个表指定方案和表空间,该用户的
方案名就会出现在方案中,此时就可以方便为该方案创建其他表
1)新创建的用户能在sqlplus中登录,为什么不能在企业管理器中登录呢?
解答:需要授予 select any directory权限才能正常登录企业管理器,但没有其他权限
2)可以对创建的用户在安全性中赋予角色权限,如dba,则该用户就是数据库管理
员
3) sys用户主要用来维护系统信息和管理实例,只能以sysoper或sysdba角
色登录
4)安装oracle的用户自动为ora-dba权限,自动是sys用户,所以在登录时不需要
用户名和密码,只要选中以sysdba登录。其他用户登录计算机系统,在使用oracle
时就是正常登录状态了。
2、向表中添加日期数据:时间格式为dd- mm- yyyy怎么修改呢?如何插入时间数
据
1) 先在sqlplus中select sysdate from dual; 就知道日期的格式
2) alter session set nls_date_format='yyyy-mm-dd'; 修改当前输入格式
3)oracle中的默认格式是:‘dd-mm-yyyy’ ;修改语句:alter session set
nls_date_format='yyyy-mm-dd'; 修改后输入和显示都为指定格式 ,缺点是只对当前会话起作用
假如你是要永久修改的话,改注册表:
regedit->hkey_local_machine->oracle->homeo->
nls_date_format值yyyy-mm-dd(经验证不管用)
默认日期:50年之前是当前世纪,50年之后是之前世纪,31-12月-49代表2014年01-1月-50 代表1950年
4)由于在表编辑器中to_date函数的格式是dd-mon-yyyy,输入时为如下格式13-6
月-1983(代码编辑时一样,世纪可以省略,代表当前世纪)
5)to_char通常用于查询语句; to_date通常用于增删改语句
6)两个’代表一个’
六、代码编辑器
1、sql plus
2、sql plus worksheet
3、isqlplus
设置列宽:set linesize 50;
七、与sql2014中的查询分析器不同 ,sql plus worksheet执行所有语句,不单单执行选中语句
八、编辑——清除;可以清除查询结果
九、查看环境变量:select * from v$nls_parameters;
十、示例用户
1) scott/tigernormal登录
2)hr : 需要解锁和重设密码(alter user hr account unlock; )
十一、查看和更改oracle http占用端口号,d:ora9apacheapacheconf下,和ult中将80修改,然后重新启动http服务 加个字符串
六、工具的使用
1、net manager: 配置服务主机名和监听主机名
2、net configuration assistant:配置监听程序,本地服务名配置等
/*****************************************************************************/ oracle小知识点
1、 数据操作时,字段区分大小写
2、 oracle两种认证模式:(1)操作系统认证(2)文件口令认证 。
初始化参数的文件目录为d:oracle_programdatabase
3、 sqlplus中使用 help index查看帮助信息目录,
? 命令:查看某个命令的详细用法
连接数据库后才能使用
5、当代码中使用函数时,函数中固定的关键字必须写正确,当放在字符串中的时候,编译没有错误,运行时才会出现错误,通常是sql递归错误
第二篇:oracle学习心得
一、定位
oracle分两大块,一块是开发,一块是管理。开发主要是写写存储过程、触发器什么的,还有就是用oracle的develop工具做form。有点类似于程序员,需要有较强的逻辑思维和创造能力,个人觉得会比较辛苦,是青春饭j;管理则需要对oracle数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会down掉整个数据库,相对前者来说,后者更看重经验。
因为数据库管理的责任重大,很少公司愿意请一个刚刚接触oracle的人去管理数据库。对于刚刚毕业的年轻人来说,可以先选择做开发,有一定经验后转型,去做数据库的管理。当然,这个还是要看人个的实际情况来定。
二、学习方法
我的方法很简单,就是:看书、思考、写笔记、做实验、再思考、再写笔记
看完理论的东西,自己静下心来想想,多问自己几个为什么,然后把所学和所想的知识点做个笔记;在想不通或有疑问的时候,就做做实验,想想怎么会这样,同样的,把实验的结果记下来。思考和做实验是为了深入的了解这个知识点。而做笔记的过程,也是理清自己思路的过程。
学习的过程是使一个问题由模糊到清晰,再由清晰到模糊的过程。而每次的改变都代表着你又学到了一个新的知识点。
学习的过程也是从点到线,从线到网,从网到面的过程。当点变成线的时候,你会有总豁然开朗的感觉。当网到面的时候,你就是高手了
很多网友,特别是初学的人,一碰到问题就拿到论坛上来问,在问前,你有没有查过书,自己有没有研究过,有没有搜索一下论坛?这就叫思维惰性,没有钻研的学习态度,不管学什么东西,都不会成功的。
三、oracle的体系
oracle的体系很庞大,要学习它,首先要了解oracle的框架。在这里,简要的讲一下oracle的架构,让初学者对oracle有一个整体的认识。
1、物理结构(由控制文件、数据文件、重做日志文件、参数文件、归档文件、密码文件组成)
控制文件:包含维护和验证数据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个数据库至少需要一个控制文件
数据文件:存储数据的文件
重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复。一个数据库至少需要两个重做日志文件
参数文件:定义oracle 例程的特性,例如它包含调整sga 中一些内存结构大小的参数
归档文件:是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。
密码文件:认证哪些用户有权限启动和关闭oracle例程
2、逻辑结构(表空间、段、区、块) 表空间:是数据库中的基本逻辑结构,一系列数据文件的集合。 段:是对象在数据库中占用的空间
区:是为数据一次性预留的一个较大的存储空间
块:oracle最基本的存储单位,在建立数据库的时候指定
3、内存分配(sga和pga)
sga:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含oracle 服务器的数据和控制信息, 它是在oracle 服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。
pga:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的sga 正相反pga 是只被一个进程使用的区域,pga 在创建进程时分配在终止进程时回收
4、后台进程(数据写进程、日志写进程、系统监控、进程监控、检查点进程、归档进程、服务进程、用户进程)
数据写进程:负责将更改的数据从数据库缓冲区高速缓存写入数据文件
日志写进程:将重做日志缓冲区中的更改写入在线重做日志文件
系统监控:检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复进程监控:负责在一个oracle 进程失败时清理资源
检查点进程:负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。
归档进程:在每次日志切换时把已满的日志组进行备份或归档
服务进程:用户进程服务。
用户进程:在客户端,负责将用户的sql 语句传递给服务进程,并从服务器段拿回查询数据。
5、oracle例程:oracle 例程由sga 内存结构和用于管理数据库的后台进程组成。例程一次只能打开和使用一个数据库。
6、scn(system change number):系统改变号,一个由系统内部维护的序列号。当系统需要更新的时候自动增加,他是系统中维持数据的一致性和顺序恢复的重要标志。
四、深入学习
管理:可以考ocp证书,对oracle先有一个系统的学习,然后看oracle concepts、oracle online document,对oracle的原理会有更深入的了解,同时可以开始进行一些专题的研究如:rman、ras、statspact、dataguard、tuning、backup&recover等等。
开发:对于想做oracle开发的,在了解完oracle基本的体系结构之后,可以重点关注pl/sql及oracle的开发工具这一部分。 pl/sql主要是包括怎么写sql语句,怎么使用oracle本身的函数,怎么写存储过程、存储函数、触发器等。 oracle的开发工具主要就是oracle自己的developer suite(oracle forms developer and reports developer这些),学会如何熟练使用这些工具。
资料引用:
第三篇:学习心得(安装liunx和oracle)
学习心得
——安装linux与oracle
一.安装linux
1)安装虚拟机
在windows下安装虚拟机软件,本次安装为vmware? workstation 7.0.0 build-201439版本。
2)新建虚拟机1.打开vm软件,新建虚拟机; 2.选择“标准(推荐)(t)”类型配置; 3.选择“安装盘镜像文件(iso)(m)”,并选择redhat镜像文件。 4.下面执行默认操作,选择最大磁盘大小,本次选择20g(根据自己磁盘而定,推荐不要少于10g,因为还需要安装oracle);
5.完成-开始新建虚拟机
3)安装linux
开机,系统会显示详细的安装说明窗体,根据系统的提示一步一步进行即可,以下是必要的输入信息的提示:
1.在启动界面中选择“回车”进入安装画面;
2.显示产品信息,选择“next”继续;
3.选择“简体中文”(选择语言);
4.选择“ish”(选择键盘);
5.选择用自动分区,本次选择第三个选项“保存所有的分区,使用现有的空闲空间”;
6.设置引导程序,按照缺省设置;
7.配置网卡,点“编辑”,设置ip地址等参数信息;
8.选择不启用防火墙,当所有软件都安装调试通过后,再开启防火墙,并配置端口的属性;
9.选择语言,默认为:chinese (r.p of china),同时将“englist(usa)”选中;
10.时区:亚洲---上海,不要选择“utc”;
11.设置root用户的口令(本次设置为“abc123”);
12.选择需要的软件包,选择“定制安装”,根据需求,选择软件包,其中,系统默认的软件包不要取消掉;
13.安装完毕,以root用户登录。 1.打开telnet功能 4)操作系统安装配置
用root登录 cd/etc/xinetd.d vi telnet 将“disable=yes”修改为“disable=no”. 重启xinetd服务 service xinetd restart
二.安装 oracle
1)修改版本号
由于orcale10不支持 rhel5 所以需要修改/etc/redhat-release 将 red hat enterprise linux server release 5 (tikanga) 改为red hat enterprise linux server release 4 (tikanga)
2)安装所需软件包先加载redhat镜像,进入光盘下server目录下: cd/media/’rhel_5.1 i386 dvd’/server 执行安装命令 rpm –ivh (rpm包名) rpm包包括:
(要先安装rpm -ivh ) compat-gcc-34-c++
compat-libstdc++
3)修改内核参数增加下面的内容到文件 /etc/ 中
ll = 2014152
ax = 2147483648
ni = 4096
= 250 32014 100 128
-max = 65536
_local_port_range = 1024 65000
_default = 1048576
_max = 1048576
_default = 262144
_max = 262144
不一定要全部复制,里面没有的再复制
运行下面的命令使得内核参数生效:
/sbin/sysctl –p
增加下面的内容到文件 /etc/security/ 中: softnproc2014
hardnproc16384
softnofile1024
hardnofile65536
增加下面的内容到文件 /etc/pam.d/login中:
sessionrequired /lib/security/pam_
sessionrequired pam_
因为selinux对oracle有影响,所以把secure linux设成无效,编辑文件 /etc/selinux/config :
selinux=disabled
4)创建oracle用户和组
# groupadd dba
# useradd -d /home/oracle -g dba oracle
# mkdir -p /home/oracle/oradata
# chown –r oracle:dba /home/oracle/oradata
#mkdir –p /home/oracle/product/10.2 (创建oracle安装目录)
#chown –r oracle:dba /home/oracle/product/10.2
# chmod -r 775 /home/oracle/oradata
# passwd oracle
new password:
re-enter new password:
passwd: password successfully changed for oracle
5)修改oracle用户环境变量:(切换为oracle用户)在 /home/oracle目录下,打开_profile文件 cd /home/oracle vi _profile
添加以下内容:
unset username
export lang='american_16gbk'
export oracle_base=/home/oracle
export oracle_home=$oracle_base/product/10.2
export oracle_sid=ordb1
export nls_lang='american_16gbk'
export
path=$oracle_home/bin:/bin:/sbin:/usr/bin:/usr/ccs/bin:/usr/local/bin:/usr/ucb export
ld_library_path=$oracle_home/lib:$oracle_home/network/lib:$oracle_home/oracm/lib:/usr/local/lib:/usr/lib
export
classpath=$oracle_home/jre:$oracle_home/jlib:$oracle_home/rdbms/jlib:$oracle_home/rdbms/jlib:$oracle_home/network/jlib
export tns_admin=$oracle_home/network/admin
export temp=/tmp
export tmpdir=/tmp
umask 022
让环境变量生效:source _profile
6)安装oracle使用root用户,在/home/oracle目录下解压oracle安装包 unzip oracledatabase10grelease210·2·0·1· 使用 export lang=c命令,切换为英文安装,避免乱码 在/home/oracle/database目录下执行安装命令 ./runinstaller 开始进入图形安装界面,过程不予赘述,注意几点: 安装路径要和环境变量oracle_home值保持一致 不创建数据库,安装完毕再创建
在安装出现”1/home/oracle/product/10.2/”画面时,在另一个终端中以root用户运行相关脚本:
cd/home/oracle/product/10.2
./
脚本运行完后请返回原来的画面选择“ok”按钮
最后界面中记录好访问isql*plus的url地址以便后续使用
三.心得体会
本次安装redhat linux和 oracle,因为以前对li(请你关注)nux知识匮乏,在入手时较难,但通过各方面的学习,不光学习到安装方法,也对linux的应用有了初步的了解,包括linux的主要文件系统(ext3文件系统),磁盘结构,shell知识,常用命令的使用等。同时,通过安装oracle,了解了liunx中rmp相关知识及应用。
第四篇:oracle学习入门-- 简单详细 -- java培训心得
本文档主要是站在开发者的角度学习oracle(某些概念不尽全、精确,重在理解和操纵它,而dba的学习将更深入,全面)
2014 - 8 - 15
1.俗称的数据库(如安装好的整个oracle)其实是由两大部分组成
1.1.存放数据的位置 -- db(数据库)
1.2.管理数据库的工具 -- dbms(数据库管理系统)
2.开发与数据库设计中某些概念的映射
编程中的类(class)就对应数据库中的表(table)(提取类,设计表)
2.2.表的列(column)就是类中的属性field
2.3.一条记录(record)就是一个实例化后的对象(instance)
2.4.类与类的关系(relationship)也就是表与表的关系
3.学习与oracle数据库打交道(利用sql:structrued query language)
3.1、sql的分类:
definition language ex:create /drop /alter
manipulation language ex:insert /delete /update
control languageex:grant/ revoke
query languageex:select
saction control language ex:commit/ rollback/ savepoint
4.连接数据库
cmd :连接命令:sqlplus username/password@sid
退出:exit;
sqlplus是一个可执行文件,是oracle提供的命令行客户端工具
desc查看表结构(看看表里面有哪些列,列的类型,能否为空等信息)(description) descemp;-- 职员信息表
descdept; -- 部门信息表
descsalgrade; -- 薪水等级表
5.数据类型
-- 基本上有三种
1.数字类型 -- number(长度)
比如:1. 218 用number(3) -- 整数表示
2. number(6,1):共6位,小数点1位 -- 实数表示
2.字符型 -- varchar2(长度)char2(长度)
var是变长的意思 -- 存入多长的数据就开辟多长的空间,但不能超过指定长度(varchar2)
3.日期date
4.注意:
数据库的表中字段不填就是null
java中,null表示引用类型的变量不指向任何对象
表的主键非空 not null并且唯一unique
6.操作
dql data query language contains three type
1.选择 selection 2.投影 projection 3.连接 join
6.1 选择:select * from emp;--"*" 表示所有列
6.2 投影:select sal,ename,empno from emp;--只查询了三个列的信息
selection:查找的若干技巧
1.别名技巧:selectename as name from emp;
select sal as "salary" from emp; -- 规定大小写,包含空格
as -- 可以不写
2./ 执行上一条
3.空值和任何值做数学运算还是空,没奖金的人也显示不出月总收入
nvl(,)函数解决这个问题
nvl(comm,0)-- java语言表示:if(comm==null)return 0;else return comm;
ct ename||'work as '||job from emp; -- 连接,合并多列的内容于一列展示
5.联合selection与projection,想看部门号有哪些?-- 使用distinct关键字
select distinct deptno from emp; -- 两个步骤 1.取出所有行,只显示deptno,重复太多2.看成只有一列的新表,剔除重复 简言之:1.出新表2.去重复
注意:只有两行完完全全的一样,才能舍弃一个
6.结果排序:
select distinct deptno,job from emp order by deptno,job;
-- 先按deptno排序,在按job排序(根据首字母)
第五篇:如何学习oracle
如何学习oracle-给我的朋友们
很多朋友经常问起学习oracle的方法,在这里我把写在《oracle数据库性能优化》一书前面的话贴在这里,供大家参考,希望能对来这里的朋友有所帮助。
-------------------------------------------------------------------------------
经常有朋友会问,应该如何学习oracle,怎样才能快速提高?我把自己的一点心得写在这里,供大家参考。
其实学习任何东西都是一样,没有太多的捷径可走,必须打好了坚实的基础,才有可以在进一步学习中得到快速提高。
王国维在他的《人间词话》中曾经概括了为学的三种境界,我在这里套用一下:
古今之成大事业、大学问者,罔不经过三种之境界。
“昨夜西风凋碧树。独上高楼,望尽天涯路。”此第一境界也。
“衣带渐宽终不悔,为伊消得人憔悴。”此第二境界也。
“众里寻他千百度,蓦然回首,那人却在灯火阑珊处。”此第三境界也。
学习oracle,这也是你必须经历的三种境界。
第一层境界是说,学习的路是漫漫的,你必须做好充分的思想准备,如果半途而废还不如不要开始。
这里,注意一个"尽"字,在开始学习的过程中,你必须充分阅读oracle的基础文档,概念手册、管理手册、备份恢复手册等(这些你都可以在 上找到);ocp认证的教材也值得仔细阅读。打好基础之后你才具备了进一步提升的能力,万丈高楼都是由地而起。
第二层境界是说,尽管经历挫折、打击、灰心、沮丧,也都要坚持不放弃,具备了基础知识之后,你可以对自己感兴趣或者工作中遇到的问题进行深入的思考,由浅入深从来都不是轻而易举的,甚至很多时候你会感到自己停滞不前了,但是不要动摇,学习及理解上的突破也需要时间。
第三次境界是说,经历了那么多努力以后,你会发现,那苦苦思考的问题,那百思不得其解的算法原理,原来答案就在手边,你的思路豁然开朗,宛如拨云见月。这个时候,学习对你来说,不再是个难题,也许是种享受,也许成为艺术。 所以如果你想问我如何速成,那我是没有答案的。
不经一番寒彻骨,哪得梅花扑鼻香。
当然这三种境界在实际中也许是交叉的,在不断的学习中,不断有蓦然回首的收获。 我自己在学习的过程中,经常是采用"由点及面法"。
当遇到一个问题后,一定是深入下去,穷究根本,这样你会发现,一个简单的问题也必定会带起一大片的知识点,如果你能对很多问题进行深入思考和研究,那么在深处,你会发现,这些面逐渐接合,慢慢的延伸到oracle的所有层面,逐渐的你就能融会贯通。这时候,你会主动的去尝试全面学习oracle,扫除你的知识盲点,学习已经成为一种需要。
由实践触发的学习才最有针对性,才更能让你深入的理解书本上的知识,正所谓:
“纸上得来终觉浅,绝知此事要躬行”。实践的经验于我们是至为宝贵的。 如果说有,那么这,就是我的捷径。
想想自己,经常是"每有所获,便欣然忘食",兴趣才是我们最好的老师。
oracle的优化是一门学问,也是一门艺术,理解透彻了,你会知道,优化不过是在各种条件之下做出的均衡与折中。
内存、外存;cpu、io...对这一切你都需要有充分的认识和相当的了解,管理数据库所需要的知识并不单纯。
作为一个数据库管理人员,你需要做的就是能够根据自己的知识以及经验在各种复杂情况下做出快速正确的判断。当问题出现时,你需要知道使用怎样的手段发现问题的根本;找到问题之后,你需要运用你的知识找到解决问题的方法。
这当然并不容易,举重若轻还是举轻若重,取决于你具备怎样的基础以及经验积累。 在网络上,howard j. rogers最近创造了一个新词组:voodoo tuning,用以形容那些没有及时更新自己的知识技能的所谓的oracle技术专家。由于知识的陈旧或者理解的肤浅,他们提供的很多调整建议是错误的、容易使人误解的,甚至是荒诞的。他们提供的某些建议在有些情况下也许是正确的,如果你愿意回到oracle5版或者6版的年代;但是这些建议在oracle7.0,8.0 或者 oracle8i以后往往是完全错误的。
后来基于类似问题触发了互联网内oracle顶级高手的一系列深入讨论,tom、jonathan lewis、hjr等人都参与其中,在我的网站上()上对这些内容及相关链接作了简要介绍,有兴趣的可以参考。
hjr给我们提了很好的一个提示:对你所需要调整的内容,你必须具有充分的认识,否则你做出的判断就有可能是错误的。
这也是我想给自己和大家的一个建议:学习和研究oracle,严谨和认真必不可少。 当然你还需要勤奋,我所熟悉的在oracle领域有所成就的技术人员,他们共同的特点就是勤奋。
如果你觉得掌握的东西没有别人多,那么也许就是因为,你不如别人勤奋。
要是你觉得这一切过于复杂了,那我还有一句简单的话送给大家:不积跬步,无以至千里。学习正是在逐渐积累过程中的提高。
现在itpub给我们提供了很好的交流场所,很多问题都可以在这里找到答案,互相讨论,互相学习。这是我们的幸运,我也因此非常感谢这个网络时代。
itpub的第二本书即将出版,谨以此祝愿itpub越来越好,也愿我们的书能给大家带来知识和帮助。
本网推荐更多精彩内容:
学习oracle的六个步骤
怎样学习oracle
oracle学习笔记
oracle数据库学习总结
oracle培训心得