四.ORACLE里常用的数据对象 (SCHEMA) 

1.索引 (INDEX) 

CREATE INDEX 索引名ON 表名 ( 字段1, [字段2, ……] ); 
ALTER INDEX 索引名 REBUILD; 

一个表的索引最好不要超过三个 (特殊的大表除外), 最好用单字段索引, 结合SQL语句的分析执行情况, 
也可以建立多字段的组合索引和基于函数的索引 

ORACLE8.1.7字符串可以索引的最大长度为1578 单字节 
ORACLE8.0.6字符串可以索引的最大长度为758 单字节 

2.视图 (VIEW) 

CREATE VIEW 视图名AS SELECT …. FROM …..; 
ALTER VIEW视图名 COMPILE; 

视图仅是一个SQL查询语句, 它可以把表之间复杂的关系简洁化. 

3.同义词 (SYNONMY) 
CREATE SYNONYM同义词名FOR 表名; 
CREATE SYNONYM同义词名FOR 表名@数据库链接名; 

4.数据库链接 (DATABASE LINK) 
CREATE DATABASE LINK数据库链接名CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘数据库连接字符串’; 

数据库连接字符串可以用NET8 EASY CONFIG或者直接修改TNSNAMES.ORA里定义. 

数据库参数global_name=true时要求数据库链接名称跟远端数据库名称一样 

数据库全局名称可以用以下命令查出 
SELECT * FROM GLOBAL_NAME; 

查询远端数据库里的表 
SELECT …… FROM 表名@数据库链接名; 

五.权限管理 (DCL) 语句 

1.GRANT        赋于权限 
常用的系统权限集合有以下三个: 
CONNECT(基本的连接), RESOURCE(程序开发), DBA(数据库管理) 
常用的数据对象权限有以下五个: 
ALL         ON 数据对象名,         SELECT ON 数据对象名,         UPDATE ON 数据对象名, 
DELETE         ON 数据对象名,  INSERT ON 数据对象名,   ALTER  ON 数据对象名 

GRANT CONNECT, RESOURCE TO 用户名; 
GRANT SELECT ON 表名 TO 用户名; 
GRANT SELECT, INSERT, DELETE ON表名 TO 用户名1, 用户名2; 

2.REVOKE 回收权限 

REVOKE CONNECT, RESOURCE FROM 用户名; 
REVOKE SELECT ON 表名 FROM 用户名; 
REVOKE SELECT, INSERT, DELETE ON表名 FROM 用户名1, 用户名2; 


查询数据库中第63号错误: 
select orgaddr,destaddr from sm_histable0116 where error_code='63'; 

查询数据库中开户用户最大提交和最大下发数: select MSISDN,TCOS,OCOS from ms_usertable; 


查询数据库中各种错误代码的总和: 
select error_code,count(*) from sm_histable0513 group by error_code order 
by error_code; 

查询报表数据库中话单统计种类查询。 
select sum(Successcount) from tbl_MiddleMt0411 where ServiceType2=111 
select sum(successcount),servicetype from tbl_middlemt0411 group by servicetype