甲骨文 Oracle当今的“计量 到 收费”挑战 —M2C路线图
11.[Oracle甲骨文.周小超][中文]Oracle SOA Strategy and Roadmap_ch
![11.[Oracle甲骨文.周小超][中文]Oracle SOA Strategy and Roadmap_ch](https://img.taocdn.com/s3/m/2fa88cc708a1284ac850437a.png)
<Insert Picture Here>甲骨文SOA产品战略和路线图周小超, 周小超 软件开发经理 SOA, Oracle Fusion MiddlewareOracle SOA的发展 的发展SOA Suite Portlet Web Services (WSRP) Stellent Doc Mgmt, Image Proc BPA Suite TangosolWSDL, UDDI, Development Tools, Web Services PlatformWeb Services Manager, BAM20012002200320042005200620072008…WebLogicWeb Services SupportJ2EE 1.4 Standard Web ServicesALSB Service Registry Repository Oracle Data Integrator ALBPM Event Server每次产品发布•提供更多的功能 •更高的集成度BPEL Process Manager2Copyright © 2009, Oracle. All rights reserved.Oracle SOA所获荣誉 所获荣誉Winner, SD Times 100 • Business Process Management • SOA & Integration SOA World Magazine Readers’ Choice Awards 2007 Winner in 15 of 20 categories, including: • • • • Best SOA/Web Services Platform Best BPM Engine Best Integrated Services Environment Best Security SolutionOracle SOA Suite “Excellent” • Highest Rating in SOA Category • “Hands down, the most comprehensive and easy to use product on the market today”“” | Oracle BPEL Process Manager“ ” | Oracle Business Activity Monitoring Oracle BPEL Process Manager •Winner, Web Services Journal Readers’ Choice Award •“World class product”Winner, Best Business Process Management System Winner, ebizQ Buyer’s Choice Award Enterprise Information Integration Oracle SOA Suite, Winner, Tech Innovator 2007 Business Software: Enterprise Applications and Infrastructure3Copyright © 2009, Oracle. All rights reserved.Over3,000Oracle SOA customers4Copyright © 2009, Oracle. All rights reserved.4<Insert Picture Here>甲骨文 SOA & 标准 战略5Copyright © 2009, Oracle. All rights reserved.Oracle 对标准的战略• Oracle 从事软件和服务业务• 不追求从专利的销售中获得收入 • 使用专利来保护自己• 软件标准提供了互操作性• 我们的产品和合作伙伴到竞争对手的产品之间 • 在熟悉技术的专家之间 (比如, SQL语言专家)• 软件标准仅仅 仅仅在被广泛采用后才能成功 仅仅• 一个好的标准如果没有被广泛的实现是在浪费时间• 标准的成功需要相关组织降低或者消除在采用和实现中的障碍• 在产品中采用开放的标准6Copyright © 2009, Oracle. All rights reserved.Oracle SOA 和事件处理技术BPA Suite 实时可见 & 处理 Enterprise Modeling BPM Suite Business User Modeling JDeveloper Application Development Framework BAM CEP管理Enterprise Manager System GOVERNANCE Monitoring Web Services Manager WS Policies Security Enterprise Repository SOA lifecycle governance Registry UDDIJRockit VM & RTAlerts Events Business Monitoring 服务编排 Data Streams BPEL Process ManagerNative BPELBusiness Human & 数据服务 Workflow 路由 RulesData Integrator ETL & Data Replication Quality B2BPartnersOracle Service Bus Routing TransformMediation AdaptersApps DB Legacy连接Coherence Cache MessagingJ2EE Application Server(Oracle AS, WebLogic, WebSphere, JBoss)7Copyright © 2009, Oracle. All rights reserved.SOA中企业级服务总线带来的益处 中企业级服务总线带来的益处PortalBPM服务编排 务编排B2B & BPM服务中介和管理Oracle Service Bus• 位置透明 • 配置Service RepositoryAdapters• 任意协议,消息体 任意协议,展示层 展示层服务• 强制的策略 • 高可用性和伸缩性服务集成 业务逻辑 业务逻辑8Copyright © 2009, Oracle. All rights reserved.Oracle 服务总线• 无需WSDL就可以和其他服务一起运行• 支持任何协议<->任何消息体• Java集成 (POJO, EJB)• 端点管理• 服务池, 消息流控制• 高级中介者模式支持• 拆分/结合 (链式), 动态分派• 性能以及扩展 • 变更管理实现零宕机时间 • 内置管理, 监控以及报告Patterns • VETRO • CBR • DTR • Routing Slip • WireTap9Copyright © 2009, Oracle. All rights reserved.Oracle BPEL Process Manager支持服务编排的企业级基础架构BPA Suite JDeveloper BPEL DesignerBPELProcess Modeler• 全面,原生的BPEL实现 • 易用的模型工具• 可扩展可依赖的引擎Workflow Services BPEL Process Manager Integrated BPM Services WSDL Binding Web services Workflow Decision Service Sensors Java, JMS File, FTP Core BPEL Engine Database Apps MANAGE Process Console• 灵活的绑定框架Metadata Repository (Dehydration)• 丰富的管理和监控界面J2EE Application Server (Oracle AS, WebLogic, JBoss, WebSphere)10Copyright © 2009, Oracle. All rights reserved.Oracle Business Activity Monitoring为业务人员提供事件的相关性• 监控 实时的业务流程 & 服务• • 关键指标 (KPIs) 服务等级 (SLAs)• 分析 发生的事件• • • 相关时间 & KPIs 预测事件发生的趋势 提示用户可能的瓶颈以及解决方案• 行动 根据当前条件• • • 事件驱动的提示 实时的仪表盘 BPEL 处理& Web Services集成11Copyright © 2009, Oracle. All rights reserved.Oracle Event-Driven Architecture处理服务event事件源StreamseventComplex Event Processor• 事件源 • 定义事件的连续查询语言nce me rsevent• 模式匹配 • 时间发布 • 实时 实时Java架构 架构BAM DashboardsApplicationseventeseventBAM AlertsBPM ProcessesBPM/BPEL ProcessesJMSOracle Complex Event Processor高吞吐量• 支持数十万事件/秒为事件驱动应用而优化的Java架构 为事件驱动应用而优化的Java架构 JavaTools for Developers, dministrators, IT Managementomplex Event ProcessorPOJO Spring Services事件处理架构• 复杂事件处理引擎 • 时间关键的数据流 • 类似SQL的事件处理语言 简单易用的开发环境 Spring Framework, POJO 基于Eclipse的开发工具 基于Eclipse的开发工具 Eclipsepp FrameworksEvent InfrastructureComplex Event Processing Real Time KernelStream anagementEquinox OSGi™ Foundation ServicesConfig/ Admin Security OSGi OSGi LoggingWebLogic Real Time<Insert Picture Here>甲骨文 SOA 11gSOA 11g 统一的服务平台BPA Mediator Business Rules BPEL Human Workflow CEP BIService/Event Delivery API Policy Manager Service Infrastructure RepositoryRegistryEDI HL7ebXM L RosettaNetB2BRFIDSOAPBAMODIJCA• • • •Files DB FTP JMS• • • •AQ MQSeries TCP Oracle ApplicationsSAP SIEBELB2BSESBAMODICICS … over 200 adapters一个单独的运行环境进行安装,集群, 一个单独的运行环境进行安装,集群,管理/soa /soa…QUESTIONS ANSWERS。
大数据标准化白皮书

甲骨文oracle数据库安全威胁分析

ORACLE SECURITY WHITE PAPER SERIES EXPLOITING AND PROTECTING ORACLESynopsis: This paper attempts to cover the major security aspects of an Oracle RDBMS and applications installation, highlighting where there could be security issues. All of the major components and tools are covered andSQL scripts are included to highlight issues or to help explain how and where to read the databaseconfiguration or to extract data.This paper is intended to be a working document, content and collaborations are welcomed from all partsof the Oracle and security industries. There are already changes and enhancements planned to this paperand future complimentary papers.Developed By: Pete Finnigan. (pete.finnigan@)PenTest LimitedHighleadonMereside RoadMereKnutsfordCheshireWA16 6QZPhone: 0044 (0) 1565 830990Fax: 0044 (0) 1565 830989Date First Issued: 24-Aug-2001Future Content: q Enhancements to the Auditing section, including how a hacker may cover his or her tracks in detail.Also a discussion on the use of the Oracle provided DBA views with regard to detecting anattacker. Finally a discussion about how to protect your audit records from being altered or deleted.q A more detailed discussion of the Oracle Listener, SQL*NET v1 and v2 and NET 8 and how toattack a database remotely.q A discussion of the Oracle 8i packages used for output.Revision HistoryMany thanks and appreciation must go to the reviewers of this paper, the efforts and comments which were mostly incorporated were extremely helpful.Version Author Reviewer Comments1.1 Pete Finnigan First Issue1.2 Pete Finnigan Reviewed for grammar1.3 Pete Finnigan Mark Rowe - PenTest Limited Technical Review1.4 Pete Finnigan Various Industry Reviewers Technical Review1.5 Pete Finnigan Jerzy Cwikowski (MScEE - Master ofScience In Electrical Engineering ) -Matrix - PolandTechnical ReviewContentsq Introductionq The Important data probably isn't secure!q Methods Of Accessq Researching Oracleq Finding out what databases are installed and runningq Searching the Environment for informationq Backups and development Databasesq SQL*NET and NET 8 Configuration Filesq Attacking through another databaseq Confirming the version of Oracleq Finding a Userq The goal is a DBA account, or is it?q Oracle Roles and Privilegesq SQL Injectionq Editing the standard packagesq Password Crackingq Un-Documented Oracleq World readable files and SUID and SUIG filesq Database eventsq Analysing the database layoutq Capture data using a Triggerq Redo-logs, trace files, exports, alert logs and control filesq The Oracle Dictionaryq Check Who Owns Whatq How to read the source code of Viewsq Showing who is logged in and what they are doingq Auditing and seeing if its onq Oracle 8i Password ageing featuresq Planting a trojanq PL/SQL wrap utilityq How Oracle stores information about all users database objects q DBMS_SYS_SQL.PARSE_AS_USERq Dumping the internal Oracle Structuresq oradebugq Calling Oracle without logging onq PL/SQL debuggerq PL/SQL Trace Packageq PL/SQL Profilerq UTL_FILE Built in packageq un-documented C interfacesq x$, $ and system tablespaceq Other known Oracle exploitsq links to useful sites and infoq Bibliographyq ConclusionsIntroductionThis Oracle security paper is one of a series describing hacking Oracle, Oracle security, un-documented Oracle and Oracle Architecture. Details of the other papers in this Oracle and security series can be obtained from as they become available. Copies of the scripts discussed in this document will be available for downloaded from this website.Oracle is now widespread throughout the business world and a very large portion of the world's data is stored in Oracle databases. There are numerous books about hacking and security in general but very little about hacking Oracle and Oracle security specifically however the O'Reilly book Oracle Security is a very good exception to this. Organisations usually take some steps to secure their many systems, but few take the threat of access to their database very seriously. As Oracle is now in such widespread use it is worth revealing something about how open Oracle databases generally are.This paper is intended to cover all of the main components of Oracle in simple terms and discuss where security holes may be found. It is not intended to expose new exploits but is designed to help the reader understand the main areas of Oracle and help prevent security implementation issues in the future. It is and will continue to be a work in progress and your feedback is highly appreciated. Future content is already planned and has indeed been sugested by some of the reviewers. This will be incorporated as soon as it is possible.The Important data probably isn't secure!This paper explores some of the possible ways of gaining unauthorised access to a poorly secured Oracle database. This paper assumes that access has been gained to the Windows or Unix server hosting the database or access is available through Oracle's SQL*Net directly or indirectly using telnet to the relevant port, or via a third party application using ODBC, OCI, or one of the application protocols or any other means. It is assumed that the super user account for the server, the "oracle" account or the account that owns the Oracle software has not been compromised. Remember a hacker who wants to steal, damage or look at data in an Oracle database does not need access to any super user account.A set of steps can be shown that can be worked through to find a user that you can log onto the database with, try and find the password, and then explore what that user can do and see. It is important to know that it is not necessary to see database superuser( SYS and SYSTEM ) objects to be able to steal data. The data owned and manipulated by a business will not in general be owned by the superuser. Indeed if it is the set up and design of the database needs to be reviewed. To access the oracle database and to be able to find the data required needs some knowledge of how an Oracle RDBMS functions and how the meta data is located.The point to get across here is that you can probably access an Oracle database with little effort with any low privileged user account and still be able to gain a lot of information about a businesses data and how it is stored, provided you know something of how Oracle stores that data.Most Oracle databases one will come across do not in general use the Oracle security model effectively. Where security is used, and super users accounts had been secured, little thought had been given to the structure of the applications and production data's security. PenTest Limited wish to change this perception and make companies aware of the risks of not correctly setting up an Oracle database.Methods Of AccessThere are many ways to access an Oracle database. The list below shows a fewq Oracle server tools such as sqlplus and svrmgrlq Oracle Enterprise Managerq User written programs in many Oracle languages includingr Pro*Cr OCIq ODBCq JDBCq SQL*Net or NET 8For this paper sqlplus or svrmgrl have been used on a Linux platform. The techniques can be used with most connection methods.We will also concentrate on a Unix installation of Oracle for this discussion, although the techniques can easily be applied to other operating systems and platforms.Researching OracleOracle very kindly gives away free trial installation CD's of its RDBMS software and more recently some of the development tools and applications. Various versions from Oracle 7.1 through to Oracle 8i and 9i have been available. More recently Oracle have made complete CD sets available for all operating systems for a very low cost. The Solaris Operating System for Sparc and Intel comes supplied with an Oracle installation. There is a book, Oracle 8i for Linux available from under the Oracle press banner with either a Linux or NT installation of Oracle 8i included with it on CD.Installing a version of Oracle under Linux or Windows is very useful to gain an understanding of the software and its use and where all the files and programs are located. Oracle changes the way its software works on a regular basis at a low level, even from sub version to sub version. Take a look at the structure and amount of x$ tables between different versions. It is worth getting acquainted with the various different versions and the differences between each, using the tools and creating databases. The Oracle RDBMS is a massive piece of software and to have any hope of hacking it or protecting it you need to know it pretty well.Searching the installed Oracle software on a hacked machine will not be possible if you do not have the software owners password, but this doesn't matter if you have a local copy of the same version of Oracle installed on a machine you own.With the NT and Linux distributions of Oracle 8.1.5 comes an electronic set of the documentation normally shipped as books with commercial versions of Oracle.Finding out what databases are installed and runningYou have accessed a Unix box with the intention of hacking into an Oracle database. How do you know where the database software is installed and what it's called?. Oracle databases can be distributed, parallel with many instances or stand alone.The Oracle installation creates a file called oratab which contains the details of the databases installed on the machine. This can be used to start and stop databases during reboots and can be used for controlling backups. The location of this file is not fixed and can be in /etc or in /var/opt/oracle. The simplest way to find it is to run the following commandsputnik:pxf> find / -name oratab -print 2>/dev/null | more/etc/oratabHowever running a find command is not a good idea if you are trying to avoid detection. You can look in /etc, /var/opt and /opt and their sub-directories as a good starting point.The oratab file should be world readable unless the dba or Unix admin has changed the permissions.sputnik:pxf> ls -al oratab-rw-rw-r-- 1 oracle root 676 Jul 16 14:47 oratabThis file gives a list of ORACLE_SID's and ORACLE_HOME's. If OFA naming conventions have been used then the version of Oracle can be gleaned as it is included in the directory path. The important part is the ORACLE_SID as this can be used to find if the database is running.The SQL* NET and NET 8 config files both on the server and on clients can be used to find details of databases running on both theserver and within the organisation. Details of these are shown in SQL*NET and NET 8 Configuration.Checking out environment variables of a database user can give us some information. There should be at least the following set on a Unix / Linux system.q ORACLE_HOME This is the location of the Oracle software.q ORACLE_SID This is the name of the database you would like to access.q PATH This is the standard PATH but should include a path to the oracle binaries.q LD_LIBRARY_PATH This is the path for shared libraries and should include the path to the Oracle shared libraries.One other way to find which databases are accessible is to look at what is running on the server using the Unix ps command. There are two things that can be looked for here, either look for actual databases instances or look for processes running against those instances where the user has been careless and used the username and password on the command line.Here is an example to see what databases instances are running.sputnik:pxf> ps -ef | grep lgwr | grep -v grep | moresputnik:pxf> oracle 654 1 0 10:37 ? 00:00:00 ora_lgwr_PENTThis shows that there is one instance of Oracle running and the database SID is called PENT. Search for the string "lgwr" as that is the identification used for the Log Writer process. The Oracle RDBMS has a number of background processes that run all of the time and control the database and this is one of them. There are also a number of optional processes that can also run. All of these processes use and communicate through an area of shared memory called the SGA Shared Global Area.Details of the Oracle background processes, the SGA and the internal tables will be discussed in a paper available from Oracle Architecture soon.Searching the Environment for informationA useful exercise for hacking an Oracle database is to check users environments to see if any users have created environment variables with username and passwords in them.Another useful check is to see if anyone has started any scripts against the database with username and passwords passed on the command line. You can see this with the following ps command:sputnik:pxf> ps -ef | grep oraroot 617 1 - 39 10:37 tty1 00:00:00 login -- oracleroot 618 1 - 39 10:37 tty2 00:00:00 login -- oracleoracle 625 617 - 39 10:37 tty1 00:00:00 -bashoracle 650 1 - 39 10:37 ? 00:00:00 ora_pmon_PENToracle 652 1 - 39 10:37 ? 00:00:00 ora_dbw0_PENToracle 654 1 - 39 10:37 ? 00:00:00 ora_lgwr_PENToracle 656 1 - 39 10:37 ? 00:00:00 ora_ckpt_PENToracle 658 1 - 39 10:37 ? 00:00:00 ora_smon_PENToracle 660 1 - 39 10:37 ? 00:00:00 ora_reco_PENToracle 662 1 - 39 10:37 ? 00:00:00 ora_s000_PENToracle 664 1 - 39 10:37 ? 00:00:00 ora_d000_PENToracle 690 625 - 39 10:41 tty1 00:00:00 sqlplus system/manager@doit.sqloracle 691 690 - 39 10:41 ? 00:00:00 oraclePENT (DESCRIPTION=(oracle 692 618 - 29 10:41 tty2 00:00:00 -bashoracle 740 692 - 29 10:45 tty2 00:00:00 ps -eforacle 741 692 - 29 10:45 tty2 00:00:00 grep oraIt can be seen that someone has started a script as the oracle user SYSTEM and that the password is still the default one. This is a pretty silly example, but often it can be seen that SQL scripts run against Oracle databases with the username and password hard coded. Usually you need to write a shell script or cron job to check the process list every minute or so to find a script that is running, or to do some homework and find out when batch jobs are due to run.The obvious next step is to search the whole machine or specific directories for scripts that contain Oracle usernames and passwords. These could be in any type of script, Bourne, KSH, Perl, SQL or a binary. You can make a good guess by looking for the strings sqlplus or svrmgrl in whichever directories and files you wish.Backups and development DatabasesThe easiest and most successful database compromises will often involve getting the database data from area's where it is held un-secured. Two examples are backups and development or test databases. If it is possible to get the backups for a database or an exportfile then its possible to re-create the database on your own machine.The main point here is that the data and the database is often not just held on a single production machine and database. There are often multiple development databases, system test databases, integration test databases, UAT databases and many forms of backups. ARCHIVELOG, redo logs, and export files will be covered later in exports, redo logs and control files. There are also the backups themselves to tape or to disk.Types of Oracle backupThere are three main sorts of backup, exports, hot backups and cold backups.q Exports: The Oracle tool exp is used to extract the data from the database itself to an Operating System file. The file format is proprietary and will be discussed in export, redo logs and control files. The Oracle tool imp is used to put the data back into the same database or another database. Partial exports can be done or Full exports of the whole database. A full export includes the password hashes. If the aim is to steal data then an export of the application owner's schema will suffice.q Cold Backups: Cold backups can be performed using a number of methods and Unix tools. They can also be written to disk or to tape. The database needs to be completely shutdown for cold backups to take place.q Hot Backups: Hot backups are backups taken on high availability systems and applications where the database cannot beshutdown. The database needs to be in ARCHIVELOG mode for hot backups, but a database being in ARCHIVELOG modedoesn't signify that hot backups take place. It's a bit more difficult to see this.To check if a database is in ARCHIVELOG mode the following query can be issued in sqlplusSQL> sho userUSER is "DBSNMP"SQL> select log_mode2 from v$database;LOG_MODE ------------ NOARCHIVELOG SQL>To see if a database is backed up hot or cold requires a little more investigation. You could search the machine for backup scripts containing the words ALTER TABLESPACE [TABLESPACE NAME] BEGIN BACKUP. Check out cron jobs for backup jobs, checkout process listings throughout the day to see if any recognizable backup software is running. Check for log files. Check out what backup software is installed on the machine using pkginfo -l. You can check the status of tablespaces to see if any go offline during theday with the following query which would be a good sign a hot backup is running:SQL> select tablespace_name,status2 from dba_tablespaces;TABLESPACE_NAME STATUS------------------------------ ---------SYSTEM ONLINEUSERS ONLINERBS ONLINETEMP ONLINEOEM_REPOSITORY ONLINEINDX ONLINEAPP_IND_1 OFFLINEAPP_DATA_1 ONLINE6 rows selected.SQL>Checking for a cold backup is easier as you can check out cron again, check process listings and see if the database is regularly shutdown and then look for any backup software running. If the Oracle alert log can be accessed then the database stop and start times will be clearly seen by scrolling through this file. Depending on what it is try and determine where and when the files are written and more importantly determine if they can be taken and read.Backups to TapeBackups to tape should be reasonably secure but if a determined hacker wished to, and there was no protection in place, it may be possible to use social engineering to request backup tapes from off-site and arrange to collect them from reception of the site. With the backup tapes it is then possible to recreate the database on another machine. Even if the database is much larger than the intended machine, it's possible to take all the tablespaces and datafiles you do not need off line and open the database without them. However, this is not easy and requires a lot of knowledge of Oracle backup and restore procedures.There are even hidden parameters that can be used to help start the database even if you have managed to corrupt it because you are trying to start only part of a database.Backups to DiskBackups to disk are even better, if the files are not protected. Then it's easy to take them and re-create the database elsewhere to extract the password hashes or specific data. Again the same techniques mentioned above are needed to find out what backup software is used, where the actual backups are and where the log files are.Development and Test DatabasesIf you are targeting a specific production database and its reasonably well protected, it is sometimes worth investigating to see if you can find development or test databases as these are likely to be much easier to break into. There are often a lot more dba accounts set up in development and test databases by developers who seem to think that they need dba access.Also in many cases development and test databases have copies of full production data as it is needed for system testing and performance tuning. So if it is the data you require, then quite often a reasonably up to date set can be taken from a test or development database. How can you find a test or development database ? They are not forced to be on the same machine as the production database. Check out tnsnames.ora and listener.ora files for database SID's that sound similar to the production database. Look in the admin directory of the Oracle installation for the init.ora files. They should be named init[ORACLE_SID].ora.The other hole sometimes left is that development users often have access rights far greater than they need, but when the test environment is moved to the production database quite often the users are also copied and the developers rights get copied to the production database as well. If you can get a developers username where they have good privileges then try those in the production database as well.Disaster Recovery DatabasesOne other place to find database information is to attack the disaster recovery site. If one exists then its location needs to be discovered and access gained. Usually large organisations keep DR sites running but probably just out of date. The main advantage to a hacker is that its the same data and database as a production site, but it is likely to be less secure and hopefully there will be no SYS Admin or DBA logged on watching what's going on.SQL*NET and NET 8 Configuration FilesThe Oracle SQL*Net and NET 8 config files exist on both the client and the server. The listener runs on the server waiting for requests for access to the RDBMS. These config files tell the listener which databases and which Oracle processes to accept requests from.Information can also be sought from the SQL*Net or NET*8 configuration files. These files are included on the server and on each client that will access the Oracle databases. The config files are tnsnames.ora, listener.ora and sqlnet.ora and are usually located in ORACLE_HOME/network/admin on a Unix system and in %%ORA_HOME%%/network/admin on a Windows system.These files contain details of each database running on the server and in the case of the files on a client machine details of each database that can be accessed from that client and the machine on which it is located. Below is an example entry for a database called PENT and also shown is the entry for the EXTPROC process.Here is an example entry in a tnsnames.ora file.PENT =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = EUROPA)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = PENT)))EXTPROC_CONNECTION_DATA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)))(CONNECT_DATA =(SID = PLSExtProc)(PRESENTATION = RO)))You can see here that this file supports the EXTPROC procedure and just one Oracle database. The protocol is TCP and the host is EUROPA, but it could be an IP address and a different protocol. The standard port to listen for the Oracle TNS listener is 1521 or it could use 1526 if 1521 is already in use by another installation of Oracle on the same machine. The SERVICE_NAME is the database SID. This name is needed with the username and password to make a connection to a particular database.The EXTPROC process accepts requests from PL/SQL procedures to call external 'C' functions written and installed by applicationdevelopers. A good description of how to write these functions and processes can be found in Oracle PL/SQL programming 2nd Edition by Steve Feuerstein by . The Oracle RDBMS makes calls to these 'C' functions via the TNS protocol rather than the direct method used in the Oracle built in packages by Oracle themselves. Oracle call the 'C' functions that make up most of the built in packages directly with a PL/SQL keywords pragma interface. It is possible to create a user package using the same syntax and calling one of Oracles 'C' functions and to successfully compile it. This has been done, but when the function or procedure in the package is executed it fails with an ORA-6509 ICD vector missing error. It looks like Oracle have a hard coded function pointer table. It is probably visible via the X$ tables. The X$ tables are not modifiable as they are really a window onto linked lists of 'C' structs in the SGA. If this table is in the X$ tables then it should be possible to add new entries via the oradebug poke command, watch this space..The tnsnames.ora file is a mandatory file on the database server and may be needed on the client depending upon whether a names server is being used.Next is an example listener.ora file.LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)))(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = EUROPA)(PORT = 1521))))(DESCRIPTION =(PROTOCOL_STACK =(PRESENTATION = GIOP)(SESSION = RAW))(ADDRESS = (PROTOCOL = TCP)(HOST = EUROPA)(PORT = 2481))))SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = C:\Oracle\Ora81)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME = PENT)(ORACLE_HOME = C:\Oracle\Ora81)(SID_NAME = PENT)))This file controls the TNS listener on the server. It again contains information on the IP address, the hostname, the protocol and the port that the service is listening on. The second section details the database names and the ORACLE_HOME's of those databases. The listener.ora file is mandatory on the database server. If several listeners are to be used on the same node they will share the same listener.ora.Attacking through another databaseQuite often a number of Oracle databases are used within an organisation and applications are created that use more than one of them, or a process in one database obtains data from another database to update its own tables.If the target database is particularly difficult to get into then it may be possible to access the database you want from a less secure one. Using the same default users and techniques to gain access to other databases. Then you can issue the following query to see if there are any database links from this database to the production database you wish to access.SQL> select db_link,username,host2 from all_db_links;DB_LINK USERNAME HOST--------------------- -------- ---------VOSTOK VXD vostok@europa.world1 rows selected.SQL>The database link needs to use TNS to access another database therefore there needs to be an entry in the tnsnames.ora file for it. In the example above vostok is another database on the host europa. Quite often database links are made where the user created in the host database to run the queries on behalf of the source database is a dba. It is worth checking out this access path to see if higher privileges can be acquired in the production database.Confirming the version of OracleIt is useful as a first step to find out the version of the database server we are trying to access. This can be done quite easily without logging onto the database by running the Oracle utility svrmgrl. This is located in the ORACLE_HOME/bin directory of the oracle installation.This tool is SUID oracle and SGID dba and has executable permissions for user, group and world. This means that anyone can use it. Running this utility and not trying to log in gives us the following information.sputnik:pxf> svrmgrlOracle Server Manager Release 3.1.5.0.0 - Production(c) Copyright 1997, Oracle Corporation. All Rights Reserved.Oracle8i Enterprise Edition Release 8.1.5.0.0 - ProductionWith Partitioning and Java OptionsPL/SQL Release 8.1.5.0.0 - ProductionSVRMGR>This quite clearly shows we are running version 8.1.5 of the RDBMS.It is also possible to run a listener command remotely and locally that will give similar information. The command is lsnrctl status.。
Oracle(甲骨文)数据库迁移的基本方法与设计总结

Oracle(甲骨文)数据库迁移的基本方法与设计总结其他软件开发项目一样,数据库的迁移需要谨慎的规划以及良法的方法以确保其成功。
这其中,数据库的设计至关重要,特别是关系型数据库的schema设计。
可以通过数据库复制技术来保持多个数据库的同步,替代之前使用的旧方式,比如数据库表分区以及Oracle RAC等。
所以,在进行Oracle数据库迁移的时候,一定的更改是必需的,而这样做的结果就是要进行一系列的数据库schema整合。
数据库设计调整的关键,就是要对整个迁移项目生命周期有一个完成清晰的认识理解,并知道每一步中的重点工作是什么。
这其中设计到多个因素,比如相关的IT技术人员、需要的工具、对源数据库和目标数据库平台技术的掌握以及实际的项目规划等。
所以,我们在进行迁移项目之前,一定要对上述因素有一个完整的把握,这样可以到达事半功倍的效果,同时可以在一定程度上避免不必要的麻烦。
甲骨文培训:数据库迁移选项在所有C/S应用迁移项目之中,数据库迁移是最为常见的,它允许用户在迁移到新的平台上之后而不影响应用的完整性,不改变现有的功能以及业务角色,包括应用开发中所用到的编程语言。
这是最简单的迁移方式,能够确保新环境下的业务连续性。
另外一种情况,就涉及应用的更改,其中应用程序在新环境中很难维护或升级,它们或者需要用新的语言来编写,或者用到了最新的技术和标准。
这样的迁移项目就不仅仅是平台迁移那么简单了。
而对于那些关键业务应用,你需要确保它能够通过多种方式访问,如浏览器、移动设备等,这种情况下往往要对应用进行较大的调整以适应新的数据库环境,在进行迁移之前还要做一系列的仿真测试。
IBM大型机以及其他平台上的遗留应用程序,往往需要进行重组才能够运行在分布式平台之上。
你可以使用一些软件来模拟IBM大型机环境,测试能否提供相同的功能,如Oracle Tuxedo 就是这样的软件工具。
选择什么样的迁移选项将取决于你的业务需求以及限制(如时间、成本、可行性等)。
甲骨文自治数据库监控指南说明书

If Your Home Page is “My Services”
• Open hamburger menu on MyServices
– Select “Autonomous Data Warehouse” – Switch to OCI console
• Open OCI hamburger menu • Navigate to “User“ Console
– Fingerprint of the public key.
• Documentation is here: How to Get the Key's Fingerprint. •
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Prepared by: Keith Copyright Laker, Snr. Principal Product © 2019, Oracle and/or its affiliates. All rights reserved. | Manager, Autonomous Database 1
Agenda
• Setting Up Oracle Management Cloud • Getting Started • Introduction to Database Fleet Home Page • Monitoring Database Performance
– Comparing OCI Console vs. OMC – Monitoring SQL – Viewing Resource Management Rules
– Private API key – Passphrase used in key generation process – Fingerprint
甲骨文官方Oracle EBS系统培训PPT-08_接收

输入退货
从库存退货 从接收地点退货
退给供应商或客户
版权所有 © Oracle Corporation, 2005. 保留所有权利。
输入更正
物料成本
现有量
版权所有 © Oracle Corporation, 2005. 保留所有权利。
退货和更正的比较
接收退货
接收更正
向供应商实际退回货物
不向供应商实际退回货物
接收题头
• 接收编号
• 接收人姓名 • 日期
接收
• 承运人
• 装箱单/空运单 • 货箱数 • 备注
题头
行
版权所有 © Oracle Corporation, 2005. 保留所有权利。
接收行
• 数量 • 单位
• 物料
• 说明 • 目的地类型
接收
题头
• 订单编号
• 接收类型 • 申请人
行
• 子库存
• 了解接收方式
• 了解处理接收的方法 • 创建标准接收、快速接收和级联接收
• 了解替代接收、未订购接收、退货和更正
• 确定主要报表 • 了解设置选项
版权所有 © Oracle Corporation, 2005. 保留所有权利。
接收选项
• 接收日期
– 提前天数
– 延迟天数
– 活动
• 超量接收控制
– 允差 – 活动
• 接收编号选项
– 活动
– 类型
– 下一个接收编号
版权所有 © Oracle Corporation, 2005. 保留所有权利。
版权所有 © Oracle Corporation, 2005. 保留所有权利。
接收配置文件选项
• PO:对接收处理程序启用 SQL 跟踪
甲骨文甲骨文集成产品策略加速大数据治理

甲骨文甲骨文集成产品策略加速大数据治理小张作为某银行的老客户,需要申请一张新的信用卡。
银行员工通过CRM等系统查询小张借记卡和信用卡交易信息,得到关于小张的相关信息,包括:过去的消费行为,过去的还款能力,性别、职业等个人特征。
通过对大数据――社交信息进行分析,银行员工进一步获知:小张的消费潜力、还款能力、消费习惯。
最后银行得出结论:小张的消费潜力巨大,信用能力强。
那么银行就可以给予小张信用卡金卡,额度上升到每月10万,提供美金自动购汇服务,并可针对小张进行精准营销。
这是大数据在银行的一个典型的应用场景。
银行要想获得这一业务成果,需要经过大数据捕获、组织、分析和决策四个阶段,并且要将大数据与已有的数据仓库进行整合,这都面临着巨大的挑战。
2022年,几大IT厂商相继宣布推出大数据平台,甲骨文算是目标和策略皆清晰的一家。
甲骨文采用高度集成的产品策略,为用户提供端到端的大数据解决方案。
甲骨文推出BDA+E某adata+E某alytic的组合,即Oracle大数据机Bigdataappliance(BDA)、OracleE某adata数据库云服务器以及OracleE某alytic商务智能云服务器,帮助用户处理大数据捕获、组织、分析和决策的全生命周期。
甲骨文公司副总裁兼大中华区技术总经理喻思成指出,大数据的利用过程分捕获、组织、分析和决策四个阶段。
甲骨文的策略即利用大数据机来捕获所有可用数据,通过Hadoop来将不同类型的数据组织为易分析的数据;然后再利用E某adata进行分析,其中E某alytic将起到加速BI分析过程的作用。
在大数据的捕获阶段,企业面临的挑战包括:需要处理大数据量、低密度的信息,需要频繁更改应用程序,必须横向扩展以满足急剧扩张的部署计划。
OracleNoSQL数据库专为管理海量数据设计,可以帮助企业存取非结构化数据,并可横向扩展至数百个高可用性节点。
在大数据的组织阶段,企业面临的挑战包括:现在已经有数据仓库,还希望对大数据进行分析,同时又不允许对数据仓库SLA产生负面影响。
甲骨文发布云计算策略.

甲骨文发布云计算策略2011年 12月 4日12:02甲骨文发布云计算策略:构建现代数据中心架构2010-12-15 09:45 | 922次阅读 | 来源: 【已有 0条评论】关键词:甲骨文 , 云计算 | 作者:Csdn | 收藏这篇资讯备注:这是甲骨文在北京举行的甲骨文全球大会上发布的云计算策略,包含甲骨文公司如何看待云计算以及如何提供相应的产品和服务支持,具体内容有 Oracle 数据库云服务器 (Oracle Exadata Database Machine、 Oracle 中间件云服务器(Oracle Exalogic ElasticCloud 、存储、服务器、应用虚拟化、 Oracle 云计算策略在企业信息管理的应用等一系列相关话题。
什么是云计算?Gartner 公司认为,云计算是一种计算的类型,在这种类型的计算中,以弹性和可扩展性信息技术为基础形成的计算功能是作为服务提供的。
因此可以把云计算理解为两件非常具体的事情。
首先,从系统基础设施的角度来看,云计算是指摆脱园区中、企业所有大楼中到处都是机器这种杂乱无序的状态,并把这些机器合并到一个现代化、虚拟化和高性能的数据中心中。
因此云计算的目的是彻底转变数据中心的架构。
其次,云计算是指企业应用软件和中间件与数据库技术怎样在这个现代化的数据中心架构上运行,才能将这些软件应用作为服务,通过网络或通过 Web 来提供。
很多公司想要标准化并合并系统基础设施。
不过甲骨文公司建议,在这样做的时候,应该使用高性能的预集成系统作为基础构件。
不是很多小型机器,而是很少的、较大型的预集成系统,因为这使得运行和管理数据中心变得容易多了。
而且必须考虑实现 3个部分的虚拟化:存储系统、服务器以及在其上运行的应用软件。
我们需要的不是运行成百上千台的小型应用服务器和成百上千台的小型数据库服务器,而是使用 Oracle 数据库云服务器(Oracle Exadata Database Machine来合并数据库实例,以及使用 Oracle 中间件云服务器(Oracle Exalogic Elastic Cloud来合并应用中间层。
甲骨文价值链管理解决方案

库存计划
– 按经验法则决定库存,无法按品项-渠道组合决定库存策略 – 无法掌握减少库存的机会
KPI / 监控
– 人工准备数据、生成报表,影响即时性 – 无法全局监控计划、运营的成效
信息流
– 信息孤岛,缺乏统一计划平台提供全局可视性
甲骨文价值链管理解决方案
计划指挥中心 – 绩效分析仪表板
需求预测 / 促销计划
分析需求、供应、制造和交货时间等
不确定性对服务水平的影响
确定正确的供应链中资产的数量 和最佳位置
确定整个供应网络内正确的延迟策略
在维持最关键的承诺之下,确定获利
最高的渠道、产品和客户
了解因为在计划中和计划外的事 件所造成的成本和破坏-识别瓶颈 点
模拟 what-if 场景 面对日益增加的变异,确定需要增加 缓冲库存
产销协调 – 财务审查
甲骨文价值链管理解决方案 – 计划指挥中心
计划指挥中心 – 绩效分析仪表板
需求预测 / 促销计划
最坏场景 预期场景 最佳场景
5
2
新品上市 / 旧品退市信息 价格的策略 市场/促销策略 市场需求场景
4
产销协调 S&OP
财务预算决策
全局供应计划
预测场景 预测准确度
1
• • • • •
产能预测
需求链计划
异常
供应链计划
产销协调 S&OP, Sales & Operations Planning
风险和机会 高管审查 假设和建议
Integrated Business Planning
决策和行动
财务审查
持续的 S&OP S&OP 互动决议
如何规划Oracle数据库的License和支持费用

如何规划Oracle数据库的License和支持费用企业IT数据库中,Oracle的数据库License和支持费用是很贵的,但同时,Oracle又是很多企业关键业务的首选,不得不使用。
从服务器和存储的角度,特别是从存储的角度,如何帮助大家减少Oracle的License和支持费用。
在一个普通的中型ORACLE普通数据库(不包括RAC)的费用构成。
下面的数据引用国外一个博客网站的分析。
这是假设的条件。
存储采用普通中端存储,容量是10TB。
这个是价格的情况。
Oracle企业版的License是按照CPU的核数来计算的。
整个系统的价格组成,存储才占17%的总费用,而Oracle数据库的费用(包括License和服务)占比居然高达80%。
这个是中小企业的情况,虽然离谱,但还不算最高的。
但是,Oralce RAC情况。
一般来说,大企业都采用RAC,一般4个节点来提供高可用性。
假设的前提不变,只是容量从10TB变为20TB。
这是价格的情况。
这里配置了4台服务器,构建一个4节点的Oracle RAC集群。
这是价格的组成。
但存储只占总费用的8%,而Oracle的License和服务一共占据了总费用的89%。
从上面的分析可以看出,Oracle的费用一般占比超过80%,也就是它是整个投资里面最大的部分。
因此,如果选择了Oracle,那么只有购买尽量少的Oracle License,这样就可以减少很多License的费用,从而也减少了服务的费用。
而其他硬件,则尽量不要成为性能的瓶颈。
因此,节省成本的原则就是:1、采用最高效的CPU,尽量卸载各种处理到存储上,如重删压缩等;2、采用最快的服务器和全闪存阵列,让外部硬件不能成为瓶颈,充分发挥购买License的作用。
那么,如何选择最高效的CPU呢?Oracle的License是按照CPU和核数收费的,不同的处理器类型还有不同的系数。
很多厂商拿各种服务器在那里测试,你可以查到TPC-C的公开值,可以下载最新的TPC-C 结果,然后自己计算。
oracle期间成本计算流程

oracle期间成本计算流程英文回答:Oracle Period Costing is a process used to calculate and assign costs to products or services over a specific period of time. It is commonly used in industries such as manufacturing, retail, and services where costs need to be allocated to products or services based on time rather than direct production.The process of Oracle Period Costing involves several steps. Firstly, all costs incurred during the period are collected and recorded in the system. These costs can include direct costs such as materials and labor, as well as indirect costs such as overhead expenses. The costs are then classified into different cost categories, such as materials, labor, and overhead.Once the costs are classified, they are allocated to the appropriate cost objects, which can be products,services, or cost centers. This allocation is based on predetermined allocation methods, such as percentage allocation or activity-based costing. For example, if a company has two products, A and B, and incurred $10,000 in overhead costs during the period, these costs can be allocated to the two products based on their respective usage of overhead resources.After the costs are allocated, they are thenapportioned to the cost objects based on their usage or consumption. This is done using allocation bases, which can be units produced, labor hours, or any other relevant measure. For example, if Product A used 80% of the total labor hours during the period, it will be allocated 80% of the labor costs.Once the costs are apportioned, they are then absorbed by the cost objects. This means that the costs become partof the cost of the products or services. This absorption is done using absorption rates, which are calculated based on the expected usage or consumption of resources. For example, if Product A is expected to use 100 units of materials andthe cost of materials is $10 per unit, the absorption rate for materials will be $10 per unit.Finally, the absorbed costs are recorded in thefinancial statements as part of the cost of goods sold or cost of services rendered. This allows the company to determine the profitability of its products or services and make informed decisions regarding pricing, production, and resource allocation.中文回答:Oracle期间成本计算是一种将成本按照时间分配给产品或服务的过程。
神码甲骨文产品方案培训(PPT 37页)

增量备份,速度提高了 20 倍。
DB高可用方案
ASM
DB高可用方案
自动存储管理 (ASM)
低成本的存储故障防范措施
• 存储池 • 条带和镜像 • 联机添加/删除 • 自动修复 • 自动负载均衡 • 没有附加成本
12 Acquisitions** 11 Acquisitions*
Oracle FY 2007
Oracle
FY 2008
Oracle 产品线
Oracle 云解决方案与整体设计的系统
应用程序
定制应用程序
Oracle 应用 产品
ISV 应用程序
平台即服务
Oracle SOA、 Oracle BPM
Oracle Data Integration
和第三方集群方案比较
• 不再需要第三方集群Failover解决方案
• Symantec Veritas Cluster Server and Storage Foundation • HP ServiceGuard • IBM HACMP • Sun Cluster
• RAC One 提供单一供应商方案 • Oracle Clusterware (RAC One 解决方案的一部分)也
Delivery:
������All listed above ������ MySQL, Netezza, Greenplum, ������HP Neoview ������And any ODBC compatible DBs
Timesten
O/S and Platforms
Oracle医疗大数据解决方案

Communication EMPI
Terminology Services
Registry Integration & Interoperability Clinical Data
Repository Database Grid
Hardware / Storage Infrastructure
需
要
:
完
备
的
企
基础设施
业 产
品
体
系
医疗卫生行业解决方案
Four Pillars with solution components
协同医疗 公众健康管理 医疗资源管理 医疗支付
医疗交互
数据二次 利用
健康管理
Health System Relationship Management
Care Transition Management
Infrastructure Management Security & Compliance
数据的分析利用 医疗分析
临床和科研的结合
研究分析
Research Portal
Cohort Explorer for data query/analysis and file download with role-based
在临床,结合组学数 据与临床数据,防止 健康问题,实现风险 识别,实行诊断及治 疗
• 预防 • 数据管理 • 应用研究 • 新的临床方案
病人参与
与患者互动,从而影响 其行为,监控医嘱遵循, 建立信任关系
• 行为与生活方式监控 • 提升医嘱遵循 • 预防 • 社会媒体互动 • 市场营销/品牌