Oracle把填满的联机日志文件复制到一个或者多个路径,这个过程叫归档,这样生成的文件叫归档日志文件,存放日志文件的路径叫归档路径(归档目录)。一个数据库可以有多个归档进程,由初始化参数LOG_ARCHIVE_MAX_PROCESSES)控制。归档是备份和恢复的基石。在Oracle中,几乎所有的备份和恢复都是已归档为基础的。如果数据库没有运行在归档模式,产生的热备份将变得无效,也就无法恢复数据库。如果数据库没有运行在归档模式,即使有冷备份存在,我们也会丢失冷备份后的数据。
非归档模式只保护实例失败(Instance fail),不保护介质失败(media failure)。当发生介质失败时,需要还原数据库的全备份。
LOG_ARCHIVE_DEST设置一个归档路径。LOG_ARCHIVE_DEST_n(1-10)设置多个路径,参数为LOCATION和SERVER。也可把联机日志文件归档到远程服务器。LOG_ARCHIVE_FORMAT(%s日志序列号,%t线程索号,%d数据库ID,%r重置日志ID,%a活动ID号,%S日志序列号,带前置0,%T线索号,带前导0)控制联机日志文件的格式,如:LOG_ARCHIVE_FORMAT ='log%t_%s_%r.arc'。
查看数据库归档状态:ARCHIVE LOG ......
1,segments 的分类
l
数据段
l
索引段
l
临时段
l
回退段
段这一级
就已经和存储空间没多大关系了,段已经是独立的逻辑存储结构了。也就是说,当一个表的分配空间不够的时候,oracle
就
为这个段再添加一个或多个区以存储数据。
2,存储方式控制:全局/表空间/segment
extent在segment创建/改变的时候分配,block在tablespace创建的时候分配DB_BLOCK_SIZE,系统表空间与临时表空间一定使用standard block size(8K)pctfree 和pctused 参数的唯一目的就是为了控制块如何在freelists中进出,pctfree参数是控制freelist un-links的(即将块由freelists中移除),pctused参数是控制freelist re-links的。设置pctused=40意味着只有在块的使用低于40%时才会回到表格的freelists中。
3,块管理(initrans、maxrans、pctfree、pctused)
如果你的表经常
进行update
操作的话,需要将空闲比列调大一点,因为upd ......
SOURCE: CLICK HERE
本文讲述SQL Server、Oracle、MySQL查出值为NULL的替换。
在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办?
1、MSSQL: ISNULL()
语法
ISNULL ( check_expression , replacement_value )
参数
check_expression
将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。
replacement_value
在 check_expression 为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。
返回类型
返回与 check_expression 相同的类型。
注释
如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value。
2、Oracle: NVL()
语法
NVL(eExpression1, eExpression2)
参数
eExpression1, eExpression2
如果 eExpression1 的计算结果为 null 值,则 NVL() 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 NULL
返回值类型
字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值
说明
在不支持 ......
SOURCE: CLICK HERE
本文讲述SQL Server、Oracle、MySQL查出值为NULL的替换。
在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办?
1、MSSQL: ISNULL()
语法
ISNULL ( check_expression , replacement_value )
参数
check_expression
将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。
replacement_value
在 check_expression 为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。
返回类型
返回与 check_expression 相同的类型。
注释
如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value。
2、Oracle: NVL()
语法
NVL(eExpression1, eExpression2)
参数
eExpression1, eExpression2
如果 eExpression1 的计算结果为 null 值,则 NVL() 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 NULL
返回值类型
字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值
说明
在不支持 ......
SOURCE: CLICK HERE
本文讲述SQL Server、Oracle、MySQL查出值为NULL的替换。
在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办?
1、MSSQL: ISNULL()
语法
ISNULL ( check_expression , replacement_value )
参数
check_expression
将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。
replacement_value
在 check_expression 为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。
返回类型
返回与 check_expression 相同的类型。
注释
如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value。
2、Oracle: NVL()
语法
NVL(eExpression1, eExpression2)
参数
eExpression1, eExpression2
如果 eExpression1 的计算结果为 null 值,则 NVL() 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 NULL
返回值类型
字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值
说明
在不支持 ......
这段时间为公司内部的数据处理开发了一个工具,牵涉到在Oracle中集成java应用,总结了一些经验,以供大家参考了!
程序分两部分,前端界面由VB/VC开发,主要实现数据处理配置及常规记录运算,这部分没有什么好说的了。
后台以Oracle为数据基础处理托管平台,在数据处理过程中,需要对一些名称、地址什么的进行摘要提取、拆分等等。这部分是以java实现的,loadjava到Oracle中做成相应的处理函数。
在这里,如何在Oracle中集成java大家可以在网上轻松找到,这里就不详细说明了。主要着重说明一些需要注意的细节:
1:在loadjava的时候,最好加上“-genmissing”参数,这样,在对应的jar或java文件上传后,Oracle会马上加载每个类,如果有错误,会马上在命令行中详细列出,从而避免了在运行中出错。运行中出错有时候报错信息很粗陋,很难排查!
2:如果在java程序中牵涉到对系统环境变量、磁盘、IO通道等资源的读写,一定要先给相关用户授权,一般如下:
xecute dbms_java.grant_permission( 'XSDPP','SYS:java.util.PropertyPermission', 'dic.dir', 'write' )
execute DBMS_JAVA.grant_permission('XSDPP', 'SYS:java.io.FilePermission', '<>', 'read ......
这段时间为公司内部的数据处理开发了一个工具,牵涉到在Oracle中集成java应用,总结了一些经验,以供大家参考了!
程序分两部分,前端界面由VB/VC开发,主要实现数据处理配置及常规记录运算,这部分没有什么好说的了。
后台以Oracle为数据基础处理托管平台,在数据处理过程中,需要对一些名称、地址什么的进行摘要提取、拆分等等。这部分是以java实现的,loadjava到Oracle中做成相应的处理函数。
在这里,如何在Oracle中集成java大家可以在网上轻松找到,这里就不详细说明了。主要着重说明一些需要注意的细节:
1:在loadjava的时候,最好加上“-genmissing”参数,这样,在对应的jar或java文件上传后,Oracle会马上加载每个类,如果有错误,会马上在命令行中详细列出,从而避免了在运行中出错。运行中出错有时候报错信息很粗陋,很难排查!
2:如果在java程序中牵涉到对系统环境变量、磁盘、IO通道等资源的读写,一定要先给相关用户授权,一般如下:
xecute dbms_java.grant_permission( 'XSDPP','SYS:java.util.PropertyPermission', 'dic.dir', 'write' )
execute DBMS_JAVA.grant_permission('XSDPP', 'SYS:java.io.FilePermission', '<>', 'read ......
create or replace and compile java source named md5util as
import java.security.MessageDigest;
public class MD5Util
{
public static String encrypt(String s)
{
char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd','e', 'f'};
try {
byte[] strTemp = s.getBytes();
MessageDigest mdTemp = MessageDigest.getInstance("MD5");
mdTemp.update(strTemp);
byte[] md = mdTemp.digest();
&nb ......
drop table tmp_lzw_3283_tar;
create table tmp_lzw_3283_tar
(
servnumber varchar2(11)
)
;
load data
infile 'tar_3283.txt'
insert into table tmp_lzw_3283_tar
fields terminated by '|'
(
servnumber
)
/*
select count(*),count(distinct servnumber) from tmp_lzw_3283_tar;
COUNT(*) COUNT(DISTINCTSERVNUMBER)
---------- -------------------------
263 254
*/
---关联用户表
----取全品牌用户品牌数据
drop table tmp_lzw_3278_tmp_tb0 purge; ......