Oracle数据库常用技术

一、视图(重点)

什么是视图?

·视图由一个或多个表(或视图)中提取数据而成

·视图是一种虚拟表

·视图一经创建,可以当作表来使用。

使用视图的好处?

· 简化复杂数据查询

· 提高运行效率

· 屏蔽数据库表结构,实现数据逻辑独立性

· 限制数据库访问

· 在相同数据上提供不同的视图,便于数据共享

命名规范:

       ·V开头,后加视图名 :VEMP10

       ·以系统名v_+模块名作为前缀 ,例:V_SECTION

       ·VIEW_VDU_ADMINISTRATORS

       ·视图名_VU: user view

创建视图:

创建视图的语法:

CREATE VIEW 视图名称 AS 子查询 ;

创建视图的步骤:

       1:先把查询语句写正确

       2:  然后在添加视图语句

注意:在写子查询时不能使用  SELECT *

       程序员手则:严禁使用 SELECT * FROM 表名

删除视图

替换视图:

CREATE OR REPLACE 视图名称 AS 子查询 ;

创建不可更新视图:

· WITH CHECK OPTION:不能更新视图的创建条件

例:在视图创建中使用此参数

1 CREATE OR REPLACE VIEW empv202 AS3       SELECT * FROM emp WHERE deptno=204 WITH CHECK OPTION ;

UPDATE empv20 SET deptno=30 WHERE empno=7369 ;

更新语句不起作用

创建视图:

· WITH READ ONLY:创建的视图只读

例:创建只读视图

1 CREATE OR REPLACE VIEW empv202 AS3 SELECT * FROM emp WHERE deptno=204 WITH  READ  ONLY ;

二、存储进程Procedure

 

 

 

三、段user_segments和区user_extents

空间以段(segment)为单位分配给对象(如表、群集和索引),它们在物理上对应于在数据库中创建的逻辑对象

Oracle中的段(segment)是占用磁盘空间的一个对象,

常见段的类型有:

聚簇cluster

表table

表分区tablepartition

索引index

索引分区

Lob分区、Lob子分区、Lob索引、Lob段

嵌套表nestedtable

回滚段rollback。

select * from user_segments;

在11gR2中,一张表只有插入数据后才会分配段空间

一个段中可能有多种不同的表,段包含区,区包含块。同时表也包含区和块。

段由称为区(extent)的连续区域组成

 

四、SQLLoader

五、字符集

博客:http://blog.itpub.net/118838/viewspace-730214/

查看数据库字符集

数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。

客户端字符集环境select * from nls_instance_parameters,其来源于v$parameter,

客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。

修改数据库UTF-8编码

例如把字符集GB2312修改为UTF-8步骤:

 1 1.在SQL*PLUS 中,以DBA登录conn 用户名 as sysdba
 2 2.执行转换语句:
 3 SHUTDOWN IMMEDIATE;
 4 STARTUP MOUNT EXCLUSIVE;
 5 ALTER SYSTEM ENABLE RESTRICTED SESSION;
 6 ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
 7 ALTER SYSTEM SET AQ_TM_PROCESSES=0;
 8 ALTER DATABASE OPEN;
 9 ALTER DATABASE NATIONAL CHARACTER SET UTF8;
10 SHUTDOWN immediate;
11 startup;

可能报错:‘ORA-12717: Cannot ALTER DATABASE NATIONAL CHARACTER SET whenNCLOB data exists’

解决方法:

一、使用INTERNAL_USE 关键字修改区域设置

1 SHUTDOWN IMMEDIATE;
2 STARTUP MOUNT EXCLUSIVE;
3 ALTER SYSTEM ENABLE RESTRICTED SESSION;
4 ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
5 ALTER SYSTEM SET AQ_TM_PROCESSES=0;
6 ALTER DATABASE OPEN;
7 ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8;
8 SHUTDOWN immediate;
9 startup;

 

 

 

行式数据库

列式数据库

posted @ 2016-04-08 10:48  impwang  阅读(604)  评论(0编辑  收藏  举报