oracle系统表和视图说明

合集下载

ORACLE系统表大全

ORACLE系统表大全

1.系统表ORACLE数据库的系统参数都存储在数据库中,可以通过SQLPLUS,以用户SYSYTEM 进行查询。

几个重要的表或者视图如下:v$controlfile:控制文件的信息;v$datafile:数据文件的信息;v$log:日志文件的信息;v$process:处理器的信息;v$session:会话信息;v$transaction:事务信息;v$resource:资源信息;v$sga:系统全局区的信息。

上面的视图名中的‘v$’,只是视图名字中的字符。

类似于上面的视图或表还有很多,位于:$ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL文件中。

这些视图或表可以在SQLPLUS中用SELECT语句进行查询。

2.数据字典视图表和列DBA_TABLES、ALL_TABLES和USER_TABLES显示了有关数据库表的一般信息。

DBA_TAB_COLUMNS、ALL_TAB_COLUMNS和USER_TAB_COLUMNS显示了每个数据库表的列的信息。

查看一张表属于哪个表空间select TABLESPACE_NAME from tabs where TABLESPACE_NAME = 表名;注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括表。

完整性约束DBA_CONSTRAINTS、ALL_CONSTRAINTS和USER_CONSTRAINST显示有关约束的一般信息。

DBA_CONS_COLUMNS、ALL_CONS_COLUMNS和USER_CONS_COLUMNS显示有关列的相关约束的一般信息。

视图DBA_VIEWS、ALL_VIEWS和USER_VIEWS。

注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括视图。

序列DBA_SEQUENCES、ALL_SEQUENCES和USER_SEQUENCES。

OracleEBS常用表和视图

OracleEBS常用表和视图

OracleEBS常用表和视图fnd_user系统用户表fnd_application应用信息表FND_PROFILE_OPTIONS_VL 系统配置文件fnd_menus 菜单fnd_menu_entries_tlFND_NEW_MESSAGES消息表FND_FORM表单表FND_CONCURRENT_PROGRAMS_VL 并发程序视图FND_CONCURRENT_PROGRAMS_TLFND_CONCURRENT_PROGRAMSFND_DESCR_FLEX_COL_USAGE_VLFND_DESCR_FLEX_COL_USAGE_TLFND_DESCR_FLEX_COLUMN_USAGESFND_EXECUTABLES_FORM_V 可执行并发程序视图FND_EXECUTABLES_TLFND_EXECUTABLESFND_DESCRIPTIVE_FLEXSFND_CONC_REQ_SUMMARY_V 并发请求视图FND_CONCURRENT_REQUESTSFND_RESPONSIBILITY职责表FND_RESPONSIBILITY_VL 职责FND_USER_RESP_GROUPS 用户职责fnd_flex_value_sets值集表FND_FLEX_VALUESFND_IREP_ALL_INTERFACES 接口表FND_IREP_CLASSESFnd_Irep_Classes_Tlfnd_territories_vl 国家视图fnd_log_messages 日志表fnd_form_functions 功能FND_DOCUMENT_SEQUENCES 单据序列FND_DOC_SEQUENCE_ASSIGNMENTS 序列分配fnd_id_flexs 关键弹性域定义表FND_ID_FLEX_STRUCTURES 弹性域结构表FND_ID_FLEX_SEGMENTS 弹性域段表fnd_descriptive_flexs 描述性弹性域属性表FND_DESCR_FLEX_CONTEXTS 弹性域列类别表FND_DESCR_FLEX_COLUMN_USAGES 弹性域列类别属性表FND_FLEX_VALUE_SETS 值集表FND_FLEX_VALUES 值表Fnd_Flex_Values_Tl 值描述表FND_FLEX_VALUE_NORM_HIERARCHY 值层次关系表FND_FORM_CUSTOM_RULES 个性化视图fnd_profile_options_tl 配置文件------------------------------------------------------------------------------------------------------PER_ALL_PEOPLE_F员工表per_people_f员工视图MTL_PLANNERS计划员表po_buyers_all_v采购员视图org_organization_definitions 库存组织视图hr_operating_units OU视图cux_wip_location_sign 位置号表HCM_PRODUCTION_LINE 生产线车间表user_objectsALL_SOURCEALL_PROCEDURES 存储过程wf_local_user_rolesad_bugs 补丁ad_applied_patchesXDO_TEMPLATES_B 模板XDO_TEMPLATES_TL------------------------------------------------------------------------------------------------po_vendors供应商信息表po_vendor_sites_all供应商地点信息视图AP_SUPPLIER_SITES_ALL 供应商地点表po_vendor_contacts------------------------------------------------------------------------------------------------------------------------------------------------wip_entities作业名信息表wip_discrete_jobs离散作业表wip_requirement_operations作业名物料需求发放表WIP_ACCOUNTING_CLASSES 工单分类表-------------------------------------------------------------------------------------------------------------------hr_locations交货地点hr_all_organization_unitsrcv_transactions_interface接收事务接口表po_interface_errors 接口错误信息表(pie.interface_line_id = rti.interface_transaction_id)po_requisitions_interface_all 请购接口表po_requisition_headers_all 请购单头信息po_requisition_lines_all请购单行信息po_req_distributions_all请购单分配行po_headers_all 采购订单头表po_lines_all 采购订单行表po_line_locations_all采购发运表po_distributions_all分配po_releases_all发放rcv_shipment_headers接收发送头表rcv_shipment_lines接收发送行表rcv_transactions接收交易表rcv_receiving_sub_ledger暂记应付表mtl_material_transactions物料事务处理mtl_transaction_types物料事务处理类型RCV_SUPPLYpo_buyers_all_v 采购员视图PO_AGENTS采购员表------------------------------------------------------------------------------------------------------------------------------------------------bom_bill_of_materials物料清单表bom_inventory_components物料清单构成表bom_departments 部门表bom_operational_routings 工艺路线头表BOM_OPERATION_SEQUENCES 工艺路线行表bom_operation_resources资源表------------------------------------------------------------------------------------------------------------------------------------------MTL_CATEGORY_SET_VALID_CATS_V 物料类别视图mtl_categories_b_kfv 物料类别视图(不含物料类别集)mtl_category_set_valid_cats 物料类别集表mtl_item_categories物料与类别对应表mtl_categories_b物料类别表mtl_system_items_b物料主表MTL_SYSTEM_ITEMS_TLmtl_item_sub_defaults默认接收子库mtl_secondary_inventories子库表mtl_onhand_quantities库存数据表MTL_ONHAND_QUANTITIES_DETAIL 库存现有量表MTL_SECONDARY_INVENTORIES 仓库表mtl_item_locations 项目货位表mtl_material_transactions 出入库记录表mtl_transaction_types事务处理类型表MTL_TXN_REQUEST_HEADERS 物料搬运单头表MTL_TXN_REQUEST_LINES物料搬运单行表mtl_supply 供应表mtl_demand 需求表mtl_parameters 组织参数cst_item_costs物料成本cst_cost_types成本类型MTL_SERIAL_NUMBERS序列号MTL_MATERIAL_STATUSES_TL序列号状态MFG_LOOKUPS序列号状态(SERIAL_NUM_STATUS)------------------------------------------------------------------------------------------------------------------------hr_organization_units 组织及库存组织视图hz_parties 客户表hz_relationships客户关系表HZ_PARTY_SITES 客户地点表HZ_LOCATIONS地点表hz_cust_accounts 客户账户表HZ_CUST_ACCT_SITES_ALL 客户地点账户表HZ_CUST_SITE_USES_ALL 客户地点业务目的表HZ_CUSTOMER_PROFILES 账户配置文件表HZ_CUST_PROFILE_AMTS 账户配置文件金额表HZ_CONTACT_POINTS联系方式表HZ_CODE_ASSIGNMENTS 客户的税表HZ_CUSTOMER_PROFILES 滞纳费用表---------------------------------------------------------------------------------------------wsh_trips 发运记录表wsh_trip_stops 发运停靠站记录表wsh_new_deliveries 交付记录wsh_delivery_legswsh_delivery_details 交付表wsh_delivery_assignments----------------------------------------------------------------------------------------mrp_sourcing_rules来源补充规则mrp_sr_receipt_orgmrp_sr_source_orgmrp_sr_assignmentsMRP_ASSIGNMENT_SETS来源规则分配集表po_approved_supplier_list批准的供应商列表PO_ASL_ATTRIBUTES批准的供应商列表属性-------------------------------------------------------------------------------------------------------------------------------------------------ENG_CHANGE_STATUSES_VL E CO状态pjm_seiban_numbers内外销标识表pa_projects_allmrp_designatorsDRP名称mrp_forecast_designators预测名称表mrp_forecast_dates预测表mrp_forecast_updates预测更改mrp_gross_requirements毛需求mrp_item_purchase_ordersMRP采购计划mrp_item_wip_entitiesMRP项目离散作业mrp_plans计划表mrp_recommendations计划建议mrp_workbench_bucket_datesMTL_SUPPLY_DEMAND_TEMP 物料供应需求-------------------------------------------------------------------------------------------------------------------------------------------MTL_TRANSACTION_FLOW_HEADERS公司间事务处理流mtl_transaction_flow_lines_v公司间事务处理流节点MTL_INTERCOMPANY_PARAMETERS_V 公司间关系QP_LIST_HEADERS_B价目表QP_LIST_HEADERS_TL价目表Qp_List_LinesQp_Pricing_Attributes--------------------------------------------------------------------------------------------------------------------------------------------------MTL_UNITS_OF_MEASURE单位MTL_UNITS_OF_MEASURE_TLMTL_UOM_CLASSES单位分类mtl_uom_classes_tlMTL_UOM_CONVERSIONS单位换算标准MTL_UOM_CLASS_CONVERSIONS单位换算分类间--------------------------------------------------------------------------------------------------------------------------------------------------AP_INVOICES_ALL 发票头AP_INVOICE_LINES_ALL 发票行xla_ae_headers 会计分录头xla_ae_lines 会计分录行--------------------------------------------------------------------------------------------------------------oe_system_parameters_allOM 系统参数ak_web_user_sec_attr_valuesORG_ACCT_PERIODS库存会计期间GL_PERIODS总账会计期间ZX_RATES_B税率代码ZX_PARTY_TAX_PROFILE供应商的税的配置文件xla_event_types_tlxla_event_classes_tl-------------------------------------------------------------------------------------------------------------------ap_suppliers 供应商头信息ap_supplier_sites_all 供应商地点信息hz_code_assignments 供应商税率zx_party_tax_profile 供应商税信息iby_ext_bank_accounts 供应商银行账号iby_ext_bank_branches_v 供应商银行支行iby_ext_banks_v 供应商银行iby_account_owners 银行账户的拥有者iby_pmt_instr_uses_all 银行账户所在的地点ap_supplier_contacts 供应商联系人hz_contact_points 供应商联系人电话等信息pos_supp_prof_ext_b 供应商地点附加信息iby_external_payees_all 供应商付款信息。

Oracle物化视图说明

Oracle物化视图说明

Oracle物化视图说明⼀.物化视图概述Oracle的物化视图是包括⼀个查询结果的对像,它是远程数据的的本地副本,或者⽤来⽣成基于数据表求和的汇总表。

物化视图存储基于远程表的数据,也可以称为快照。

物化视图可以⽤于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执⾏查询时,就可以避免进⾏这些耗时的操作,⽽从快速的得到结果。

物化视图有很多⽅⾯和索引很相似:使⽤物化视图的⽬的是为了提⾼查询性能;物化视图对应⽤透明,增加和删除物化视图不会影响应⽤程序中SQL语句的正确性和有效性;物化视图需要占⽤存储空间;当基表发⽣变化时,物化视图也应当刷新。

物化视图可以查询表,视图和其它的物化视图。

通常情况下,物化视图被称为主表(在复制期间)或明细表(在数据仓库中)。

对于复制,物化视图允许你在本地维护远程数据的副本,这些副本是只读的。

如果你想修改本地副本,必须⽤⾼级复制的功能。

当你想从⼀个表或视图中抽取数据时,你可以⽤从物化视图中抽取。

对于数据仓库,创建的物化视图通常情况下是聚合视图,单⼀表聚合视图和连接视图。

在复制环境下,创建的物化视图通常情况下主键,rowid,和⼦查询视图。

物化视图由于是物理真实存在的,故可以创建索引。

1.1 物化视图可以分为以下三种类型(1)包含聚集的物化视图;(2)只包含连接的物化视图;(3)嵌套物化视图。

三种物化视图的快速刷新的限制条件有很⼤区别,⽽对于其他⽅⾯则区别不⼤。

创建物化视图时可以指定多种选项,下⾯对⼏种主要的选择进⾏简单说明:(1)创建⽅式(BuildMethods):包括BUILD IMMEDIATE和BUILD DEFERRED两种。

BUILD IMMEDIATE是在创建物化视图的时候就⽣成数据。

BUILD DEFERRED则在创建时不⽣成数据,以后根据需要在⽣成数据。

默认为BUILD IMMEDIATE。

(2)查询重写(QueryRewrite):包括ENABLE QUERY REWRITE和DISABLE QUERY REWRITE两种。

oracle 视图的增删改查操作举例

oracle 视图的增删改查操作举例

oracle 视图的增删改查操作举例oracle视图创建和操作创建简单复杂的视图创建基表不存在的视图视图增删改查看视图的结构关键字: oracle视图创建操作简单复杂基表不存在增删改插入修改删除查看结构视图的概念视图是基于一张表或多张表或另外一个视图的逻辑表。

视图不同于表视图本身不包含任何数据。

表是实际独立存在的实体是用于存储数据的基本结构。

而视图只是一种定义对应一个查询语句。

视图的数据都来自于某些表这些表被称为基表。

通过视图来查看表就像是从不同的角度来观察一个或多个表。

视图有如下一些优点可以提高数据访问的安全性通过视图往往只可以访问数据库中表的特定部分限制了用户访问表的全部行和列。

简化了对数据的查询隐藏了查询的复杂性。

视图的数据来自一个复杂的查询用户对视图的检索却很简单。

一个视图可以检索多张表的数据因此用户通过访问一个视图可完成对多个表的访问。

视图是相同数据的不同表示通过为不同的用户创建同一个表的不同视图使用户可分别访问同一个表的不同部分。

视图可以在表能够使用的任何地方使用但在对视图的操作上同表相比有些限制特别是插入和修改操作。

对视图的操作将传递到基表所以在表上定义的约束条件和触发器在视图上将同样起作用。

视图的创建创建视图需要CREAE VIEW系统权限视图的创建语法如下CREATE OR REPLACE FORCENOFORCE VIEW 视图名别名1别名 2... AS 子查询WITH CHECK OPTION CONSTRAINT 约束名WITH READ ONL Y 其中OR REPLACE 表示替代已经存在的视图。

FORCE表示不管基表是否存在创建视图。

NOFORCE表示只有基表存在时才创建视图是默认值。

别名是为子查询中选中的列新定义的名字替代查询表中原有的列名。

子查询是一个用于定义视图的SELECT 查询语句可以包含连接、分组及子查询。

WITH CHECK OPTION表示进行视图插入或修改时必须满足子查询的约束条件。

oracle数据库菜鸟教程

oracle数据库菜鸟教程

oracle数据库菜鸟教程Oracle数据库是一种关系型数据库管理系统,被广泛应用于企业级数据管理和处理领域。

对于初学者而言,了解Oracle数据库以及如何使用它可能会感到有些困惑。

因此,本文将为初学者提供一个简明扼要的Oracle数据库菜鸟教程,旨在帮助他们快速入门。

第一部分:Oracle数据库概述首先,让我们来了解一下Oracle数据库的基本概念。

Oracle数据库是一种关系数据库管理系统(RDBMS),它基于集中式数据模型,其中数据存储在多个表中,并通过关系连接进行检索和操作。

Oracle数据库具有高度的可扩展性、可靠性和安全性,并可适用于各种规模的应用程序。

Oracle数据库使用结构化查询语言(SQL)作为其主要查询和操纵语言。

SQL是一种标准化的语言,用于在关系数据库中完成各种操作,包括数据检索、插入、更新和删除。

Oracle数据库还提供了一个图形用户界面(GUI)工具,称为Oracle SQL开发人员。

该工具可用于编写、执行SQL语句以及管理数据库对象,如表、视图、索引等。

第二部分:Oracle数据库安装和配置在使用Oracle数据库之前,首先需要安装和配置它。

下面是一些简单的步骤,可以帮助您完成这个过程:1. 下载Oracle数据库软件:您可以从Oracle官方网站上下载适合您操作系统的Oracle数据库软件。

2. 安装Oracle数据库软件:打开下载的软件包,并按照向导中的说明进行安装。

在安装过程中,您需要选择一些配置选项,如数据库实例名称、监听器端口等。

3. 创建Oracle数据库实例:在安装完成后,您需要创建一个数据库实例来存储和管理您的数据。

通过运行配置助手或使用命令行实用程序可以进行此操作。

4. 配置网络连接:如果您希望从远程计算机连接到Oracle数据库,需要配置网络连接设置。

这包括设置监听器以侦听来自客户端的连接请求。

5. 测试连接:最后,您可以使用Oracle SQL开发人员或其他SQL客户端工具来测试您的数据库连接是否正常工作。

oracle数据库体系架构详解

oracle数据库体系架构详解

oracle数据库体系架构详解在学习oracle中,体系结构是重中之重,⼀开始从宏观上掌握它的物理组成、⽂件组成和各种⽂件组成。

掌握的越深⼊越好。

在实际⼯作遇到疑难问题,其实都可以归结到体系结构中来解释。

体系结构是对⼀个系统的框架描述。

是设计⼀个系统的宏观⼯作。

这好⽐建⼀栋⼤楼。

你⾸先应该以图纸的⽅式把整个⼤楼的体系架构描述出来。

然后⼀点点的往⾥⾯填充东西。

下⾯我们先以⼀个图解的⽅式对oracle体系结构有⼀个基本了解根据⽰图,便于我们记忆,⽰图分三部分组成,左侧User Process、Server Process、PGA可以看做成Clinet端,上⾯的实例(Instance)和下⾯的数据库(Database)及参数⽂件(parameter file)、密码⽂件(password file)和归档⽇志⽂件(archived logfiles)组成Oracle Server,所以整个⽰图可以理解成⼀个C/S架构。

Oracle Server由两个实体组成:实例(instance)与数据库(database)。

这两个实体是独⽴的,不过连接在⼀起。

在数据库创建过程中,实例⾸先被创建,然后才创建数据库。

在典型的单实例环境中,实例与数据库的关系是⼀对⼀的,⼀个实例连接⼀个数据库,实例与数据库也可以是多对⼀的关系,即不同计算机上的多个实例打开共享磁盘系统上的⼀个公⽤数据库。

这种多对⼀关系被称为实际应⽤群集(Real Application Clusters,RAC)RAC极⼤提⾼了数据库的性能、容错与可伸缩性(可能耗费更多的存储空间)并且是oracle⽹格(grid)概念的必备部分。

下⾯我们来详细看⼀下oracle数据库的体系架构Oracle体系架构主要有两⼤部分组成:数据库实例(Instance)和数据库⽂件(database)数据库实例指数据库服务器的内存及相关处理程序,它是Oracle的⼼脏。

与Oracle性能关系最⼤的是SGA(System Global Area,即系统全局区活共享内存区),SGA包含三个部分:1、数据缓冲区,可避免重复读取常⽤的数据;2、⽇志缓冲区,提升了数据增删改的速度,减少磁盘的读写⽽加快速度;3、共享池,使相同的SQL语句不再编译,提升了SQL的执⾏速度。

Oracle数据库实用教程-第 2章 Oracle表

Oracle数据库实用教程-第 2章 Oracle表

表TABLE
约束CONSTRAINT
索引INDEX
表空间TABLESPACE
视图VIEW
回退段ROLLBACK SEGMENT
序列生成器SEQUENCE 同义词SYNONYM
用户USER
数据库链路DATABASE LINK
聚簇CLUSTER 分区PARTITION 函数/过程/程序包 触发器TRIGER 对象OBJECT
DESC emp_old;
SELECT * FROM emp_old;
16
2.3.3 存储参数
带存储参数的CREATE TABLE命令的简要语法及说明如下
CREATE TABLE [schema.] table
( { COLUMN1 DATATYPE [DEFAULT EXPn]
[COLUMN_CONSTRAINT] | TABLE_CONSTRAINT }
INSERT
INTO emp(deptno,empno,ename,sal,comm) VALUES(10,1020,'Jordan',4800,500);
32
6.修改存储参数
可 修 改 表 的 PCTFREE , PCTUSED , INITRANS 和MAXTRANS等存储参数。
例:修改表student的存储参数。
12
图2-4 table_properties的语法图
2.3 简单表的创建
2.3.1 简单表的创建语法
语法如下: CREATE TABLE 表名( 列名 类型 [NULL|NOT NULL] [PRIMARY KEY],
… 列名 类型 [NULL|NOT NULL][,[表级完整性约束]]);
13

常用查询Oracle的表,视图,存储过程,用户等SQL命令

常用查询Oracle的表,视图,存储过程,用户等SQL命令

常⽤查询Oracle的表,视图,存储过程,⽤户等SQL命令有时候需要导出某⽤户下的所有table、view、sequence、trigger等信息,下⾯的SQL可以将这些信息select出来:select * from user_tables;select * from user_views;select * from user_sequences;select * from user_triggers;查看当前⽤户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前⽤户的⾓⾊ SQL>select * from user_role_privs; 查看当前⽤户的系统权限和表级权限 SQL>select * from user_sys_privs; SQL>select * from user_tab_privs; 查看⽤户下所有的表 SQL>select * from user_tables;1、⽤户 查看当前⽤户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前⽤户的⾓⾊ SQL>select * from user_role_privs; 查看当前⽤户的系统权限和表级权限 SQL>select * from user_sys_privs; SQL>select * from user_tab_privs; 显⽰当前会话所具有的权限 SQL>select * from session_privs; 显⽰指定⽤户所具有的系统权限 SQL>select * from dba_sys_privs where grantee=’GAME’;2、表 查看⽤户下所有的表 SQL>select * from user_tables; 查看名称包含log字符的表 SQL>select object_name,object_id from user_objects where instr(object_name,’LOG’)>0; 查看某表的创建时间 SQL>select object_name,created from user_objects where object_name=upper(‘&table_name’); 查看某表的⼤⼩ SQL>select sum(bytes)/(1024*1024) as “size(M)” from user_segments where segment_name=upper(‘&table_name’); 查看放在ORACLE的内存区⾥的表 SQL>select table_name,cache from user_tables where instr(cache,’Y')>0;3、索引 查看索引个数和类别 SQL>select index_name,index_type,table_name from user_indexes order by table_name; 查看索引被索引的字段 SQL>select * from user_ind_columns where index_name=upper(‘&index_name’); 查看索引的⼤⼩ SQL>select sum(bytes)/(1024*1024) as “size(M)” from user_segments where segment_name=upper(‘&index_name’);4、序列号 查看序列号,last_number是当前值 SQL>select * from user_sequences;5、视图 查看视图的名称 SQL>select view_name from user_views; 查看创建视图的select语句 SQL>set view_name,text_length from user_views; SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的⼤⼩ SQL>select text from user_views where view_name=upper(‘&view_name’);6、同义词 查看同义词的名称 SQL>select * from user_synonyms;7、约束条件 查看某表的约束条件 SQL>select constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper(‘&table_name’); SQL>select c.constraint_name,c.constraint_type,cc.column_name from user_constraints c,user_cons_columns cc where c.owner = upper(‘&table_owner’) and c.table_name = upper(‘&table_name’) and c.owner = cc.owner and c.constraint_name = cc.constraint_name order by cc.position;8、存储函数和过程 查看函数和过程的状态 SQL>select object_name,status from user_objects where object_type=’FUNCTION’; SQL>select object_name,status from user_objects where object_type=’PROCEDURE’; 查看函数和过程的源代码 SQL>select text from all_source where owner=user and name=upper(‘&plsql_name’);。

Oracle维护常用SQL语句(查询系统表和视图)

Oracle维护常用SQL语句(查询系统表和视图)

Oracle维护常用SQL语句(查询系统表和视图)提要:1、查看表空间的名称及大小2、查看表空间物理文件的名称及大小3、查看回滚段名称及大小4、查看控制文件5、查看日志文件6、查看表空间的使用情况7、查看数据库库对象8、查看数据库的版本9、查看数据库的创建日期和归档方式10、捕捉运行很久的SQL11。

查看数据表的参数信息12.查看还没提交的事务13。

查找object为哪些进程所用14。

回滚段查看15。

耗资源的进程(top session)16。

查看锁(lock)情况17。

查看等待(wait)情况18。

查看sga情况19。

查看catched object20。

查看V$SQLAREA21。

查看object分类数量22。

按用户查看object种类23。

有关connection的相关信息1)查看有哪些用户连接2)根据v.sid查看对应连接的资源占用等情况3)根据sid查看对应连接正在运行的sql24.查询表空间使用情况25.查询表空间的碎片程度26.查询正在运行的数据库实例1、查看表空间的名称及大小select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files dwhere t.tablespace_name = d.tablespace_namegroup by t.tablespace_name;2、查看表空间物理文件的名称及大小select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_spacefrom dba_data_filesorder by tablespace_name;3、查看回滚段名称及大小select segment_name, tablespace_name, r.status,(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent, max_extents, v.curext CurExtentFrom dba_rollback_segs r, v$rollstat vWhere r.segment_id = n(+)order by segment_name ;4、查看控制文件select name from v$controlfile;5、查看日志文件select member from v$logfile;6、查看表空间的使用情况select sum(bytes)/(1024*1024) as free_space,tablespace_namefrom dba_free_spacegroup by tablespace_name;SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE CWHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;7、查看数据库库对象select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;8、查看数据库的版本Select version FROM Product_component_version Where SUBSTR(PRODUCT,1,6)='Oracle';9、查看数据库的创建日期和归档方式Select Created, Log_Mode, Log_Mode From V$Database;10、捕捉运行很久的SQLcolumn username format a12column opname format a16column progress format a8select username,sid,opname,round(sofar*100 / totalwork,0) || '%' as progress, time_remaining,sql_textfrom v$session_longops , v$sqlwhere time_remaining <> 0and sql_address = addressand sql_hash_value = hash_value/11。

oracle系统视图字段说明

oracle系统视图字段说明

oracle系统视图字段说明oracle系统表v$session、v$sql表的列字段说明在本视图中,每⼀个连接到数据库实例中的 session都拥有⼀条记录。

包括⽤户 session及后台进程如 DBWR, LGWR, arcchiver等等。

V$SESSION中的常⽤列V$SESSION是基础信息视图,⽤于找寻⽤户 SID或 SADDR。

不过,它也有⼀些列会动态的变化,可⽤于检查⽤户。

如例:SQL_HASH_VALUE, SQL_ADDRESS:这两列⽤于鉴别默认被 session执⾏的 SQL语句。

如果为 null或 0,那就说明这个 session没有执⾏任何 SQL语句。

PREV_HASH_VALUE和 PREV_ADDRESS两列⽤来鉴别被 session执⾏的上⼀条语句。

注意:当使⽤ SQL*Plus进⾏选择时,确认你重定义的列宽不⼩于 11以便看到完整的数值。

STATUS:这列⽤来判断 session状态是:l Achtive:正执⾏ SQL语句 (waiting for/using a resource)l Inactive:等待操作 (即等待需要执⾏的 SQL语句 )l Killed:被标注为删除下列各列提供 session的信息,可被⽤于当⼀个或多个 combination未知时找到 session。

Session信息l SID: SESSION标识,常⽤于连接其它列l SERIAL#:如果某个 SID⼜被其它的 session使⽤的话则此数值⾃增加 (当⼀个 SESSION结束,另⼀个 SESSION开始并使⽤了同⼀个 SID)。

l AUDSID:审查 session ID唯⼀性,确认它通常也⽤于当寻找并⾏查询模式l USERNAME:当前 session在 oracle中的⽤户名。

Client信息数据库 session被⼀个运⾏在数据库服务器上或从中间服务器甚⾄桌⾯通过 SQL*Net连接到数据库的客户端进程启动,下列各列提供这个客户端的信息l OSUSER:客户端操作系统⽤户名l MACHINE:客户端执⾏的机器l TERMINAL:客户端运⾏的终端l PROCESS:客户端进程的 IDl PROGRAM:客户端执⾏的客户端程序要显⽰⽤户所连接 PC的 TERMINAL、 OSUSER,需在该 PC的 ORACLE.INI或 Windows中设置关键字 TERMINAL, USERNAME。

Oracle 数据库对象_序列_索引_视图_同义词

Oracle 数据库对象_序列_索引_视图_同义词


查看序列情况
SELECT s_test.currval FROM dual; SELECT s_test.nextval FROM dual;
删除序列

删除序列使用DROP SEQUENCE语句

例如,删除s_test3序列
DROP SEQUENCE s_test3;

执行效果如下图所示:
索引介绍
使用序列填充主键-2

查询插入结果
SELECT * FROM order_status2;

查询结果如图所示

注意

Hale Waihona Puke 当使用序列填充主键列时,通常应使用NOCACHE避免序列产生的数 值发生遗漏(数值产生遗漏是因为缓存数值时,数据库被关闭)。然 而,使用NOCACHE虽然会降低性能。但是如果不介意主键值产生遗 漏,可以再考虑使用CACHE。
案例

使用默认选项创建序列
CREATE SEQUENCE s_test;

说明

创建序列忽略了其他选项,那么将会使用默认值。 start_num和increment_num都是1

指定相关选项创建序列
CREATE SEQUENCE s_test2 START WITH 10 INCREMENT BY 5 MINVALUE 10 MAXVALUE 20 CYCLE CACHE 2 ORDER;

说明

minimum_num:序列中的最小值,该值必须比start_num小,比 maximum_num也要小 NOMINVALUE:对于序列最小值,不指定最小值,对于升序最小值是1 ,对于降序最小值是-1026 CYCLE:对于序列的值达到最大值或最小值时的处理方法。如果是升序 达到最大值了,那么下一个生成的值将是最小值;如果是降序达到最小值 时,那么下一个值将是最大值。 NOCYCLE:当序列的值达到最大或最小值时,序列将不再产生任何数值 。默认是NOCYCLE。

ORACLE系统视图及表大全

ORACLE系统视图及表大全

总结ORACLE系统视图及表大全:dba一开头.....dba_users数据库用户信息dba_segments表段信息dba_extents数据区信息dba_objects数据库对象信息dba_tablespaces数据库表空间信息dba_data_files数据文件设置信息dba_temp_files临时数据文件信息dba_rollback_segs 回滚段信息dba_ts_quotas用户表空间配额信息dba_free_space数据库空闲空间信息dba_profiles数据库用户资源限制信息dba_sys_privs用户的系统权限信息dba_tab_privs用户具有的对象权限信息dba_col_privs 用户具有的列对象权限信息dba_role_privs用户具有的角色信息dba_audit_trail审计跟踪记录信息dba_stmt_audit_opts 审计设置信息dba_audit_object 对象审计结果信息dba_audit_session会话审计结果信息dba_indexes用户模式的索引信息user_开头user_objects用户对象信息user_source数据库用户的所有资源对象信息user_segments用户的表段信息user_tables用户的表对象信息user_tab_columns用户的表列信息user_constraints用户的对象约束信息user_sys_privs 当前用户的系统权限信息user_tab_privs当前用户的对象权限信息user_col_privs当前用户的表列权限信息user_role_privs当前用户的角色权限信息user_indexes用户的索引信息user_ind_columns用户的索引对应的表列信息user_cons_columns用户的约束对应的表列信息user_clusters用户的所有簇信息user_clu_columns用户的簇所包含的内容信息user_cluster_hash_expressions 散列簇的信息v$开头v$database数据库信息v$datafile数据文件信息v$controlfile控制文件信息v$logfile重做日志信息v$instance数据库实例信息v$log日志组信息v$loghist日志历史信息v$sga数据库SGA信息v$parameter初始化参数信息v$process数据库服务器进程信息v$bgprocess数据库后台进程信息v$controlfile_record_section控制文件记载的各部分信息v$thread线程信息v$datafile_header数据文件头所记载的信息v$archived_log归档日志信息v$archive_dest归档日志的设置信息v$logmnr_contents归档日志分析的DML DDL结果信息v$logmnr_dictionary日志分析的字典文件信息v$logmnr_logs日志分析的日志列表信息v$tablespace表空间信息v$tempfile临时文件信息v$filestat数据文件的I/O统计信息v$undostat Undo 数据信息v$rollname在线回滚段信息v$session会话信息v$transaction 事务信息v$rollstat回滚段统计信息v$pwfile_users特权用户信息v$sqlarea当前查询过的sql语句访问过的资源及相关的信息v$sql与v$sqlarea基本相同的相关信息v$sysstat数据库系统状态信息all_开头all_users数据库所有用户的信息all_objects数据库所有的对象的信息all_def_audit_opts所有默认的审计设置信息all_tables所有的表对象信息all_indexes所有的数据库对象索引的信息session_ 开头session_roles会话的角色信息session_privs会话的权限信息index一开头index_stats索引的设置和存储信息伪表dual系统伪列表信息Oracle常用动态视图介绍:2.1.1v$lock给出了锁的信息,如type 字段,user type locks有 3 种:TM,TX,UL,system type locks 有多种,常见的有:MR,RT,XR,TS等。

Oracle表分析

Oracle表分析

Oracle表分析Oracle表分析当表没有做分析的时候,Oracle 会使⽤动态采样来收集统计信息。

获取准确的段对象(表,表分区,索引等)的分析数据,是CBO存在的基⽯,CBO的机制就是收集尽可能多的对象信息和系统信息,通过对这些信息进⾏计算,分析,评估,最终得出⼀个成本最低的执⾏计划。

所以对于CBO,数据段的分析就⾮常重要。

分析SQLanalyze table tablename compute statistics等同于analyze table tablename compute statistics for table for all indexes for all columnsfor table的统计信息存在于视图:user_tables 、all_tables、dba_tablesfor allindexes的统计信息存在于视图: user_indexes 、all_indexes、dba_indexesfor allcolumns的统计信息存在于试图:user_tab_columns、all_tab_columns、dba_tab_columns或者SQL> exec dbms_stats.gather_table_stats(user,'xiaogongjiang');⽣成的统计信息会存在于user_tables这个视图,查看⼀下select * from user_tables where table_name=table_name;观察⼀下NUM_ROWS,BLOCKS,AVG_SPACE,AVG_ROW_LEN⼏列你就会明⽩,这就是变化。

删除SQLanalyze table tablename delete statistics 会删除所有的statistics作⽤Oracle分析表的作⽤:为了使基于CBO的执⾏计划更加准确数据准备Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.4.0Connected as xx@xgjSQL> create table xiaogongjiang as select a.OBJECT_ID ,a.OBJECT_NAME from dba_objects a ;--创建表Table createdSQL> select count(1) from xiaogongjiang;COUNT(1)----------35183SQL> create index idx_object_id on xiaogongjiang(object_id);--在object_id建⽴索引Index createdSQL>分析前的数据及执⾏计划SQL> select num_rows, avg_row_len, blocks, last_analyzed from user_tables where table_name = 'XIAOGONGJIANG';--表的信息NUM_ROWS AVG_ROW_LEN BLOCKS LAST_ANALYZED---------- ----------- ---------- -------------SQL> select blevel,leaf_blocks,distinct_keys,last_analyzed from user_indexes where table_name='XIAOGONGJIANG';--索引信息BLEVEL LEAF_BLOCKS DISTINCT_KEYS LAST_ANALYZED---------- ----------- ------------- -------------从查询结果看出,表的⾏数,⾏长,占⽤的数据块数及最后的分析时间都是空。

Oracle创建视图(View)

Oracle创建视图(View)

Oracle创建视图(View)视图:是基于⼀个表或多个表或视图的逻辑表,本⾝不包含数据,通过它可以对表⾥⾯的数据进⾏查询和修改。

视图基于的表称为基表,Oracle的数据库对象分为五种:表,视图,序列,索引和同义词。

视图是存储在数据字典⾥的⼀条select语句。

通过创建视图可以提取数据的逻辑上的集合或组合。

视图的优点:1.对数据库的访问,因为视图可以有选择性的选取数据库⾥的⼀部分。

2.⽤户通过简单的查询可以从复杂查询中得到结果。

3.维护数据的独⽴性,试图可从多个表检索数据。

4.对于相同的数据可产⽣不同的视图。

视图分为简单视图和复杂视图:1、简单视图只从单表⾥获取数据,复杂视图从多表;2、简单视图不包含函数和数据组,复杂视图包含;3、简单视图可以实现DML操作,复杂视图不可以。

语法结构:创建视图CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name[(alias[, alias]...)]AS subquery[WITH CHECK OPTION [CONSTRAINT constraint]][WITH READ ONLY]语法解析:OR REPLACE :若所创建的试图已经存在,则替换旧视图;FORCE:不管基表是否存在ORACLE都会⾃动创建该视图(即使基表不存在,也可以创建该视图,但是该视图不能正常使⽤,当基表创建成功后,视图才能正常使⽤);NOFORCE :如果基表不存在,⽆法创建视图,该项是默认选项(只有基表都存在ORACLE才会创建该视图)。

alias:为视图产⽣的列定义的别名;subquery :⼀条完整的SELECT语句,可以在该语句中定义别名;WITH CHECK OPTION :插⼊或修改的数据⾏必须满⾜视图定义的约束;WITH READ ONLY :默认可以通过视图对基表执⾏增删改操作,但是有很多在基表上的限制(⽐如:基表中某列不能为空,但是该列没有出现在视图中,则不能通过视图执⾏insert操作),WITH READ ONLY说明视图是只读视图,不能通过该视图进⾏增删改操作。

《oracle基础教程》课件

《oracle基础教程》课件

Oracle数据库的数据插入
总结词
插入数据是将数据添加到Oracle数据库表中的基本操作之一。
详细描述
在Oracle数据库中,可以使用INSERT语句向表中插入数据。INSERT语句指定了要插入数据的表和要插入的数据 ,以及要插入数据的列的顺序和数据类型。插入数据后,可以使用SELECT语句查询表中的数据,以验证数据是 否已成功插入。
Oracle数据库的数据查询
总结词
查询数据是从Oracle数据库表中检索数 据的操作之一。
VS
详细描述
在Oracle数据库中,可以使用SELECT语 句查询表中的数据。SELECT语句指定了 要检索的列和要检索的表,以及可能的筛 选条件和排序规则。查询结果将返回满足 条件的所有行和列。此外,还可以使用聚 合函数、分组和连接等高级查询技术来检 索更复杂的数据。
Oracle数据库在科研领域中也有广泛 应用,如生物信息学、气象学、地理 信息系统等。
企业级应用
金融行业
政府机构
科研领域
Oracle数据库广泛应用于各种企业级 应用,如ERP、CRM、人力资源等。
Oracle数据库在政府机构中的应用也 非常普遍,如税务、公安、社保等。
02
Oracle数据库的安装与配置
1990年代
Oracle推出更多企业级数据库解决 方案,进一步巩固市场地位。
03
02
1980年代
Oracle数据库不断升级和完善,逐 渐成为市场领导者。
2000年代至今
Oracle持续创新,推出了一系列云 数据库和大数据解决方案。
04
Oracle数据库的特点
高效性能
Oracle数据库具有出色的查询性能和事 务处理能力,能够满足各种规模的企业

oracle database table层级结构

oracle database table层级结构

oracle database table层级结构全文共四篇示例,供读者参考第一篇示例:Oracle数据库表是数据库中的基本组成部分,它负责存储数据并提供对数据的访问。

在Oracle数据库中,表可以根据其之间的关系进行层级结构的划分,这种层级结构可以帮助用户更好地管理数据并方便数据的操作和查询。

本文将对Oracle数据库表的层级结构进行详细介绍。

1. 表的基本概念在Oracle数据库中,表是一种用于存储特定类型数据的结构,它由列和行组成。

每个表都有一个唯一的名称,并且可以包含一个或多个列,每个列都定义了表中存储的数据类型。

表中的每一行则代表一个记录,每个记录包含对应的列数据。

2. 表的层级结构在Oracle数据库中,表之间可以有不同的关系,这些关系可以反映表之间的层级结构。

在层级结构中,通常会存在主表和从表的关系,主表包含基本信息,从表包含与主表相关的详细信息。

通过建立不同表之间的关联,可以建立起一种层级化的数据存储结构,实现数据的组织和管理。

3. 表的关联在Oracle数据库中,表之间的关联是通过外键来实现的。

外键是一个列或一组列,它保存了另一个表的主键值。

通过外键,可以建立不同表之间的关联,实现数据的一对多或多对多关系。

在建立表之间的关联时,需要注意保证数据的完整性和一致性,确保数据的正确性和可靠性。

4. 表的索引在Oracle数据库中,表的索引是一种用于快速查找数据的结构。

索引可以提高数据的查询性能,减少查询时间。

通过在表中建立索引,可以根据索引列快速定位到对应的数据行,加快查询速度。

在设计表结构时,需要考虑在哪些列上建立索引,以提高查询性能。

5. 表的分区在Oracle数据库中,表的分区是一种将表数据按照一定规则分割成多个部分存储的方式。

通过表分区,可以实现数据的更好管理和维护。

表的分区可以按照时间、地区、业务类型等进行划分,不同分区可以根据需求进行独立维护和操作,有效提高数据库的性能和可靠性。

Oracle 的物化视图

Oracle 的物化视图

ORACLE物化视图一、------------------------------------------------------------------------------------------物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。

物化视图存储基于远程表的数据,也可以称为快照。

物化视图可以查询表,视图和其它的物化视图。

通常情况下,物化视图被称为主表(在复制期间)或明细表(在数据仓库中)。

对于复制,物化视图允许你在本地维护远程数据的副本,这些副本是只读的。

如果你想修改本地副本,必须用高级复制的功能。

当你想从一个表或视图中抽取数据时,你可以用从物化视图中抽取。

对于数据仓库,创建的物化视图通常情况下是聚合视图,单一表聚合视图和连接视图。

本篇我们将会看到怎样创建物化视图并且讨论它的刷新选项。

在复制环境下,创建的物化视图通常情况下主键,rowid,和子查询视图。

1.主键物化视图:下面的语法在远程数据库表emp上创建主键物化视图SQL> CREATE MATERIALIZED VIEW mv_emp_pkREFRESH FAST START WITH SYSDATENEXT SYSDATE + 1/48WITH PRIMARY KEYAS SELECT * FROM emp@remote_db;Materialized view created.注意:当用FAST选项创建物化视图,必须创建基于主表的视图日志,如下:SQL> CREATE MATERIALIZED VIEW LOG ON emp;Materialized view log created.2.Rowid物化视图下面的语法在远程数据库表emp上创建Rowid物化视图SQL> CREATE MATERIALIZED VIEW mv_emp_rowidREFRESH WITH ROWIDAS SELECT * FROM emp@remote_db;Materialized view log created.3.子查询物化视图下面的语法在远程数据库表emp上创建基于emp和dept表的子查询物化视图SQL> CREATE MATERIALIZED VIEW mv_empdeptAS SELECT * FROM emp@remote_db eWHERE EXISTS (SELECT * FROM dept@remote_db dWHERE e.dept_no = d.dept_no)Materialized view log created.REFRESH 子句 [refresh [fast|complete|force] [on demand | commit][start with date] [next date] [with {primary key|rowid}]]Refresh选项说明:a. oracle用刷新方法在物化视图中刷新数据.b. 是基于主键还是基于rowid的物化视图c. 物化视图的刷新时间和间隔刷新时间Refresh方法-FAST子句增量刷新用物化视图日志(参照上面所述)来发送主表已经修改的数据行到物化视图中.如果指定REFRESH FAST子句,那么应该对主表创建物化视图日志SQL> CREATE MATERIALIZED VIEW LOG ON emp;Materialized view log created.对于增量刷新选项,如果在子查询中存在分析函数,则物化视图不起作用。

Oracle 创建视图

Oracle  创建视图

Oracle 创建视图创建视图是使用CREATE VIEW语句完成的。

为了在当前用户模式中创建视图,要求数据库用户必须具有CREATE VIEW系统权限;如果要在其他用户模工中创建视图,则用户必须具有CREATE ANY VIEW系统权限。

创建视图最基本的语法如下:create [ or replace] view <view_ name> [(alias[,alias]…)]as <subquery>;[with check option [constraint constraint_name]][with read only]如上所示,ALIAS用于指定视图列的别名,SUBQUERY用于指定视图对应的子查询语句;WITH CHECK OPTION子句用于指定在视图上定义CHECK约束;WITH READ ONL Y 子句用于定义只读视图。

在创建视图时,如果不提供视图列别名,Oracle会自动使用子查询的列名或列别名;如果视图子查询包含函数或表达式,则必须定义列别名。

下面通过示列说明建立和使用视图的方法:1.简单视图简单视图是指基于单个表建立的,不包含任何函数、表达式和分组数据的视图。

下面的语句建立了一个用于显示某个部门的员工信息:SQL> create or replace view emp_sales_view as2 select empno,ename,job,sal,deptno3 from scott.emp4 where deptno=30;视图已创建。

上述语句建立一个视图EMP_SALES_VIEW。

因为建立视图时没有提供列别名,所以视图的列名分别为:EMPNO、ENAME、JOB、SAL和DEPTNO。

对于简单视图而言,不仅可以执行SELECT操作,而且还可以执行INSERT、UPDA TE、DELETE等操作。

示例如下:SQL> insert into emp_sales_view2 values(7950,'mary','CLERK',1000,30);已创建 1 行。

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

注意:DBA_OBJECTS、ALL_OBJECTS 和 USER_OBJECTS 显示了模式对象的信息,包括同义词。 索引 DBA_INDEXS 、 ALL_INDEXS 、 USER_INDEXS 、 DBA_IND_COLUMNS 、 ALL_IND_COLUMNS 和 USER_IND_COLUMNS。 用户 DBA_USERS。 角色 DBA_ROLES。 表空间定额 DBA_TS_QUOTAS。 配置 Oracle 表 DBA_PROFILES。 表空间 DBA_TABLESPACES。 数据文件 DBA_DATA_FILES。 段 DBA_SEGMENTS、USER_SEGMENT。 回滚段 DBA_ROLLBACK_SEGS、V$ROLLNAME、V$ROLLSTAT
5.视图的依赖性
由于视图的定义是一个引用了其他对象(表,视图)的查询,因此视图依赖于其所引用的对 象。Oracle 会自动地处理视图的依赖性。例如,当用户移除了一个视图的基表后再重建此 表,Oracle 将检查新的基表是否符合视图的定义并判断视图的有效性。
6.可更新的连接视图
连接视图是指在一个视图的定义查询的 from 字句中引用了多个表或视图。而可更新的连接 视图是指能够执行 UPDATE,INSERT,和 DELETE 操作的连接视图。为了保证视图是可 更新的,其定义中不能包含以下语法结构:
查询该用户拥有哪些索引
1. select index_name from user_indexes;
查询该用户拥有哪些视图
1. select view_name from user_views;
查询该用户拥有哪些数据库对象,对象包括表、视图、存储过程、触发器、包、索引、 序列、JAVA 文件等。
1. select object_name from user_objects;
2.视图的存储
与表不同,视图不会要求分配存储空间,视图中也不会包含实际的数据。视图只是定义了一 个查询,视图中的数据是从基表中获取,这些数据在视图被引用时动态的生成。由于视图基 于数据库中的其他对象,因此一个视图只需要占用数据字典中保存其定义的空间,而无需额 外的存储空间。
3.视图的作用
用户可以通过视图以不同形式来显示基表中的数据,视图的强大之处在于它能够根据不同用 户的需要来对基表中的数据进行整理。视图常见的用途如下:
视图的列名可以被任意改变,而不会影响此视图的基表
使应用程序不会受基表定义改变的影响
在一个视图的定义中查询了一个包含 4 个数据列的基表中的 3 列。当基表中添加了新的列 后,由于视图的定义并没有被影响,因此使用此视图的应用程序也不会被影响。
保存复杂查询
一个查询可能会对表数据进行复杂的计算。用户将这个查询保存为视图之后,每次进行类似 计算只需查询此视图即可。
通过视图可以设定允许用户访问的列和数据行,从而为表提供了额外的安全控制
隐藏数据复杂性
视图中可以使用连接(join),用多个表中相关的列构成一个新的数据集。此视图就对用户隐 藏了数据来源于多个表的事实。
简化用户的 SQL 语句
用户使用视图就可从多个表中查询信息,而无需了解这些表是如何连接的。
以不同的角度来显示基表中的数据
主要描述当前用户的信息,主要包括当前用户名、帐户 id、帐户状态、表空间名、创 建时间等。
1. select * from user_users;
user_/all_区别: all_列出来的信息是当前用户可以访问的对象而不是当前用户拥有的对象。 查询某一用户下的所有表、过程、函数等信息。
1. select owner , object_name , object_type from all_objects
当前锁住的对象 静态数据字典:这类数据字典主要是由表和视图组成 数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。 静态数据字典中的视图分为三类,它们分别由三个前缀够成:user_*、 all_*、 dba_*。
1. user_*
该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象)
v$context
该视图列出当前会话的属性信息。比如命名空间、属性值等。
以上的相关内容就是对 Oracle 数据字典的相关内容的介绍,望你能有所收获。
oracle 几个常用的监控视图 v$process, v$session, v$sqltext, V$SESSION_WAIT 几个重要的 Oracle 表或者视图 v$controlfile:控制文件的信息;v$datafile:数据文件的信息;v$log:日志文件的信息; v$process:处理器的信息;v$session:会话信息;v$transaction:事务信息; v$resource:资源信息;v$sga:系统全局区的信息 数据字典视图 表和列 DBA_TABLES、ALL_TABLES 和 USER_TABLES 显示了有关数据库表的一般信息。 DBA_TAB_COLUMNS、ALL_TAB_COLUMNS 和 USER_TAB_COLUMNS 显示了每个数据库表的列 的信息。 注意:DBA_OBJECTS、ALL_OBJECTS 和 USER_OBJECTS 显示了模式对象的信息,包括 Oracle 表。 完整性约束 DBA_CONSTRAINTS、ALL_CONSTRAINTS 和 USER_CONSTRAINST 显示有关约束的一般信息。 DBA_CONS_COLUMNS、ALL_CONS_COLUMNS 和 USER_CONS_COLUMNS 显示有关列的相关约 束的一般信息。 视图 DBA_VIEWS、ALL_VIEWS 和 USER_VIEWS。 注意:DBA_OBJECTS、ALL_OBJECTS 和 USER_OBJECTS 显示了模式对象的信息,包括视图。 序列 DBA_SEQUENCES、ALL_SEQUENCES 和 USER_SEQUENCES。 注意:DBA_OBJECTS、ALL_OBJECTS 和 USER_OBJECTS 显示了模式对象的信息,包括序列。 同义词 DBA_SYNONYMS、ALL_SYNONYMS 和 USER_SYNONYMS。
1.视图的概述
视图其实就是一条查询 sql 语句,用于显示一个或多个表或其他视图中的相关数据。视图将 一个查询的结果作为一个表来使用,因此视图可以被看作是存储的查询或一个虚拟表。视图 来源于表,所有对视图数据的修改最终都会被反映到视图的基表中,这些修改必须服从基表 的完整性约束,并同样会触发定义在基表上的触发器。(Oracle 支持在视图上显式的定义触 发器和定义一些逻辑约束)
1. all_*
该试图存储了当前用户能够访问的对象的信息。(与 user_*相比,all_* 并不需要拥 有该对象,只需要具有访问该对象的权限即可)
1. dba_*
该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限, 一般来说必须具有管理员权限
1. select * from dictionary;
该视图显示数据库中锁定的数据库对象以及访问这些对象的会话对象(session 对象)。
1. select * from v$access 2. v$session
该视图列出当前会话的详细信息。
1. v$active_instance
该视图主要描述当前数据库下的活动的实例的信息。依然可以使用 select 语句来观察 该信息。
查询该用户拥有哪些表 user_tables 主要描述当前用户拥有的所有表的信息, 主要包括表名、表空间名、簇名等。通过此视图可以清楚了解当前用户可以操作的表有 哪些
1. desc user_tables; 2. select table_n from user_tables;
集合操作符 DISTINCT 操作符 聚合函数或分析型函数 GROUP BY,ORDER BY,CONNECT BY,或 START WITH 字句 在 SELECT 之后的列表中使用集合表达式 在 SELECT 之后的列表中使用子查询 连接(join)(但是有例外情况) 对于不可更新的视图,可以利用 INSTEAD OF 触发器对其数据进行修改。
对于 dba_开头的需要管理员权限, 查询表空间的信息(当前用户必须拥有 DBA 角色)。
1. select * from dba_data_files
动态 Oracle 数据字典 Oracle 包含了一些潜在的由系统管理员如 SYS 维护的表和视图,由于当数据库运行的 时候它们会不断进行更新,所以称它们为动态数据字典(或者是动态性能视图)。这些视图 提供了关于内存和磁盘的运行情况,所以我们只能对其进行只读访问而不能修改它们。 Oracle 中这些动态性能视图都是以 v$开头的视图. v$access
逻辑数据独立性
视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上 的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。 4.视图的工作机制
视图的定义就是其使用的查询语句,Oracle 将这个定义以文本形式存储在数据字典中。当 用户在 SQL 语句中引用了视图时,Oracle 将进行以下工作:
将引用了视图的语句与视图的定义语句整合为一个语句 在共享 SQL 区解析整合后的语句 执行此语句 当现有的共享 SQL 区中没有与整合后的语句一致时,Oracle 才会为此语句创建新的共享 SQL 区。因此,引用了视图的 SQL 语句也能够利用已有的共享 SQL 区以达到节约内存 和提高性能的目的。
在 mount 状态下可以查看 v$开头的视图
Oracle 数据字典中包含的视图有哪些 我们都知道 Oracle 数据字典文档中静态数据字典的视图共分为三类,动态 Oracle 数据
字典的相关视图又分为哪几类呢?以及 Oracle 数据字典的相关视图又有什么样的作用呢? 这些问题在此篇文章中都会找到答案。
相关文档
最新文档