第一篇:Oracle变量的定义、赋值及使用
一、常用标量类型 1.VARCHAR2(N)2.CHAR(N)3.NUMBER(P,S)4.DATE 5.TIMESTAMP 该数据类型是9i时增加的,它也用于定义日期和时间数据。给它赋值的方法与给DATE变量赋值的方法完全相同。但当显示时它不仅会显示日期,还会显示时间和上下午标记。
6.LONG和LONG RAW 7.BOOLEAN 8.BINARY_INTEGER 9.BINARY_FLOAT 和 BINARY DOUBLE 这两个类型是ORACLE10新增加的 用的时候不是很多
二、使用标量变量
在PL/SQL中为变量赋值不同于其他编程语言,必须要在等号之前加上冒号(:=)。eg: DECLARE x NUMBER;y NUMBER;
第二篇:Oracle数据库使用心得
Oracle数据库使用心得
092909 谢弘毅
经过助教对oracle和sybase数据库的讲解后,我下载使用和体验了这两个数据库,但主要的还是使用了Oracle数据库,经过一段时间的使用,对其使用有了一定的心得体会,并且通过阅读资料对其现在的前景状况有了一定的了解。
【选择Oracle的原因】
(1)在Gartner/Dataquest报告中Oracle依然在主流操作系统Unix和Linux, Windows NT/2000/XP上的关系数据库市场上占据绝对的领先地位,在UNIX上占63%, Windows+Unix上占49.9%。在关系型数据库市场(包括AS/400,Mainframe),Oracle以39.8%仍然处于领先地位。
(2)Oracle数据库依然是Fortune 100公司的首选数据库,其中51%的Fortune 100公司选用Oracle Database作为构建企业的传统应用和电子商务平台。
(3)Oracle数据库与Sybase数据库相比,无论从体系架构、并行支持、完整性控制等各方面均有很大的优势。
【Oracle相比于sybase的优势】(1)体系结构的比较
Oracle采用多线索多进程体系结构,直接在内核中支持分布式数据库操作、多线索处理、并行处理以及联机事务处理等。Sybase采用单进程多线索体系结构,其核心是SQL Server
(2)多线索多进程与单进程多线索的比较
Oracle和Sybase都采用多线索。Oracle多服务器进程结构,能实现数据库事务的并行处理,提高并发事务处理的响应速度。并且多服务器结构具有非常灵活的扩充性,当硬件平台处理能力提高时,服务器进程的个数也能随之增加,数据库性能也随之提高。Sybase采用单进程多线索方式。当并发用户数达到一定的数量时,会引起系统处理性能大大下降,和服务器进程瓶颈及死锁等现象;同时系统的可扩展余地非常狭窄。
(3)联机事务处理
Oracle的多线索技术在相同硬件环境下,所支持的用户数是其他数据库 系统的5至10倍。
【我对Oracle一些概念的理解】
(1)ORACLE SERVER
一个运行着的ORACLE数据库就可以看成是一个ORACLE SERVER,该SERVER由数据库(Database)和实例(Instance)组成,在一般的情况下一个ORACLE SERVER包含一个实例和一个与之对应的数据库。
一系列物理文件(数据文件,控制文件,联机日志等)的集合或与之对应的逻辑结构(表空间,段等)被称为数据库,简单的说,就是一系列与磁盘有关系的物理文件的组成。ORACLE内存结构和后台进程被成为数据库的实例,一个实例最多只能安装(Mount)和打开(Open)在一个数据库上,负责数据库的相应操作并与用户交互。
实例与数据库的关系如下图所示:
图一 ORACLE SERVER
(2)ORACLE内存结构(Memory structure)Oracle内存结构主要可以分共享内存区与非共享内存区,共享内存区主要包含SGA(System Global Area),非共享内存区主要由PGA(Program Global Area)组成,可以用如下图形表示。
图二 ORACLE MEMOERY STRUCTRUE
(3)后台进程(Background process)后台进程是Oracle的程序,用来管理数据库的读写,恢复和监视等工作。Server Process主要是通过他和user process进行联系和沟通,并由他和user process进行数据的交换。在Unix机器上,Oracle后台进程相对于操作系统进程,也就是说,一个Oracle后台进程将启动一个操作系统进程;在Windows机器上,Oracle后台进程相对于操作系统线程,打开任务管理器,我们只能看到一个ORACLE.EXE的进程,但是通过另外的工具,就可以看到包含在这里进程中的线程。
Oracle系统有5 个基本进程他们是:
DBWR(数据文件写入进程):将修改过的数据缓冲区的数据写入对应数据文件,维护系统内的空缓冲区。 LGWR(日志文件写入进程):将重做日志缓冲区的数据写入重做日志文件。
SMON(系统监护进程):工作主要包含:清除临时空间,在系统启动时,完成系统实例恢复,聚结空闲空间,从不可用的文件中恢复事务的活动,OPS中失败节点的实例恢复等。
PMON(用户进程监护进程):主要用于清除失效的用户进程,释放用户进程所用的资源。
CKPT(检查点进程,同步数据文件, 日志文件,控制文件):同步数据文件,日志文件和控制文件,由于DBWR/LGWR的工作原理,造成了数据文件,日志文件,控制文件的不一至,这就需要CKPT进程来同步。CKPT会更新数据文件/控制文件的头信息。
(4)ORACLE的物理结构 1)数据文件
每一个ORACLE数据库有一个或多个物理的数据文件(data file)。一个数据库的数据文件包含全部数据库数据。逻辑数据库结构(如表、索引)的数据物理地存储在数据库的数据文件中。数据文件有下列特征:
一个数据文件仅与一个数据库联系。 一旦建立,数据文件不能改变大小
一个表空间(数据库存储的逻辑单位)由一个或多个数据文件组成。
数据文件中的数据在需要时可以读取并存储在ORACLE内存储区中。例如:用户要存取数据库一表的某些数据,如果请求信息不在数据库的内存存储区内,则从相应的数据文件中读取并存储在内存。当修改和插入新数据时,不必立刻写入数据文件。为了减少磁盘输出的总数,提高性能,数据存储在内存,然后由ORACLE后台进程DBWR决定如何将其写入到相应的数据文件。2)日志文件
每一个数据库有两个或多个日志文件(redo log file)的组,每一个日志文件组用于收集数据库日志。日志的主要功能是记录对数据所作的修改,所以对数据库作的全部修改是记录在日志中。在出现故障时,如果不能将修改数据永久地写入数据文件,则可利用日志得到该修改,所以从不会丢失已有操作成果。
日志文件主要是保护数据库以防止故障。为了防止日志文件本身的故障,ORACLE允许镜象日志(mirrored redo log),以致可在不同磁盘上维护两个或多个日志副本。
日志文件中的信息仅在系统故障或介质故障恢复数据库时使用,这些故障阻止将数据库数据写入到数据库的数据文件。然而任何丢失的数据在下一次数据库打开时,ORACLE自动地应用日志文件中的信息来恢复数据库数据文件。3)控制文件
每一ORACLE数据库有一个控制文件(control file),它记录数据库的物理结构,包含下列信息类型:
数据库名;
数据库数据文件和日志文件的名字和位置; 数据库建立日期。
为了安全起见,允许控制文件被镜象。
每一次ORACLE数据库的实例启动时,它的控制文件用于标识数据库和日志文件,当着手数据库操作时它们必须被打开。当数据库的物理组成更改时,ORACLE自动更改该数据库的控制文件。数据恢复时,也要使用控制文件。
【我对Oracle图形界面使用心得】
Oracle数据库是一个大型系统,具有强大的数据定义、操纵、组织和存储和维护等管理功能,还具有一定的数据通信接口功能,且分有图形操作界面和文本操作界面。听老师说学习数据库技术就是要学习其语言,熟悉掌握文本操作能有效提高数据库技术。但作为一个初次与实体数据库接触的学生,我更喜欢图形操作界面。在几次尝试中我有以下体会: 【优点】
(1)图形界面给人的第一印象就是直观,相比起纯语言的模式,图形界面能更好的体现你的操作。因为学习数据库以来,老师所讲解的都是一些查询语言,和命令行之类的语言的知识。而通过直观的图形界面,使我数据库的基本结构(物理存储结构、逻辑存储结构)有了更为深刻的了解体会,看到了oracle数据库的一些优秀的特性。和一些优秀的操作功能。
(2)使用图形界面能够更加快捷且准确的行使数据库的各种操作。因为oracle数据库支持图形等操作,使得一些需要用SQL语句或是命令行的操作可以通过简单的拖放点击图形即可完成,这一方面减少了错误的发生,一方面也简化了工作任务。
(3)图形操作界面包含了语句操作的所有功能,而且还能通过教程或是文档获得帮助,这使得你能在使用的过程中克服一些困难。最重要的是,在图形界面的使用过程中你可以直观清晰的看到各种操作产生的结果,加深你对数据库中各种关系的理解。
【缺点】
(1)使用图形界面不能做到像语言命令操作的多变性,一部分操作通过语言能够简单化,例如对于很多对象的查询和修改,就比较适合用语言操作,这体现了图形界面操作的局限性。
(2)图形界面所占用系统资源大,不利于多用户的并行操作。也减低了系统的处理能力。最关键的是图形界面不容易维护和修改对象(3)无逻辑
图形操作是一个非结构化的操作集合,先后顺序完全掌握在操作者手中。这种操作过程很容易出错,而文本操作着可以利用语句有效控制。
【总结】
虽然使用oracle一段时间,但是要学的东西实在是太多了,不仅是数据库软件本身,还有SQL语言也是要好好学的,虽然说觉得图形界面好,方便,但是如果最基本的语言没学好,还是不能有所作为的。
第三篇:oracle数据库使用总结
Oracle数据库遇到问题与使用心得总结
一、快速得到存储过程运行的结果。步骤方法:
1、在c://temp目录中得到存储过程调用的参数语句,然后复制。
2、在PL/SQL中打开Test Window窗口,粘贴复制的内容,然后在内容中如下图增加2个参数(r1和r2)。
3、在Test Window窗口的变量和类型中入下图那样设置增加的参数。
4、点Test Window窗口中的图标,等运行按钮亮起时,再点击运行按钮。
5、在Test Window窗口中值哪列点击就能查看运行存储过程的结果。
二、解决数据库弹出“本地计算机上的OracleOraDb11g_home1TNSListener服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止”问题。
分析原因:是因为数据库监听配置文件添加这句话(如下图),然后重启监听服务OracleOraDb11g_home1TNSListener就报上面的错误。
报错现象:接着打开”开始-》所有程序-》oracle_home-》Net Manager “程序发现不能配置监听程序 ;启动监听服务提示“本地计算机上的OracleOraDb11g_home1TNSListener服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止”信息
解决方法步骤:
1、删除这句话。
2、修改为
三、解决数据库提示“ora-12514 无监听程序处理”问题。
原因分析:数据库监听配置都好好,用sqlplus能正常连接数据库,但是用PL/SQL连接就报“ora-12514 无监听程序处理”错误。
1、找到数据库的安装目录文件下的listener.log文件(本人的监听文件放在D:orcladmindiagtnslsnrtzzlistenertrace目录),发现文件很大有几个G。
2、在cmd中输入如下命令
lsnrctl set log_status off;(暂停日志监控)
3、在cmd中通过输入“D:”进入D盘,然后通过 “cd orcl”进入D:orcl目录,一直到D:orcladmindiagtnslsnrtanzizilistenertrace为止
4、再输入命令:copy listener.log listener.log.20150114(复制文件)
5、输入命令:echo >listener.log(清空listener文件)
6、lsnrctl set log_status on;(启动日志监控)
四、oralce查询锁定进程和关闭window系统中的锁定进程
1、查询锁定进程语句: SELECT /*+ rule */ s.username, decode(l.type, 'TM', 'TABLE LOCK', 'TX', 'ROW LOCK', NULL)LOCK_LEVEL, o.owner, o.object_name, o.object_type, s.sid, s.serial#, s.terminal, s.machine, s.program, s.osuser FROM v$session s, v$lock l, dba_objects o WHERE l.sid = s.sid AND l.id1 = o.object_id(+)AND s.username is NOT Null;
2、杀掉锁定的进程
alter system kill session 'sid,serial#';找到锁定进程对应的spid select a.SID,a.USERNAME,a.status,a.process,b.SPID from v$session a,v$process b where a.PADDR=b.ADDR and a.sid='sid';
4、在cmd中输入关闭锁定进程命令: orakill orcl spid;
五、oracle数据库中的jobs
1、查询所有的jobs select * from user_jobs;
2、查看怎在运行的jobs select * from dba_jobs_running;
六、数据库表空间增加空间
1、允许已存在的数据文件自动增长
ALTER DATABASE DATAFILE 'D:orcladminoradataorclAPP03.DBF' AUTOEXTEND ON NEXT 50M MAXSIZE 20480M;手工改变已存在数据文件的大小
ALTER DATABASE DATAFILE 'D:orcladminoradataorclAPP02.DBF' RESIZE 20480M;
七、数据库服务器端数据的导出与导入(必须在数据库服务器端使用),导出和导入使用服务器端命令好处是速度快,不会出现空表不导出现象。
1、cmd
2、expdp kdcrm/1@orcl version=11.1.0.6.0 数据库名/数控密码@实例名 要导入数据库的版本号
(版本号一般是用在高版本数据库向低版本数据库导入数据。)
3、查看导出日志,根据日志找到导出文件
4、进入D:orcladminadminorcldpdump目录,把EXPDAT.DMP压缩下。
5、把压缩之后的文件从服务器拷入本地计算机。
6、找到本地计算机的安装目录下的D:orcladminadminorcldpdump文件夹,把压缩的文件解压到此地。
7、在本地计算机中输入cmd
8、在本地计算机创建表空间,通过PL/SQL工具用oracle数据库的系统管理员进入数据库。CREATE TABLESPACE CMBC_PMS_TBS
LOGGING
DATAFILE 'D:orcladminoradataorclCMBC_PMS_TBS.ora'
SIZE 100M AUTOEXTEND
ON NEXT 100M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
--Create the user create user CMBC_PMS identified by 1 default tablespace CMBC_PMS_TBS temporary tablespace TEMP profile DEFAULT password expire;--Grant/Revoke role privileges grant connect to CMBC_PMS;grant dba to CMBC_PMS;grant resource to CMBC_PMS;--Grant/Revoke system privileges grant create any table to CMBC_PMS;grant create any view to CMBC_PMS;grant create database link to CMBC_PMS;grant create table to CMBC_PMS;grant debug connect session to CMBC_PMS;grant drop any table to CMBC_PMS;grant select any table to CMBC_PMS;grant unlimited tablespace to CMBC_PMS;
CREATE TABLESPACE TS_CRM_01
LOGGING
DATAFILE 'D:orcladminoradataorclTS_CRM_01.dbf'
SIZE 100M AUTOEXTEND
ON NEXT 100M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;CREATE TEMPORARY TABLESPACE ts_tmp_01
TEMPFILE 'D:orcladminoradataorclts_tmp_01.dbf'
SIZE 100M
AUTOEXTEND ON
NEXT 100M maxsize 2000M;
CREATE TABLESPACE TS_CC_01
LOGGING
DATAFILE 'D:orcladminoradataorclTS_CC_01.dbf'
SIZE 100M AUTOEXTEND
ON NEXT 100M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE TS_TA_01
LOGGING
DATAFILE 'D:orcladminoradataorclTS_TA_01.dbf'
SIZE 100M AUTOEXTEND
ON NEXT 100M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
--系统管理员
select * from dba_directories;CREATE OR REPLACE DIRECTORY dir_crm_db AS 'D:orcldb_bak';--drop directory dir_crm_db;CREATE OR REPLACE DIRECTORY dir_dp AS 'D:orcldp_bak';--drop directory dir_dp;CREATE OR REPLACE DIRECTORY expdp_dir AS 'D:orcldir_bak';--drop directory expdp_dir;
9、在本地计算机创建用户,通过PL/SQL工具用oracle数据库的系统管理员进入数据库。--Create the user
create user KDCRM identified by 1
default tablespace TS_CRM_01
temporary tablespace TS_TMP_01
profile DEFAULT
password expire;--Grant/Revoke object privileges
grant select, insert, update, delete grant select, insert, update, delete KDCRM;grant select, insert, update, delete M;grant select, insert, update, delete CRM;grant select, insert, update, delete KDCRM;grant select, insert, update, delete REHOLD to KDCRM;grant select, insert, update, delete RM;grant select, insert, update, delete grant select, insert, update, delete NFO to KDCRM;grant select, insert, update, delete KDCRM;grant select, insert, update, delete KDCRM;grant select, insert, update, delete ACT to KDCRM;grant select, insert, update, delete;grant select, insert, update, delete grant select, insert, update, delete CRM;grant select, insert, update, delete M;
on CMBC_PMS.BENEFIT to KDCRM;on CMBC_PMS.COLLATERAL_CONTRACT toon CMBC_PMS.ENTRUST_AGENCY to KDCRon CMBC_PMS.FINANCE_CONTRACT to KDon CMBC_PMS.FINANCE_COUNTERPARTY toon CMBC_PMS.FINANCE_COUNTERPARTY_SHAon CMBC_PMS.FINANCE_PROJECT to KDCon CMBC_PMS.FUND_RAISE to KDCRM;on CMBC_PMS.GENERAL_FINANCE_PROJECTIon CMBC_PMS.GUARANTEE_CONTRACT to on CMBC_PMS.INVESTMENT_ADVISER to on CMBC_PMS.INVESTMENT_ADVISER_CONTRon CMBC_PMS.KD_RIGHT_ROLE to KDCRMon CMBC_PMS.PMS_PROJECT to KDCRM;on CMBC_PMS.PMS_PROJECT_USER to KDon CMBC_PMS.SYS_BUSINESSNO to KDCRgrant select, insert, update, delete on CMBC_PMS.SYS_REPORTFIELD to KDCRM;grant select, insert, update, delete on CMBC_PMS.WF_BUSINESSDATA to KDCRM;grant select, insert, update, delete on CMBC_PMS.WF_ROLE_FLOW_AUTH to KDCRM;grant select, insert, update, delete on CMBC_PMS.WF_ROUGH_DRAFT to KDCRM;grant read, write on directory SYS.DIR_CRM_DB to KDCRM;grant execute, read, write on directory SYS.DIR_DP to KDCRM with t option;grant read, write on directory SYS.EXPDP_DIR to KDCRM;--Grant/Revoke role privileges grant connect to KDCRM;grant dba to KDCRM;grant resource to KDCRM;--Grant/Revoke system privileges grant create any table to KDCRM;grant create any view to KDCRM;grant create database link to KDCRM;grant create table to KDCRM;grant debug connect session to KDCRM;grant drop any table to KDCRM;grant select any table to KDCRM;grant unlimited tablespace to KDCRM;
8、impdp kdcrm/1@orcl remap_schema=kdcrm:kdcrm dumpfile=EXPDAT.DMP 数据库名/密码@实例名 导出的数据库名:导入的数据库名 数据库备份文件名
gran
第四篇:Oracle EBS文件夹工具使用总结V1.0
1.文件夹工具
我们可以将系统部分字段用文件夹隐藏,我们可以将该文件夹分配给多个职责和用户,这样一来分配的职责和用户打开需求申请界面时就会默认打开文件夹,无法查看已隐藏的字段。需要说明的是,并不是所有界面都可以使用文件夹隐藏字段,只有Ford(一种form界面形式,界面或者数据块左上角有文件夹图标)才可以使用。
1.1 自定义文件夹
Oracle EBS提供了文件夹工具用来自定义部分Form的显示格式,如调整字段位置、调整字段显示宽度、隐藏/显示部分字段等功能。
文件夹工具可以分用户屏蔽,也可以共享文件夹,供其他用户或职责使用。
需求申请界面文件夹设置步骤如下:
1.2 分配文件夹
路径:系统管理员→应用产品→管理文件夹 我们可以选择按职责分配或按用户分配。
给选定的职责分配文件夹,保存即可。
撤销分配:选定需要删除的文件夹,点击工具栏的删除按钮,保存即可。
查找出文件夹,可以查看文件夹并修改文件夹的属性。
点击“默认分配“,可以查看当前文件夹已分配的职责和用户。
第五篇:Oracle使用工具plsql远程连接问题
使用PL/SQL Developer远程连接Oracle数据库,本地机器上已经安装了Oracle数据库只要
1.配置tnsnames.ora(我的安装在D:oracleproduct10.2.0db_1networkADMIN)
2.登录plsql时填写相应信息
第一步:配置tnsnames.ora
找到tnsnames.ora文件,用记事本方式打开,你可以看到像如下配置信息
ORCL =
(DESCRIPTION =
(ADDRESS =(PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)))
上面这段是连接本地(安装好Oracle默认的,你也可以修改数据库别名,将“ORCL”换成其他的)的数据库的要连接远程的Oracle数据库则再增加配置信息如下
自己定义远程数据库名称(别名)=
(DESCRIPTION =
(ADDRESS =(PROTOCOL = TCP)(HOST = 远程服务器IP)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = 远程服务器上数据库名称)))
注意:别名不能与其他数据库(本地、远程)的别名相同,它可以跟相应远程服务器上的数据库名称不一样,要连接多个远程Oracle数据库,照样子在来几段上述配置信息即可。
第二步:登录plsql
Username:
Password:
Database:要登录的数据库名称(别名)
Connect as:
注意:一定要写对上面面的红色部分(其余的3个字段我就不说了),且跟tnsnames.ora配置文件中的别名相同
知道这两步后,以后不管是远程还是本地上的数据库你想怎么连就怎么连!只是tnsnames.ora文件中多了几段配置信息。