oracle笔记

合集下载

Oracle数据库学习笔记_CREATETABLE和INSERTINTO的高级用法

Oracle数据库学习笔记_CREATETABLE和INSERTINTO的高级用法
请尝试更换浏览器或网络环境
Oracle数据库学习笔记 _CREATETABLE和 INSERTINTO的高级用 法
1、新建表 create table ACCT_LOAN (
data_date INTEGER not null, --整数,也可以约束数字最大位数,不可为空 acct_num VARCHAR2(35) not null, --可变长度的字符串(包含数字。字母及特殊字符) curr_cd CHAR(3), --固定长度为3的字符串(可包含数字,字母及特殊字符) drawdown_dt DATE, --日期 loan_amt decimal(8,2) --小数,小数最大长度为8位,小数位固定为2位 ) 2、建备份表 create table 备份表名 as select * from 表名; 3、将两张相同结构的表合并在一起 insert into 表1 select * from 表2 where ...; commit; 4、更新表:merge into merge into 表1 using 表2 on (表1.字段=表2.字段) when matched then update set ... when not matched then insert values(表2.xx, 表2.xx,...); commit; 5、给变量赋值 select into 变量名 from

Oracle EBSGL学习笔记

Oracle EBSGL学习笔记

12.81、冲销日记账1)原始借:租金10,000 本位币美元贷:现金10,000 本位币美元冲销借:现金10,000 本位币美元贷:租金10,000 本位币美元2)可以创建冲销日记账分录来冲销应计、估计、临时调整和重新分类,或更正错误。

3)方法:转换借贷项:通过转换借项和贷项金额来冲销日记账分录。

红字冲销:通过将原始日记账金额从正值改为负值来冲销日记账分录。

4)日记账> 输入> 复核日记账(B)其他活动日记账> 生成> 冲销2、自动冲销日记账1)可以自动冲销上一个月的应计日记账分录,并自动将其过账(如果需要)。

2)自动冲销日记账的前提条件:--日记账余额类型为“实际”--日记账类型已启用“自动冲销”选项--日记账已过帐,但尚未冲销--日记账冲销期间为“打开”或“将来可输入”3) 设置> 日记账> 自动冲销(AutoReverse)3、日记账分录报表提供:会计结算日期、类别、日记账名称、参考、日记账批4、与Oracle General Ledger 集成--在Excel中创建日记账--通过Web ADI 加载到GL_INTERFACE 表--从接口表中提交“日记账导入”-从Web ADI中与加载流程同时提交-从Web ADI 中作为独立的提交流程提交-从Oracle General Ledger中使用“导入日记账”窗口提交5、Web ADI 的核心功能1)布局功能--从布局中删除或向布局中添加字段--指定字段在布局中的位置--为布局中的字段分配默认值--保存布局,可以由具有适当责任的某个人来定义,然后由整个站点使用2) 文本导入功能--将文本文件数据导入到桌面文档中--创建可以修改和重复使用的映射模板,根据需要更改数据临时的移动目标。

3) 安全功能--将Web ADI 功能与菜单关联,创建用作安全配置文件的自定义访问点--将菜单附加到分配给用户的职责中,用用户级别限制Web ADI访问--为自助连接添加默认参数:强制用户在其桌面上生成文档时使用预定义的参数--将表单功能与用户的菜单关联,已授予其访问集成器的权限4) Internet 计算功能--集中部署,要操作词产品,客户机只需要浏览器和Excel--在Web 上运行6、通过Web ADI 进行桌面集成1) 集成器:Oracle General Ledger-日记账集成器、Oracle General Ledger-预算集成器、创建资产集成器、实地盘点集成器、HRMS集成器2)Oracle General Ledger-日记账集成器:--根据可定义的布局,自动生成基于电子表格的日记账分录工作表--允许通过复制和粘贴日记账行,然后进行增量式修改来快速的输入日记账--允许您定义可以反复修改和加载的日记账模板--使用安全措施和交叉验证规则以及其他引用字段全面验证账户--通过Oracle General Ledger开放接口将日记账加载到Oracle General Ledger7、导入日记账日记账> 导入> 运行1)将子分类帐和源系统数据导入Oracle General Ledger--定义分类账、币种、帐户、日记账来源和类别设置Oracle General Ledger,以接受日记账导入数据--运行“优化”程序,并定义并发程序控件。

韩顺平oracle学习笔记

韩顺平oracle学习笔记

韩顺平oracle学习笔记第0讲:如何学习oracle一、如何学习oracleOracle目前最流行的数据库之一,功能强大,性能卓越。

学习oracle需要具备一定基础:1.学习过一门编程语言(如:java ,c)2.最好学习过一门别的数据库(sql server,mysql , access)教程推荐:oracle使用教程,深入浅出oracle记住:欲速则不达,做任何事情要遵循他的规律,循序渐进,信心很重要成为一个oracle高手过程:理解小知识点->做小练习->把小的只是点连成线->做oracle项目->形成只是面->深刻理解Oracle基础部分:oracle基础使用; oracle用户管理; oracle表管理Oracle高级部分:oracle表的查询; oracle的函数; oracle数据库管理;oracle 的权角色; pl/sql 编程;索引,约束和事物。

期望目标:1 学会安装、启动、卸载oracle2 使用sql *plus工具3 掌握oracle用户管理4 学会在oracle中编写简单的select语句第1讲:基础语法内容介绍:1.为什么学习oracle2.介绍oracle及其公司的背景3.学会安装、启动、卸载oracle4.oracle开发工具5.Sql*plus的常用命令6.oracle用户管理一、主流数据库包括:●微软:sql server 和 access●瑞典:mysql AB公司●IBM公司:DB2●美国sybase公司:sybase●IBM公司:infromix●美国oracle公司:oracle(目前最流行的之一)二、oracle安装,启动及卸载1.系统要求:操作系统最好为windows2000内存最好在256M以上硬盘空间需要2G以上2.oracle安装会自动的生成sys和system两个用户说明:○1Sys用户是超级用户,具有最高权限,具有sysdba角色,create database 的权限,默认密码是manager○2System 用户是管理操作员,权限也很大,具有sysoper角色,没有create database权限,默认密码是 change_on_install○3一般讲,对数据库维护,使用system用户登录就可以了3.启动oracle右键单击我的电脑->服务和应用程序:服务->启动OracleServiceMYORA1(MYORA1是安装oracle时起的名字各有不同)和OracleOracleHome90TNSLlistener4.卸载oracle1、先关掉oralce,net stop OracleServiceORCL(ORCL是我的实例名字,换成你的),或者去我的电脑服务中关闭2、开始->程序->Oracle - oracle的版本号,我的是10ghome->Oracle Installation Products->Universal Installer 卸载oracle3、进注册表,regedit,删除选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE下所有的key。

racle学习笔记总计

racle学习笔记总计

培训第二天(上午)学习视频《韩顺平oracle视频》学习中遇到的想法:1.sql server 数据——》oracle(编程是实现java,先读在插入)一,oracle的安装1.oracle数据库自带用户 sys(默认密码:manager)(最好权限,可以create database),system(默认密码:change_on_install)。

二,oracle的启动1.启动一个oracle实例,即启动一个单个数据库。

2.管理——服务 oracleservice实例名(一个实例代表一个数据库)+oracle……listener三,oracle的卸载1.卸载需要动注册表(可观看视频)四,sql plus常用命令1.显示用户show user2.链接命令conn 用户名/密码disc3.修改密码passw4.运行一个脚本start和@ 如:start d:\aa.sql || @ d:\aa.sql5.编辑一个脚本edit D:\aa.sql6.spool 该命令可以将sqlplus屏幕上的内容输出到指定的文件中1. spool d:\b.sql2. select * from3. spool off7.交互 &8 set linesize, set pagesize(分页显示)9.desc 表名(查看表结构)五,oracle常用工具1.sqlplus,sqlplusw,pl/sql developer(第三方独立开发),oracle enterprise manager(图像化界面)六,用户管理1.create user 名 identified by 密(密码不能以数字开头)(新创建的用户是没有任何权限的,甚至是没有登录权限 grant, revoke)2.password 名3.drop user 名(如果用户有表,则加参数cascade)培训第二天(下午)(自己动手遇到无法登陆oracle)(gaotuan:gaotuan、system:G6*******cxz)一,用户授权(对象权限(select insert update delete all create index),系统权限)1.grant connect to 名(登录)2.grant resource to 名(创建数据库对象)3.sqlplus "/as sysdba"(sys登陆)4.alter user scott account unlock;(解锁)二,角色connect ,dba对象权限:with grant option系统权限:with admin option收回父权限时下边的用户也没有相应得权限三,表空间一,表空间作用: 1.控制数据库占用的磁盘空间。

Oracle数据库学习笔记

Oracle数据库学习笔记

Oracle数据库学习笔记Oracle数据库基础 orcale属于关系型数据库,适⽤于各类⼤,中,⼩,微机环境,是⼀种⾼效率、可靠性好的、适应⾼吞吐量的数据库⽅案。

学习,实验完全免费,商⽤需要⽀付相应费⽤。

Oracle 数据库包括数据库实例,和数据库,⼆者脱离谁都没有存在的价值。

实例是⽤来操作数据库的对象,数据库是⽤来存储数据使⽤的。

Oracle主要组件包含实例组件,数据库组件。

SGA(System Global Area)是Oracle Instance的基本组成部分,PGA(Process Global Area)是为每个连接到Oracle database的⽤户进程保留的内存。

每个实例只有⼀个SGA,所有的进程都能访SGA。

PGA是程序全局区,每个⼀个进程都⼀个PGA,PGA是私有的,只有对应进程才能访问对应的PGA。

数据库中包含:参数⽂件,⼝令⽂件,数据库⽂件,控制⽂件,⽇志⽂件以及归档⽇志⽂件。

Oracle实例进场包含⽤户进程,服务器进程和后台进程。

SGA:系统全局区 系统全局区包含共享池,数据缓冲区,⽇志缓冲区。

“共享池”:是对SQL,PL/SQL程序进⾏语法分析,编译,执⾏的内存区;由库缓存和数据字典缓存组成;其⼤⼩直接影响数据库性能。

“数据缓冲区”:临时存储从数据库读⼊的数据,所有⽤户共享,数据缓存区的⽬的是加快数据读写。

“⽇志缓冲区”:⽇志记录数据库所有修改信息,其先产⽣于⽇志缓冲区,当达到⼀定数量时,由后台进程将⽇志数据写到⽇志⽂件中。

PGA:程序全局区 PGA包含单个服务器进程所需要的数据和控制信息,在⽤户进程连接到数据库并创建⼀个会话时⾃动分配的,保存每个与数据库连接的⽤户进程所需要的信息。

PGA为⾮共享区,只能单个进程使⽤,当⼀个⽤户会话结束,PGA释放。

后台进程 后台进程中包含PMON(进程监视器(Process Monitor)),SMON(系统监视器(System Monitor)),DBWR(数据库书写器(Database Write)),LGWR(⽇志书写器(Log Write)),CKPT(检查点(Checkpoint)),以及其他。

ORACLE 正则表达式摘录笔记

ORACLE 正则表达式摘录笔记

ORACLE 正则表达式一.正则表达式简介:正则表达式,就是以某种模式来匹配一类字符串。

一旦概括了某类字符串,那么正则表达式即可用于针对字符串的各种相关操作。

例如,判断匹配性,进行字符串的重新组合等。

正则表达式提供了字符串处理的快捷方式。

Oracle 10g及以后的版本中也支持正则表达式.二. 正则表达式相对通配符的优势:1.正则表达式中不仅存在着代表模糊字符的特殊字符,而且存在着量词等修饰字符,使得模式的控制更加灵活和强大。

2.通配符的使用一般是在特定的环境下,不同的环境下,通配符有可能不同。

而正则表达式,不但广泛应用于各种编程语言,而且在各种编程语言中,保持了语法的高度一致性。

三. 元字符:元字符是指在正则表达式中表示特殊含义的字符。

量词用来指定量词的前一个字符出现的次数。

量词的形式主要有“?”、“*”、“+”、“{}”。

量词在用于匹配字符串时,默认遵循贪婪原则。

贪婪原则是指,尽可能多地匹配字符。

例如:字符串“Function(p),(OK)”,如果使用正则表达式“\(.*\)”进行匹配,则得到字符串“(p),(OK)” ,而非“(p)”;若欲得到“(p)”,则必须取消量词的贪婪原则,此时只需要为量词后追加另外一个数量词“?”即可。

如上面的正则表达式应该改为“\(.*?\)”。

五. 字符转义:元字符在正则表达式中有特殊含义。

如果需要使用其原义,则需要用到字符转义。

字符转义使用字符“\”来实现。

其语法模式为:“\”+元字符。

例如,“\.”表示普通字符“.”;“\.doc”匹配字符串“.doc”;而普通字符“\”需要使用“\\”来表示。

六. 字符组.字符组是指将模式中的某些部分作为一个整体。

这样,量词可以来修饰字符组,从而提高正则表达式的灵活性。

字符组通过()来实现.许多编程语言中,可以利用“$1”、“$2”等来获取第一个、第二个字符组,即所谓的后向引用。

在Oracle中,引用格式为“\1”、“\2”。

学习王二暖oracle笔记(25-31)

学习王二暖oracle笔记(25-31)

学习oracle笔记一、临时表空间 (3)1.目标 (3)2.临时表空间的作用 (3)3.临时表空间组 (3)4.临时表空间的操作 (3)二、UNDO表空间(undo撤销,redo重做) (5)1.目标 (5)2.UNDO管理方式的改变 (5)3.Undo表空间概念 (5)4.Undo相关的重要的参数 (6)5.Undo表空间的操作 (7)6.Oracle11G undo表空间的新特性 (8)三、逻辑备份与恢复 (8)1.目标 (8)2.备份与恢复简介 (8)3.故障类型 (9)4.传统的导出与导入实用程序 (9)5.导出 (11)6.导入 (12)7.导出导入三种方式 (14)8.可传输表空间 (14)9.oracle11G的数据泵 (15)10.Expdp重要的参数 (15)11.inmdp的重要参数 (19)四、数据装载 (20)1.目标 (20)2.数据的装载 (20)3.SQL*LOADER (21)4.外部表 (23)五、闪回flashback (25)1.目标 (25)2.9I的闪回查询 (25)3.10G中的闪回版本查询 (26)4.10G的闪回事务查询 (27)5.10G的闪回表 (27)6.闪回删除 (28)7.10G的闪回数据库 (29)六、物化视图 (30)1.目标 (30)2.问题的提出 (30)3.物化视图的简介 (31)4.物化视图的作用 (32)5.创建物化视图时需要的权限 (33)6.创建物化视图时的选项 (33)7.基于主键的物化视图 (34)8.基于rowid的物化视图 (36)七、使用物化视图和exp实现生产库的逻辑备份的例子 (37)1.问题的提出 (37)2.问题的解决 (37)一、临时表空间1.目标2.临时表空间的作用临时表空间在硬盘上3.临时表空间组4.临时表空间的操作查看表空间:Select * from v$tablespace;Select * from dba_tablespaces;查看数据文件:Select * from dba_data_files;查看临时数据文件:Select * from dba_temp_files;Select * from v$tempfile;查看默认的临时表空间:Select * from database_propertieswhere property_name=’DEFAULT_TEMP_TABLESPACE’;创建临时表空间,不属于组:Create temporary tablespace temp2 tempfile’F:\data\orcl\tem2a.dbf’ size 10M autoextend on;创建临时表空间,属于组:Create temporary tablespace temp3tempfile’F:\data\orcl\tem3a.dbf’size 10M autoextend ontablespace group temp_grp;查看临时表空间组:Select * from dba_tablespace_groups;把temp2加入到temp_grp组内:Alter tablespace temp2 tablespace group temp_grp;把temp2移出temp_grp组:Alter tablespace temp2 tablespace group ’’;给temp2表空间添加一个临时文件:Alter tablespacetemp2 addtempfile’F:\data\orcl\tem2b.dbf’size 10m autoextend on;修改系统默认的临时表空间为另一个临时表空间:Alter database default temporary tablespace temp2;修改系统默认的临时表空间为一个临时表空间组:Alter database default temporary tablespacetemp_grp;二、UNDO表空间(undo撤销,redo重做)1.目标2.UNDO管理方式的改变3.Undo表空间概念4.Undo相关的重要的参数查看undo相关信息:Show parameter undo;5.Undo表空间的操作增加一个undo表空间:Create undo tablespace undotbs2 datafile’F:\DATA\ORCL\undotbs201.dbf’ size 10m autoextend on;给undotbs2表空间增加一个undo数据文件:Alter tablespace undotbs2 add datafile’F:\DATA\ORCL\undotbs202.dbf’ size 10m;查看系统默认undo表空间:Show parameter undo;切换undo表空间:Alter system set undo_tablespace=undotbs2;启用rententiongarentee:Alter tablespace undotbs1 retention guarantee;查看表空间是否启用了rententiongarentee:Select * from dba_tablespaces;取消启用rententiongarentee:Alter tablespace undotbs1 retention no guarantee;查看undo表空间使用情况:Select * from v$undostat;Select to_char(begin_time,’yyyymmdd hh24:mi:ss’),to_char(end_time,’yyyymmdd hh24:mi:ss’),undoblks,txncount from v$undostat;6.Oracle11G undo表空间的新特性三、逻辑备份与恢复1.目标2.备份与恢复简介3.故障类型语句故障:不需要人工处理。

Oracle Secure Backup 学习笔记

Oracle Secure Backup 学习笔记

一、安装For each Linux media server, ensure that the SCSI Generic (SG) driver is installed echo modprobe sg >> /etc/rc.moduleschmod +x /etc/rc.modulesmkdir -p /usr/local/oracle/backupcd /usr/local/oracle/backup/media_dir/setup要安装oracle安全备份软件,必须执行以下步骤:(1)、以root 用户身份执行以下命令,创建OSB 主目录:mkdir -p /usr/local/oracle/backup(2)、浏览至您的OSB 主目录:cd /usr/local/oracle/backup(3)、确保提供了解压缩实用程序:ln -s /bin/gunzip /bin/uncompress(4)、在您的OSB 主目录中,以root 用户身份启动Oracle 安全备份的安装。

/root/osb-10.4.0.1.0_linux.x64_cdrom110923/setup(5)按提示输入即可二、管理磁带使用的obtool命令行工具,首先创建带库然后创建磁带mkdev -t library -o -a rman:/dev/sg13 lib13mkdev -t tape -o -a rman:/dev/sg7 -l lib13 -d 1 tape1301mkdev -t tape -o -a rman:/dev/sg8 -l lib13 -d 2 tape1302mkdev -t tape -o -a rman:/dev/sg9 -l lib13 -d 3 tape1303使用lsdev查看已经创建的devicelsdev列出每个带库的详细信息:inventory -L lib13查看卷信息:lsvol -L lib13 -l可以通过lsdev命令查看,磁带的状态是否还处于offline状态lsdev -g tape1301现在向磁带tape01载入一个卷,载入完成后,状态就是online状态:loadvol -D tape1301 -m write 11卸载磁带unloadvol -D tape1301三、设置备份Configure: Database Backup Storage Selectors可以在这个菜单下,指定不同的备份类型,备份到不同的磁带驱动,如果磁带写满,自动换带。

oracle学习笔记--并行度

oracle学习笔记--并行度
并行度(DEGREE)
并行度是指Oracle在进行并行处理时,会启动几个并行进程来同事执行任 务。 注意:并非并行度越高,并行进程越多,执行速度就会越快,这里面受限 的因素很多,比如系统资源、CPU数量、以及RAC架构下并行进程可能分配 到各个实例上去执行,而进行的实例间数据交换的问题。
使用并行(DEGREE)
修改并行度:
1)表上修改 alter table t2 parallel 3;--修改并行度为3 alter table t2 parallel ; --不设置,oracle会将其设置为默认值
并行度默认值的计算方法 1)非RAC架构 服务器CPU数 * 每个CPU启用的线程数=并行度 2)RAC环境 所有参与并行处理的实例CPU总数 * 每个CPU启用的线程数=并行度
修改对象上并行度
查看CPU和并行度情况:
1)查看实例数(RAC多个实例) show parameter parallel_server_instances;
2)查看cpu个数和 每个cpu启用的线程 show parameter cpu
计算方法:1*32*2=并行度;
修改对象上并行度
但是 基本上都不这样设置,因为太多的并行服务会消耗大量的系统资源而影 响其他用户的操作,不过我们可以设置一个参数: parallel_adaptive_multi_user=true; 此时oracle会根据系统的资源使用情况,动态的进行调整。
未使用并行度效果:
对象上并行度使用效果对比
使用并行度使用并行度为6效果:
对象上并行度使用效果对比
对比总结:
1)并行度为1等同于没有并行度。 2)并行度并非越高越好,有时反而起反作用。 3)有并行度是没有并行度的几倍甚至几十倍,数据量越大效果越明显。

Oracle_Plsql个人学习笔记总结

Oracle_Plsql个人学习笔记总结

备注:以下是个人学习笔记总结,其实是本人容易忘记,工作中碰到的一些知识点,记录下来整理成笔记了,序号之间并不是按照某种类型划分的,都是随意的标记一下,希望对大家有所帮助。

昵称:阿杜笑傲江湖(其实就是个名字而已,并不江湖…)name:杜立鸿(不要冒充,万一哪天中奖了呢?)sex:爷们---------------------------废话不多说,GO,GO,Go……1.允许修改分区建(有时候分区键更新不了,需要以下这样处理,当然了分区键本来是不允许更新的,都得根据实际情况)alter table t1 enable row movement;2. 获取某一时间最近的时间sqlselect *from t_datetime twhere t.f_time - to_date('2018-09-06 10:10:00','yyyy-mm-ddhh24:mi:ss') =(select min(t.f_time - to_date('2018-09-06 10:10:00','yyyy-mm-ddhh24:mi:ss'))from t_datetime t);3. 1.创建一个object类型的数据库类型对象。

表示学生实体类型。

(注意:此类型必须定义为数据库对象级别的类型,而不能定义成包、函数级别的类型。

否则,函数外部代码是无法识别该类型的)。

CREATE OR REPLACE TYPE student_obj_type AS OBJECT(stu_no NUMBER, --学号stu_name VARCHAR2(255), --姓名stu_sex VARCHAR2(2),--性别score NUMBER--成绩);4.创建一个嵌套表类型的数据库类型对象。

表示学生实体集合类型。

该类型也将用作函数中定义的返回类型。

(注意:此类型必须定义为数据库对象级别的类型,而不能定义成包、函数级别的类型。

Oracle基础必学知识点

Oracle基础必学知识点

Oracle基础必学知识点1. 数据库概念:Oracle是一种关系型数据库管理系统(RDBMS),用于存储和管理大量结构化数据。

它支持SQL语言,可以通过SQL语句进行数据查询、插入、更新和删除操作。

2. 数据库对象:Oracle数据库由多个对象组成,包括表、视图、索引、序列、存储过程等。

这些对象用于存储和处理数据,可以通过SQL语句进行操作。

3. 数据类型:Oracle支持多种数据类型,包括数字、字符、日期、大对象(LOB)等。

不同的数据类型用于存储不同类型的数据,可以根据需求选择合适的数据类型。

4. 表操作:在Oracle中,表用于存储数据。

可以使用CREATE TABLE语句创建表,使用INSERT语句插入数据,使用SELECT语句查询数据,使用UPDATE语句更新数据,使用DELETE语句删除数据。

5. 索引:索引是一种用于提高查询性能的数据结构。

在Oracle中,可以使用CREATE INDEX语句创建索引,通过索引可以快速定位到需要查询的数据,提高查询效率。

6. 数据约束:数据约束是用于保证数据的完整性和有效性的规则。

在Oracle中,可以使用约束来限制数据的取值范围、保证数据的唯一性等。

常见的约束类型包括主键约束、外键约束、唯一约束、非空约束等。

7. 视图:视图是一种虚拟表,它是从一个或多个表中获取数据的查询结果。

在Oracle中,可以使用CREATE VIEW语句创建视图,通过视图可以简化复杂的查询操作,提高数据的安全性。

8. 存储过程:存储过程是一组预先编译的SQL语句,存储在数据库中,并可以通过调用来执行。

在Oracle中,可以使用CREATE PROCEDURE语句创建存储过程,通过存储过程可以实现复杂的数据处理逻辑。

9. 事务控制:事务是一组逻辑操作,要么全部执行成功,要么全部回滚。

在Oracle中,可以使用BEGIN/END语句或者显式的事务语句(如COMMIT和ROLLBACK)来控制事务的提交或回滚。

oracle中的INTERVAL函数解析学习笔记

oracle中的INTERVAL函数解析学习笔记

oracle中的INTERVAL函数解析学习笔记1. 简单层次解析:select sysdate - interval '10' day as "10天前",sysdate - interval '10' hour as "10⼩时前",sysdate - interval '10' minute as "10分钟前",sysdate - interval '10' second as "10秒钟前",sysdate - 10 as "10天前",sysdate - 10 / 24 as "10⼩时前",sysdate - 10 / (24 * 60) as "10分钟前",sysdate - 10 / (24 * 3600) as "10秒钟前"from dual;这⾥的 interval表⽰某段时间,格式是: interval '时间' <day/hour/minute/second> ;例如 interval '10' day 表⽰10天2. 深层次解析:INTERVAL YEAR TO MONTH数据类型Oracle语法:INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO {YEAR | MONTH}]该数据类型常⽤来表⽰⼀段时间差, 注意时间差只精确到年和⽉. precision为年或⽉的精确域, 有效范围是0到9, 默认值为2.eg:INTERVAL '123-2' YEAR(3) TO MONTH表⽰: 123年2个⽉, "YEAR(3)" 表⽰年的精度为3, 可见"123"刚好为3为有效数值, 如果该处YEAR(n), n<3就会出错, 注意默认是2.INTERVAL '123' YEAR(3)表⽰: 123年0个⽉INTERVAL '300' MONTH(3)表⽰: 300个⽉, 注意该处MONTH的精度是3啊.INTERVAL '4' YEAR表⽰: 4年, 同 INTERVAL '4-0' YEAR TO MONTH 是⼀样的INTERVAL '50' MONTH表⽰: 50个⽉, 同 INTERVAL '4-2' YEAR TO MONTH 是⼀样INTERVAL '123' YEAR表⽰: 该处表⽰有错误, 123精度是3了, 但系统默认是2, 所以该处应该写成 INTERVAL '123' YEAR(3) 或"3"改成⼤于3⼩于等于9的数值都可以的INTERVAL '5-3' YEAR TO MONTH + INTERVAL '20' MONTH =INTERVAL '6-11' YEAR TO MONTH表⽰: 5年3个⽉ + 20个⽉ = 6年11个⽉3. ⽇常应⽤案例:查询5年内的订单信息select from oe.orders where order_date < (SYSDATE - INTERVAL '5' YEAR )。

Oracle数据库学习笔记_oracle之addconstraint方法添加约束

Oracle数据库学习笔记_oracle之addconstraint方法添加约束

Oracle数据库学习笔记_oracle之addconstraint⽅法添加约束add constraint ⽅法在已经存在的列名添加约束,语法格式如下:alter table 表名 add constraint 约束名称约束类型(列名)具体⽤法如下:1.主键约束:列被约束为(⾮空、不重复)格式:alter table 表格名称 add constraint 约束名称 primary key (列名)例⼦:alter table emp add constraint ppp primary key (id);2.外键约束:列被约束为引⽤其他表的主键格式:alter table 表名 add constraint 约束名称 foreign key (列名) references 被引⽤的表名称(列名)例⼦:alter table emp add constraint jfkdsj foreign key (did) references dept (id);3.unique约束:列被约束为(不重复)格式:alter table 表名 add constraint 约束名称 unique(列名)例⼦:alter table emp add constraint qwe unique(ename);4.默认约束:让此列的数据默认为⼀定的数据格式:alter table 表名称 add constraint 约束名称 default 默认值 for 列名例⼦:alter table emp add constraint jfsd default 10000 for gongzi;5.check约束:列的数据范围被限制格式:alter table 表名称 add constraint 约束名称 check (列名)例⼦:alter table emp add constraint abcd check(age>20); --例如,年龄列的数据都要⼤于20的。

韩顺平老师oracle视频教程听课笔记

韩顺平老师oracle视频教程听课笔记

韩顺平老师 oracle教程笔记1.Oracle认证,与其它数据库比较,安装Oracle安装会自动的生成sys用户和system用户:(1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install (2)system用户是管理操作员,权限也很大。

具有sysoper角色,没有create database的权限,默认的密码是manager (3)一般讲,对数据库维护,使用system用户登录就可以拉也就是说sys和system这两个用户最大的区别是在于有没有create database的权限。

2.Oracle的基本使用--基本命令sql*plus的常用命令连接命令1.conn[ect]用法:conn 用户名/密码@网络服务名[as sysdba/sysoper]当用特权用户身份连接时,必须带上as sysdba或是as sysoper 2.disc[onnect]说明: 该命令用来断开与当前数据库的连接3.psssw[ord]说明: 该命令用于修改用户的密码,如果要想修改其它用户的密码,需要用sys/system登录。

4.show user说明: 显示当前用户名5.exit说明: 该命令会断开与数据库的连接,同时会退出sql*plus文件操作命令1.start和@说明: 运行sql脚本案例: sql>@ d:\a.sql或是sql>start d:\a.sql2.edit说明: 该命令可以编辑指定的sql脚本案例: sql>edit d:\a.sql,这样会把d:\a.sql这个文件打开3.spool说明: 该命令可以将sql*plus屏幕上的内容输出到指定文件中去。

案例: sql>spool d:\b.sql 并输入 sql>spool off交互式命令1.&说明:可以替代变量,而该变量在执行时,需要用户输入。

Oracle分析函数笔记

Oracle分析函数笔记

Oracle分析函数Oracle分析函数实际上操作对象是查询出的数据集,也就是说不需二次查询数据库,实际上就是oracle实现了一些我们自身需要编码实现的统计功能,对于简化开发工作量有很大的帮助,特别在开发第三方报表软件时是非常有帮助的。

Oracle从8.1.6开始提供分析函数。

一、基本语法oracle分析函数的语法:function_name(arg1,arg2,...)over(<partition-clause> <order-by-clause ><windowing clause>)说明:1.partition-clause 数据记录集分组2.order-by-clause 数据记录集排序3.windowing clause 功能非常强大、比较复杂,定义分析函数在操作行的集合。

有三种开窗方式: range、row、specifying。

二、常用分析函数1. avg(distinct|all expression) 计算组内平均值,distinct 可去除组内重复数据select deptno,empno,sal,avg(sal) over (partition by deptno) avg_sal from t;DEPTNO EMPNO SAL AVG_SAL---------- ---------- ---------- ----------10 7782 2450 2916.666677839 5000 2916.666677934 1300 2916.6666720 7566 2975 21757902 3000 21757876 1100 21757369 800 21757788 3000 217530 7521 1250 1566.666677844 1500 1566.666677499 1600 1566.666677900 950 1566.666677698 2850 1566.666677654 1250 1566.666672.count(<distinct><*><expression>) 对组内数据进行计数3.rank() 和dense_rank()rank()根据 order by 子句表达式的值,从查询返回的每一行,计算和其他行的相对位置,序号从 1 开始,有重复值时序号不跳号。

OracleERP表结构整理 笔记

OracleERP表结构整理 笔记

商退款的信息,记录中的每一行都记录着 供应商付பைடு நூலகம்或供应商退款 check_id --支付ID vendor_id --供应商ID
表名:ra_customer_trx_all 说明:应收发票--应收事物处理表 CUSTOMER_TRX_ID 发票编号 BILL_TO_SITE_USE_ID 客户收单方编号 PRIMARY_SALES_ID销售员 cust_trx_type_id batch_id
表名:xla_transaction_entities 说明:事物处理 source_id_int_1 --和发票ID,支
source_id_int_1 --和发票ID,支 付ID关联 vendor_id --供应商ID entity_id --实体ID application_id --应用ID
(总账模 GL模块 块)
表名:gl_import_references 说明: je_header_id gl_sl_link_id je_line_num
表名:xla_ae_lines 说明:子分类帐行 ae_header_id --头ID
表名:gl_je_headers 说明: 日记账头信息 je_header_id ---日记帐题头定义列。
FND_ID_F LEX_STRU CTURES 属于应用 产品对象 库。
在 GL_BALAN CES 表和 GLJE_LINES 表之间存 在一对多 关系。但 是,在其 它表之间 没有直接 的关系。
分类帐表
帐题头定义列。 帐类别,如调整。 记帐题头所关联的日记帐批标
--汇率类型 --汇率日期
JE_SOURCES --凭证类型
用于存储 币种、日 历和科目 表信息的 主表包 括: • FND_CURR ENCIES • GL_PERIO D_SETS • GL_PERIO DS • GL_PERIO D_STATUS ES • GL_PERIO D_TYPE • FND_ID_F LEX_STRU CTURES • GL_LEDGE RS • GL_CODE_ COMBINAT IONS FND_CURR ENCIES 和

Oracle 学习笔记

Oracle 学习笔记

Oracle数据库→表空间→用户→表表空间:包含表、视图、索引段:包含数据段、索引段、回退段、临时段数据块:是Oracle中最小的逻辑存储单元创建表空间:create tablespace rootspacedatafile 'rootfile' size 1000mautoextend on创建用户:create user root用户名rootidentified by root 密码rootdefault tablespace rootspace 默认表空间rootspacetemporary tablespace temp 临时表空间tempCREATE USER usernameIDENTIFIED BY password[DEFAULT TABLESPACE tablespace][TEMPORARY TABLESPACE tablespace];授予用户username【用户名】权限:·grant connect to username; CONNECT角色允许用户连接至数据库,并创建数据库对象·grant resource to username; RESOURCE角色允许用户使用数据库中的存储空间·grant create sequence to username; 此系统权限允许用户在当前模式中创建序列,此权限包含在CONNECT角色中·grant select on test to username; 允许用户查询 TEST 表的记录·grant update on test to username; 允许用户更新 TEST 表中的记录·grant all on test to username; 允许用户插入、删除、更新和查询TEST 表中的记录·alter user username identified by newpassword;用于修改用户口令·drop user username cascade; 删除用户撤销用户权限:Revoke connect from username;设置显示行长度:Set linesize 12;伪列rownum:Select rownum,name from table;………………………………>Rownum name1 haha2 xxxx--创建表tb_stucreate table tb_stu(stu_id char(12) primary key,stu_name varchar(50) not null,sex varchar(5),birthday date)--查询表tb_stuselect * from tb_stu;--在表中插入tb_stu记录insert into tb_stu(stu_id,stu_name,sex,birthday) values('123456789012','李四','男',to_date('2009-9-9','yyyy-mm-dd'));--事务提交commit;--事务回滚rollback;--根据stu_name查询所有信息select * from tb_stu where stu_name='田七'--根据stu_id删除一条记录delete from tb_stu where stu_id=123456789015--根据stu_id修改一条记录update tb_stu set sex='女',stu_name='梁朝伟'where stu_id='123456789013';--to_date 修改存入数据库中日期的格式update tb_stu set birthday=to_date('2009-10-5','yyyy-mm-dd') wherestu_id='123456789014'--to_date 查询数据库中日期按指定格式输出select* from tb_stu where birthday between(to_date('2009-10-1','yyyy-mm-dd')) and (to_date('2009-12-1','yyyy-mm-dd'))--虚列 rownum 数据库中实际并不存在对符合条件的查询结果的编号select rownum,stu_id,stu_name,sex,birthday from tb_stu where sex='男';--在查询结果中进行查询select * from (select rownum rn,stu_id,stu_name,sex,birthday from tb_stu where sex='男') where rn<3;--创建表tb_employeecreate table tb_employee(em_id number primary key,em_name varchar(50) not null,sex varchar(2),birthday date,sal number(20,2))--向表tb_employee中插入数据insert into tb_employee values(1,'梁朝伟','男',sysdate,11000000);--按字段升序排列(默认的为升序)select * from tb_employee where sal>200order by sal asc--按字段升序排列select * from tb_employee where sal>200order by sal desc--取别名:将查询的字段按一个特定的字段名输出select em_name,((sal-2000)*0.2) 税收from tb_employee where sal>2000;--联合字段,将查询出的多个字段或者是字符串连接在一起,以一个字段输出,用“||”连接select em_name||'的应该缴税: '||((sal-2000)*0.2) as税收from tb_employee where sal>2000order by税收desc;--将em_name为“梁朝伟”的记录的birthday字段,按指定的日期格式进行修改update tb_employee set birthday=to_date('1969-1-1','yyyy-dd-mm') where em_name='梁朝伟';--查询birthday字段不为当前系统时间并且不为空的值--不等于的三种书写方式(!=,^=,<>)select * from tb_employee whereto_char(birthday,'yyyy')^=to_char(sysdate,'yyyy');-- or 连接的多条件“或”查询select * from tb_employee where birthday is null or em_id=1;--between 3 and 5 查询条件为:大于等于3同时小于等于5select * from tb_employee where em_id not between3and5;--查询条件为:大于其中任意一个(只要大于其中的某一个就为满足条件)select * from tb_employee where em_id > any(1,3,5);--查询条件为:小于其中所有的(只有比括号中所有的数字都小才为满足条件)select * from tb_employee where em_id < all(3,5);--下划线表示任意的以个字符select * from tb_employee where em_name like'周__';-- % 表示任意多个字符select * from tb_employee where birthday like'%';--快速创建和tb_stu相同的表结构的表tb_stu_temp1create table tb_stu_temp1as select * from tb_stu where1=2;--将表tb_stu按条件查询的结果插入表tb_stu_temp1中insert into tb_stu_temp1(select * from tb_stu);--查询所有的表select * from tab ;--根据表名查询表select * from tab where tname='tb_stu';如果2个表达式主键管理的:主表——子表先插入主表的数据,然后子表删除:先删从表数据,然后主表。

ORACLE EBS 11.5.10 学习笔记( 系统安装篇)

ORACLE EBS 11.5.10 学习笔记( 系统安装篇)

ORACLE EBS 11.5.10 学习笔记(系统安装篇)作者:MIRRORZPM@Oracle EBS 11.5.10 学习笔记(系统安装篇)目录前言第一章硬件准备第二章软件准备第三章11.5.10 For Linux 安装第四章安装后的维护和问题解决附件:11.5.10 For Windows 安装失败经验谈ORACLE EBS 11.5.10 学习笔记(系统安装篇)作者:MIRRORZPM@前言从去年十月份对ERP 行业感兴趣开始,我就利用业余时间学习ERP 的方面的知识,我本身是做Oracle 开发和DBA 的,所以自然而然比较专注Oracle EBS 的学习,一直想找个Oracle EBS 软件,搭建一个学习环境。

后来终于在网上找到了Oracle EBS 11i 下载地址。

速度不错,利用4 天时间下载了11.5.10 for linux 和for windows 版本,并刻成光盘。

准备将两种版本都安装一下,学习学习安装经验。

直到昨天我才真正安装上了11.5.10 For Linux 版本,并打上了中文Patch. 然后想把自己安装11i 的一些笔记和经验整理一下,安装的时候,遇到很多的问题,都是随手一记,现在汇总起来,发觉遇到的问题还挺多,而且有好多在网上很难查到,相信各位安装过11i 的朋友有会遇到不少问题,而且很多是不同的问题。

于是我就想把自己的安装笔记和安装问题的心得,整理的比较正规一些放到网上与大家分享,不仅是安装,在我今后学习11i 的时候,我都会记录自己的学习经验和笔记,有时间就整理出来,然后放到网上,也希望各位在学习中也整理出自己的经验和笔记来让大家共享。

有不正确之处,请指出,共勉!在此非常感谢网上的那些无私奉献资料的朋友和itpub 上的各位朋友主要的一些参考资料:oracle erp 11_5_9 on redhat as3u1 系统安装手册.pdfOracle Application1155 Installation for Win2k.pdforacle applications installation update notes release 11i for linux x86 (11.5.10).pdf Oracle&reg; ApplicationsMaintenance ProceduresRelease 11i (11.510)Oracle&reg; ApplicationsMaintenance UtilitiesRelease 11i (11.5.10)Installing Oracle Applications: A Guide to Using Rapid Install Release 11i (11.5.10) ORACLE EBS 11.5.10 学习笔记(系统安装篇)作者:MIRRORZPM@第一章硬件准备这么大的软件,原先的老机器肯定带不动了,而且老主板还不认大容量硬盘,没办法,一狠心,除外设,显示器,机箱外,全都换了一遍。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle笔记一、了解oracle二、Oracle的安装三、启动oracle:(1)、使用oracle中自带的sql*plus工具进入oracle。

(2)、利用sqlplus和sqlplusw打开oracle。

(3)、使用sql/pl developer进入oracle.(4)、使用oracle企业管理器四、常用sql*plus命令:(1)、连接数据库: conn (ect) 用户名/密码@网络服务名(数据库名) (as sysdba/sysoper);例如:conn scott/tiger;(2)、退出:exit;(3)、运行sql脚本: start 脚本地址。

例如:start d:\test.sql;(4)、修改sql脚本: edit 脚本地址。

(5)、截取屏幕代码spool,例如:spool d:\demo.txt…………….spool off;(6)、创建用户(以sysoper以上权限创建):create user 用户名identified by 密码;(7)、删除用户(以sysoper以上权限删除):drop user 用户名;(8)、修改用户密码:passw(ord)或alter user 用户名identified by 密码。

(9)、显示当前用户名:show user;(11)、断开数据库连接:disc(onnect);(12)、行距与每页显示次数:set linesize(pagesize) 数目。

(13)、给予权限:grant connect(连接权限)/resource(在system中创建表权限)/dba(最高权限) to 用户名with admin(系统权限下传)/grant(对象权限下传) option ;(14)、收回权限:revoke conn(连接权限)/resource(在system中创建表权限)/dba(最高权限) from 用户名(15)、使用profile文件管理用户:限定用户登录次数:Create profile 文件名limit failed_login_attempts 3 password_lock_time 2;Alter user 用户名profile 文件名用户解锁:Alter user 用户名account unlock;终止口令:Create profile 文件名limit password_life_time 10 password_grace_time 2;Alter user用户名profile 文件名六、简单sql语句:(1)建表(也可利用pl/sql developer进行表创建):Create table 表名(属性1,属性2,属性3….);例如:create table student(stuName varchar2(20),age number(3));(2)、删除表:Delete * from 表名(此操作只是删除表中数据,并且数据库会进行写日志。

因此可以保存节点来进行恢复)Drop table 表名(删除表的数据和结构)Truncate table 表名(删除表中的数据,不写日志)(3)、保存节点及恢复节点信息:Savepoint 节点名;Rollback 节点名;(4)、变量介绍:数值型:number(个数,小数点位置):例如:number(5,2)范围为-999.99~999.99字符型:Char(),固定长度字符串,用户需要频繁搜索。

Varchar2(),可变长度字符串,节省存储空间。

Clob(),超大字符串。

时间日期:Date(),系统默认格式为dd-mm-yy,可以通过set nls_date_format来进行格式设定。

Timestamp(),时间戳,相比date()更精确,多用于银行等高精度的地方。

图片音乐存储:Glob()(5)、insert语句:Insert into 表名(属性1,属性2,属性3….) values (值1,值2,值3,….);例如:Insert into student (stuName,age) values(…zy‟,21);(6)、修改语句:Update 表名set 属性名=属性值where 条件;(7)、删除语句:Delete from 表名where 条件;(8)、查询语句:Select (属性1,属性2,属性3….) from 表名where 条件;(9)、为属性取别名:Select 属性1 别名,属性2 别名from 表名where 条件;(10)、取消重复列distinct:Select distinct 属性1,属性2 from 表名where 条件;(11)、查看表结构:Desc 表名;七、复杂查询(1)、使用算数表达式,例如:Select sal*13 "年薪"from emp;Select sal*13+nvl(comm,0)*13 "年收入" from emp;注:nvl()函数的意思为:若comm为null.则赋值为0,若不为null,则为原数。

(2)、null条件的查询:Select 属性1 from 表名where 属性is null( is not null);(3)、where中的like语句:%,匹配任意多个字符,_匹配任意单个字符例如,查询以s开头的姓名的人的名字;Select ename from emp where ename like 's%';(4)、where中使用in:例如:Select * from emp where sal in (2500,3000,3500);(5)、where中查询date数据;例如:Select * from emp where date>'日-月-年";注意:我们可以通过set nls_date_format来进行date数据的格式化,但是查询时,我们仍然需要用day-month-year的格式来进行查询。

(6)、条件连接符:and、or等八、复杂查询(2)(1)、select table1.ename,table1.sal,table2.dname from emp table1,dept table2 where table1.deptno=table2.deptno ;(2)、select table1.ename,table1.sal,table2.dname from emp table1,dept table2 where table1.deptno=table2.deptno and table1.deptno=10;(3)、select table1.ename,table1.sal,table2.dname from emp table1,dept table2 where table1.deptno=table2.deptno and table1.deptno=10;(4)、select table1.ename,table1.sal,table2.dname from emp table1,dept table2 where table1.deptno=table2.deptno order by table1.deptno;select a1.ename "员工",a2.ename "上级" from emp a1,emp a2 where a1.mgr=a2.empno;select ename from emp where deptno=(select deptno from emp where ename='SMITH');select a1.ename,a1.sal,a1.deptno from emp a1,(select job from emp where deptno=10) a2 where a1.job in a2.job;select ename,sal,deptno from emp where sal>(select max(sal) from emp where deptno=30);select ename,sal,deptno from emp where sal > all(select sal from emp where deptno=30);select ename,sal,deptno from emp where sal > any(select sal from emp where deptno=30);select ename,sal,deptno from emp where sal > (select min(sal) from emp where deptno=30);select * from emp table1,(select ename,job,deptno from emp where ename='SMITH') table2 where table1.job=table2.job and table1.deptno=table2.deptno;select * from emp where (job,deptno)=(select job,deptno from emp where ename='SMITH');select table1.ename,table1.sal,table1.deptno from emp table1,(select avg(sal) money,deptno from emp group by deptno) table2 where table1.sal>table2.money and table1.deptno=table2.deptno;select * from (select a1.*,rownum rn from (select * from emp) a1 where rownum<=10) a2 where a2.rn>=5;create table demo2 (id,empno,job) as (select empno,ename,job from emp);Union:select * from emp where deptno=20 union select * from emp where sal>=2500;Union all:(不去掉重复项)select * from emp where deptno=20 union all select * from emp where sal>=2500;Intersect:select * from emp where deptno=20 intersect select * from emp where sal>=2500;Minus:select * from emp where deptno=20 minus select * from emp where sal>=2500;九、创建数据库:使用DBCA来进行数据库的创建。

相关文档
最新文档