exp imp用法详解

exp  imp用法详解
exp  imp用法详解

https://www.360docs.net/doc/465357140.html,/lschou520/archive/2008/08/31/2854244.aspx

Oracle 数据库备份与恢复总结-exp/imp (导出与导入装库与卸库) 收藏

1.1 基本命令

1. 获取帮助

$ exp help=y

$ imp help=y

2. 三种工作方式

(1)交互式方式

$ exp // 然后按提示输入所需要的参数

(2)命令行方式

$ exp user/pwd@dbname file=/oracle/test.dmp full=y // 命令行中输入所需的参数

(3)参数文件方式

$ exp parfile=username.par // 在参数文件中输入所需的参数

参数文件username.par 内容userid=username/userpassword buffer=8192000

compress=n grants=y

file=/oracle/test.dmp full=y

3. 三种模式

(1)表方式,将指定表的数据导出/导入。

导出:

导出一张或几张表:

$ exp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1,table2

导出某张表的部分数据

$ exp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1 query=\”where col1=\’…\’

and col2 \<…\”

导入:

导入一张或几张表

$ imp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1,table2 fromuser=dbuser touser=dbuser2 commit=y ignore=y

(2)用户方式,将指定用户的所有对象及数据导出/导入。

导出:

$ exp user/pwd file=/dir/xxx.dmp log=xxx.log owner=(xx, yy)

只导出数据对象,不导出数据(rows=n )

$ exp user/pwd file=/dir/xxx.dmp log=xxx.log owner=user rows=n

导入:

$ imp user/pwd file=/dir/xxx.dmp log=xxx.log fromuser=dbuser touser=dbuser2

commit=y ignore=y

(3)全库方式,将数据库中的所有对象导出/导入导出:

$ exp user/pwd file=/dir/xxx.dmp log=xxx.log full=ycommit=y ignore=y

导入:

$ imp user/pwd file=/dir/xxx.dmp log=xxx.log fromuser=dbuser touser=dbuser2

1.2 高级选项

1. 分割成多个文件

以多个固定大小文件方式导出:这种做法通常用在表数据量较大,单个dump文件可能

会超出文件系统的限制的情况

$ exp user/pwd file=1.dmp,2.dmp,3.dmp,…filesize=1000m log=xxx.log full=y

以多个固定大小文件方式导入

$ imp user/pwd file=1.dmp,2.dmp,3.dmp,… filesize=1000m tables=xxx fromuser=dbuser touser=dbuser2 commit=y ignore=y

2. 增量导出/导入

// oracle 9i 以后exp 不再支持inctype

必须为SYS 或SYSTEM 才可执行增量导出导入

增量导出: 包括三个类型:

(1)“完全”增量导出(Complete)// 备份整个数据库

$ exp user/pwd file=/dir/xxx.dmp log=xxx.log inctype=complete

(2)“增量型”增量导出导出上一次备份后改变的数据。

$ exp user/pwd file=/dir/xxx.dmp log=xxx.log inctype=incremental

(3)“累计型”增量导出(Cumulative)只导出自上次“完全”导出之后数据库中变化了的信息。

$ exp user/pwd file=/dir/xxx.dmp log=xxx.log inctype=cumulative

增量导入:

$ imp usr/pwd FULL=y inctype=system/restore/inct ype

其中:

SYSTEM: 导入系统对象

RESTORE: 导入所有用户对象

3. 以SYSDBA进行导出/导入

1. 用于Oracle 技术支持

2. 用于表空间传输

例:

$ imp \'usr/pwd@instance as sysdba\' tablespaces=xx

transport_tablespace=y file=xxx.dmp datafiles=xxx.dbf

$ imp file=expdat.dmp userid=”””sys/password as sysdba””” transport_tablespace=y “datafile=(c:tempapp_data,c:tempapp_index)”

4. 表空间传输(速度快)

表空间传输是8i 新增加的一种快速在数据库间移动数据的一种办法,是把一个数据库上的格式数据文件附加到另外一个数据库中,而不是把数据导出成dmp 文件,这在有些时候是非常管用的,因为传输表空间移动数据就象复制文件一样快。

1.关于传输表空间有一些规则(10g前):

? 源数据库和目标数据库必须运行在相同的硬件平台上。

? 源数据库与目标数据库必须使用相同的字符集。

? 源数据库与目标数据库一定要有相同大小的数据块

? 目标数据库不能有与迁移表空间同名的表空间

? SYS 的对象不能迁移

? 必须传输自包含的对象集

? 有一些对象,如物化视图,基于函数的索引等不能被传输

(同字节序文件的跨平台可以用更换数据文件的文件头的方法)

(10g 支持跨平台的表空间传输,只要操作系统字节顺序相同,就可以进行表空间传输。需要使用RMAN转换文件格式,略)

2. 检测一个表空间是否符合传输标准的方法:

SQL > exec sys.dbms_tts.transport_set_check(‘tablespace_name’,true); SQL > select * from sys.transport_set_violations;

如果没有行选择,表示该表空间只包含表数据,并且是自包含的。对于有些非自包

含的表空间,如数据表空间和索引表空间,可以一起传输。

3. 简要使用步骤:

如果想参考详细使用方法,也可以参考ORACLE联机帮助。

1.设置表空间为只读(假定表空间名字为APP_Data 和APP_Index)

SQL > alter tablespace app_data read only; SQL > alter tablespace app_index read only;

2.发出EXP命令

SQL> host exp userid=”””sys/password as sysdba””” transport_tablespace=y tablespaces=(app_data, app_index)

以上需要注意的是

·为了在SQL 中执行EXP,USERID 必须用三个引号,在UNIX中也必须注意避免“/”的使用

·在816和以后,必须使用sysdba才能操作

·这个命令在SQL中必须放置在一行(这里是因为显示问题放在了两行)

3.拷贝.dbf数据文件(以及.dmp文件)到另一个地点,即目标数据库

可以是cp(unix)或cop y(windows)或通过ftp传输文件(一定要在bin方式)

4.把本地的表空间设置为读写

$ alter tablespace app_data read write;

$ alter tablespace app_index read write;

5.在目标数据库附加该数据文件(直接指定数据文件名)

(表空间不能存在,必须建立相应用户名或者用fromuser/touser)

$ imp file=expdat.dmp userid=”””sys/password as sysdba””” transport_tablespace=y datafiles=(“c:\app_data.dbf,c:\app_index.dbf”) tablespaces=app_data,app_index tts_owners=hr,oe

6.设置目标数据库表空间为读写

$ alter tablespace app_data read write;

$ alter tablespace app_index read write;

1.3 优化

1. 加快exp速度

加大large_pool_size,可以提高exp的速度采用直接路径的方式(direct=y),数据不需要经过内存进行整合和检查. 设置较大的buffer,如果导出大对象,小buffer会失败。

export文件不在ORACLE使用的驱动器上不要export到NFS文件系统

UNIX环境:用管道模式直接导入导出来提高imp/exp的性能

2. 加快imp速度

建立一个indexfile,在数据import完成后在建立索引

将import 文件放在不同的驱动器上增加DB_BLOCK_BUFFERS

增加LOG_BUFFER

用非归档方式运行ORACLE:ALTER DATABASE NOARCHIVELOG; 建立大的表空间和回滚段,OFFLINE其他回滚段,回滚段的大小为最大表的1/2 使用COMMIT=N

使用ANALYZE=N

单用户模式导入

UNIX环境:用管道模式直接导入导出来提高imp/exp的性能

3. 通过unix/Linux PIPE管道加快exp/imp速度

通过管道导出数据:

1.通过mknod -p 建立管道

$ mknod /home/exppipe p // 在目录/home下建立一个管道exppipe注意参数p

2.通过exp和gzip导出数据到建立的管道并压缩

$ exp test/test file=/home/exppipe & gzip < /home/exppipe > exp.dmp.gz

$ exp test/test tables=bitmap file=/home/newsys/test.pipe &

gzip < /home/newsys/test.pipe > bitmap.dmp.gz

3.导出成功完成之后删除建立的管道

$ rm -rf /home/exppipe

导出脚本:

###UNIX下ORACLE数据库通过PIPE管道进行备份

###### using "export" and "tar" command to bakup oracle datebase #######

trap "" 1 #nohup

LOGFILE=/opt/bakup/log/bakup_ora.log

export LOGFILE

DUMPDIR=/archlog_node1

export DUMPDIR

exec >$LOGFILE 2>&1

echo

echo ' Begin at ' `date`

echo

# clear old result file

cd $DUMPDIR

if [ -f exp.dmp.Z ]

then

echo "clear old result file"

rm exp.dmp.Z

fi

# make pipe

mkfifo exp.pipe

chmod a+rw exp.pipe

# gain the dmp.Z file

compress < exp.pipe > exp.dmp.Z &

su -u oracle -c "exp userid=ll/ll file=$DUMPDIR/exp.pipe full=y buffer=20000000"

echo

echo ' exp end at '`date`

echo

# rm pipe

rm exp.pipe

# tar the dmp.Z file to tape

mt -f /dev/rmt/0 rew

tar cvf /dev/rmt/0 exp.dmp.Z

echo

echo ' tar end at '`date`

echo

通过管道导入生成的文件:

1.通过mknod -p 建立管道

$ mknod /home/exppipe p

2.导入生成的压缩文件

$ imp test/test file=/home/exppipe fromuser=test touser=macro &

gunzip < exp.dmp.gz > /home/exppipe

3.删除管道

$ rm –fr /home/exppipe

4. 全库导入的一般步骤

注意:在导出时,需要通过toad或其他工具提取源数据库创建主键和索引的脚本1. 先全库加rows=n 把结构导进去

$ imp system/manager file=exp.dmp log=imp.log full=y rows=n indexes=n

2. 使业务用户的触发器失效/删除主键和唯一索引

spool drop_pk_u.sql

select 'alter table '||table_name||' drop constraint '||constraint_name||';'

from user_constraints

where constraint_type in ('P','U');

/

spool off

spool disable_trigger.sql

select 'alter trigger '||trigger_name||' disable;'

from user_triggers;

/

spool off

@drop_pk_u.sql

@disable_trigger.sql

3. 以ignore=y全库导入

$ imp system/manager file=exp.dmp log=imp.log full=y ignore=y

4. 通过toad或其他工具提取源数据库创建主键和索引的脚本,在目标数据库中创建主键

和索引。使触发器生效。

1.4 常见问题

1. 字符集问题

ORACLE 多国语言设置是为了支持世界范围的语言与字符集,一般对语言提示,货币形式,排序方式和CHAR,VARCHAR2,C LOB,LONG 字段的数据的显示等有效。ORACLE 的多国语言设置最主要的两个特性就是国家语言设置与字符集设置,国家语言设置决定了界面或提示使用的语言种类,字符集决定了数据库保存与字符集有关数据

(如文本)时候的编码规则。

ORACLE 字符集设定,分为数据库字符集和客户端字符集环境设置。在数据库端,

字符集在创建数据库的时候设定,并保存在数据库props$表中。

在客户端的字符集环境比较简单,主要就是环境变量或注册表项NLS_ LANG,注意NLS_LANG的优先级别为:参数文件<注册表<环境变量

使用一点点技巧,就可以使导出/导入在不同的字符集的数据库上转换数据。这里

需要一个2进制文件编辑工具即可,如uedit32。用编辑方式打开导出的dmp文件,获

取 2 、3 字节的内容,如00 01 ,先把它转换为10 进制数,为 1 ,使用函数

NLS_CHARSET_NAME 即可获得该字符集:SQL> select nls_charset_name(1) from dual; NLS_CHARSET_NAME(1)

------------------- US7ASCII

可以知道该dmp文件的字符集为US7ASCII,如果需要把该dmp文件的字符集换

成ZHS16GBK,则需要用NLS_CHARSET_ID 获取该字符集的编号:SQL> select nls_charset_id('zhs16gbk') from dual; NLS_CHARSET_ID('ZHS16GBK')

--------------------------

把852换成16进制数,为354,把2、3字节的00 01 换成03 54,即完成了把该dmp 文件字符集从us7ascii 到zhs16gbk 的转化,这样,再把该dmp文件导入到zhs16gbk 字符集的数据库就可以了。

2. 版本问题

Exp/Imp 很多时候,可以跨版本使用,如在版本7与版本8之间导出导入数据,但这样做必须选择正确的版本,规则为:

·总是使用IMP的版本匹配数据库的版本,如果要导入到816,则使用816的导入工具。·总是使用EXP 的版本匹配两个数据库中低的那个版本,如在815与816之间互导,则使用815的EXP 工具。

imp和exp版本不能往上兼容: imp 可以导入低版本exp生成的文件, 不能导入高版本exp生成的文件。

2.1 基本知识

Oracle 的SQL* LOADER 可以将外部格式化的文本数据加载到数据库表中。通常与SPOOL导出文本数据方法配合使用。

1.命令格式

SQLLDR keyword=value [,keyword=value,...]

例:

$ sqlldr user/pwd control=emp.ctl data=emp.dat bad=emp.bad log=emp.log

2.控制文件

SQL*LOADER 根据控制文件可以找到需要加载的数据。并且分析和解释这些数

据。

控制文件由三个部分组成,具体参数参考帮助文档:

1. 全局选件,行,跳过的记录数等;

2. INFILE 子句指定的输入数据;

3. 数据特性说明。

comment: --注释

例:

load data infile *

append --除了append外,还有insert、replace、truncate等方式

into table emp

fields terminated b y ‘|’

(

no float external, name char(20),

age integer external,

duty char(1),

salary float external,

upd_ts date(14) ‘YYYYMMDDHH24MISS’

)

begindata

100000000003|Mulder|000020|1|000000005000|20020101000000

100000000004|Scully|000025|2|000000008000|20020101235959

控制文件中infile选项跟sqlldr 命令行中data 选项含义相同,如使用infile *则表明

数据在本控制文件以begin data 开头的区域内。一些选项:

FIELDS TERMINATED BY WHITESPACE FIELDS TERMINATED BY x'09'

FILLER_1 FILLER, // 指定某一列将不会被装载

DEPTNO position(1:2), DNAME position(*:16), // 指定列的位置

SEQNO RECNUM //载入每行的行号

SKIP n // 指定导入时可以跳过多少行数据

3.数据文件

按控制文件数据格式定义的数据行集,例:

100000000001|Tom|000020|1|000000005000|20020101000000

100000000002|Jerry|000025|2|000000008000|20020101235959

固定格式、可变格式、流记录格式:

固定格式:

当数据固定的格式(长度一样)时且是在文件中得到时,要用INFILE "fix n"

load data

infile 'example.dat' "fix 11"

into table example

fields terminated b y ',' optionally enclosed by '"'

(col1 char(5), col2 char(7)) example.dat:

001, cd, 0002,fghi,

00003,lmn,

1, "pqrs",

0005,uvwx,

可变格式:

当数据是可变格式(长度不一样)时且是在文件中得到时,要用INFILE "var n"。如:load data

infile 'example.dat' "var 3"

into table example

fields terminated b y ',' optionally enclosed by '"'

(col1 char(5), col2 char(7)) example.dat:

009hello,cd,010world,im,

012my,name is,

流记录格式: // Stream-recored format:

load data infile 'xx.dat' "str '|\n'"

into table xx field terminated b y ',' optionally enclosed by '"'

(col1 char(5), col2 char(7))

example.dat:

hello, ccd,|

world, bb,|

4. 坏文件

bad=emp.bad

坏文件包含那些被SQL*Loader拒绝的记录。被拒绝的记录可能是不符合要求的记

录。

5. 日志文件及日志信息

log=emp.log

当SQL*Loader 开始执行后,它就自动建立日志文件。日志文件包含有加载的总结,加载中的错误信息等。

2.2 高级选项

1. Conventional Path Load 与Direct Path Load

Conventional-path Load:

通过常规通道方式上载。

特点:commit, always gen redo logs, enforce all constraints, fire insert triggers, can load into cluster, other user can make change

rows:每次提交的记录数

bindsize:每次提交记录的缓冲区

readsize:与bindsize 成对使用,其中较小者会自动调整到较大者

sqlldr 先计算单条记录长度,乘以rows,如小于bindsize,不会试图扩张rows以填充bindsize;如超出,则以bindsize 为准。命令为:

$ sqlldr dbuser/oracle control=emp.ctl log=emp.log rows=10000 bindsize=8192000

Direct-Path Load:

通过直通方式上载,可以跳过数据库的相关逻辑,不进行SQL解析,而直接将数据导入到数据文件中。

特点:save, conditionly gen redo logs, enforce PK UK NN, not fire triggers, can not load into cluster, other user can not make change命令为:

$ sqlldr dbuser/oracle control=emp.ctl log=emp.log direct=true

2. SPOOL导出文本数据方法

导入的数据文件可以用SPOOL导出文本数据方法生成。

SQL*PLUS环境设置

SET NEWPAGE NONE HEADING OFF SPACE 0 PAGESIZE 0

SET TRIMOUT ON TRIMSPOOL ON LINESIZE 2500

注:LINESIZE 要稍微设置大些,免得数据被截断,它应和相应的TRIMSPOOL结合使用防止导出的文本有太多的尾部空格。

但是如果LINESIZE 设置太大,会大大降低导出的速度,另外在WINDOWS下导出最好不要用PLSQL导出,速度比较慢,直接用COMMEND 下的SQLPLUS命令最小化窗口执行。对于字段内包含很多回车换行符的应该给与过滤,形成比较规矩的文本文件。

通常情况下,我们使用SPOOL方法,将数据库中的表导出为文本文件,如下述:

set trimspool on

set linesize 120 pagesize 2000 newpage 1 heading off term off spool 路径+文件名

select col1||','||col2||','||col3||','||col4||'..' from tablename;

2.3 脚本

1. 将表中数据记录导出为字段值用分隔符'|'分开的.dat文件

#!/bin/ksh

##################################################################

## 名称: unloadtable

## 功能: 本shell 用于将表中数据记录导出

## 导出为字段值用分隔符'|'分开的.dat文件

## 编者:

## 日期: 2006.03.18

##################################################################

if [ $# -ne 3 ]

then

echo "usage:unloadtable tablename username password."

exit 0

fi

##准备工作

echo "set heading off " >/tmp/$1.col

echo "set pagesize 0" >>/tmp/$1.col

echo "set linesize 800 " >>/tmp/$1.col

echo "set feedback off " >>/tmp/$1.col

echo "set tab off " >>/tmp/$1.col

echo "select column_name||',' from user_tab_columns where lower(table_name)='$1' order by

column_id; " >> /tmp/$1.col

##产生select 语句

echo "set heading off " >/tmp/$1.sel

echo "set pagesize 0" >>/tmp/$1.sel

echo "set linesize 800 " >>/tmp/$1.sel

echo "set feedback off " >>/tmp/$1.sel

echo "set tab off " >>/tmp/$1.sel

echo "select " >>/tmp/$1.sel

echo `sqlplus -s $2/$3 < /tmp/$1.col` |sed "s/,/||'|'||/g" |sed "s/||$//g"|sed "s/date/\"date\"/g"

>>/tmp/$1.sel

##生成dat文件

#echo "from $1;\n/" >>/tmp/$1.sel 由于/ 导致多执行一次select

echo "from $1;\n" >>/tmp/$1.sel

sqlplus -s $2/$3 < /tmp/$1.sel >$1_tmp.dat

#awk '{if(FNR!=1) print $0}' $1_tmp.dat >$1.dat FNR 选项使得第一条记录选不出

awk '{print $0}' $1_tmp.dat >$1.dat

rm -f $1_tmp.dat

2. 将数据导入到相应表中

#!/bin/ksh

##################################################################

## 名称:loadtable

## 功能:本shell 用于将已经准备好的.dat数据文件导入相应的表中

## .dat 文件各个字段值用分隔符'|'分开。

## 编者:

## 日期: 2006.03.18

##################################################################

if [ $# -ne 3 ]

then

echo "usage:loadtable tablename username password."

exit 0

fi

##准备工作

echo "set heading off " >/tmp/$1.colsql

echo "set pagesize 0" >>/tmp/$1.colsql

echo "set linesize 800 " >>/tmp/$1.colsql

echo "set feedback off " >>/tmp/$1.colsql

echo "set tab off " >>/tmp/$1.colsql

echo "select column_name||',' from user_tab_columns where lower(table_name)='$1' order by

column_id; " >> /tmp/$1.colsql

##产生ctl文件

echo "load data" >/tmp/$1.ctl

echo "infile *" >>/tmp/$1.ctl

echo "into table $1" >>/tmp/$1.ctl

echo "fields terminated by '|'" >>/tmp/$1.ctl

echo `sqlplus -s $2/$3 < /tmp/$1.colsql` |sed "s/,$/)/g" |sed "s/^/(/g" >>/tmp/$1.ctl

##开始导入数据

echo "truncate table $1;" >/tmp/$1.sql

sqlplus $2/$3 < /tmp/$1.sql

sqlldr $2/$3 data=$1.dat control=/tmp/$1.ctl log=/tmp/$1.log

用户管理的备份与恢复也称OS物理备份,是指通过数据库命令设置数据库为备份状态,然后用操作系统命令,拷贝需要备份或恢复的文件。这种备份与恢复需要用户的参与手工或自动完成。

对于使用OS拷贝备份的数据文件,可以使用DBVERTIFY 进行检验。DBVERTIFY

是一个外部工具,主要用于校验数据文件或备份的数据文件的数据块是否正确。例:dbv /u01/oradata/oracle/users01.dbf BLOCKSIZE=8192

参数说明:

关键字说明(默认)

FILE 要检验的文件(NONE)

START 起始块(文件的第一个块)

END 结束块(文件的最后一个块)

BLOCKSIZE 逻辑块大小(2048)

LOGFILE 输出日志(NONE)

FEEDBACK 显示进程(0)

Recover 还可以进行测试,检测恢复的错误,错误信息记载在alert_SID.log 文件

中,通过测试,我们可以知道该恢复操作是否能正常完成。

SQL> RECOVER TABLESPACE sales TEST;

SQL> RECOVER DATABASE UNTIL CANCEL TEST;

3.1 相关设置

3.1.1 设置ARCHIVELOG与NONARCHIVELOG模式

重做日志组是以循环方式使用的,重做日志组会被覆盖重做日志信息就会丢失。为

了保存历史以来的重做日志,数据库可以运行在日志归档模式下(archivelog mode)。在日志归档模式下,当日志组撤换到下一个组时后台进程ARCn 将上一个日志文件复

制到另一个地方(oracle 10g 使用快速恢复区会归档到该区)保存。数据库默认为非归档模式(noarchivelog mode)。

设置ARCHIVELOG模式步骤:

1. 关闭数据库,备份已有的数据,改变数据库的运行方式是对数据库的重要改动,所

以要对数据库做备份,对可能出现的问题作出保护。

2. 修改初试化参数: 使用PFILE,修改初始化参数文件init[SID].ora log_archive_start=true #启动自动归档log_archive_format=ARC%T%S.arc #归档文件格式log_archive_dest=/arch12/arch #归档路径

3. 启动Instance 到Mount状态,即加载数据库但不打开数据库:

SQL > startup mount;

4. 发出修改命令

SQL > alter database archivelog; SQL > alter database open;

设置NONARCHIVELOG模式步骤同上,只需修改相应参数值即可。

3.1.2 LOGGING 与NOLOGGING

表空间、表、索引、分区可以设置为NOLOGGING,用于快速装入数据(Direct Load)。在插入数据时只写入最小的重做日志和回滚数据。在归档数据库模式下,执行Direct Load 操作后应立即进行备份,否则不能使用之前的备份进行恢复。另外,用户可以设置数据库的强制日志模式,使用所有操作都记入日志。

LOGGING 与NOLOGGING 的区别:

LOGGING NOLOGGING

所有的更改写入REDO 最小写入REDO LOG

从最近备份中完全恢复不能从最近备份中完全恢复

不需要增加备份需要增加备份

NOLOGGING 的操作:

CREATE TABLE …NOLOGGING AS SELECT 语句

INSERT /*+APPEND*/ INTO <表> NOLOGGING SELECT 语句

INSERT /*+ PARALLEL(<表>,)达式*/ INTO <表> NOLOGGING SELECT 语句

SQL*LOADER 的DIRECT 方法

例:

SQL>CREATE TABLE emp1 NOLOGGING AS SELECT * FROM emp; SQL>SELECT name,unrecoverable_time FROM V$DATAFILE;

SQL>INSERT /*+ APPEND */ INTO emp1 NOLOGGING SELECT* * FROM emp; SQL>SELECT name,unrecoverable_time FROM V$DATAFILE;

SQL>ALTER DATABASE NO FORCE LOGGING;

3.1.3 归档路径

在归档模式下进行自动归档时,或者在恢复时设置归档所在的位置,需要设置归档路径

初始化参数:

LOG_ARCHIVE_DEST_n=”LOCATION=path MANDATORY|OPTIONAL REOPEN=n”

LOG_ARCHIVE_DEST_n=”SERVICE=standby MANDATORY|OPTIONAL REOPEN=n

3.2 NONARCHIVELOG 模式

3.2.1 脱机冷备与恢复

冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份是将关键性文件拷贝到另外位置的一种说法。对于备份Oracle 信息而言,冷备份是最快和最安全的方法。

冷备份的优点:

1.是非常快速的备份方法(只需拷贝文件)

2.容易归档(简单拷贝即可)

3.容易恢复到某个时间点上(只需将文件再拷贝回去)

4.能与归档方法相结合,作数据库“最新状态”的恢复。

5.低度维护,高度安全。

冷备份的不足:

1.单独使用时,只能提供到“某一时间点上”的恢复。

2.在实施备份的全过程中,数据库必须要作备份而不能作其它工作。也就是说,在

冷备份过程中,数据库必须是关闭状态。

3.若磁盘空间有限,只能拷贝到磁带等其它外部存储设备上,速度会很慢。

4.不能按表或按用户恢复。

如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将所备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括:

1.所有数据文件

2.所有控制文件

3.所有联机REDO LOG 文件

4.参数化参数Init.ora 文件(可选)。

3.2.2 案例

1.9i 脱机冷备/恢复的例子:

(1)关闭数据库

$ sqlplus /nolog

SQL> connect /as sysdba

SQL> shutdown normal;

(2)用拷贝命令备份/恢复全部的时间文件、重做日志文件、控制文件、初始化参数文件

SQL > host cp xx xx;

可以使用以下冷备脚本:

#!/bin/bash

##################################################################

## 名称: coldback_gen.sh

## 功能: 本shell 用于生成冷备份脚本, 进行冷备份同时生成相应的恢复命令

## 可以修改后在生成后立即执行

## 编者:

## 日期: 2006.12.13.

##################################################################

##设置变量

##设置临时文件名

tempsql=./backup.sql

##设置备份文件存放路径

backdate=`date -u +%Y%m%d`

backupdir=/u04/oracle/coldback/$backdate

mkdir $backupdir

##设置备份脚本文件名

backupsh=$backupdir/coldback.sh

rcvrsh=$backupdir/recovery.sh

echo "正在生成冷备份脚本[$backupsh]..."

##检查ORACLE数据库是否启动

oraisrun=`ps -ef|grep -c ora_`

if [ "$oraisrun" = "0" ] || [ "$oraisrun" = "1" ]

then

echo "ORACLE 数据库尚未启动,请先启动ORACLE"

echo ""

exit

fi

##准备工作

echo "set heading off " > $tempsql

echo "set feedback off " >>$tempsql

echo "set tab off " >>$tempsql

echo "set verify off " >>$tempsql

echo "set pagesize 0" >>$tempsql

echo "set linesize 800 " >>$tempsql

echo "select '#!/bin/bash' from dual;" >> $tempsql

echo "select '' from dual;" >> $tempsql

echo "select '## 备份脚本生成时间: " `date +%Y 年%m月%d日-%H:%M:%S` "' from dual;" >> $tempsql

echo "select '## 备份目的路径: $backupdir' from dual; " >> $tempsql

echo "select '' from dual; " >> $tempsql

echo ""

echo "select 'echo ''开始进行脱机冷备...''' from dual; " >> $tempsql echo "select 'echo ''备份目的路径: $backupdir ''' from dual; " >> $tempsql

##这里不直接关闭数据库,提示用户手工关闭为好如果需要直接关闭,请修改echo "select 'orarun='||'\`'||'ps -ef|grep -c ora_'||'\`' from dual;" >>$tempsql

echo "select 'if [ "\$orarun" != "0" ] && [ "\$orarun" != "1" ] ' from dual;" >>$tempsql echo "select 'then' from dual; " >>$tempsql

echo "select 'echo '' '' ' from dual;" >>$tempsql

echo "select 'echo ''ORACLE 数据库已启动,请先关闭ORACLE 数据库'' ' from dual; " >>$tempsql

echo "select 'echo '' '' ' from dual;" >>$tempsql

echo "select 'exit' from dual; " >>$tempsql

echo "select 'fi' from dual; " >>$tempsql

echo "select 'echo '' '' ' from dual; " >> $tempsql

echo "select 'echo ''正在备份控制文件...''' from dual; " >> $tempsql

echo "select 'cp ' ||name||' $backupdir' from v\$controlfile; " >> $tempsql

echo "select 'echo ''控制文件备份完毕!''' from dual; " >> $tempsql

echo "select 'echo '' '' ' from dual; " >> $tempsql

echo "select 'echo ''正在备份数据文件...''' from dual; " >> $tempsql

echo "select 'cp ' ||name||' $backupdir' from v\$datafile; " >> $tempsql echo "select 'echo ''数据文件备份完毕!''' from dual; " >> $tempsql

echo "select 'echo ''正在备份联机日志...''' from dual; " >> $tempsql

echo "select 'echo '' '' ' from dual; " >> $tempsql

echo "select 'cp '||member||' $backupdir' from v\$logfile; " >> $tempsql echo "select 'echo ''联机日志备份完毕!''' from dual;" >> $tempsql

echo "select 'echo '' '' ' from dual; " >> $tempsql

echo "select 'echo ''脱机冷备完毕!''' from dual;" >> $tempsql

echo "select 'echo '' '' ' from dual; " >> $tempsql

echo "select 'echo '' '' ' from dual; " >> $tempsql

##生成冷备份执行脚本

sqlplus -s ' / as sysdba' < $tempsql > $backupsh

rm -f $tempsql

chmod +x $backupsh

cp $backupsh .

echo "正在生成冷备对应的恢复脚本[$rcvrsh]..."

##准备工作

echo "set heading off " > $tempsql

echo "set feedback off " >>$tempsql

echo "set tab off " >>$tempsql

echo "set verify off " >>$tempsql

echo "set pagesize 0" >>$tempsql

echo "set linesize 800 " >>$tempsql

echo "select '#!/bin/bash' from dual;" >> $tempsql

echo "select '' from dual;" >> $tempsql

echo "select '## 恢复脚本生成时间: " `date +%Y 年%m月%d日-%H:%M:%S` "' from dual;" >> $tempsql

echo "select '## 恢复文件所在路径: $backupdir' from dual; " >> $tempsql

echo "select '' from dual; " >> $tempsql

echo ""

echo "select 'echo ''开始进行文件的复制恢复...''' from dual; " >> $tempsql echo "select 'echo ''恢复文件所在的路径: $backupdir ''' from dual; " >> $tempsql

##这里不直接关闭数据库,提示用户手工关闭为好如果需要直接关闭,请修改

echo "select 'orarun='||'\`'||'ps -ef|grep -c ora_'||'\`' from dual;" >>$tempsql

echo "select 'if [ "\$orarun" != "0" ] && [ "\$orarun" != "1" ] ' from dual;" >>$tempsql

echo "select 'then' from dual; " >>$tempsql

echo "select 'echo '' '' ' from dual;" >>$tempsql

echo "select 'echo ''ORACLE 数据库已启动,请先关闭ORACLE 数据库'' ' from dual; " >>$tempsql

echo "select 'echo '' '' ' from dual;" >>$tempsql

echo "select 'exit' from dual; " >>$tempsql

echo "select 'fi' from dual; " >>$tempsql

echo "select 'echo '' '' ' from dual; " >> $tempsql

echo "select 'echo ''正在恢复控制文件...''' from dual; " >> $tempsql

echo "select 'cp '||'$backupdir'||'/'||substr(name,instr(name,'/',-1)+1,

length(name)-instr(name,'/',-1) )||' '||name from v\$controlfile; " >> $tempsql

echo "select 'echo ''控制文件恢复完毕!''' from dual; " >> $tempsql

echo "select 'echo '' '' ' from dual; " >> $tempsql

echo "select 'echo ''正在恢复数据文件...''' from dual; " >> $tempsql

echo "select 'cp '||'$backupdir'||'/'||substr(name,instr(name,'/',-1)+1,

length(name)-instr(name,'/',-1) )||' '||name from v\$datafile; " >> $tempsql

echo "select 'echo ''数据文件恢复完毕!''' from dual; " >> $tempsql

echo "select 'echo ''正在恢复联机日志...''' from dual; " >> $tempsql

echo "select 'echo '' '' ' from dual; " >> $tempsql

echo "select 'cp '||'$backupdir'||'/'||substr(member,instr(member,'/',-1)+1,

length(member)-instr(member,'/',-1) )||' '||member from v\$logfile; " >> $tempsql

echo "select 'echo ''联机日志恢复完毕!''' from dual;" >> $tempsql

echo "select 'echo '' '' ' from dual; " >> $tempsql

echo "select 'echo ''脱机冷备恢复完毕!''' from dual;" >> $tempsql

echo "select 'echo '' '' ' from dual; " >> $tempsql

echo "select 'echo '' '' ' from dual; " >> $tempsql

##生成冷备恢复的执行脚本

sqlplus -s ' / as sysdba' < $tempsql > $rcvrsh

rm -f $tempsql

chmod +x $rcvrsh

cp $rcvrsh .

echo "生成脱机冷备备份与恢复脚本完毕!"

echo "请检查脚本文件: [$backupsh]"

echo " [$rcvrsh]"

echo ""

#如果需要生成后立即执行备份,可增加关闭数据库的操作,然后将以一几行的注

释#去掉即可

#./$backupsh

#echo "备份执行完毕,请检查!"

#echo ""

(3)重启Oracle 数据库

$ sqlplus /nolog

SQL> connect /as sysdba

SQL> startup

2.如果自从上次脱机冷备后,数据文件错误,联机日志没有被覆盖,可模拟不完全恢复。

1. SQL> shutdown;

2. $ cp .. ..; // 只恢复出错的数据文件

3. SQL> startup mount;

4. SQL> recover database;

5. SQL> alter database open;

3.3 ARCHIVELOG 模式

3.3.1 脱机冷备与恢复

同NONARCHIVELOG模式

3.3.2 联机热备

联机热备是在数据库运行的情况下进行备份的方法。热备份要求数据库在Archivelog

方式下操作,并需要大量的档案空间。

热备份的优点:

1.可在表空间或数据文件级备份,备份时间短。

2.备份时数据库仍可使用,支持24*7不间断运行。

3.可达到秒级恢复(恢复到某一时间点上)。

4.可对几乎所有数据库实体作恢复。

5.恢复是快速的,在大多数情况下在数据库仍工作时恢复。

热备份的不足是:

1.不能出错,否则后果严重。

2.若热备份不成功,所得结果不可用于时间点的恢复。

3.因难于维护,所以要特别仔细小心,不允许“以失败而告终”。

注意:在热备过程中系统会生成更多的重做日志和回滚数据。所以必须在数据库较

空闲时才进行备份。

备份内容:

(1) 数据文件: 一个表空间一个表空间地备份sql> alter tablespace users begin backup; sql> $copy '/xx/xx.dbf ''/yy/yy.dbf' ; sql> alter tablespace users end backup; sql> alter system checkpoint;

(只读表空间直接拷贝,不用begin backup)

(2) 备份归档log文件

(1)临时停止归档进程log_archive_max_processes=0

(2)log下那些在archive redo log 目标目录中的文件

(3)重新启动archive 进程

(4)备份归档的redo log 文件

(3) 备份联机的控制文件:

sql> alter database backup controlfile to '/xx/xx.ctl';

(4) 备份初始化文件配置文件等:

sql> $copy .. .. ;

热备脚本:hotback.sql

Rem 热备份脚本for Linux

Rem 执行该脚本必须保证数据库处于归档模式

Rem db.dw.dm@https://www.360docs.net/doc/465357140.html, 2007-03-17

Rem

Rem 设置SQL*Plus环境参数

Rem

set feedback off

set pagesize 0

set heading off

set verify off

set linesize 100

set trimspool on

【英语】英语动词用法详解

【英语】英语动词用法详解 一、单项选择动词 1.A long road tests a horse’s strength and a long-term task ________ a man’s heart. A.proves B.will prove C.is proving D.has proved 【答案】A 【解析】 试题分析:考查动词时态。句意:路遥知马力,日久见人心。这是一条谚语,故用一般现在时态,故选A。 考点:考查动词时态 2.I’ll get the taxi from the st ation to ________ you the trouble of coming to collect me. A.counter B.save C.abandon D.rid 【答案】B 【解析】考查动词。A. counter反击; B. save节约,挽救; C. abandon遗弃; D. rid去除。句意:我将从车站打的,以省去你接我的麻烦。根据句意可知答案为B。 3.All the doctors in the hospital insisted that he ____ badly wounded and that he ____ at once. A.should be; be operated on B.were; must be operated on C.be; was operated on D.was; be operated on 【答案】D 【解析】 试题分析:考查insist的用法。句意:医院里所有的医生都认为他受伤很严重,要求他立即动手术。insist作“坚决要求做某事”讲时,要用虚拟语气;当“坚持说,坚持陈述某事实”解时,用陈述语气。 考点 : 考查insist的用法 4.97.—I was told that you had your stomach examined last week? —Yes. But I hope that I shall never again have to ________ such unpleasant experience. A.undergo B.undertake C.undercharge D.underline 【答案】A 【解析】考查动词辨析。A. undergo经历;B. undertake承担,保证;C. undercharge充电不足;D. underline强调,在下面划线。上句:我听说你上星期检查过胃了?下句:是的。但我希望我永远不会再遭遇到这种不愉快的经历。故选A。 5.224. The murderer was brought in, with his hands _____ behind his back. A.being mopped B.having tied C.to be tied D.tied

硬件电路设计具体详解

2系统方案设计 2.1 数字示波器的工作原理 图2.1 数字示波器显示原理 数字示波器的工作原理可以用图2.1 来描述,当输入被测信号从无源探头进入到数字示波器,首先通过的是示波器的信号调理模块,由于后续的A/D模数转换器对其测量电压有一个规定的量程范围,所以,示波器的信号调理模块就是负责对输入信号的预先处理,通过放大器放大或者通过衰减网络衰减到一定合适的幅度,然后才进入A/D转换器。在这一阶段,微控制器可设置放大和衰减的倍数来让用户选择调整信号的幅度和位置范围。 在A/D采样模块阶段,信号实时在离散点采样,采样位置的信号电压转换为数字值,而这些数字值成为采样点。该处理过程称为信号数字化。A/D采样的采样时钟决定了ADC采样的频度。该速率被称为采样速率,表示为样值每秒(S/s)。A/D模数转换器最终将输入信号转换为二进制数据,传送给捕获存储区。 因为处理器的速度跟不上高速A/D模数转换器的转换速度,所以在两者之间需要添加一个高速缓存,明显,这里捕获存储区就是充当高速缓存的角色。来自ADC的采样点存储在捕获存储区,叫做波形点。几个采样点可以组成一个波形点,波形点共同组成一条波形记录,创建一条波形记录的波形点的数量称为记录长度。捕获存储区内部还应包括一个触发系统,触发系统决定记录的起始和终止点。 被测的模拟信号在显示之前要通过微处理器的处理,微处理器处理信号,包括获取信号的电压峰峰值、有效值、周期、频率、上升时间、相位、延迟、占空比、均方值等信息,然后调整显示运行。最后,信号通过显示器的显存显示在屏幕上。 2.2 数字示波器的重要技术指标 (1)频带宽度 当示波器输入不同频率的等幅正弦信号时,屏幕上显示的信号幅度下降3dB 所对应的输入信号上、下限频率之差,称为示波器的频带宽度,单位为MHz或GHz。

动名词的用法详解

动名词的用法详解 今天给大家带来动名词的用法详解,我们一起来学习吧,下面就和大家分享,来欣赏一下吧。 英语语法:动名词的用法详解 动名词因同时拥有动词和名词两者的特点而拥有及其丰富 的用法,熟练的掌握这些用法不仅可以使口语表达更地道生动,也能在写作中增分添彩。 动名词主要有四种用法,做主语,作宾语,作表语,作定语,每种用法下又分小类别,是一个非常复杂庞大的系统,学习者们往往会理不清脉络,今天就为大家带来动名词的用法讲解。 一.作主语 1.直接位于句首 eg.Swimming is a good sport in summer. 2.用it作形式主语,把动名词(真实主语)置于句尾作后置主语。 eg.It is no use telling him not to worry.

.mportant,essential,necessary等形容词不能用于上述结构。 3.用于“There be”结构中 eg.There is no saying when hell come. 4.动名词的复合结构作主语: 当动名词有自己的逻辑主语时,常可以在前面加上一个名词或代词的所有格,构成动名词的复合结构,动名词疑问句通常使用这种结构做主语 eg.Their coming to help was a great encouragement to us. Does your saying that mean anything to him? 二.作宾语 1.作动词的宾语 某些动词后出现非限定性动词时只能用动名词作宾语,不能用不定式。不定式通常指某种特定的动作,但动名词表示泛指,常见的此类动词有: admit,appreciate,excuse,stand,advise,allow,permit,avoid,consider,e njoy,finish,give up,cannot help,imagine,include,keep,understand,keepon,mind,report,risk,mis s,put off,delay,practise,resist,suggest,depend on,think about,set about,succeed in,worry about,burst out,insist on,feel like,be used

电路原理图详解

电子电路图原理分析 电器修理、电路设计都是要通过分析电路原理图, 了解电器的功能和工作原理,才能得心应手开展工作的。作为从事此项工作的同志,首先要有过硬的基本功,要能对有技术参数的电路原理图进行总体了解,能进行划分功能模块,找出信号流向,确定元件 作用。若不知电路的作用,可先分析电路的输入和输出信号之间的关系。如信号变化规律及它们之间的关系、相位问题是同相位,或反相位。电路和组成形式,是放大电路,振荡电路,脉冲电路,还是解调电路。 要学会维修电器设备和设计电路,就必须熟练掌握各单元电路的原理。会划分功能块, 能按照不同的功能把整机电路的元件进行分组,让每个功能块形成一个具体功能的元件组合,如基本放大电路,开关电路,波形变换电路等。要掌握分析常用电路的几种方法, 熟悉每种方法适合的电路类型和分析步骤。 1.交流等效电路分析法 首先画出交流等效电路, 再分析电路的交流状态,即:电路有信号输入时,电路中各环节的电压和电流是否按输入信号的规律变化、是放大、振荡, 还是限幅削波、整形、鉴相等。 2?直流等效电路分析法 画出直流等效电路图,分析电路的直流系统参数,搞清晶体管静态工作点和偏置性质,级间耦合方式等。分析有关元器件在电路中所处状态及起的作用。例如:三极管的工作状态,如饱和、放大、截止区,二极管处于导通或截止等。 3?频率特性分析法 主要看电路本身所具有的频率是否与它所处理信号的频谱相适应。粗略估算一下它的中心频率,上、下限频率和频带宽度等,例如:各种滤波、陷波、谐振、选频等电路。 4?时间常数分析法 主要分析由R、L、C及二极管组成的电路、性质。时间常数是反映储能元件上能量积累和消耗快慢的一个参数。若时间常数不同,尽管它的形式和接法相似,但所起的作用还是不同,常见的有耦合电路、微分电路、积分电路、退耦电路、峰值检波电路等。 最后,将实际电路与基本原理对照,根据元件在电路中的作用,按以上的方法一步步分析,就不难看懂。当然要真正融会贯通还需要坚持不懈地学习。 电子设备中有各种各样的图。能够说明它们工作原理的是电原理图,简称电路图。 电路图有两种 一种是说明模拟电子电路工作原理的。它用各种图形符号表示电阻器、电容器、开关、晶体管等实物,用线条把元器件和单元电路按工作原理的关系连接起来。这种图长期以来就一直被叫做电路图。 另一种是说明数字电子电路工作原理的。它用各种图形符号表示门、触发器和各种逻辑部件,用线条把它们按逻辑关系连接起来,它是用来说明各个逻辑单元之间的逻辑关系和整机的逻辑功能的。为了和模拟电路的电路图区别开来,就把这种图叫做逻辑电路图,简称逻辑图。 除了这两种图外,常用的还有方框图。它用一个框表示电路的一部分,它能简洁明了地说明电路各部分的关系和整机的工作原理。 一张电路图就好象是一篇文章,各种单元电路就好比是句子,而各种元器件就是组成句子的单词。所以要想看懂电路图,还得从认识单词——元器件开始。有关电阻器、电容器、电感线圈、晶体管等元器件的用途、类别、使用方法等内容可以点击本文相关文章下的各个链接,本文只把电路图中常出现的各种符号重述一遍,希望初学者熟悉它们,并记住不忘。 电阻器与电位器(什么是电位器) 符号详见图1 所示,其中(a )表示一般的阻值固定的电阻器,(b )表示半可调或微调电阻器;(c )表示电位器;(d )表示带开关的电位器。电阻器的文字符号是“ R ”,电位器是“ RP ”,即在R 的后面再加一个说明它有调节功能的字符“ P ”。

Admit的用法

Admit的用法 Admit 的常见词组有admit that ,admit sth, admit to do ,admit doing, Admit that 是引导一个宾语从句,后面加句子 表示接受一个事件或事实 Example : I admit that I am wrong .我承认我错了 Admit sth 说明admit是一个及物动词可直接带宾语 表示承认或接受某物,允许做某事。 Example : I admit my failure. 我接受失败。 This ticket admits one person only. 此券只准一人入 Admit to do 和Admit doing 区别 最大的区别是做和没做的区别: To do 表示还没做将要去做。 Doing 表示已经做过了。 但是admit(承认)后通常要接动名词作宾语,而不接不定式。如果接不定式的话也通常是to be Example:We all admit him to be foolish.(我们都认为他很蠢)。 She admitted him to be right. 她承认他是对的。 Admit doing (admit having done)承认做过的某事 1 I admit breaking the windows. 2 He admitted having stolen the money. 区别在于:事情发生的时间参照1句以现在为参照点(admit)doing .2句已过去为参照点(admitted)用having doing . 当admit 用于被动时be admitted to sth 意思是允许,接受接纳 Example : She was admitted to the Party. 她被允许入党。 Children under 18 are not admitted to the film.。十八岁以下的孩子不能看此电影。 注意不能用be admitted to do sth. 但有be admitted to be +adj Expansion: 1Admit to =admit 区别是前一个admit 不及物后一个admit及物动词。 Example : He admitted to the murder. 他供认了谋杀罪.

鲁班尺使用要诀

关于鲁班尺简介及应用方法(供学习参考) 门尺,顾名思义,就是木匠做门专用的尺子。 平时,木匠使用的尺子有两种,即木尺和门尺,都是丈量尺寸用的,但用途各不相同,木尺是丈量木活用的,门尺是针对门的使用对象并选择门?字?用的。 一门尺的专用尺寸1.44尺,一门尺等于现在市尺1.368尺,折合45.6厘米,而木尺一尺等于现在市尺0.95尺,折合31.58厘米。 门尺上标有八个字,即?财、病、离、义、官、劫、害、本?,这八个字将门尺分成八等份,每个字占0.18尺,折合5.7厘米。 这八个字的运用都蕴涵着深刻的意义。财字门:门迎财帛家安和,金银财宝富贵窝,从此全家皆兴旺,子孙盈庭财路多。病字门:病门开者大不通,急忙宜改向西东,妻儿骨肉皆无利,仆人参差事不同。离字门:离门不宜随便做,家惹贼盗灾祸多,人口分离难相遇,一家骨肉不团聚。义字门:义门最好甚宜开,田蚕兴盛又进财,内外相亲皆义合,朝朝暮暮进财来。官字门:官门开者更加官,居官高升又喜欢,庶人不敢居官室,僧道风居自然安。劫字门:此门开者多遭劫,殴打死伤卖田 业,宅舍多难妻无子,更兼官事不宁贴。害字门:此门朝南遭破坏,打开就见业产败,家产分离主人愁,万顷田庄俱尽卖。本 字门:本门开者永安康,田业兴隆果无疆,自此门庭多吉庆,功名福禄自然长。 旧时,选用门尺八个字做门的主要对象是: 财字门,用于一般民户人家。 病字门,用于医疗、药堂行当。 离字门,用于一些流动行当。 义字门,用于学堂和一些民户。 官字门,用于官府衙门。 劫字门和害字门,多用于牲畜圈门,也用于司狱。 本字门,用于店铺。 旧时,木匠做门受很多约束,其一,春不做东门,夏不做南门,秋不做西门,冬不做北门;其二,门尺上有三个符号?○、了、人?组成?○○○了了了○○人人人○○○了了了○○○人人人○○了了了○○?顺序,据说按农历计算,大月倒数,小月顺数,如数的这天遇?人?字或?了?字不能做门,有?人字损人,了字损畜?的说法;其三,庚寅日不安门,安了门有不吉利的说法;其四,选做的八字门,只有?财?和?义?二字门的尺寸相互可以运用在高度或宽度上,其他六字门的尺寸只能用在宽度上,不但不能相互转换,而且更不能将尺寸用在高度上。 鲁班尺也称班尺、门尺、门光尺、八字尺。尺长1.44营造尺。由八个字语即?财、病、离、义、官、劫、害、本?组成,每一字语用尺范围为0.18营造尺。 这鲁班尺用法其实简单,尺子上写的很清楚,四红,四黑。要是尺寸落在红上,那就代表这吉,反之则凶。但鲁班尺和曲尺(十寸公尺)还有搭配之法,《阴阳书》云:一白、二黑、三绿、四碧、五黄、六白、七赤、八白、九紫,皆星之名也。惟有白星最吉。用之法,不论丈尺,但以寸为准,一寸、六寸、八寸乃吉。纵合鲁般尺,更须巧算,参之以白,乃为大吉。俗呼之?压白?。其尺只用十寸一尺。 这说的就是曲尺上的讲究,门的尺寸要是落在一寸,六寸,八寸里,就叫压白,意思就是吉,为好门的意思,但难就难在这两把尺子都要用好才可以,必须把门取的,用鲁班尺量落在红上,完了在拿曲尺量还搭在白上。 比如这门宽二尺一寸,就叫‘義门压一白’。这二尺一寸说的是曲尺长度,看风

admit用法详解

a d m i t用法详解 一、表示“承认” 1. admit一般为,直接跟宾语;表示向某人承认用to。如: He admitted his mistake. 他承认了他的错误。 He admitted to the teacher that he was wrong. 他向老师承认他错了。 This meant admitting defeat. 这就意味着承认失败了。 但有时也用作不,此时一般后接to。如: He admitted to the murder. 他供认了谋杀罪。 He admitted to having taken the money. 他承认拿了那笔钱。 由于admit 表示“承认”可用作及物动词或不,所以上面各例中的to 有时也可。 2. admit后接动词时,要用而不用不定式。如: She admitted having read the letter. 她承认读过这封信。 I admit breaking the window. 我承认打破了窗子。 3. admit可后接带不定式的复合宾语,但其中的不定式通常应是to be。如: They admitted him to be mad. 他们承认他疯了。 You must admit the task to be difficult. 你们得承认任务是艰巨的。 偶尔接其它形式的复合宾语。如: He admitted himself a failure. 他承认失败。 He admitted himself beate n.他承认输了。 4.有时用于插入语中。如: This, I admit, was wrong. 我承认这错了。 二、表示“允许进入”“使能进入” 1. admit通常只用作。如: This ticket admits one person only. 此券只准一人入场。 There were no windows to admit air. 没有窗子可使空气流入。 可用于引申义,表示允许进入某一组织、机构、学校、团体等。如: They admitted him to [into] their organizatio n.他们接受他参加了他们的组织。 How many students have been admitted into the school this year 今年这所学校有多少学生入学 试比较(注意不同): He was admitted to [into] the Party. 他被吸收入党。 He was admitted as a Party member. 他被接纳为党员。 2.往往含有动态意味,所以一般不与enter, go in 之类的词连用。如: 他打开门让我进了屋。 正:He opened the door and admitted me into the house. 误:He opened the door and admitted me to enter into the house.

非谓语动词的用法详解

非谓语动词 非谓语动词有3种:不定式,动名词和分词。 不定式 不定式由“to do”构成,其否定式“not to do”。不定式可带宾语或状语构成不定式短语,没有人称和数的变化,但有语态的变化,不定式可作主,宾,定,状,补,表,不能单独作谓语。 一. 不定式的用法 1 作主语 To see is to believe. It is right to give up smoking. 2 作表语 My job is to teach English. 3 作宾语 He wanted to go. I find it hard to work with him. 常见用不定式作宾语的动词: want, wish, like, decide, help, ask, agree, afford, arrange, care, determine, fail, guarantee, hesitate, hope, hurry, manage, offer, pretend, promise, seek, prepare, refuse, swear, expec t, plan, would like, make up one’s mind, be determined 4 作补语 He asked me to open the door. 常见用不定式作宾补的动词: advise, allow, permit, forbid, ask, beg, encourage, expect, force, get, invite, like, order, peruade, prefer, require, teach, tell, want, warn, wish, consider practice: * 在感官动词feel, hear, listen to, see, look, notice, watch, observe,和使役动词make, let, have等后的补语中,不定式不带to,但这些句子变成 被动结构时,就必须带to I often hear him sing the song. He is often heard to sing the song. 5 作定语 He is looking for a room to live in. There’s nothing to worry about. 不定式作定语的用法: 6 作状语 I came here to see you. (表目的) in order to / so as to We were excited to hear the news. (表原因)

非谓语动词用法详解

非谓语动词用法详解 动词的非谓语形式有三种:不定式、动名词和分词 (一)不定式 不定式由“to十动词原形”构成,其否定形式是“not to do”.不定式可以带宾语或状语构成不定式短语,没有人称和数的变化,但有时态和语态的变化.不定式可作主语、宾语、状语、表语和定语,但不能单独作谓语.不定式的逻辑主语有时用“for十名词或代词宾格”构成. 1.不定式的用法: l)作主语.不定式短语作主语时,往往放在谓语之后,用it作形式主语.例如: To see is to believe. It is right to give up smoking. 2)作宾语.不定式短语作宾语时,如果还带有宾语补足语。往往把不定式宾语放在宾语补足语之后,而用it作形式宾语.例如: He wanted to go. I find it interesting to study work with him. 3)作宾语补足语.例如: He asked me to do the work with him. 注意:在feel,hear,listen to,look at,notice, observe,see,watch,have, let,make等词后的补足语中,不定式不带to.但是这些句子如果变成被动结构时,就必须带to.例如 I often hear him sing the song. He is often heard to sing the song. 注意:不定式动词在介词but,except,besides后面时,如果这些介词之前有行为动词do的各种形式,那么,这些介词后的不定式不带to,否则要带to.如: She could do nothing but cry. What do you like to do besides swim? I have no choice but to go. 动词help之后,带to或不带to都可以。 Will you please help me (to) take this suitcase? 请你帮我提一下这个衣箱好吗?She often helps her mother (to) clean their house. 她经常帮助她妈妈打扫房子。 4)作定语.例如: I have some books for you to read. 注①作定语的不定式如果是不及物动词,或者不定式所修饰的名词或代词是不定式动作的地点、工具等,不定式后面须有相应的介词.例如: He is looking for a room to live in. There is nothing to worry about.

admit用法详解

admit用法详解 一、表示“承认” 1. admit一般为及物动词,直接跟宾语;表示向某人承认用介词to。如: He admitted his mistake. 他承认了他的错误。 He admitted to the teacher that he was wrong. 他向老师承认他错了。 This meant admitting defeat. 这就意味着承认失败了。 但有时也用作不及物动词,此时一般后接介词to。如: He admitted to the murder. 他供认了谋杀罪。 He admitted to having taken the money. 他承认拿了那笔钱。 由于admit 表示“承认”可用作及物动词或不及物动词,所以上面各例中的介词to 有时也可省略。 2. admit后接动词时,要用动名词而不用不定式。如: She admitted having read the letter. 她承认读过这封信。 I admit breaking the window. 我承认打破了窗子。 3. admit可后接带不定式的复合宾语,但其中的不定式通常应是to be。如: They admitted him to be mad. 他们承认他疯了。 You must admit the task to be difficult. 你们得承认任务是艰巨的。 偶尔接其它形式的复合宾语。如: He admitted himself a failure. 他承认失败。 He admitted himself beate n.他承认输了。 4.有时用于插入语中。如: This, I admit, was wrong. 我承认这错了。 二、表示“允许进入”“使能进入” 1. admit通常只用作及物动词。如: This ticket admits one person only. 此券只准一人入场。 There were no windows to admit air. 没有窗子可使空气流入。 可用于引申义,表示允许进入某一组织、机构、学校、团体等。如: They admitted him to [into] their organizatio n.他们接受他参加了他们的组织。 How many students have been admitted into the school this year? 今年这所学校有多少学 生入学? 试比较(注意介词不同): He was admitted to [into] the Party. 他被吸收入党。 He was admitted as a Party member. 他被接纳为党员。 2.往往含有动态意味,所以一般不与enter, go in 之类的词连用。如:

丁兰尺的使用方法

丁兰尺的使用方法 丁兰尺,度量阴宅之尺寸,长一尺二寸八分,一尺约合38.78公分,分十格上面刻有「财、失、兴、死、官、义、苦、旺、害、丁」十字,使用时以吉字为宜。某些地区木匠所使用的,也是建筑吉祥用具。丁兰为汉代孝子,相传少年丧母,及长,刻木像之如生。曹植《灵芝篇》曰:“丁兰少失母,自伤早孤茕,刻木当严亲,朝夕致三牲。”所谓“丁兰尺”,即用于制神龛、刻木像、做神主牌位的特殊用尺,它后来也用于建筑尺度的大量。这种尺在刻度上分“丁”、“害”、“旺”、“苦”、“义”、“官”、“兴”、“失”、“死”、“财”、“两仪”等大格,每大格下又各有数小格,如:“死”下有“失财”、“退子”、“死别”、“离乡”四格,“财”下有“宝库”、“六合”、“进禄”四格。建筑尺度中要避开“死”、“苦”、“失”、“害”数格,而取“丁”、“旺”、“义”、“官”、“兴”、“财”等格,以此讨吉避凶。丁兰尺-分类分天、幽两种尺码,因神明属天界,故製作神像时应参照天界尺使用,其分财、病、离、义、官、劫、本、害几类,各类中并有添丁、进益、顺利、口舌、无嗣、失财、离乡、死别等…吉凶项;至於製做墓碑、神主牌、棺木之尺寸,则又需以幽界尺為依归,幽界尺则分為丁、害、旺、苦、义、官、死、兴、失、财等十单元。丁兰尺-用法 1.在专用卷尺中间有二行红黑相间的字尺,其上大字的就是文公

尺,其下小字的则是丁兰尺。 2.文公尺用於神及活人居家、庙、佛俱尺寸; 3.丁兰尺用於死人坟墓建筑、祠堂家庙、公妈桌上及祖先用祭拜用具。 4.我们安神位会用的神桌左、右空间、神桌、佛联高度、神明炉放置位置、金身放置位置、鉅桌放置位置、二尊神的间格…等,均以所求吉利字通知神明,因此要使用吉利红字,最多人用是财至、益利、大吉。 5.我们安神位用於公妈龕放置位置、公妈炉放置位置、鉅桌放置位置及公妈桌高,最常用1尺公妈龕兴旺、3.7寸公妈炉纳福,5.3吋公妈炉大吉,6.8吋公妈炉放置位置进宝。丁兰尺-使用丁兰尺因使用范围及使用者有限,故所分的十格,目前尚无较合理具体的含意解释,如有此资料者请惠提供汇整。鲁班尺与丁兰尺因来源年代不同,同一尺度间常有吉凶互见情形;又如较大尺寸经多次使用时,则更难分辨两种尺之间的吉凶,使用者大多各依用途,各取吉利尺寸,互不融通与干扰。 近来工商发达,已将两种尺同时纳入一般捲尺中,使用者非常方便可以相互对照,建议使用时儘量取两种尺同為吉利的尺寸,且取吉利范围中较靠近中央的尺寸,避免因长度不同造成的误差。丁兰尺-尺法主要用途,建造坟墓、神位、公妈桌位。总共有十个字,分为丁、害、旺、苦、义、官、死、兴、失,財,每字分四小格,每个字以台尺为准,壹寸贰分。其含义如下:丁:丁字,生子,添丁。

电路分析基础知识归纳

《电路分析基础》知识归纳 一、基本概念 1.电路:若干电气设备或器件按照一定方式组合起来,构成电流的通路。 2.电路功能:一是实现电能的传输、分配和转换;二是实现信号的传递与处理。 3.集总参数电路近似实际电路需满足的条件:实际电路的几何尺寸l(长度)远小于电路 正常工作频率所对应的电磁波的波长λ,即l。 4.电流的方向:正电荷运动的方向。 5.关联参考方向:电流的参考方向与电压降的参考方向一致。 6.支路:由一个电路元件或多个电路元件串联构成电路的一个分支。 7.节点:电路中三条或三条以上支路连接点。 8.回路:电路中由若干支路构成的任一闭合路径。 9.网孔:对于平面电路而言,其内部不包含支路的回路。 10.拓扑约束:电路中所有连接在同一节点的各支路电流之间要受到基尔霍夫电流定律的约 束,任一回路的各支路(元件)电压之间要受到基尔霍夫电压定律约束,这种约束关系 与电路元件的特性无关,只取决于元件的互联方式。 11.理想电压源:是一个二端元件,其端电压为一恒定值U S(直流电压源)或是一定的时间 函数u(t),与流过它的电流(端电流)无关。 S 12.理想电流源是一个二端元件,其输出电流为一恒定值I(直流电流源)或是一定的时间 S 函数i S(t),与端电压无关。 13.激励:以电压或电流形式向电路输入的能量或信号称为激励信号,简称为激励。 14.响应:经过电路传输处理后的输出信号叫做响应信号,简称响应。 15.受控源:在电子电路中,电源的电压或电流不由其自身决定,而是受到同一电路中其它 支路的电压或电流的控制。 16.受控源的四种类型:电压控制电压源、电压控制电流源、电流控制电压源、电流控制电 流源。 17.电位:单位正电荷处在一定位置上所具有的电场能量之值。在电力工程中,通常选大地 为参考点,认为大地的电位为零。电路中某点的电位就是该点对参考点的电压。 18.单口电路:对外只有两个端钮的电路,进出这两个端钮的电流为同一电流。 19.单口电路等效:如果一个单口电路N1和另一个单口电路N2端口的伏安关系完全相同, 则这两个单口电路对端口以外的电路而言是等效的,可进行互换。 20.无源单口电路:如果一个单口电路只含有电阻,或只含受控源或电阻,则为不含独立源 单口电路。就其单口特性而言,无源单口电路可等效为一个电阻。 21.支路电流法:以电路中各支路电流为未知量,根据元件的VAR和KCL、KVL约束关系, 列写独立的KCL方程和独立的KVL方程,解出各支路电流,如果有必要,则进一步计算其他待求量。 22.节点分析法:以节点电压(各独立节点对参考节点的电压降)为变量,对每个独立节点 列写KCL方程,然后根据欧姆定律,将各支路电流用节点电压表示,联立求解方程,求 得各节点电压。解出节点电压后,就可以进一步求得其他待求电压、电流、功率。 23.回路分析法:以回路电流(各网孔电流)为变量,对每个网孔列写KVL方程,然后根据

过去进行时用法详解

环球雅思学科教师辅导讲义讲义编号

A、一般过去时 1)叙述过去状态、动作或事件

He was writi ng a letter the whole of after noon.

1. __________ It ____________________________ (rain) very hard when we (get) there yesterday. 2. I _______ (watch) TV at 7:00 P.M. yesterday. 3. What _______ ( you do ) at that time? 4. _____________ She (have) ____________________ a bath when the phone (ring). 5. ____________________ The students _________________________ (make) noises while the teacher (be) away. 6. __________ I (read) _____________________ in my room when she (come). 7. __________ It ________________________ (grow) dark, so we (turn) back for home. 8. ____________________ As the winds __________________________ (blow) stron ger and stron ger, we (not go) swim ming yesterday after noon. 9. The baby _______ (cry ) all morning today. 10. We ________ (have) a good time when suddenly the lights__________ (go) out. 【巩固训练】 1.1 fell and hurt myself while I ____ tennis. A.was playi ng B.am playi ng C.play D.played 答案:A。 2. One of the guards ____ w he n the gen eral came in, which made him very an gry. A.has slept B.were sleep ing C.slept D.was sleepi ng 3. Tom was so careless that he __ his right arm when he was riding to school. A. hurts B. hurt C. has hurt D. had hurt 4. Hurry up! The train ____ . A. started B. has started C. is start ing D. had started 答案是C。该句是说:快点!火车快开了!该句所用动词start是移位动词,一般用它的进行时表示将来。 5. Move the pia no to the sitti ng room, or it __ a lot of room in his study. A. will take up B. took up C. takes up D. tak ing up 分析:答案是A。该句是说:把钢琴移到客厅去,否则它将占据书房很多的空间。在祈使句+ or/and +陈述句”这 样的句型中,一般用将来时。 6. Hello! I __ you ___ in Wash ington. How long have you bee n there?

每天在用的家具,有用鲁班尺量过吗

每天在用的家具,有用鲁班尺量过吗? “ 八位星辰世罕闻,古今排定合乾坤,阴阳未必全山水,祸福由来半在门。”——《鲁班尺诗》 天安门以鲁班尺为准鲁班尺介绍 鲁班尺,相传为我国春秋时期鲁班发明,全称“鲁班营造尺”,又称“门光尺”。人们认为按鲁班尺吉利尺寸确定的门户,将会光耀门庭,给家庭带来吉祥好运,所以又将鲁班尺称为“门光尺”。由于其特殊功能,在中式家居设计中的运用尤其广泛。鲁班尺图片展示古代木质鲁班尺清代铜制鲁班尺现代卷尺 鲁班尺 鲁班尺承载了中国优秀传统文化的深厚内涵,让我们一起以由古至今的顺序来认识下鲁班尺吧。古关于鲁班尺,古代文献资料多有记载 古籍所载鲁班尺、曲尺式样天一阁所藏,明代《鲁般营造正式》残本(作者自序为最早的《鲁班经》)记:“鲁般尺乃有曲尺一尺四寸四分。分八字,即:财、病、离、义、官、劫、害、吉”。明朝,御匠司司正午荣撰写的《鲁班经》记载:“ 鲁班尺乃有曲尺一尺四寸四分,其尺间有八寸,一寸准曲尺一寸八分,内有:财、病、离、义、官、劫、害、吉也。凡人造门,用以尺法也。” 明刻本《周书秘奥营造宅经,鲁班尺法》记载:“其尺也,以官尺一尺二寸为准,均分八寸,其文

曰财、曰病、曰离、曰义、曰官、曰劫、曰害、曰吉,乃北斗中七星与辅星主之。” 台湾的《鲁班经》,鲁班公著,“鲁 般真尺:鲁般尺乃有曲尺一尺四寸四分,内有:财、病、离、义、官、劫、害、吉也。同时尺上还有土、木、水、火、金五字相合五行。还有木星、土星、水星、火星、金星,五星相合星象等学说理论”。堪舆学著作《阳宅十书》称:“海内 相传门尺数种,屡经验试,惟此尺(鲁班尺)为真。长短协度,吉凶无差。盖昔公输子班造,极木作之圣研,穷造化之微,故创是尺,后人名为鲁班尺。非止量门可用,一切床房器物,俱当用此。”附义 通过鲁班尺的测量,提前把握不同尺寸蕴含的吉与凶的暗示,趋吉避凶。 再来认识下发明人:鲁班匠人祖师鲁班,为春秋鲁国人氏,名讳般(俗写班),姓公输,故其名为:公输子鲁班。鲁班 大约生于周敬王十三年(公元前507年),卒于周贞定王二 十五年(公元前444年)。鲁班出身于世代工匠家庭,从小 跟随家里人参加许多土木建筑工程劳动,为后来的发明创造奠定了基础。两千多年以来,他的名字和他的故事,广为流传。时至今日,我国的土木工匠们都尊称他为祖师,尊称他为木工匠师的开山鼻祖,而鲁班尺即是他的伟大发明之一,已然成为是中国文化的象征和名片之一。鲁班的名字实际上已经成为古代劳动人民勤劳智慧的象征。

关于admit的短语

关于admit的短语 admit表示许可进入; 承认的意思,那么你知道admit的短语有哪些吗?接下来为大家整理了admit的短语搭配,希望对你有帮助哦! admit的短语: admit to(v.+prep.) 1.承认recognize sth as true Do you admit to taking these books without telling anybody?你承认没有告诉任何人就拿走这些书吗? 2.允许(某人)进入… allow sb into He opened the door and admitted me to the house.他把门打开让我进屋。 3.通向direct to (a place) The gate admits to the yard.这门通向院子。 admit into(v.+prep.) 允许(某人)进入… allow sb into We admitted him into the society.我们吸收他参加此协会。 admit of(v.+prep.) 容许,有…的可能allow sb/sth or have the possibility of sth Your fault does not admit of any excuse.你的过失不容辩白。

同义词辨析: accept, receive, admit, take 这些动词均有"接受,接纳"之意。 accept :强调主动地或自愿地接受,或者说,经过考虑后同意接受。 receive :着重仅仅接到或收到这一支轮船或事实,而不含采取主动或积极行动的意思。 admit :作"接受"讲时,强调准许或批准。 take :与receive同意,是receive的日常用法,侧重不带主观意愿地收下或接受。 acknowledge, admit, confess, recognize, concede 这些动词均含"承认"之意。 acknowledge :通常指公开承认某事的真实情况或自己的过错。 admit :强调因外力或良心驱使或经判断而明确承认,多含不情愿或被迫意味。 confess :语气较强,着重承认自己意识到的错误或罪行,含坦白忏悔的意味。 recognize :作"承认"解时,系书面用词,主要指合法的或外交上的承认,也指公认。 concede :指在事实与证据面前勉强或不得不承认。 admit的短语例句:

常见基本经典电路详解1——电源部分

常见基本经典电路详解 一、电源电路单元 一张电路图通常有几十乃至几百个元器件,它们的连线纵横交叉,形式变化多端,初学者往往不知道该从什么地方开始,怎样才能读懂它。其实电子电路本身有很强的规律性,不管多复杂的电路,经过分析可以发现,它是由少数几个单元电路组成的。好象孩子们玩的积木,虽然只有十来种或二三十种块块,可是在孩子们手中却可以搭成几十乃至几百种平面图形或立体模型。同样道理,再复杂的电路,经过分析就可发现,它也是由少数几个单元电路组成的。因此初学者只要先熟悉常用的基本单元电路,再学会分析和分解电路的本领,看懂一般的电路图应该是不难的。 按单元电路的功能可以把它们分成若干类,每一类又有好多种,全部单元电路大概总有几百种。下面我们选最常用的基本单元电路来介绍。让我们从电源电路开始。 1、电源电路的功能和组成 每个电子设备都有一个供给能量的电源电路。电源电路有整流电源、逆变电源和变频器三种。常见的家用电器中多数要用到直流电源。直流电源的最简单的供电方法是用电池。但电池有成本高、体积大、需要不时更换(蓄电池则要经常充电)的缺点,因此最经济可靠而又方便的是使用整流电源。 电子电路中的电源一般是低压直流电,所以要想从220V市电变换成直流电,应该先把 220V交流变成低压交流电,再用整流电路变成脉动的直流电,最后用滤波电路滤除脉动直流电中的交流成分后才能得到直流电。有的电子设备对电源的质量要求很高,所以有时还需要再增加一个稳压电路。因此整流电源的组成一般有四大部分,见图1,其中变压电路其实就是一个铁芯变压器,需要介绍的只是后面三种单元电路。 图1整流电源电路

2、整流电路 整流电路是利用半导体二极管的单向导电性能把交流电变成单向脉动直流电的电路。 (1)半波整流 半波整流电路只需一个二极管,见图2(a)。在交流电正半周时D导通,负半周时D截止,负载 RL 上得到的是脉动的直流电。 图2(a)半波整流电路的电路及电压波形 (2)全波整流 全波整流电路,可以看作是由两个半波整流电路组合成的。变压器次级线圈中间需要引出一个抽头,把次组线圈分成两个对称的绕组,从而引出大小相等但极性相反的两个电压e2a 、e2b ,构成e2a 、D1、Rfz与e2b 、D2 、Rfz ,两个通电回路。 图2(b)全波整流电路的电路及电压波形 全波整流电路的工作原理,可用图2所示的波形图说明。在0~π间内,E2a 对Dl为正向电压,D1 导通,在Rfz 上得到上正下负的电压;E2b 对D2 为反向电压, D2 不导通。在π-2π时间内,E2b 对D2 为正向电压,D2 导通,在Rfz 上得到的仍然是上正下负的电压;E2a 对D1 为反向电压,D1 不导通。

相关文档
最新文档