oracle数据库中的表与视图
oracle数据库中的表与视图

oracle数据库中的表与视图Oracle数据库数据对象中最基本的是表和视图,其他还有约束、序列、函数、存储过程、包、触发器等。
对数据库的操作可以基本归结为对数据对象的操作,理解和掌握Oracle数据库对象是学习Oracle的捷径。
表和视图Oracle中表是数据存储的基本结构。
ORACLE8引入了分区表和对象表,ORACLE8i 引入了临时表,使表的功能更强大。
视图是一个或多个表中数据的逻辑表达式。
本文我们将讨论怎样创建和管理简单的表和视图。
管理表表可以看作有行和列的电子数据表,表是关系数据库中一种拥有数据的结构。
用CREATE TABLE语句建立表,在建立表的同时,必须定义表名,列,以及列的数据类型和大小。
例如:CREATE TABLE products( PROD_ID NUMBER(4),PROD_NAME VAECHAR2(20),STOCK_QTY NUMBER(5,3));这样我们就建立了一个名为products的表,关键词CREATE TABLE后紧跟的表名,然后定义了三列,同时规定了列的数据类型和大小。
在创建表的同时你可以规定表的完整性约束,也可以规定列的完整性约束,在列上普通的约束是NOT NULL,关于约束的讨论我们在以后进行。
在建立或更改表时,可以给表一个缺省值。
缺省值是在增加行时,增加的数据行中某一项值为null时,oracle即认为该值为缺省值。
下列数据字典视图提供表和表的列的信息:. DBA_TABLES. DBA_ALL_TABLES. USER_TABLES. USER_ALL_TABLES. ALL_TABLES. ALL_ALL_TABLES. DBA_TAB_COLUMNS. USER_TAB_COLUMNS. ALL_TAB_COLUMNS表的命名规则表名标识一个表,所以应尽可能在表名中描述表,oracle中表名或列名最长可以达30个字符串。
表名应该以字母开始,可以在表名中包含数字、下划线、#、$等。
视图和数据表之间的主要区别是什么?使用视图有哪些优点?

主要区别:
视图(View)和数据表(Table)是数据库中的两个不同的概念。
1. **数据表**是数据库中的一个实体,它是由行和列组成的二维数据结构,用于存储和组织数据。
数据表包含实际的数据记录,每一行代表一个实体,每一列代表一个属性。
2. **视图**是一个虚拟的表,它是基于一个或多个数据表的查询结果集。
视图并不实际存储数据,而是通过基础数据表的定义和查询条件动态生成。
视图可以根据需要提供对数据表的不同视角或子集的访问。
优点:
使用视图具有以下几个优点:
1. **数据安全性**:视图可以限制对数据的访问权限。
通过只向用户提供需要的数据,可以保护敏感数据的安全性,并确保用户只能访问他们具有权限的数据。
2. **简化数据访问**:视图可以为用户隐藏数据表的复杂性和结构细节,提供更简单和直观的数据访问接口。
用户可以
使用视图而不必了解底层表的结构和关系。
3. **数据组织和抽象**:视图可以用来组织和抽象数据,从而使用户能够更轻松地进行数据分析、查询和报告生成。
视图可以对数据进行过滤、排序、计算和聚合操作,从而提供用户更方便的数据处理方式。
4. **逻辑数据独立性**:使用视图可以实现逻辑数据独立性,即在不改变应用程序代码的情况下,可以调整底层数据表的结构和关系。
这使得应用程序可以对视图进行操作,而不必关心底层数据表的变化。
总之,视图在数据库中是一种强大的工具,它提供了数据安全性、数据组织和抽象、简化数据访问以及逻辑数据独立性等优点。
通过使用视图,可以提高数据库的灵活性和可维护性,同时简化用户对数据的操作和访问。
oracleEBS常用表,视图,会计分录,mtl_serial_numbers,总账

attribute7 --额外属性
)
VALUES (1,
'CREATE',
'*********',
'*********************',
***,
1,
'FG',
'Inactive',
'Tai',
''
);
2.通过API导入帐户别名接收
2.运行导入物料,选择相应的参数(处理集)
接口表导入示范:
INSERT INTO mtl_system_items_interface
(process_flag, --1为待处理,2为分配完成,3为异常,4为验证通过导入异常,5为导入过
程中,6为导入成功
transaction_type, --新分配物料则为CREATE,更新物料状态则为UPDATE
--记录接收的事务所产生的批次信息表
5、mtl_transaction_lot_numbers
--transaction_id=mtl_material_transactions.transaction_id
--lot_number=mtl_onhand_quantities.lot_number
item_number, --物料编码
description, --物料描述
organization_id, --需分配到的组织
set_process_id, --处理集,自己定义,届时在后续的导入物料的请求中作为参数
item_type, --物料类型
Oracle EBS常用表和视图

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的表,视图,存储过程,用户等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’);。
数据库表和视图区别理解

数据库表和视图区别理解
⼀,表
1>,表是以每秒⾁眼看不见的速度刷新的,每次插⼊数据,修改数据,检索数据都是,刷新表状态的,否则你看到的就是不准确的数据
2>,表是⽤来增删改的,已经不是⽤来查的了,除⾮你的访问密度⼩
⼆,视图
1>,视图和表的机制完全不同,视图是被动更新,只有删除,修改,插⼊的时候才刷新,⽽且不是针对表,是它⾃⼰copy了数据,在内存给你看
2>,视图对内存的要求⼤,但是换来的是读写分离,避免⾼并发的死锁问题
3>,合理的运⽤视图,可以把数据库的负担降低很多,⼀般情况下是⼤量的查询造成的死锁,要解决锁,就需要转移查询的主体
4>,创建视图也有个忌讳,不要把内容很⼤的字段放进去⽐如⽂章内容,这样会消耗你很多内存空间,⽽且查的慢,这些部分只能是分拆成查视图和查表了。
oracle视图原理

oracle视图原理Oracle视图是一个虚拟的表,它是由查询语句定义的。
视图本身并不包含数据,而是在查询时动态地从基本表或其他视图中检索数据。
视图是对基本表的引用,它对数据进行了封装和分组,以提供一个更简洁和可读性更高的数据展示方式。
视图的创建是通过SELECT语句来实现的,它可以从一个或多个表中选择列,并根据需要对这些列进行过滤、排序和分组等操作。
创建视图的语法如下:CREATE VIEW view_name ASSELECT column1, column2, ...FROM table_nameWHERE condition;创建视图后,可以像操作普通表一样使用视图进行查询和连接操作。
视图的查询会自动基于视图定义的查询语句执行,从而返回相关的结果。
由于视图只是一个虚拟的表,并不存储数据,因此查询时不会对视图本身进行修改。
除了查询操作,视图还可以用于数据更新。
通过视图对基本表进行增删改操作,可以对底层的数据进行更新,同时保持视图的一致性。
但是需要注意的是,不是所有的视图都可以进行数据更新操作,只有满足一定条件的视图才可以进行更新。
视图的优点是可以将复杂的查询语句封装为简单的视图,提高查询效率和代码复用性。
它还可以对数据进行保护,限制用户只能查看和修改部分数据,提高数据安全性。
此外,视图还可以隐藏底层表结构的变化,提供一种抽象层,使应用程序与数据库之间的耦合度降低。
总之,Oracle视图是一个虚拟的表,它封装了基本表或其他视图的数据,并提供简洁和可读性高的数据展示方式。
通过视图可以进行查询和连接操作,并且还能用于数据更新和保护。
视图的创建是通过SELECT语句实现的,查询时将自动基于视图定义的查询语句执行。
oracle系统视图大全

DBA_2PC_NEIGHBORS 包含待处理事务进入连接和退出连接信息。
DBA_2PC_PENDING 包含等待恢复的分布式事务的信息。
DBA_ALL_TABLES 显示数据库中所有表(对象表和关系表)的描述。
DBA_ANALYZE_OBJECTS 列出分析对象。
DBA_ASSOCIATIONS 列出用户定义的统计信息。
DBA_AUDIT_EXISTS 列出由AUDIT NOT EXISTS(不存在审计)和AUDIT EXISTS(存在审DBA_AUDIT_OBJECT 包含系统中所有对象的审计跟踪记录。
DBA_AUDIT_SESSION 列出关于CONNECT(连接)和DISCONNECT(断开连接)的所有审讯跟踪记录。
DBA_AUDIT_STATEMENT 列出关于GRANT(授权)、REVOKE(取消)、AUDIT〔审计〕、NOAUDIT(不审计)和ALTER SYSTEM(改变系统)语句的审记跟踪记录。
DBA_AUDIT_TRAIL列出所有的审记跟踪条目。
DBA_BLOCKERS列出所有人等待一个会话持有的锁的所有会话,但并非它们自己在等待一个锁。
DBA_CATALOG 列出所有数据库表、视图、同义词和序列。
DBA_CLU_COLUMNS 列出表列到簇列的映射。
DBA_CLUSTER_HASH_expression_rS列出所有簇的散列(hash)函数。
DBA_CLUSTERS 包含数据库中所有族的描述。
DBA_COL_COMMENS 列出所有表和视图列的注解。
DBA_COL_PRIVS 列出数据库中授予列的所有权限。
DBA_COLL_TYPES 显示数据库中所有命名的集合类型,如VARRAY(数组)、嵌套表、对象表,等等;DBA_CONS_COLUMNS 包含在约束定义中的,可访问的列的信息DBA_CONSTRAINTS 包含所有表上的约束定义。
DBA_CONTEXT 列出所有上下文名字空间的信息。
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 数据库视图与基表的关系一:首先解释什么是视图:视图其实就是一条查询sql语句,用于显示一个或多个表或其他视图中的相关数据。
视图将一个查询的结果作为一个表来使用,因此视图可以被看作是存储的查询或一个虚拟表,与真实表不同,视图不会要求分配存储空间,视图中也不会包含实际的数据。
视图只是定义了一个查询,视图中的数据是从基表中获取,这些数据在视图被引用时动态的生成。
由于视图基于数据库中的其他对象,因此一个视图只需要占用数据字典中保存其定义的空间,而无需额外的存储空间,并且基表的变化会导致视图相应的改变。
二:视图的创建:CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name [(alias[, alias]...)]AS subquery[WITH CHECK OPTION [CONSTRAINT constraint]][WITH READ ONLY]其中:OR REPLACE:若所创建的试图已经存在,Oracle自动重建该视图;FORCE:不管基表是否存在ORACLE都会自动创建该视图;NOFORCE:只有基表都存在ORACLE才会创建该视图:alias:为视图产生的列定义的别名;subquery:一条完整的SELECT语句,可以在该语句中定义别名可以挑选某个表中你需要的属性;WITH CHECK OPTION :插入或修改的数据行必须满足视图定义的约束;WITH READ ONLY :该视图上不能进行任何DML操作。
三:视图的修改:直接利用前边创建时的or replaece 重建即可。
四:视图上的DML 操作:1.一般简单视图,也就是基表只有一个的视图,是可以通过修改视图来修改基表的,Oracle是可以通过视图来修改Base table的。
所谓base table就是用来构建视图的表,也就是视图的数据来源表。
oracle查看所有表,视图,存储过程,序列

注意事项: 1. 必须以管理员身份登录; 2. sequence_owner必须为大写,不管你的用户名是否大写。只有大写才能识别。
--查看当前用户的所有序列 select SEQUENCE_OWNER,SEQUENCE_NAME from dba_sequences where sequence_owner='用户名';
--查询当前用户的序列总数 select count(*) from dba_sequences where sequence_owner='用户名'; select SEQUENCE_OWNER,SEQUENCE_NAME from dba_sequences where sequence_owner='PPNIE';
网络错误421请刷新页面重试持续报错请尝试更换浏览器或网络环境
oracle查 SELECT * FROM all_tables WHERE OWNER = '实例名称' ORDER BY table_name; 方法一: Select object_name From user_objects Where object_type='TRIGGER'; --所有触发器 Select object_name From user_objects Where object_type='PROCEDURE'; --所有存储过程 Select object_name From user_objects Where object_type='VIEW'; --所有视图 Select object_name From user_objects Where object_type='TABLE'; --所有表 方法二: 当然,还可以试试下面的语句 Select * From user_triggers; --所有触发器 Select * From user_procedures; --所有存储过程 Select * From user_views; --所有视图 Select * From user_tables; --所有表
Oracle数据库的视图

Oracle数据库的视图使⽤视图的优点:1.简化数据操作:视图可以简化⽤户处理数据的⽅式。
2.着重于特定数据:不必要的数据或敏感数据可以不出现在视图中。
3.视图提供了⼀个简单⽽有效的安全机制,可以定制不同⽤户对数据的访问权限。
4.提供向后兼容性:视图使⽤户能够在表的架构更改时为表创建向后兼容接⼝。
创建或修改视图语法CREATE [OR REPLACE] [FORCE] VIEW view_nameAS subquery[WITH CHECK OPTION ][WITH READ ONLY]OR REPLACE :若所创建的试图已经存在,ORACLE ⾃动重建该视图;FORCE :不管基表是否存在 ORACLE 都会⾃动创建该视图;subquery :⼀条完整的 SELECT 语句,可以在该语句中定义别名;WITH CHECK OPTION :插⼊或修改的数据⾏必须满⾜视图定义的约束;WITH READ ONLY :该视图上不能进⾏任何 DML 操作。
删除视图语法DROP VIEW view_name键保留表是理解连接视图修改限制的⼀个基本概念。
该表的主键列全部显⽰在视图中,并且它们的值在视图中都是唯⼀且⾮空的。
也就是说,表的键值在⼀个连接视图中也是键值,那么就称这个表为键保留表。
物化视图:创建物化视图语法、CREATE METERIALIZED VIEW view_name[BUILD IMMEDIATE | BUILD DEFERRED ]REFRESH [FAST|COMPLETE|FORCE][ ON [COMMIT |DEMAND ] | START WITH (start_time) NEXT(next_time) ] ASsubqueryBUILD IMMEDIATE 是在创建物化视图的时候就⽣成数据BUILD DEFERRED 则在创建时不⽣成数据,以后根据需要再⽣成数据。
默认为 BUILD IMMEDIATE。
oracledba_data_files视图字段说明

oracledba_data_files视图字段说明table DBA_DATA_FILES is 'Information about database data files';表DBA_DATA_FILES是数据库数据文件信息表;column DBA_DATA_FILES.FILE_NAME is 'Name of the database data file';列DBA_DATA_FILES.FILE_NAME是数据库数据文件的名字,也是物理文件存放地址;column DBA_DATA_FILES.FILE_ID is 'ID of the database data file';列DBA_DATA_FILES.FILE_ID 是数据库文件的ID;column DBA_DATA_FILES.TABLESPACE_NAME is 'Name of the tablespace to which the file belongs';列DBA_DATA_FILES.TABLESPACE_NAME 是所属表空间的名字;column DBA_DATA_FILES.BYTES is 'Size of the file in bytes';列DBA_DATA_FILES.BYTES是文件的大小,以bytes为单位;column DBA_DATA_FILES.BLOCKS is 'Size of the file in ORACLE blocks';列DBA_DATA_FILES.BLOCKS是ORACLE文件的大小;column DBA_DATA_FILES.STATUS is 'File status: "INVALID" or "AVAILABLE"';列DBA_DATA_FILES.STATUS是文件的状态:“无效”或者“有效”;column DBA_DATA_FILES.RELATIVE_FNO is 'Tablespace-relative file number';列column DBA_DATA_FILES.RELATIVE_FNO是表空间相对文件号;column DBA_DATA_FILES.AUTOEXTENSIBLE is'Autoextensible indicator: "YES" or "NO"';列DBA_DATA_FILES.AUTOEXTENSIBLE是否自动扩展;column DBA_DATA_FILES.MAXBYTES is 'Maximum size of the file in bytes';列DBA_DATA_FILES.MAXBYTES是文件的最大多少byte;column DBA_DATA_FILES.MAXBLOCKS is 'Maximum size of the file in ORACLE blocks';列DBA_DATA_FILES.MAXBLOCKS是ORACLE文件的最大数;column DBA_DATA_FILES.INCREMENT_BY is 'Default increment for autoextension';列DBA_DATA_FILES.INCREMENT_BY默认自动增量值;column DBA_DATA_ER_BYTES is 'Size of the useful portion of file in bytes';列DBA_DATA_ER_BYTES是指文件中有用的大小;column DBA_DATA_ER_BLOCKS is 'Size of the useful portion of file in ORACLE blocks';列DBA_DATA_ER_BLOCKS是指ORACLE文件有用的大小;column DBA_DATA_FILES.ONLINE_STATUS is 'Online status of the file';列DBA_DATA_FILES.ONLINE_STATUS是文件的在线状态;。
oracle database table层级结构

oracle database table层级结构全文共四篇示例,供读者参考第一篇示例:Oracle数据库表是数据库中的基本组成部分,它负责存储数据并提供对数据的访问。
在Oracle数据库中,表可以根据其之间的关系进行层级结构的划分,这种层级结构可以帮助用户更好地管理数据并方便数据的操作和查询。
本文将对Oracle数据库表的层级结构进行详细介绍。
1. 表的基本概念在Oracle数据库中,表是一种用于存储特定类型数据的结构,它由列和行组成。
每个表都有一个唯一的名称,并且可以包含一个或多个列,每个列都定义了表中存储的数据类型。
表中的每一行则代表一个记录,每个记录包含对应的列数据。
2. 表的层级结构在Oracle数据库中,表之间可以有不同的关系,这些关系可以反映表之间的层级结构。
在层级结构中,通常会存在主表和从表的关系,主表包含基本信息,从表包含与主表相关的详细信息。
通过建立不同表之间的关联,可以建立起一种层级化的数据存储结构,实现数据的组织和管理。
3. 表的关联在Oracle数据库中,表之间的关联是通过外键来实现的。
外键是一个列或一组列,它保存了另一个表的主键值。
通过外键,可以建立不同表之间的关联,实现数据的一对多或多对多关系。
在建立表之间的关联时,需要注意保证数据的完整性和一致性,确保数据的正确性和可靠性。
4. 表的索引在Oracle数据库中,表的索引是一种用于快速查找数据的结构。
索引可以提高数据的查询性能,减少查询时间。
通过在表中建立索引,可以根据索引列快速定位到对应的数据行,加快查询速度。
在设计表结构时,需要考虑在哪些列上建立索引,以提高查询性能。
5. 表的分区在Oracle数据库中,表的分区是一种将表数据按照一定规则分割成多个部分存储的方式。
通过表分区,可以实现数据的更好管理和维护。
表的分区可以按照时间、地区、业务类型等进行划分,不同分区可以根据需求进行独立维护和操作,有效提高数据库的性能和可靠性。
oracle-----视图物化视图

oracle-----视图物化视图什么是视图视图(view),也称虚表, 不占⽤物理空间,这个也是相对概念,因为视图本⾝的定义语句还是要存储在数据字典⾥的。
视图只有逻辑定义。
每次使⽤的时候,只是重新执⾏SQL。
视图是从⼀个或多个实际表中获得的,这些表的数据存放在数据库中。
那些⽤于产⽣视图的表叫做该视图的基表。
⼀个视图也可以从另⼀个视图中产⽣。
视图的定义存在数据库中,与此定义相关的数据并没有再存⼀份于数据库中。
通过视图看到的数据存放在基表中。
视图看上去⾮常象数据库的物理表,对它的操作同任何其它的表⼀样。
当通过视图修改数据时,实际上是在改变基表中的数据;相反地,基表数据的改变也会⾃动反映在由基表产⽣的视图中。
由于逻辑上的原因,有些Oracle视图可以修改对应的基表,有些则不能(仅仅能查询)。
还有⼀种视图:物化视图(MATERIALIZED VIEW ),也称实体化视图,快照(8i 以前的说法),它是含有数据的,占⽤存储空间。
视图的作⽤1)提供各种数据表现形式, 可以使⽤各种不同的⽅式将基表的数据展现在⽤户⾯前, 以便符合⽤户的使⽤习惯(主要⼿段: 使⽤别名);2)隐藏数据的逻辑复杂性并简化查询语句, 多表查询语句⼀般是⽐较复杂的, ⽽且⽤户需要了解表之间的关系, 否则容易写错; 如果基于这样的查询语句创建⼀个视图, ⽤户就可以直接对这个视图进⾏"简单查询"⽽获得结果. 这样就隐藏了数据的复杂性并简化了查询语句.这也是oracle提供各种"数据字典视图"的原因之⼀,all_constraints就是⼀个含有2个⼦查询并连接了9个表的视图(在catalog.sql中定义);3)执⾏某些必须使⽤视图的查询. 某些查询必须借助视图的帮助才能完成. ⽐如, 有些查询需要连接⼀个分组统计后的表和另⼀表, 这时就可以先基于分组统计的结果创建⼀个视图, 然后在查询中连接这个视图和另⼀个表就可以了;4)提供某些安全性保证. 视图提供了⼀种可以控制的⽅式, 即可以让不同的⽤户看见不同的列, ⽽不允许访问那些敏感的列, 这样就可以保证敏感数据不被⽤户看见;5)简化⽤户权限的管理. 可以将视图的权限授予⽤户, ⽽不必将基表中某些列的权限授予⽤户, 这样就简化了⽤户权限的定义。
oracle数据库视图创建与存储过程介绍

Begin
Select count(*) into 变量1 from 表A where列名=param1 ;
If (判断条件) then
Select 列名 into 变量2 from 表A where列名=param1
;
Oracle数据库存储过程简介
Oracle存储过程实例说明2 Dbms_output。Put_line(‘打印信息’);
视图上执行INSERT或UPDATE操作时,数据必须符合查询结 果.
Oracle数据库视图简介
四、视图创建实例
Oracle数据库视图简介
五、查询视图权限 select table_name,column_name,updatable,inser
table,deletable from user_updatable_columns; 说明 updatable表示当前字段是否可以执行修改操作 insertable表示当前字段是否可以执行添加操作 deletable表示当前字段是否可以执行删除操作
。 3.简化用户权限的管理,只授予用户使用视图的权限。 4.便于资料共享,多个用户不必都定义所需的数据。 5.可以重新组织资料,以便关联到其他应用中。
Oracle数据库视图简介
二、如何创建视图 CREATE [ORREPLACE] VIEW view_name[(column_name1[Βιβλιοθήκη Oracle数据库存储过程简介
Oracle存储过程应用实例
Oracle数据库存储过程简介
Oracle存储过程应用实例
Oracle数据库存储过程简介
Oracle存储过程应用实例
create or replace procedure procedure_name
ORACLE分区表相关视图

ORACLE分区表相关视图1. 显⽰当前⽤户可访问的所有分区表信息﹕
ALL_PART_TABLES
2. 显⽰当前⽤户所有分区表的信息﹕
USER_PART_TABLES
3. 显⽰表分区信息显⽰数据库所有分区表的详细分区信息﹕
DBA_TAB_PARTITIONS
4. 显⽰当前⽤户可访问的所有分区表的详细分区信息﹕
ALL_TAB_PARTITIONS (这是俺的福星O(∩_∩)O~)
5. 显⽰当前⽤户所有分区表的详细分区信息﹕
USER_TAB_PARTITIONS
6. 显⽰⼦分区信息显⽰数据库所有组合分区表的⼦分区信息﹕
DBA_TAB_SUBPARTITIONS
7. 显⽰当前⽤户可访问的所有组合分区表的⼦分区信息﹕
ALL_TAB_SUBPARTITIONS
8. 显⽰当前⽤户所有组合分区表的⼦分区信息﹕
USER_TAB_SUBPARTITIONS
9. 显⽰分区列显⽰数据库所有分区表的分区列信息﹕
DBA_PART_KEY_COLUMNS
10.显⽰当前⽤户可访问的所有分区表的分区列信息﹕
ALL_PART_KEY_COLUMNS
11.显⽰当前⽤户所有分区表的分区列信息﹕
USER_PART_KEY_COLUMNS
12.显⽰⼦分区列显⽰数据库所有分区表的⼦分区列信息﹕
DBA_SUBPART_KEY_COLUMNS
13.显⽰当前⽤户可访问的所有分区表的⼦分区列信息﹕
ALL_SUBPART_KEY_COLUMNS
14.显⽰当前⽤户所有分区表的⼦分区列信息﹕
USER_SUBPART_KEY_COLUMNS。
oracle维护常用SQL语句(查看系统表和视图)

oracle维护常用SQL语句(查看系统表和视图)oracle维护常用SQL语句(查看系统表和视图)1.查看表空间的名称及大小select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom dba_tablespaces t, dba_data_files dwhere t.tablespace_name = d.tablespace_namegroup by t.tablespace_name2.查看表空间物理文件的名称及大小selecttablespace_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_objectsgroup by owner, object_type, status;8.查看数据库的版本Select version FROM Product_component_versionWhere 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.查看数据表的参数信息SELECT partition_name, high_value, high_value_length, tablespace_name,pct_free, pct_used, ini_trans, max_trans, initial_extent,next_extent, min_extent, max_extent, pct_increase, FREELISTS, freelist_groups, LOGGING, BUFFER_POOL, num_rows, blocks, empty_blocks, avg_space, chain_cnt, avg_row_len, sample_size,last_analyzedFROM dba_tab_partitions--WHERE table_name = :tname AND table_owner = :towner ORDER BY partition_position12.查看还没有提交的事务select * from v$locked_object;select * from v$transaction;13.查找object为那些进程所用selectp.spid,s.sid,s.serial# serial_num,ername user_name,a.type object_type,s.osuser os_user_name,a.owner,a.object object_name,decode(sign(48 - command),1,to_char(command), 'Action Code #' || to_char(command) ) action,p.program oracle_process,s.terminal terminal,s.program program,s.status session_statusfrom v$session s, v$access a, v$process pwhere s.paddr = p.addr ands.type = 'USER' anda.sid = s.sid anda.object='SUBSCRIBER_ATTR'order by ername, s.osuser14.回滚段查看select rownum, sys.dba_rollback_segs.segment_name Name, v$rollstat.extentsExtents, v$rollstat.rssize Size_in_Bytes, v$rollstat.xacts XActs, v$rollstat.gets Gets, v$rollstat.waits Waits, v$rollstat.writes Writes,sys.dba_rollback_segs.status status from v$rollstat, sys.dba_rollback_segs,v$rollname where v$(+) = sys.dba_rollback_segs.segment_name andv$n (+) = v$n order by rownum15.耗资源的进程select s.schemaname schema_name, decode(sign(48 - command), 1,to_char(command), 'Action Code #' || to_char(command) ) action, statussession_status, s.osuser os_user_name, s.sid, p.spid , s.serial# serial_num,nvl(ername, '[Oracle process]') user_name, s.terminal terminal,s.program program, st.value criteria_value from v$sesstat st, v$session s , v$process pwhere st.sid = s.sid and st.statistic# = to_number('38') and ('ALL' = 'ALL'or s.status = 'ALL') and p.addr = s.paddr order by st.value desc, p.spid asc, ername asc, s.osuser asc16.查看锁(lock)情况select /*+ RULE */ ls.osuser os_user_name, ername user_name,decode(ls.type, 'RW', 'Row wait enqueue lock', 'TM', 'DML enqueue lock', 'TX','Transaction enqueue lock', 'UL', 'User supplied lock') lock_type,o.object_name object, decode(ls.lmode, 1, null, 2, 'Row Share', 3,'Row Exclusive', 4, 'Share', 5, 'Share Row Exclusive', 6, 'Exclusive', null)lock_mode, o.owner, ls.sid, ls.serial# serial_num, ls.id1, ls.id2 from sys.dba_objects o, ( select s.osuser, ername, l.type, l.lmode, s.sid, s.serial#, l.id1, l.id2 from v$session s,v$lock l where s.sid = l.sid ) ls where o.object_id = ls.id1 and o.owner<> 'SYS' order by o.owner, o.object_name17.查看等待(wait)情况SELECT v$waitstat.class, v$waitstat.count count, SUM(v$sysstat.value) sum_valueFROM v$waitstat, v$sysstat WHERE v$ IN ('db block gets','consistent gets') group by v$waitstat.class, v$waitstat.count18.查看sga情况SELECT NAME, BYTES FROM SYS.V_$SGASTAT ORDER BY NAME ASC19.查看catched objectSELECT owner, name, db_link, namespace,type, sharable_mem, loads, executions,locks, pins, kept FROM v$db_object_cache20.查看V$SQLAREASELECT SQL_TEXT, SHARABLE_MEM, PERSISTENT_MEM, RUNTIME_MEM, SORTS,VERSION_COUNT, LOADED_VERSIONS, OPEN_VERSIONS, USERS_OPENING, EXECUTIONS,USERS_EXECUTING, LOADS, FIRST_LOAD_TIME, INVALIDATIONS, PARSE_CALLS, DISK_READS,BUFFER_GETS, ROWS_PROCESSED FROM V$SQLAREA21.查看object分类数量select decode (o.type#,1,'INDEX' , 2,'TABLE' , 3 , 'CLUSTER' , 4, 'VIEW' , 5 ,'SYNONYM' , 6 , 'SEQUENCE' , 'OTHER' ) object_type , count(*) quantity fromsys.obj$ o where o.type# > 1 group by decode (o.type#,1,'INDEX' , 2,'TABLE' , 3, 'CLUSTER' , 4, 'VIEW' , 5 , 'SYNONYM' , 6 , 'SEQUENCE' , 'OTHER' ) union select'COLUMN' , count(*) from sys.col$ union select 'DB LINK' , count(*) from22.按用户查看object种类select schema, sum(decode(o.type#, 1, 1, NULL)) indexes,sum(decode(o.type#, 2, 1, NULL)) tables, sum(decode(o.type#, 3, 1, NULL))clusters, sum(decode(o.type#, 4, 1, NULL)) views, sum(decode(o.type#, 5, 1,NULL)) synonyms, sum(decode(o.type#, 6, 1, NULL)) sequences,sum(decode(o.type#, 1, NULL, 2, NULL, 3, NULL, 4, NULL, 5, NULL, 6, NULL, 1))others from sys.obj$ o, er$ u where o.type# >= 1 and er# =o.owner# and <> 'PUBLIC' group by order bysys.link$ union select 'CONSTRAINT' , count(*) from sys.con$23.有关connection的相关信息1)查看有哪些用户连接select s.osuser os_user_name, decode(sign(48 - command), 1, to_char(command),'Action Code #' || to_char(command) ) action, p.program oracle_process,status session_status, s.terminal terminal, s.program program,ername user_name, s.fixed_table_sequence activity_meter, '' query,0 memory, 0 max_memory, 0 cpu_usage, s.sid, s.serial# serial_numfrom v$session s, v$process p where s.paddr=p.addr and s.type = 'USER'order by ername, s.osuser2)根据v.sid查看对应连接的资源占用等情况select ,v.value,n.class,n.statistic#from v$statname n,v$sesstat vwhere v.sid = 71 andv.statistic# = n.statistic#order by n.class, n.statistic#3)根据sid查看对应连接正在运行的sql select /*+ PUSH_SUBQ */ command_type,sql_text,sharable_mem,persistent_mem,runtime_mem,sorts,version_count,loaded_versions,open_versions,users_opening,executions,users_executing,loads,first_load_time,invalidations,parse_calls,disk_reads,buffer_gets,rows_processed,sysdate start_time,sysdate finish_time,'>' || address sql_address,'N' statusfrom v$sqlareawhere address = (select sql_address from v$session where sid = 71)24.查询表空间使用情况select a.tablespace_name "表空间名称",100-round((nvl(b.bytes_free,0)/a.bytes_alloc)*100,2) "占用率(%)",round(a.bytes_alloc/1024/1024,2) "容量(M)",round(nvl(b.bytes_free,0)/1024/1024,2) "空闲(M)",round((a.bytes_alloc-nvl(b.bytes_free,0))/1024/1024,2) "使用(M)",Largest "最大扩展段(M)",to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') "采样时间"from (select f.tablespace_name,sum(f.bytes) bytes_alloc,sum(decode(f.autoextensible,'YES',f.maxbytes,'NO',f.bytes)) maxbytesfrom dba_data_files fgroup by tablespace_name) a,(select f.tablespace_name,sum(f.bytes) bytes_freefrom dba_free_space fgroup by tablespace_name) b,(select round(max(ff.length)*16/1024,2) Largest, tablespace_namefrom sys.fet$ ff, sys.file$ tf,sys.ts$ tswhere ts.ts#=ff.ts# and ff.file#=tf.relfile# and ts.ts#=tf.ts#group by , tf.blocks) cwhere a.tablespace_name = b.tablespace_name anda.tablespace_name = c.tablespace_name25. 查询表空间的碎片程度select tablespace_name,count(tablespace_name) from dba_free_space group by tablespace_namehaving count(tablespace_name)>10;alter tablespace name coalesce;alter table name deallocate unused;create or replace view ts_blocks_v asselect tablespace_name,block_id,bytes,blocks,'free space' segment_name from dba_free_spaceunion allselecttablespace_name,block_id,bytes,blocks,segment_name from dba_extents;select * from ts_blocks_v;selecttablespace_name,sum(bytes),max(bytes),count(block_id) from dba_free_spacegroup by tablespace_name;26.查询有哪些数据库实例在运行select inst_name from v$active_instances;。
Oracle内置的表或视图

在ORACLE数据库中,有一些内置的表和视图,记录着一些数据库的相关信息:如我们建了哪些表,哪些用户,表有哪些字段等等,这些东西有时候是非常有用的。
1.几个重要的Oracle表或者视图如下:v$controlfile:控制文件的信息;v$datafile:数据文件的信息;v$log:日志文件的信息;v$process:处理器的信息;v$session:会话信息;v$transaction:事务信息;v$resource:资源信息;v$sga:系统全局区的信息。
上面的视图名中的‘v$’,只是视图名字中的字符。
类似于上面的视图或表还有很多,位于:$Oracle_HOME/RDBMS/ADMIN/CATALOG.SQL文件中。
这些视图或Oracle表可以在SQLPLUS中用SELECT语句进行查询。
2.数据字典视图表和列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显示了模式对象的信息,包括序列。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
oracle数据库中的表与视图
Oracle数据库数据对象中最基本的是表和视图,其他还有约束、序列、函数、存储过程、包、触发器等。
对数据库的操作可以基本归结为对数据对象的操作,理解和掌握Oracle数据库对象是学习Oracle的捷径。
表和视图
Oracle中表是数据存储的基本结构。
ORACLE8引入了分区表和对象表,ORACLE8i 引入了临时表,使表的功能更强大。
视图是一个或多个表中数据的逻辑表达式。
本文我们将讨论怎样创建和管理简单的表和视图。
管理表
表可以看作有行和列的电子数据表,表是关系数据库中一种拥有数据的结构。
用CREATE TABLE语句建立表,在建立表的同时,必须定义表名,列,以及列的数据类型和大小。
例如:
CREATE TABLE products
( PROD_ID NUMBER(4),
PROD_NAME VAECHAR2(20),
STOCK_QTY NUMBER(5,3)
);
这样我们就建立了一个名为products的表,关键词CREATE TABLE后紧跟的表名,然后定义了三列,同时规定了列的数据类型和大小。
在创建表的同时你可以规定表的完整性约束,也可以规定列的完整性约束,在列上普通的约束是NOT NULL,关于约束的讨论我们在以后进行。
在建立或更改表时,可以给表一个缺省值。
缺省值是在增加行时,增加的数据行中某一项值为null时,oracle即认为该值为缺省值。
下列数据字典视图提供表和表的列的信息:
. DBA_TABLES
. DBA_ALL_TABLES
. USER_TABLES
. USER_ALL_TABLES
. ALL_TABLES
. ALL_ALL_TABLES
. DBA_TAB_COLUMNS
. USER_TAB_COLUMNS
. ALL_TAB_COLUMNS
表的命名规则
表名标识一个表,所以应尽可能在表名中描述表,oracle中表名或列名最长可以达30个字符串。
表名应该以字母开始,可以在表名中包含数字、下划线、#、$等。
从其它表中建立表
可以使用查询从基于一个或多个表中建立表,表的列的数据类型和大小有查询结果决定。
建立这种形式的表的查询可以选择其他表中所有的列或者只选择部分列。
在CREATE TABLE语句中使用关键字AS,例如:
SQL>CREATE TABLE emp AS SELECT * FROM employee
TABLE CREATED
SQL> CREATE TABLE Y AS SELECT * FROM X WHERE no=2
需要注意的是如果查询涉及LONG数据类型,那么CREATE TABLE....AS SELECT....将不会工作。
更改表定义
在建立表后,有时候我们可能需要修改表,比如更改列的定义,更改缺省值,增加新列,删除列等等。
ORACLE使用ALTER TABLE语句来更改表的定义
1、增加列
语法:
ALTER TABLE [schema.] table_name ADD column_definition
用户在CREATE VIEW中可以使用了WITH子串。
WITH READ ONLY子串表示创建的视图是一个只读视图,不能进行更新、插入、删除操作。
WITH CHECK OPTION表示可以进行插入和更新操作,但应该满足WHERE子串的条件。
这个条件就是创建视图WHERE 子句的条件,比如在上面的例子中用户创建了一个视图TOP_EMP,在这个视图中用户不能插入salary小于2000的数据行。
删除视图
删除视图使用DROP VIEW命令。
同时将视图定义从数据字典中删除,基于视图的权限也同时被删除,其他涉及到该视图的函数、视图、程序等都将被视为非法。
例:
DROP VIEW TOP_EMP;
把.dbf的数据导入到Oracle数据库中(VFP -> ACCESS -> Oracle )
在access中导入.dbf数据:
access新建数据库(空数据库)->点击右键导入(文件类型选择ODBC数据库())-> 机器数据源中新建->系统数据库->选择Microsoft FoxPro VFP Driver(*.dbf)
输入内容:
Data Source Name:myforpro
Path:找出所要转换的FORPRO的数据源(如:xtrc.dbc)
其它的默认。
选择刚建立的机器数据源mydbf,点击确定,则会出现在xtrc.dbc数据源中的所有的表,选择所要转化的表即可导入了。
在access中导出.dbf数据到已经建好的Oracle类型:
通过ODBC 来完成: (Oracle 的ODBC 连接)
控制面板-> 管理工具-> 数据源(ODBC).
"系统DSN" -> "添加(D)..." 一个数据源-> 选
择"Oracle ODBC Driver" ->
输入主要内容:
Data Source Name: OraODBC (数据源的名字)
Service Name: OraDB ( Oracle 的数据库名)
其它的就用默认的可以了.
Access 新建表-> 导入表(选择DBF 文件) -> 导进之后,右击表文件选"导出..."
-> 类型选"ODBC Databases(即:oraODBC)" -> 选上面建好的ODBC 就可以了.
orcle 中表中数据操作
--此例在PL/SQL developer内的sql窗口中使用
--注:操作的表原名为:职务字典,原有数据列为:职务编码和职务名称且有数据
--建立一个新表
create table yfycode_level (
id varchar2(3),
name varchar2(16)
)
--在表中插入数据
insert into yfycode_level(id,name)
values('01','国家级')
--查询CODE_POSITION表中的所有数据并显示
Select * From CODE_POSITION
--将表CODE_POSITION表中的数据及表结构一起拷贝到表YFYCODE_POS,相当于复制表CODE_POSITION
Create Table YFYCODE_POS As Select * From CODE_POSITION
--查询表YFYCODE_POS表中的所有数据并显示,会发现与CODE_POSITION完全相同
Select * From YFYCODE_POS
--把表名为职务字典的表,改名为CODE_POSITION
ALTER TABLE 职务字典RENAME TO CODE_POSITION
--在表CODE_POSTION表中加入两列分别为ID,NAME
alter table CODE_POSITION add ID Varchar2(3)
alter table CODE_POSITION add NAME VARCHAR2(16)
--将表中原来有的两列职务编码,职务名称内的数据复制到列ID,NAME中,且把职务编码,职务名称列清空
update CODE_POSITION set ID = 职务编码, 职务编码= Null,NAME = 职务名称, 职务
名称= NULL;
--将CODE_POSITION表中的列职务编码,职务名称删除
alter table CODE_POSITION set unused column 职务编码;
alter table CODE_POSITION set unused column 职务名称;
--所采用的表是yfycode_pos,其中有两列数据分别为ID,NAME,并且有数据
Select * From yfycode_pos
--创建序列yfycode_pos_Id_sequence
Drop Sequence yfycode_pos_Id_sequence;
Create Sequence yfycode_pos_Id_sequence
INCREMENT BY 1
START WITH 1
maxvalue 99999
NOCYCLE;
----创建触发器UserInfo_Id_trigger
CREATE OR REPLACE TRIGGER yfycode_pos_Id_trigger
BEFORE INSERT
ON yfycode_pos
FOR EACH ROW
DECLARE
newId Varchar(2);
BEGIN
SELECT yfycode_pos_Id_sequence.nextval INTO newId FROM dual;
:new.id := newId;
END;
首先执行创建序列和创建触发器后,则会在每次对表进行插入操作时,会自动生成ID号,如执行
Insert Into yfycode_pos(Name) Values('民磊磊')后,会自动增加一行(1, 民磊磊)。
再执行一次,则会再增加一行(2,民磊磊)。
--删除一个oracle中的表
drop table yfycode_level。