数据库oracle银行管理系统
银行核心系统介绍

提供账户管理、交易处理、风险 管理、信贷管理、资金清算等功 能,支持银行业务的日常运营和 管理。
重要性及应用领域
重要性
银行核心系统是银行业务运营的基础 ,其稳定性和安全性直接关系到银行 的正常运营和客户资金的安全。
应用领域
广泛应用于各类银行业务,包括对公 业务、零售业务、国际业务等。
发展趋势与挑战
银行核心系统介绍
目录 CONTENT
• 引言 • 银行核心系统概述 • 银行核心系统的组成 • 银行核心系统的技术架构 • 银行核心系统的业务流程 • 银行核心系统的未来发展
01
引言
主题简介
银行核心系统是银行业务运营的核心 ,涵盖了银行各项业务处理、风险管 理、客户关系管理等功能。
随着金融科技的不断发展,银行核心 系统也在不断升级和演进,以适应银 行业务的快速变化和日益增长的业务 需求。
电子支付
跨行转账
清算处理
外汇交易系统
外汇买卖
支持多种货币兑换。
外汇查询
提供实时外汇汇率查询。
外汇风险管理
提供外汇风险管理工具。
风险管理系统
01
02
03
信贷风险评估
对贷款客户进行风险评估。
市场风险监控
监控市场风险,及时预警。
操作风险管理
预防和纠正操作风险事件。
04
银行核心系统的技术架构
系统架构概述
详细描述
客户信息管理流程包括客户信息的收集、录入、审核、存储、更新和保护等环节 。银行通过这一流程确保客户信息的完整性和准确性,以支持各种银行业务的开 展,如账户开立、贷款申请、支付结算等。信贷业务流程总结词
信贷业务流程是银行核心系统中的关键环节,它涉及对借款人的信用评估、贷款审批、发放和回收等全过程的管 理。
银行计算机类试题及答案

银行计算机类试题及答案一、单项选择题(每题2分,共10分)1. 以下哪个选项是银行计算机系统中常用的数据库管理系统?A. Microsoft OfficeB. OracleC. Adobe PhotoshopD. QuickBooks答案:B2. 在银行计算机系统中,以下哪个术语与数据安全最相关?A. 客户服务B. 交易处理C. 加密算法D. 用户界面答案:C3. 银行计算机系统中,以下哪个选项是用于防止未经授权访问的措施?A. 数据备份B. 密码保护C. 系统升级D. 网络维护答案:B4. 以下哪个选项是银行计算机系统中的网络攻击类型?A. 社交工程B. 数据挖掘C. 系统分析D. 交易记录答案:A5. 在银行计算机系统中,以下哪个选项是用于提高交易效率的技术?A. 云计算B. 人工智能C. 机器学习D. 大数据分析答案:A二、多项选择题(每题3分,共15分)1. 银行计算机系统需要考虑哪些因素来确保数据的完整性和安全性?A. 定期的数据备份B. 访问控制C. 系统监控D. 定期的系统更新答案:ABCD2. 以下哪些措施可以提高银行计算机系统的稳定性和可靠性?A. 冗余系统设计B. 定期的系统维护C. 灾难恢复计划D. 系统性能监控答案:ABCD3. 在银行计算机系统中,以下哪些技术用于提高客户服务体验?A. 自动取款机(ATM)B. 移动银行应用C. 客户关系管理(CRM)系统D. 客户自助服务终端答案:ABCD4. 以下哪些是银行计算机系统常见的安全威胁?A. 恶意软件B. 身份盗窃C. 拒绝服务攻击(DoS)D. 内部欺诈答案:ABCD5. 银行计算机系统在处理交易时,以下哪些因素是重要的?A. 交易的实时性B. 交易的可追溯性C. 交易的不可篡改性D. 交易的匿名性答案:ABC三、判断题(每题1分,共5分)1. 银行计算机系统不需要考虑移动设备的安全问题。
(错误)2. 银行计算机系统应该定期进行安全审计以确保系统的安全性。
Oracle数据库

Oracle数据库Oracle数据库是管理数据的一种软件系统,它可以帮助用户快速地存储、管理和检索大量的数据。
Oracle数据库由Oracle公司开发,它是世界上最强大、最可靠的数据库之一,被广泛用于企业级应用程序和数据库管理系统。
一、Oracle数据库的基础知识1. 数据库结构Oracle数据库由一个或者多个表空间组成,每个表空间包含一组数据文件。
一个表空间可以包含多个数据文件,但一个数据文件只能属于一个表空间。
2. 数据库对象Oracle数据库中的每个数据对象都具有一个唯一的名称,例如表(table)、视图(view)、序列(sequence)、索引(index)和存储过程(procedure)等。
它们都被保存在表空间中的数据文件中。
3. SQL语言Oracle数据库主要使用SQL语言来处理数据,包括数据增删改查等常用操作。
二、Oracle数据库的特点1. 效率高Oracle数据库采用高效的管理和存储技术,可以快速访问和操作大量数据。
它具有高速的缓存机制,可以快速地执行查询和更新操作。
2. 可靠性强Oracle数据库拥有高度稳定的系统架构和自动维护机制,可以保证数据的安全性和可靠性。
它可以实现多重备份,在数据发生意外错误时可以快速恢复。
3. Heterogeneous ConnectOracle数据库可以通过网络协议和连接程序实现异构连接,支持其它数据库软件,如MS SQL Server、IBM DB2等。
4. 扩展性强Oracle数据库可扩展性强,可以设计和构建分布式系统,支持跨平台分布式数据库。
5. 多功能性Oracle数据库提供多种功能,包括多种语言的支持,丰富的安全控制和数据库监视等。
6. 可伸缩性Oracle数据库可以支持大量的并发用户,可以处理多种不同的应用程序。
三、Oracle数据库的应用领域Oracle数据库被广泛应用于企业级应用程序和数据库管理系统,主要应用于以下几个领域:1. 金融领域Oracle数据库被广泛用于金融事务处理系统,包括银行、证券、保险和期货等金融机构的资金结算和清算等数据处理。
商业银行系统架构

商业银行系统架构商业银行系统架构是指商业银行在运营过程中使用的技术和软件体系结构。
这个系统架构提供了一种框架,用于管理银行的核心业务流程,包括客户管理、账户管理、贷款和存款管理、支付和结算等。
下面是商业银行系统架构的详细解析。
一、总体概述2.账户管理模块:用于管理客户的账户信息,包括开户、销户、账户余额查询、账户交易明细等。
3.贷款和存款管理模块:用于管理银行的贷款和存款业务,包括贷款申请、贷款审批、存款利率管理等。
4.支付和结算模块:用于处理客户的支付和结算业务,包括内部转账、跨行支付、电子商务支付等。
5.风险管理模块:用于管理银行的风险控制和监测,包括信用风险、市场风险、操作风险等。
6.报表和统计模块:用于生成各类报表和统计数据,包括资产负债表、利润表、客户分析报告等。
二、系统架构设计1.可伸缩性:系统应能够扩展以适应不断增长的用户数量和业务规模。
2.可靠性:系统应具备高可用性,能够提供24/7的服务,并具备故障恢复和灾备能力。
3.安全性:系统应具备强大的安全机制,包括身份认证、访问控制、数据加密等,以保护客户的资金和敏感信息。
4.效率和性能:系统应具备高性能和高效率,以支持快速的交易处理和查询响应。
5.可扩展性:系统应能够灵活地集成第三方系统和服务,以满足不同的业务需求。
1.用户界面层:提供给客户和银行员工使用的前端界面,包括网上银行、移动银行、ATM机等。
2.应用层:负责业务流程的处理和逻辑控制,其中包括各个业务模块的实现。
3.数据层:负责存储和管理银行的数据,包括客户信息、账户信息、交易记录等。
4.基础设施层:提供支持系统运行的基础设施,包括服务器、网络、数据库、安全设备等。
三、技术和软件1. 数据库管理系统:用于存储和管理银行的数据,包括关系型数据库(如Oracle、MySQL)和非关系型数据库(如MongoDB、Redis)。
2. 服务端框架:负责处理请求和响应,包括Web服务框架(如Spring MVC)和分布式服务框架(如Dubbo)。
Oracle银行财务管理系统发布14.4.0.0.0版本说明书

Development Workbench - Notifications Oracle Banking Treasury ManagementRelease 14.4.0.0.0[April] [2020]Contents1Preface (3)1.1Audience (3)2Introduction (3)How to use this Guide (3)3Notification – Getting started (4)3.1What is Notification (4)3.2Notification Trigger (4)4Notification Development (4)4.1Pre-request for Notification development and testing (4)4.2Notification specification (5)4.3Notification XML development (5)4.4Notification Process (5)4.5Development process in Development Workbench (5)4.6Notification Trigger (6)4.7Notifications (12)5Deploy Notification (18)5.1Notification - Workbench related deployment (18)5.2Notification Trigger deployment (18)6Test Notification (18)6.1Notification flow (19)6.2Scheduler based notification (19)6.3MDB based notification flow (20)6.4Triggering notification and testing (21)1PrefaceThis document describes the steps to develop the notification XML and notification trigger using Oracle FLEXCUBE Development Workbench for Universal Banking.1.1AudienceThe Development Workbench Notification Development book is intended for theFLEXCUBE Application Developers who perform the following tasks:▪Develop new Notification2IntroductionHow to use this GuideThe information in this guide includes:▪Chapter 3, “Introduction”▪Chapter 4, “Notification - Getting started”▪Chapter 5, “Notification Development”▪Chapt er 6, “Deploy Notification”▪Chapt er 7, “Test Notification”3 Notification – Getting started3.1 What is NotificationNotification framework in FLEXCUBE UBS is used to communicate the business event happened in FLEXCUBE UBS to external systems. Depending upon the event, the XML message is pushed to external system ’s asynchronous Queues for their consumption.3.2 Notification TriggerNotification Triggers is developed to recognize the event and then invoke the notification process. This trigger is developed using Development Workbench. 4 Notification Development4.1 Pre-request for Notification development and testingFollowing are pre-request for notification development:∙ Target FLEXCUBE Environment with Notification framework installed ∙ Development Workbench link mapped to the FLEXCUBE environment ∙ Required Query Web services developed and testedFig 5.1.1: Development of NotificationsPrepare Specification DevelopNotification XML in WorkbenchDevelopNotification Trigger in Workbench Deploy the units in Target Test Notification4.2Notification specificationIdentify the notification requirement as below∙What is the Notification function ID name for RAD XML (Third character should be N)?∙What is the Notification code?∙What is the Base table in FLEXCUBE UBS that triggers the notification?o What operation at base table triggers (insert/update/delete)?o What is the where clause for filter?∙What is the query Web service to be used?o What is the operation?o What are the tags required?Example;∙Notification function ID name –STNCUMOD∙Notification code –NOTIF_CA_CUSTACC_MOD∙Base table - STTM_CUST_ACCOUNTo Operation –DELETEo Filter –Account class type in ( S , U )∙Web service to be used –FCUBSAccServiceo Operation –QueryCustAcco Request node –Cust-Account-IO4.3Notification XML developmentNotification RAD XML development creates the following files:∙RAD XML∙SPC∙SQL∙Static Data4.4Notification ProcessThere will be one trigger for the base table of notification and in case of multiplenotifications sharing the same base table, there will be no new triggers created. Instead the same trigger created on the base table will be reused. This approach reduces the number of triggers being used for notifications.4.5Development process in Development WorkbenchThe notification development process in Workbench is split into two steps:1.Notification Triggers2.Notification Filter ProcedureThe first step is to create notification triggers for base tables. The trigger generated from Workbench will be inserting key details into a static notification log table. The following details will be captured:∙Trigger code: A unique value to for a notification trigger.∙Base Table: The base table on which, the trigger is built.∙When Clause: A simple when clause for the notification trigger.The second step is to capture details of notifications and generate the notification filter procedure. The following details are captured:∙Notification code: A unique value to identify a notification.∙Description: Meaningful description of the notification.∙Gateway Service:4.6Notification TriggerAfter successful login to Development Workbench click on Notification Trigger option in the tree as shown below:Fig 4.6.1: Notification triggerFig 4.6.2: Notification trigger optionsNotification Trigger we have two options - Add a new Trigger or Modify Existing one. New:Fig 4.6.3: Notification trigger: New optionTrigger Code: A unique value to for a notification trigger. Follow the naming conversion it should start with TRG_XXXX.This is mandatory field. This attribute signifies the trigger code created as part of trigger creation step in OTD. Each notification will be linked to a trigger code.Description : Information field. Meaningful description of Trigger is to be given.Firing Time : Specify when trigger needs to fired. We can create only BEFORE and AFTER triggers for tables. (INSTEAD OF triggers are only available for views; typically they are used to implement view updates.) (After/Before). Each Record: specify for each row required or not. If FOR EACH ROW option is specified, the trigger is row-level; otherwise, the trigger is statement-level. (Yes/No)Base Table: The base table on which, the trigger is built. This is mandatory field. Select a valid table from available LOV next to the field.Pk Cols: Enter Primary key fields of table in tilde (~) separated format. This is mandatory field.Pk Types: Enter Primary key type of the corresponding primary key field. This is mandatory field.Selected Columns and Data Types: DefunctTrigger When Clause: A simple when clause for the notification trigger. A trigger restriction can be specified in the WHEN clause, enclosed by parentheses. The trigger restriction is a SQL condition that must be satisfied in order for Oracle to fire the trigger. This condition cannot contain sub queries. Without the WHEN clause, the trigger is fired for each row.Notification Codes: If the trigger is associated with a specific notification code, then the particular notification code has to be provided in the field. If the trigger is shared across many Notifications, field can be left emptyFig 4.6.4: Notification trigger: GenerationOn successful save Notification Trigger will generate two files (gwtr#_<trg-code>.trg and GWTM_NOTIFICATION_TRIGGERS__<trg-code>.INC) user needs to compile them in FLEXCUBE schema.Modify:Fig 4.6.5: Notification trigger: ModificationFig 4.6.6: Notification trigger: Modification- Selecting Trigger nameFig 4.6.7: Notification trigger: Modification- Entering valuesFig 4.6.8: Notification trigger: Modification- Entering valuesFig 4.6.9: Notification trigger: Modification- Successful Generation4.7NotificationsNotifications Screen will be used to create new notification or modify existingnotification; here we capture notification information for notification codes. We savenotification details into xml.Fig 4.7.1: Notification ScreenAction:. We can choose either new or Load action. New to create a new notification and Load is used to modify the existing one.Save Xml Path: Specify the path to save notification xml. This would be considered only if the Save Mode is Client and Work Directory is specified as $CURRENT_DIRECTORY Notification Function: Specify the notification function-id name.Conventions:Maximum 8 chars. 3rd letter must be ‘N’.Example: FTNCONONNotification Code: Enter the notification code to which we need to capture values. This is Mandatory field.Recommended Convention for Notification Codes:NOTIF_<Module Code>_<Description>Example:NOTIF_LD_CONTRACTThis is the notification indicating that a LD contract has been created/modified Description: Information field. Meaningful description of the Notification has to be provided in the fieldModule: This attribute signifies the module on which the notification is based.Module Description: Information field. Module Description which would be defaulted from Module LOVNotification XSD: Notification XSD name will have to be provided in the corresponding Field. Naming convention to be followed while naming Notification XSD is as follows [Module Name] – [Notification Description] – Notif.xsdExample: FT-Contract-Notif.xsdNotification XSD has to be provided only if no Gateway Web Service Query Operation is configured to the NotificationBase Table: Select the base table on which trigger needs to be applied.Firing Time: Indicates the Operation on the base Table for which Notifications has to be sent. Options available are Insert, Update or BothFilter Type: This attribute can take the following values.1.Where clause2.Plsql blockPk Cols: Enter Primary key columns of the Base Table.Pk Types: Enter Primary key field Data Types.Provide details of Gateway Service, Operation, Type XSD Name and Full Screen Reply if a Query Web Service has to be mapped to the NotificationGateway Operation: The gateway operation name to execute query for the mentioned Service.Gateway Service: The gateway service to be used to get the full screen response. Gateway IO Request: The gateway IO request node to be used in querying operation.Type XSD Name: This field has to be entered if Notification is mapped to a Service and Request. Name of the Master Type XSD for the service and operation has to be provided here. This can be found in include portion of the Request Msg XSD of particular Service-OperationExample: LC-Contract-Types.xsdFull screen Reply: This attribute decides whether full screen or primary key notification response to be sent. This is applicable only if gateway Service details are providedHO only: This attribute is used to send notification only from head office.Filter Logic: The filter logic which decides whether the notification needs to be sent or not. This can be a simple where-clause on base table or a complex pl/sql block.Web service Tags: The columns selected from base table as part of web service tags, will be used to send the full screen notification response. These tags defines the elements of Notification Xml when no Query service is mapped to it:Fig 4.7.2: Notification Screen generationFig 4.7.3: Notification Screen Generation SuccessfulModifying an Existing Notification RADXMLThe process of modifying an existing Notification RADXML is illustrated in the images belowFig 4.7.4: Notification Screen LoadingFig 4.7.5: Notification Screen LoadedFig 4.7.6: Notification Screen Loaded and Modified5Deploy Notification5.1Notification - Workbench related deploymentCompile the following files in Target FLEXCUBE UBS Database schema•Notification Main Package generated from ODT•Hook Packages•GWTM_NOTIFICATION_TAG_MAP___<Notification Function ID>_.INC •GWTM_NOTIFICATIONS_MASTER___<Notification Function ID>_.INC 5.2Notification Trigger deploymentCompile the following files in Target FLEXCUBE UBS Database schema•GWTM_NOTIFICATION_TRIGGERS__TRIG_CONTRACT.INC•GWTR#_TRIG_CONTRACT.TRG6Test NotificationThis section explains the run time notification flow and testing steps.6.1Notification flowThe notification process occurs as two parts:1.Oracle JOBs created using FCJ Scheduler framework that sends data required fornotification to an internal JMS queue.2.Gateway MBD that lists on internal JMS queue, that picks the notification XMLs andprepare full web service response and send to external system queues.6.2Scheduler based notificationThe Notification Process in FLEXCUBE can be done using the jobs scheduler as follows: The trigger generated from Workbench will be inserting key details into a staticnotification log (STTB_NOTIFICATION)Once Job is triggered, a request is sent to EJB layer from job execution class and thenotification log table will be polled for unprocessed records.Each unprocessed record is locked.The record is verified against the notification maintenance and checked whethernotification is to be sent or not.If notification is to be sent, pre notification message xml is built and it is sent to internal NOTIFY_QUEUE(JMS queue) configured in Gateway layer.The job is then rescheduled to fire next time based on the previous execution.Refer Gateway Installation documents on how to setup the Queues.Flow Chart for Notification Flow in Scheduler6.3MDB based notification flowNotification processes in MDB are as follows:1.Notification MDB listens on the internal NOTIFY_QUEUE(JMS queue)2.On any message received, the MDB identifies which schema to connect using theJNDI name being present as part of the message xml.3.Gateway notification processing package is called from MDB to build notifications.4.In MDB, the notifications built is processed and sent to the destination specified incorresponding notification.5.In case of exception the transaction is rolled back.6.If all notifications are successfully processed, transaction is committed.Flow Chart for Notification Flow in MDB6.4Triggering notification and testingFollow the below steps to test notification:∙Simulate a case where base table under goes data change.∙Check record populated at STTB_NOTIFICATION table∙Check Notification messageGWTBS_NOTIFICATIONS_LOG.NOTIFICATION_MESSAGE21 Development Workbench - Notifications22Development Workbench - Notifications Development Workbench - Notifications [April ] [2020] Version 14.4.0.0.0Oracle Financial Services Software Limited Oracle Park Off Western Express Highway Goregaon (East) Mumbai, Maharashtra 400 063 IndiaWorldwide Inquiries: Phone: +91 22 6718 3000 Fax:+91 22 6718 3001 /financialservices/Copyright © 2007, 2020, Oracle and/or its affiliates. All rights reserved.Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate failsafe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.This software or hardware and documentation may provide access to or information on content, products and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.。
数据库实训报告参考文献

一、引言数据库实训是计算机专业学生学习数据库技术的重要环节,通过实训,学生可以加深对数据库理论知识的理解,提高实际操作能力。
为了更好地完成实训报告,以下列出了一些数据库实训的相关参考文献,供同学们参考。
二、数据库基本原理与设计1. 《数据库系统概念》(原书第五版)作者:[美] Abraham Silberschatz,Henry F. Korth,S. Sudarshan本书详细介绍了数据库的基本概念、原理、技术和应用,是数据库领域的经典教材。
2. 《数据库系统原理与应用》作者:蔡自兴,李立华本书系统地介绍了数据库的基本原理、设计方法、应用技术等,内容丰富,适合数据库初学者。
3. 《数据库原理与应用》作者:杨洪涛,李艳本书以SQL Server数据库为例,详细介绍了数据库的原理、设计方法、操作技术等,适合数据库初学者。
4. 《数据库系统设计》作者:张耕,张剑本书系统地介绍了数据库系统设计的基本理论、方法和工具,适合数据库设计人员。
三、SQL语言与数据库操作1. 《SQL Server数据库编程艺术》作者:[美] Itzik Ben-Gan本书深入讲解了SQL Server数据库编程技术,包括高级查询、存储过程、触发器等。
2. 《SQL基础教程》作者:[美] Eric R. Jorgensen本书以通俗易懂的语言介绍了SQL语言的基本语法、查询、数据操作等,适合SQL初学者。
3. 《MySQL必知必会》作者:[美] Ben Forta本书全面介绍了MySQL数据库的基本操作、高级特性、安全性等,适合MySQL数据库初学者。
4. 《SQL Server 2008数据库教程》作者:[美] John L. Viescas,Michael J. Swart本书详细讲解了SQL Server 2008数据库的安装、配置、管理、查询等,适合SQL Server数据库初学者。
四、数据库设计工具与软件1. 《PowerDesigner数据库设计与应用》作者:李立华,杨洪涛本书介绍了PowerDesigner数据库设计工具的使用方法,包括ER图设计、数据库迁移等。
oracle总结

oracle总结Oracle是一种关系型数据库管理系统(RDBMS),由Oracle公司开发和发布。
它具有强大的功能和广泛的应用领域,在企业数据管理中有着重要的地位。
本文将总结Oracle的主要特点、优点和应用场景,并对其未来发展进行展望。
首先,Oracle具有以下主要特点:1.可靠性高:Oracle具有事务管理、崩溃恢复和故障转移等功能,能够保证数据的完整性和可靠性。
2.性能优秀:Oracle采用先进的查询优化和缓存技术,可以处理大量的数据并快速响应用户请求。
3.可扩展性强:Oracle支持集群和分布式数据库,可以根据需要扩展服务器和存储资源。
4.安全性好:Oracle具有高级的安全控制功能,包括用户认证、权限管理和数据加密等,可以保护数据不受非法访问和损坏。
其次,Oracle有许多优点使其在企业中得到广泛应用。
首先,Oracle具有良好的数据一致性和完整性,可以保证数据的准确性和可靠性。
其次,Oracle具有强大的查询和分析能力,可以快速地检索和处理大量的数据。
此外,Oracle还具有较低的维护成本和良好的兼容性,可以与多种操作系统和应用程序集成使用。
最重要的是,Oracle有着庞大的用户群体和广泛的生态系统,可以获得丰富的技术支持和在线资源。
Oracle在各个行业和领域都有广泛的应用。
首先,在金融领域,Oracle被广泛用于银行、保险和证券等机构的核心业务系统和风险管理系统中,可以处理大量的交易数据并提供实时的分析报告。
其次,在制造业领域,Oracle可以用于企业资源规划(ERP)、供应链管理(SCM)和客户关系管理(CRM)等系统,协助企业管理生产流程和提高运营效率。
再次,在电信和互联网行业,Oracle可以用于大数据分析、用户行为分析和网络性能管理等关键业务系统中,可以帮助企业实现智能化决策和个性化服务。
此外,Oracle还在政府、医疗、教育等领域得到广泛应用,可以支持大规模的数据管理和业务处理。
Oracle银行虚拟账户管理系统配置指南说明书

EOD Configuration GuideOracle Banking Virtual Account Management Release 14.5.4.0.0Part Number F54502-01February 2022EOD Configuration GuideOracle Financial Services Software LimitedOracle ParkOff Western Express HighwayGoregaon (East)Mumbai, Maharashtra 400 063IndiaWorldwide Inquiries:Phone: +91 22 6718 3000Fax: +91 22 6718 3001https:///industries/financial-services/index.htmlCopyright © 2018, 2022 Oracle and/or its affiliates. All rights reserved.Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are “commercial computer software” pursuant to the applica ble Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate failsafe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.This software or hardware and documentation may provide access to or information on content, products and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.Contents 1 Preface (1)1.1 Background (1)1.2 Introduction (1)1.3 Document Accessibility (1)1.4 Acronyms, Abbreviations and Definitions (1)1.5 Related Documents (1)2 EOD Configuration Steps (2)2.1 Steps to run EOD for a branch (5)3 Job definition Naming Convention (6)4 Oracle Banking Virtual Account Management Job (12)1 Preface1.1 BackgroundOracle Banking Virtual Account Management allows you to execute several functions every day ona routine basis as part of the End of Day (EOD) process. These functions can be run at variousstages of the EOD process.1.2 IntroductionThe End of Day process is to tie up all the operations for a financial day and prepare the system for the next day. The EOD process should be defined for a branch and executed separately for each branch. When the process is running, you could choose to monitor it from Invoke EOD screen.EOD uses Oracle Banking Microservice Architecture Orchestrator and Batch service for orchestrating all the jobs required to complete End of Day processing. This document helps in the required set up to run EOD.1.3 Document Accessibility1. Oracle Banking Microservice Architecture Orchestrator needs to be deployed as per installationguide.2. Oracle Banking Microservice Architecture Batch needs to be deployed as per installation guide.1.4 Acronyms, Abbreviations and Definitions1.5 Related DocumentsThe related documents are as follows:∙Oracle Banking Common Core User Guide∙Oracle Banking Virtual Account Management User Guides2 EOD Configuration StepsThe following Functional Activities needs to be maintained in user’s role to perform EOD operations CMC_FA_BRANCH_EOD_PROCESS1. Save the below attachment to local folder. This is a standard batch process definition script forOracle Banking Virtual Account Management that includes the list of batch tasks to beautomatically executed in a sequence.EODWF.JSON ResetSequenceSubWF.JSONRefer PDF Attachment for downloading the json files.2. On Home Screen, under Tasks menu, click Business Process Maintenance to import, createor modify batch process definition.The Product List screen is displayed.Figure 1: Process List3. Select the Process Name: blank checkbox. Click on Upload DSL+ button to upload batchprocess definition and choose file ResetSequenceSubWF.json and EODWF.json in order from the local folder.Figure 2: Process List – Upload DSL4. Click Next button.The Product Management screen is displayed.Figure 3: Process Management5. Click Next button and Click Review or Create Process in Verify & Submit screen to registerthe batch. Click Process List again to create new batch definition for EODWF.json.6. On Core Maintenance menu, under Branch EOD, click Configure EOD to configure batch for abranch. Refer Section 2.5 in Oracle Banking Common Core User Guide.The Configure EOD screen is displayed.Figure 4: Configure EOD7. Select the Branch Code to configure the batch.Note: The value specified in Workflow name field in above screen must be exactly same as the first name attribute specified in batch process definition file EODWF.json file2.1 Steps to run EOD for a branch1. On Core Maintenance menu,under Branch EOD, click Invoke EOD.The Invoke EOD screen is displayed.Figure 5: Invoke EOD2. Select the branch to run EOD. Refer Section 2.5 in Oracle Banking Common Core UserGuide.3. Click Refresh to view the current status of branch.3 Job definition Naming ConventionNaming convention to be followed when a custom job is introduced as a task into EOD process1. Milestone task name and taskReferenceName must be same and prefixed with “MS-“. Ex: MS-EOFIMilestoneMilestoneEOD run pause at each Milestone shall be resumed by clicking Proceed button manually.Refer Section 2.5 in Oracle Banking Common Core User Guide.Sample template for milestone stageSteps to integrate Custom Jobs1. If the custom job uses Oracle Banking Microservice Architecture Batch service, then use thebelow template to include the job as a task in EOD Flow definition.{"type":"HTTP","name":"<MilestoneCode.JobName>","taskReferenceName":"<MilestoneCode.JobName>","inputParameters":{"http_request":{"connectionTimeOut":"0","readTimeOut":"0","vipAddress":"PLATO-BATCH-SERVER","uri":"/plato-batch-server/jobLauncher/launch/","method":"POST","headers":{"appId":"${workflow.input.appId}","branchCode":"${workflow.input.branchCode}","userId":"${erId}"},"body":{"jobName":"<JobName>","jobParameters":[{"key":"appId","value":"<Application ID of microservice>"},{"key":"microServiceName","value":"<Microservice name>"},{"key":"contextRoot","value":"<Context root of microservice>" },{"key":"workflowId","value":"${workflow.workflowId}"},{"key":"referenceTaskName","value":"<MilestoneCode.JobName>"},{"key":"userId","value":"${erId}"},{"key":"branchCode","value":"${workflow.input.branchCode}" },{"key":"isCallback","value":"Y"},{"key":"callbackType","value":"PLATOORCH"}]}},"asyncComplete":true},"startDelay":0,"optional":false,"asyncComplete":true}2. If the custom job doesn’t uses Oracle Banking Microservice Architecture Batch service and theBatch API is implemented as a synchronous call, then use the below template to include the job as a task in EOD Flow definition{"type":"HTTP","name":"<MilestoneCode.JobName>","taskReferenceName":"<MilestoneCode.JobName>","inputParameters":{"http_request":{"connectionTimeOut":"0","readTimeOut":"0","vipAddress":"<Microservice name registered in eureka>","uri":"<relative URL>","method":"<HTTP Method>","headers":{"appId":"${workflow.input.appId}","branchCode":"${workflow.input.branchCode}","userId":"${erId}"}},"asyncComplete":false},"startDelay":0,"optional":false,"asyncComplete":true}NOTE: HTTP Method - One of the GET, PUT, POST, DELETE, OPTIONS, HEAD3. If the custom job doesn’t uses Oracle Banking Microservice Architecture Batch service and if theBatch API is implemented as an asynchronous call, then call back needs to be implemented in the respective API. Please use the below template to include the job as a task in EOD Flow Definition.{"type":"HTTP","name":"<MilestoneCode.JobName>","taskReferenceName":"<MilestoneCode.JobName>","inputParameters":{"http_request":{"connectionTimeOut":"0","readTimeOut":"0","vipAddress":"<Microservice name registered in eureka>","uri":"<relative URL>","method":"<HTTP Method>","headers":{"appId":"${workflow.input.appId}","branchCode":"${workflow.input.branchCode}","userId":"${erId}"}},"asyncComplete":true},"startDelay":0,"optional":false,"asyncComplete":true}The following API should be used as a call back to update the status of a task.NOTE: asyncComplete – field in EOD workflow definition should be set to true if the Http task makes an asynchronous call and the task has to be updated explicitly by calling above update APIs. Only after successful update, next task will get executed.4 Oracle Banking Virtual Account Management Job。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录摘要 (1)一、设计银行管理系统结构图1.1系统结构图 (2)二、银行管理系统E-R图和表结构2.1E-R图 (4)2.2表结构 (7)三、创建系统数据表3.1创建表空间和用户 (9)3.2创建用户信息表并添加约束 (9)3.3创建银行卡信息表 (11)3.4创建交易信息表 (12)四、模拟常规业务操作4.1建立更新账号触发器 (14)4.2存取款交易操作 (14)4.3用户开户 (16)4.4更改密码 (18)4.5账号挂失 (19)4.6余额查询 (20)4.7转账业务设置 (21)4.8银行盈利结算 (22)4.9撤户操作 (22)五、总结 (24)参考文献 (25)附录 (26)摘要随着计算机的飞速发展及应用领域的扩大,特别是计算机网络和电子商务的发展,极大的改变了商业银行传统的经营模式。
能够为客户提供方便、快捷、安全的服务,也能够有效的降低银行的营运成本,这是银行存储系统追求的目标。
目前,对于现代化银行运营的要求是客户可以实现方便安全的业务交易,银行职员可以进行高效合理的工作管理,实现银行业务电子化。
方便用户快速的进行存款、取款、修改密码以及完成一些转账的交易,大大提高办公效率,能够及时、准确、有效的帮用户办理各种繁琐的手续,也减缓了银行工作人员的压力。
一、设计银行管理系统结构图1.1系统结构图图1.1系统结构图二、银行管理系统E-R图和表结构2.1E-R图图2.12.2表结构通过对银行管理系统的需求分析,应该为该系统设计3个表,分别为用户信息表、银行卡信息表和交易信息表。
用户信息表用于存储用户的基本信息,包括用户的编号、开户名、身份证号、联系电话和家庭住址等信息表2.1 用户信息表银行卡信息表用于存储银行卡相关的信息主要包括卡号、存储的货币类型,存款方式,开户时间,开户金额,余额、银行卡密码、是否挂失和用户编号等信息,表2.2银行卡信息表交易信息表用于存储用户的交易记录,主要包括交易日期,卡号、交易类型,交易金额等信息。
表2.3交易信息表三、创建系统数据表3.1创建表空间和用户使用system用户连接数据库后,创建表空间space_zqp,指定数据文件为D:\Bank.dbf,代码如下图:图3.1表空间和用户3.2创建用户信息表并添加约束用户信息表保存了用户的基本信息,该表的创建语句如下,CREATE TABLE userInfo(customerID NUMBER(4) NOT NULL,customerName VARCHAR2(20) NOT NULL,PID VARCHAR2(18) NOT NULL,telephone VARCHAR2(13) NOT NULL,address VARCHAR2(50))PARTITION BY HASH(PID)(PARTITION pid1,PARTITION pid2,PARTITION pid3,);ALTER TABLE userInfoADD CONSTRAINT PK_customerID PRIMARY KEY(customerID)ADD CONSTRAINT UK_PID UNIQUE(PID)ADD CONSTRAINT CK_PID CHECK(LENGTH(PID)=18 OR LENGTH(PID)=15)ADD CONSTRAINT CK_telephone CHECK(telephone LIKE '[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'OR LENGTH(telephone)=13);------------------创建可以自动生成自增主列的序列 customerid_seq CREATE SEQUENCE customerid_seqSTART WITH 1INCREMENT BY 1NOCACHE如上述语句所示,在userInfo表中包含用户编号(customerid)、开户名(customername)、身份证号(PID)、联系电话(telephone)、家庭住址(address)。
其中,customerid为主键,自增(从1开始);PID只能是18位或15位,并且是唯一的;telephone必须是xxxx-xxxxxxxx的格式或13位的手机号码。
图3.2用户信息表3.3创建银行卡信息表银行卡信息表(cardinfo)中包含了卡号(cardid),货币种类(curType),存款类型(savingtype),开户日期(opendate),开户金额(openmoney),余额(balance),密码(pass),是否挂失(isREPORTLOSS)和用户编号(customerID)的信息。
其中,cardID为主键,必须为1010 3756 xxxx xxxx的格式;CURTYPE 默认为RMB,openmoney必须不能低于一元;balance也必须不能低于一元;pass默认为88888888;ISREPORTLOSS的值必须是“是/否”中之一,默认为否;customerID为外键,引用userInfo表中的customerID列。
图3.33.4创建交易信息表交易信息表中包含了五个字段,分别为transdate(交易日期),cardID(卡号)、TRANSTYPE(交易类型),transmoney(交易金额)和remark(备注)。
其中,transdate默认为系统当前日期;cardid位外键,引用cardinfo表中的cardid 列,可重复;transtype只能是“存入/取出”之一;transmoney必须大于0.图3.4交易信息表四、模拟常规业务操作4.1建立更新账号触发器结果如下:图4.1创建before update触发器4.2存取款交易操作当用户办理取款或存款业务时,不仅需要向交易信息表中添加一条交易记录,还需要修改当前账户中的余额,如果办理取款业务,如果将当前账户总的余额减去支取余额,如果办理托管业务,多叫当前账户中的金额加上存款金额。
在交易信息表中包含一个名为transtype的字段,该字段用于表示交易类型,取值范围必须是存入或者自取,因此可以为transINFO表创建BEFORE INSERTR触发器。
根据要办理里的交易类型,判断出当前的交易类型,如果transtype字段值为“支取”,则表示要办理取款业务,检测当前余额是否大于或等于要支取的金额,如果满足条件,则要修改cardinfo表中的balance字段值,将该字段值减去交易金额(transmoney),如果transtype字段值为“存入”,则表示要办理存款业务,修改cardinfo表中的balance字段值,将该值加上交易金额(transmoney)。
代码如下:reate or replace trigger trig_transbefore insert or updateon transinfofor each rowdeclaremy_balance number;rate_exception exception;beginselect balance into my_balance from cardinfo where cardid=:new.cardid; if :new.transtype='支取' thenif my_balance<:new.transmoney-1 thendbms_output.put_line('对不起,您的余额不足!');return;elsif my_balance>:new.transmoney-1 thenupdate cardinfo set balance=balance-:new.transmoney where cardId=:new.cardId;end if;elsif :new.transtype='存入' thenupdate cardinfo set balance=balance+:new.transmoney where cardid=:new.cardId;end if;dbms_output.put_line('交易成功!');exceptionwhen rate_exception thenraise_application_error(-20001,'交易失败');end;select * from cardInfo_vw;insert into transInfo (transdate,cardID,transType,transMoney) values(sysdate,'1010 3576 8888 6666','存入',1000);commit;4.3用户开户根据身份证号查询是否在该行开过户,为万无一失,还需要查询生成的卡号是否已经被使用,如果这两个条件都符合要求(此人从未在该行开过户,生成的卡号也无人使用),则向userinfo表中插入开户人的基本信息记录,并根据开户人的身份证号获取开户人的编号,从而向cardinfo表中插入开户人的基本信息记录,同时还需要将生成的卡号显示给开户人。
如果收到卡号已经被使用,得提醒用户开户失败;如果当前开户人已经在此行开过户,则提示用户此身份证已有账号。
结果如下图:图4.24.4更改密码一个银行账号对应一个密码,因此当用户输入的卡号密码相对应时,可以为该银行卡设置新的密码,代码: create or replace procedure proc_updateUserPass(temp_cardid varchar2, --卡号oldpass varchar2, --旧密码newpass varchar2 --新密码)asi number;pass_i VARCHAR2(6);beginselect count(*) into i from cardInfo where cardID=temp_cardid; select pass into pass_i from cardInfo where cardID=temp_cardid;if i=0 thendbms_output.put_line('此卡号不存在!');elsif i>0 thenif pass_i=oldpass thenUPDATE cardInfo set pass=newpass where cardid=temp_cardid;dbms_output.put_line('密码更改成功!');elsedbms_output.put_line('旧密码不正确!');end if;end if;commit;exceptionwhen others thendbms_output.put_line('密码更改失败!');end4.5账号挂失当用户的银行卡丢失后,可以对该卡进行挂失,银行管理系统需要验证用户的真实性,当用户输入银行卡号和密码相对应,才可以对该卡进行挂失操作,即修改cardinfo表中的IsreportLOSS列为“是”,否则提示“无权挂失”。