ORACLE数据库备份还原常用语句
ORACLE数据泵还原(IMPDP命令)
ORACLE数据泵还原(IMPDP命令)Oracle数据库还原IMPDP命令是相对于EXPDP命令的,⽅向是反向的。
即对于数据库备份进⾏还原操作。
⼀、知晓IMPDP命令C:\>impdp -helpImport: Release 11.1.0.7.0 - Production on 星期六, 28 9⽉, 2013 15:37:03Copyright (c) 2003, 2007, Oracle. All rights reserved.数据泵导⼊实⽤程序提供了⼀种⽤于在 Oracle 数据库之间传输数据对象的机制。
该实⽤程序可以使⽤以下命令进⾏调⽤:⽰例: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp您可以控制导⼊的运⾏⽅式。
具体⽅法是: 在 'impdp' 命令后输⼊各种参数。
要指定各参数, 请使⽤关键字:格式: impdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)⽰例: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmpUSERID 必须是命令⾏中的第⼀个参数。
关键字说明 (默认)------------------------------------------------------------------------------ATTACH 连接到现有作业, 例如 ATTACH [=作业名]。
CONTENT 指定要加载的数据, 其中有效关键字为:(ALL),DATA_ONLY和METADATA_ONLY。
DATA_OPTIONS 数据层标记,其中唯⼀有效的值为:SKIP_CONSTRAINT_ERRORS-约束条件错误不严重。
DIRECTORY 供转储⽂件,⽇志⽂件和sql⽂件使⽤的⽬录对象。
oracle数据库全库备份语句
oracle数据库全库备份语句Oracle数据库是一种关系型数据库管理系统,提供了全库备份的功能,可以用来备份整个数据库。
下面列举了10个不同的Oracle数据库全库备份语句。
1. 使用RMAN备份全库:使用RMAN工具备份整个Oracle数据库,可以使用以下命令:```RMAN> backup database;```2. 使用expdp备份全库:使用expdp工具备份整个Oracle数据库,可以使用以下命令:```expdp system/password@database_name full=Y directory=backup_dir dumpfile=full_backup.dmp logfile=full_backup.log;```3. 使用exp备份全库:使用exp工具备份整个Oracle数据库,可以使用以下命令:```exp system/password@database_name full=y file=full_backup.dmp log=full_backup.log;4. 使用Data Pump备份全库:使用Data Pump工具备份整个Oracle数据库,可以使用以下命令:```expdp system/password@database_name full=Y directory=backup_dir dumpfile=full_backup.dmp logfile=full_backup.log;```5. 使用RMAN增量备份全库:使用RMAN工具进行增量备份,可以使用以下命令:```RMAN> backup incremental level 1 cumulative database;```6. 使用expdp表空间备份:使用expdp工具备份指定表空间的数据,可以使用以下命令:```expdp system/password@database_name tablespaces=tablespace_name directory=backup_dir dumpfile=tablespace_backup.dmplogfile=tablespace_backup.log;7. 使用exp表空间备份:使用exp工具备份指定表空间的数据,可以使用以下命令:```exp system/password@database_name tablespaces=tablespace_name file=tablespace_backup.dmp log=tablespace_backup.log;```8. 使用RMAN备份控制文件和参数文件:使用RMAN工具备份控制文件和参数文件,可以使用以下命令:```RMAN> backup current controlfile;```9. 使用expdp备份指定用户的数据:使用expdp工具备份指定用户的数据,可以使用以下命令:```expdp system/password@database_name schemas=user_name directory=backup_dir dumpfile=user_backup.dmp logfile=user_backup.log;```10. 使用exp备份指定用户的数据:使用exp工具备份指定用户的数据,可以使用以下命令:```exp system/password@database_name owner=user_name file=user_backup.dmp log=user_backup.log;```以上是10个不同的Oracle数据库全库备份语句,可以根据实际需求选择合适的备份方式进行数据库备份。
ORACLE RAC数据库RMAN 备份与恢复
rac数据库RMAN 备份与恢复一、数据库备份在主库上通过rman 每天对数据库进行备份,并且保留两份备份在主库删除归档和进行rman 备份的脚本:[oracle@rac1 arch]$ pwd/opt/app/arch[oracle@rac1 arch]$ more del_arch.shexport ORACLE_SID=orcl1export ORACLE_BASE=/opt/app/oracleexport ORACLE_TERM=xtermexport ORACLE_HOME=/opt/app/oracle/product/10.2.0/db_1source /opt/app/arch/orcl1/del_arch.listsource /opt/app/arch/orcl2/del_arch.list/opt/app/oracle/product/10.2.0/db_1/bin/rman target / log='/opt/app/arch/rman.log' <<EOFdelete obsolete recovery window of 3 days;crosscheck archivelog all;delete noprompt obsolete;delete noprompt expired archivelog all;crosscheck backup;delete noprompt expired backup;backup format='/opt/app/arch/rman/orcl_full_%U_%T' tag='orcl_full' database;backup current controlfile tag='orcl_ctlfile'format='/opt/app/arch/rman/orcl_ctlfile_%U_%T';backup spfile tag='orcl_spfile'format='/opt/app/arch/rman/orcl_spfile_%U_%T';exitEOF执行时间:[oracle@rac1 arch]$ crontab -l30 02 * * 0 /opt/app/arch/del_arch.sh30 02 * * 1 /opt/app/arch/del_arch.sh30 02 * * 2 /opt/app/arch/del_arch.sh30 02 * * 3 /opt/app/arch/del_arch.sh30 02 * * 4 /opt/app/arch/del_arch.sh30 02 * * 5 /opt/app/arch/del_arch.sh30 02 * * 6 /opt/app/arch/del_arch.sh每天的备份文件放在/opt/app/arch/rman/目录下二、数据库恢复如果数据库出现故障,可以从备份文件中恢复数据库,最早可以恢复到两天前的备份时间点RAC 下的RMAN 讲究的是备份和还原的策略要一致。
oracle数据库全库备份语句
oracle数据库全库备份语句Oracle数据库是一种关系型数据库管理系统,它可以用于存储和管理大量的结构化数据。
在进行数据库管理时,备份是非常重要的一项工作,它可以保护数据库免受数据丢失和系统故障的影响。
下面列举了十个Oracle数据库全库备份的语句,以供参考。
1. 使用RMAN进行全库备份:RMAN是Oracle提供的备份和恢复工具,可以通过以下命令进行全库备份:```RMAN> BACKUP DATABASE;```2. 使用EXPDP进行全库逻辑备份:EXPDP是Oracle提供的逻辑备份工具,可以通过以下命令进行全库备份:```expdp system/password@database_name directory=backup_directory dumpfile=full_backup.dmp full=y; ```3. 使用IMPDP进行全库逻辑恢复:IMPDP是Oracle提供的逻辑恢复工具,可以通过以下命令进行全库恢复:```impdp system/password@database_name directory=backup_directory dumpfile=full_backup.dmp full=y; ```4. 使用ALTER DATABASE进行全库备份:ALTER DATABASE命令可以备份整个数据库,可以通过以下命令进行全库备份:```SQL> ALTER DATABASE BACKUP CONTROLFILE TO '/path/to/backup/controlfile.bkp';```5. 使用Data Pump进行全库备份:Data Pump是Oracle提供的数据导入导出工具,可以通过以下命令进行全库备份:```SQL> EXPDP system/password@database_nameDIRECTORY=data_pump_dir DUMPFILE=full_backup.dmp FULL=YES;```6. 使用RMAN进行全库增量备份:RMAN可以进行增量备份,只备份发生变化的数据,可以通过以下命令进行全库增量备份:```RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;```7. 使用EXP进行全库逻辑备份:EXP是Oracle提供的逻辑备份工具,可以通过以下命令进行全库备份:```exp system/password@database_name file=full_backup.dmp full=y;```8. 使用ALTER TABLESPACE进行表空间备份:可以通过ALTER TABLESPACE命令备份指定的表空间,可以通过以下命令进行表空间备份:```SQL> ALTER TABLESPACE tablespace_name BEGIN BACKUP;```9. 使用RMAN进行全库镜像备份:RMAN可以进行镜像备份,备份数据库的所有镜像拷贝,可以通过以下命令进行全库镜像备份:```RMAN> BACKUP AS COPY DATABASE;```10. 使用EXPDP进行全库逻辑备份,并压缩备份文件:可以通过以下命令进行全库逻辑备份,并对备份文件进行压缩:```expdp system/password@database_name directory=backup_directory dumpfile=full_backup.dmp full=y compression=all;```以上是十个Oracle数据库全库备份的语句,可以根据实际需求选择其中一种或多种备份方式进行数据库的备份工作。
orcle数据库备份语句
orcle数据库备份语句Oracle数据库备份是一项非常重要的任务,可以保障数据的安全性和完整性。
在进行数据库备份时,我们可以使用不同的语句和方法来完成备份操作。
以下是一些常用的Oracle数据库备份语句:1. 使用RMAN备份整个数据库:RMAN是Oracle推荐的备份工具,可以使用以下语句备份整个数据库:```RMAN> BACKUP DATABASE;```2. 使用RMAN备份指定表空间:如果只需要备份数据库中的特定表空间,可以使用以下语句:```RMAN> BACKUP TABLESPACE tablespace_name;```3. 使用RMAN备份指定数据文件:如果只需要备份数据库中的特定数据文件,可以使用以下语句:```RMAN> BACKUP DATAFILE 'datafile_path';4. 使用RMAN备份指定控制文件:控制文件是数据库的关键组成部分,可以使用以下语句备份控制文件:```RMAN> BACKUP CURRENT CONTROLFILE;```5. 使用RMAN备份归档日志:归档日志包含了数据库的所有更改记录,可以使用以下语句备份归档日志:```RMAN> BACKUP ARCHIVELOG ALL;```6. 使用EXPDP备份数据库:EXPDP是Oracle提供的数据泵工具,可以使用以下语句备份整个数据库:```expdp username/password directory=directory_name dumpfile=dumpfile_name.dmp full=yes;7. 使用EXPDP备份指定表:如果只需要备份数据库中的特定表,可以使用以下语句:```expdp username/password directory=directory_name dumpfile=dumpfile_name.dmp tables=table_name;```8. 使用EXPDP备份指定表空间:如果只需要备份数据库中的特定表空间,可以使用以下语句:```expdp username/password directory=directory_name dumpfile=dumpfile_name.dmp tablespaces=tablespace_name;```9. 使用EXPDP备份指定用户:如果只需要备份数据库中的特定用户,可以使用以下语句:```expdp username/password directory=directory_name dumpfile=dumpfile_name.dmp schemas=user_name;```10. 使用EXPDP备份指定数据文件:如果只需要备份数据库中的特定数据文件,可以使用以下语句:```expdp username/password directory=directory_name dumpfile=dumpfile_name.dmp filesperset=1 include=datafile:'datafile_path';```总结:以上是一些常用的Oracle数据库备份语句,通过使用不同的备份语句可以实现对整个数据库、指定表空间、指定数据文件、归档日志等的备份。
orcl数据库还原语句
orcl数据库还原语句ORCL数据库是甲骨文公司开发的一种关系型数据库管理系统,被广泛应用于企业级应用程序中。
在日常运维中,数据库还原是一项非常重要的任务,它可以帮助我们恢复数据库到之前的某个时间点,以防止数据丢失或者错误操作导致的数据损坏。
本文将介绍ORCL数据库还原的相关语句和步骤。
首先,我们需要了解ORCL数据库还原的两种常见方式:物理还原和逻辑还原。
物理还原是通过备份文件来恢复数据库,而逻辑还原则是通过SQL语句来还原数据库。
对于物理还原,我们可以使用以下语句来还原数据库:1. 关闭数据库:SHUTDOWN IMMEDIATE;2. 将数据库设置为归档模式:ALTER DATABASE ARCHIVELOG;3. 还原控制文件:STARTUP MOUNT;RESTORE CONTROLFILE FROM '备份文件路径';ALTER DATABASE OPEN RESETLOGS;4. 还原数据文件和日志文件:RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;CANCEL;5. 打开数据库:ALTER DATABASE OPEN;对于逻辑还原,我们可以使用以下语句来还原数据库:1. 关闭数据库:SHUTDOWN IMMEDIATE;2. 还原数据库:STARTUP MOUNT;RESTORE DATABASE FROM '备份文件路径';RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;CANCEL;3. 打开数据库:ALTER DATABASE OPEN;无论是物理还原还是逻辑还原,我们都需要先关闭数据库,然后根据备份文件的路径来还原数据库。
在还原过程中,我们需要注意以下几点:1. 备份文件的选择:选择最新的备份文件来还原数据库,以确保数据的完整性和准确性。
orcal数据备份语句
orcal数据备份语句Oracle数据库备份语句是数据库管理员经常使用的重要工具,它可以保护数据库的数据安全,防止数据丢失或损坏。
以下是一些常用的Oracle数据库备份语句:1. 全备份语句:RMAN> BACKUP DATABASE;这个语句将对整个数据库进行备份,包括数据文件、控制文件和日志文件。
2. 表空间备份语句:RMAN> BACKUP TABLESPACE example;这个语句将备份指定的表空间,可以用于恢复该表空间的数据。
3. 数据文件备份语句:RMAN> BACKUP DATAFILE 1 FORMAT '/backup/datafile1.bak';这个语句将备份指定的数据文件,可以用于恢复该数据文件的数据。
4. 控制文件备份语句:RMAN> BACKUP CURRENT CONTROLFILE FORMAT '/backup/controlfile.bak';这个语句将备份当前的控制文件,以便在需要时进行恢复。
5. 归档日志备份语句:RMAN> BACKUP ARCHIVELOG ALL FORMAT '/backup/archivelog.bak';这个语句将备份所有归档日志文件,用于保留数据库变更的历史记录。
6. 增量备份语句:RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;这个语句将备份已更改的数据块,可以用于快速备份大型数据库。
7. 压缩备份语句:RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;这个语句将备份数据库并使用压缩备份集来减小备份文件的大小。
8. 备份到远程服务器语句:RMAN> BACKUP DATABASE FORMAT '/backup/%d_%T_%U' TAG 'PROD_BACKUP'2> REMOTE 'ssh user@remotehost "/backup"' SECTION SIZE 10M;这个语句将备份数据库并将备份文件传输到远程服务器上的指定路径。
oracle备份,还原常用命令
oracle备份,还原常⽤命令cmd 命令窗⼝下1.备份数据库exp ⽤户名/密码@数据库连接名 owner=⽤户名 file="盘符:\⽂件名.dmp" log="盘符:\⽇志⽂件名.log",⽇志可选.2.还原数据库imp ⽤户名/密码@数据库连接名 file="盘符:\⽂件名.dmp"" log="盘符:\⽇志⽂件名.log" fromuser=other touser=⽤户名。
3.创建表空间及修改⼤⼩CREATE TABLESPACE dcitDATAFILE 'C:\oracle\product\10.2.0\oradata\orcl\dcit.dbf' SIZE 500MUNIFORM SIZE 128k;alter database datafile 'C:\oracle\product\10.2.0\oradata\orcl\dcit.dbf' autoextend on next 10M maxsize 1G;以下为转帖,转⾃:数据库imp/exp命令使⽤⽅法是本⽂我们主要要介绍的内容,接下来我们就通过例⼦来介绍这些内容。
举例导出数据库服务abc,⽤户user,密码psd下的table1,table2,table3表到d:\data⽬录下,导出⽂件名为test.dmp,语句为:exp file=d:\data\test.dmp tables=(table1,table2,table3) .将上述⽂件恢复的语句为:exp full=y file=d:\data\test.dmp.注意:如果将备份⽂件中的所有表恢复,需要加上full=y.如果只须只需要恢复table1,则语句为:exp file=d:\data\test.dmp tables=table1.即必须指明倒⼊那些信息,要么全部要么部分表。
Oracle数据库备份与恢复的三种方法
Oracle数据库备份与恢复的三种⽅法备份与恢复的三种⽅法Oracle数据库有三种标准的备份⽅法,它们分别是导出/导⼊(EXP/IMP)、热备份和冷备份。
导出备件是⼀种逻辑备份,冷备份和热备份是物理备份。
⼀、导出/导⼊(Export/Import) 利⽤Export可将数据从数据库中提取出来,利⽤Import则可将提取出来的数据送回到Oracle数据库中去。
1、简单导出数据(Export)和导⼊数据(Import) Oracle⽀持三种⽅式类型的输出: (1)、表⽅式(T⽅式),将指定表的数据导出。
(2)、⽤户⽅式(U⽅式),将指定⽤户的所有对象及数据导出。
(3)、全库⽅式(Full⽅式),瘵数据库中的所有对象导出。
数据导⼊(Import)的过程是数据导出(Export)的逆过程,分别将数据⽂件导⼊数据库和将数据库数据导出到数据⽂件。
2、增量导出/导⼊ 增量导出是⼀种常⽤的数据备份⽅法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。
在进⾏此种导出时,不要求回答任何问题。
导出⽂件名缺省为export.dmp,如果不希望⾃⼰的输出⽂件定名为export.dmp,必须在命令⾏中指出要⽤的⽂件名。
增量导出包括三种类型: (1)、“完全”增量导出(Complete) 即备份三个数据库,⽐如:exp system/manager inctype=complete file=040731.dmp (2)、“增量型”增量导出 备份上⼀次备份后改变的数据,⽐如:exp system/manager inctype=incremental file=040731.dmp (3)、“累积型”增量导出 累计型导出⽅式是导出⾃上次“完全”导出之后数据库中变化了的信息。
⽐如:exp system/manager inctype=cumulative file=040731.dmp 数据库管理员可以排定⼀个备份⽇程表,⽤数据导出的三个不同⽅式合理⾼效的完成。
Oracle备份常用命令
Oracle备份常用命令Oracle也是常用的数据库之一,备份起来的话有时候是否感到棘手?保存好以下信息,相信能助你一臂之力。
一.常用的备份命令1.list backup;列出数据库中所有的备份信息。
2.list backup of controlfile;列出所有备份的控制文件。
3.list backup of datafile ' 或者 list backup of datafile 对应数据文件的ID号。
数据文件全路径.dbf';列出指定的备份的数据文件。
4.list backup of archivelog all;列出所有备份的归档文件。
5.list copy of tablespace '表空间名';列出指定表空间的备份信息。
6.list expired backup;列出无效备份。
7.delete obsolete;删除过期备份。
8.delete expired backup;删除无效备份。
9.delete expired copy;删除expired副本。
10.delete backupset 备份集编号;删除指定备份集。
11.delete backup;删除所有备份集。
12.delete copy;删除所有映像副本。
13.report need backup;查看所需要的备份文件14.report need backup tablespace 表空间名;查看指定表空间是否需要备份。
15.crosscheck archivelog all;检查归档文件是否有效16.crosscheck backup;检查所有备份集。
RMAN相关的list backup of database(查看数据库的全库备份,全部细节都包括)list backup of tablespace users (查看users表空间的备份) list backup of datafile 5;(5是表空间对应的文件id)list backup of controlfile(看出控制文信息的备份)list backup of datafile'+DATADG/cboms/datafile/users.264.735423243';(根据具体的数据文件的具体位置,查看备份)list expired backup;(无效的备份)list expired archivelog all;(查看无效的archive log 日志) list backup of database summary(这个是对概况性的,对数据库有个直观,全面的了解)list backup of database summarylist backup of archivelog all summarylist backup of tablespace users summarylist backup of datafile 5 summarycrosscheck archivelog all;验证DB的归档日志时候缺失crosscheck backup;验证数据库备份集的是否缺失delete expired archivelog all;命令删除所有过期的归档日志RMAN> crosscheck backup;using channel ORA_DISK_1crosschecked backup piece: found to be 'AVAILABLE'backup piecehandle=/u01/flash_recovery_area/DBTEST/backupset/2012_04_21 /o1_mf_nnndf_TAG20120421T153359_7s4rq7v6_.bkp recid=22 stamp=781198439crosschecked backup piece: found to be'AVAILABLE'backup piecehandle=/u01/flash_recovery_area/DBTEST/backupset/2012_04_21 /o1_mf_ncnnf_TAG20120421T153359_7s4rsm9k_.bkp recid=23 stamp=781198515Crosschecked 2 objectsRMAN>17.修改备份状态用CHANGE,如修改表空间RMAN> backup tablespace users format'/backup/rmanbackup/userscp';Starting backup at 21-APR-12using channel ORA_DISK_1channel ORA_DISK_1: starting full datafile backupsetchannel ORA_DISK_1: specifying datafile(s) in backupset input datafile fno=00004name=/u01/oradata/dbtest/users01.dbfchannel ORA_DISK_1: starting piece 1 at 21-APR-12channel ORA_DISK_1: finished piece 1 at 21-APR-12piece handle=/backup/rmanbackup/userscptag=TAG20120421T155115 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:01Finished backup at 21-APR-12RMAN> list backup of tablespace users;List of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ---------------------------24 Full 2.02M DISK 00:00:00 21-APR-12BP Key: 28 Status:AVAILABLE Compressed: NO Tag:TAG20120421T155115Piece Name: /backup/rmanbackup/userscpList of Datafiles in backup set 24File LV Type Ckp SCN Ckp Time Name---- -- ---- ---------- --------- ----4 Full 1388204 21-APR-12 /u01/oradata/dbtest/users01.dbfRMAN> change backup of tablespace users unavailable;changed backup piece unavailablebackup piece handle=/backup/rmanbackup/userscp recid=28 stamp=781199475Changed 1 objects to UNAVAILABLE statusRMAN> list backup of tablespace users;List of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ---------------------------24 Full 2.02M DISK 00:00:00 21-APR-12BP Key: 28 Status:UNAVAILABLE Compressed: NO Tag:TAG20120421T155115Piece Name: /backup/rmanbackup/userscpList of Datafiles in backup set 24File LV Type Ckp SCN Ckp Time Name---- -- ---- ---------- --------- ----4 Full 1388204 21-APR-12 /u01/oradata/dbtest/users01.dbfRMAN>如果没有指定表空间位置,来改变状态,不会成功。
Avamar备份和恢复oracle数据库操作手册
Avamar备份和恢复Oracle数据库操作手册1.1 Oracle数据库备份首先要进入Sqlplus用archive log list—查看是否开启了归档模式;Oracle做热备份必须是归档模式,同时需要进入mount或open状态。
因此当发现不是归档模式时,需要采用以下步骤先把Oracle修改为归档模式才能正常备份。
1.首先关闭数据库:2.然后重新连接进sqlplus,再把Oracle启动到mount状态,然后修改成归档日志模式,修改完成后打开数据库到open状态(用alter database open 命令):1.2 Oracle数据库恢复注意:在Oracle恢复之前有几项准备工作要做:首先,在执行恢复之前,先关闭Oracle(SQL>shutdown immediate;);然后,删除联机日志和归档日志(或者转移到另外的目录)。
在测试时为了验证Oracle可恢复,在备份完成后删除了一些表,那么恢复前需要删除现有的联机日志和归档日志。
如果不删除日志,由于在恢复时,只会恢复控制文件和数据库,不会恢复日志文件,因此为了避免恢复后控制文件再去读取现有的日志文件(导致再次做删除操作),所以需要删除联机日志和归档日志(防止删除时正好联机日志做了日志切换)。
具体操作:把D盘oracle\product\10.2.0\oradata\test目录下的REDO01.LOG、REDO02.LOG的、REDO03.LOG 三个联机日志删除,然后再把D盘oracle\product\10.2.0下的相关归档日志删除。
再把Oracle启动到nomount状态,可运行如下命令:C:\Document and Setting\Administrator>sqlplus / as sysdba或C:\Document and Setting\Administrator>sqlplus /nologSQL>conn as sysdba;SQL>Startup nomount;完成以上步骤之后,就可以在Avamar上执行恢复:1.登陆Avamar Administrator管理界面,选择“backup and restore”;2.进入“Backup and Restore”界面;1)选择客户机;2)选择Windows Oracle Rman。
在Oracle中用RMAN进行备份与恢复
S QL命令 在 需 要操 作 的数 据 库 上进 行 备份 (ak p 、 原 (e oe 、 bcu )还 r tr) s
以及 恢 复 ( cvr操 作 。 r o e) e
1Ra . MAN 的新 特 性
R MAN 提供 了许 多传 统 备 份 技 术 所 不 具 备 的特 性 , 些 特 性 这 包括 : 自动 备份 、 缩 备 份 、 试 性 恢 复 、 量 备 份 、 级 恢 复 数 压 尝 增 块
不足 是 : 不能 出错 , 则 后 果 严 重 ; 热 备份 不成 功 , 否 若 所得 结 果不 可
中图分类号 : P 0 . T 3 93
文献标 识码 : A
文章编号 :6 1 7 0 (0 60 — 0 7 0 17 — 2 12 0 )8 0 2 — 3
一
、
Orce备 份 与恢 复概 述 al
冷 备份 发 生 在 数 据 库 已经 正 常 关 闭 的情 况 下 , 当正 常 关 闭 时 数 据 库 会提 供 给 我们 一 个 完 整 的 数 据 库 , 时 所 有 的数 据 库 文件 此 处 于完 全 一 致 的 状 态 , 以 , 备份 又称 一 致 性 备 份 。冷 备 份 是将 所 冷
一
个 将 用 户命 令 解 释 为 P / QL的命 令 解 释 器 , 释后 , 些 P / LS 解 这 L
Orc al 入 / 出 实 用 工 具 (x /mp 主 要 是 用 来 对 数 据 库 e导 导 EpI ) 进 行 逻 辑 备 份 ,首 先 利 用 E p工 具 导 出数 据 库 的 转 储 二 进 制 文 x 件 ,然 后 利 用 I mp工 具 从 转 储 文 件 中 读 取 对 象 定 义 及 表 数 据 , 并 在 另 一 个 Or l 据 库 中 重 建 这 些 对 象 ,从 而 实 现 数 据 的迁 移 , a e数 c 达 到 备份 和 恢 复 的 目的 。 其 优 点 是 能 够 针 对 对 象 进 行 备 份 , 够 能 跨 平 台 实施 备份 操作 并 迁 移 数 据 , 缺 点 是 导 出 方 式 并 不 能保 护 其 介 质失 效 , 它仅 仅 是 逻 辑 上 的备 份 , 备份 时 数 据 库 必 须 是 打 开 的 。
OracleRMAN的备份与恢复命令详解
还原检查与恢复测试
与备份检查一样,还原操作也可以检查是否能正常 restore 或者是否该备份集是否有效。如::
可以使用 CHECK LOGICAL 选项测试通过了物理损坏检查的数据和索引块,查看它们是否存在逻辑损坏,如行片或索引条目损坏。如果检测到任何块存在逻辑损坏,则 将该块记录到服务器进程的警报日志和跟踪文件中。
可以使用 MAXCORRUPT 参数设置逻辑和物理损坏的阈值。只要在某个文件中检测到的逻辑和物理损坏总和低于该值,则 RMAN 命令完成,同时 Oracle 将损坏块的 范围植入到 V$COPY_CORRUPTION 视图。如果超出 MAXCORRUPT,则该命令终 止,并且不植入视图。 当并行度比较高时,占用的计算机资源较多,但备份操作完成 速度较快。缺省情况下将启用对物理损坏的错误检查。有关在备份过程中遇到的损坏数据文件块的信息将记录在控制文件和警报日志中。
运行 BACKUP ARCHIVELOG ALL 命令。注意如果备份优化被启用,RMAN只会备份未备份过的日志
备份 BACKUP命令中定义的文件
运行 ALTER SYSTEM ARCHIVE LOG CURRENT 命令
备份所有的剩下的归档日志
备份完后删除归档日志RMAN> backup …… ARCHIVELOG all delete all input;修改备份集的保存策略例如:将备份设置为永久有效RMAN> backup database keep forever logs|nologs;设置为有效期 180 天RMAN> backup database keep until time='sysdate+180';重写configure exclude / noexclude通过 configure exclude 可以配置 RMAN 不备份上次备份以来没有发生变化的数据文件。如果要确保 RMAN备份这些数据文件,可以在 backup命令中添加 noexclude 选项。 例如:RMAN> backup database noexclude;
oracle查找备份数据语句
一、Oracle备份数据的重要性备份数据是数据库管理中的一项重要工作,它能够保证数据的安全和可靠性。
在Oracle数据库中,备份数据的操作一直备受重视,可以保证数据不会因意外丢失而导致业务中断或数据无法恢复。
掌握Oracle查找备份数据的语句是数据库管理人员必备的技能之一。
二、Oracle数据库备份方法Oracle数据库备份数据的方法有很多种,例如逻辑备份和物理备份。
逻辑备份是指使用expdp命令将数据库中的数据导出成为一个库文件,而物理备份则是直接备份数据库的数据文件和日志文件。
在备份数据后,如果需要查找备份数据,就可以根据具体情况选择合适的查找备份数据的语句来进行操作。
三、Oracle查找备份数据的语句1. 使用RMAN进行备份数据RMAN是Oracle提供的备份恢复管理工具,通过RMAN可以方便地进行数据库备份和恢复操作。
要查找备份数据,可以使用以下语句:```sqlLIST BACKUP;```这条语句可以列出当前数据库中的所有备份数据,包括完整备份、增量备份和归档备份等。
2. 使用SQL语句进行备份数据除了RMAN之外,还可以使用SQL语句来查找备份数据。
在Oracle 数据库中,备份数据的元数据信息存储在数据库的数据字典中,可以通过以下语句来查找备份数据:```sqlSELECT * FROM V$BACKUP_SET;```这条语句可以查询当前数据库中的备份集信息,包括备份的类型、备份的时间、备份的文件名等详细信息。
3. 查询归档日志备份信息在Oracle数据库中,归档日志是非常重要的备份对象,对数据的完整性和安全性有着重要的作用。
可以使用以下语句来查找归档日志备份信息:```sqlSELECT * FROM V$ARCHIVED_LOG;```这条语句可以列出当前数据库中已备份的归档日志信息,包括备份的时间、备份的文件名、备份的大小等信息。
四、总结通过上述介绍,我们可以看到,在Oracle数据库中查找备份数据的语句非常简单,只需要使用一些简单的SQL语句或者RMAN命令即可完成。
Oracle数据库备份和恢复培训
培训内容
逻辑备份 冷备份 热备份
Rman工具
Rman
RMAN是ORACLE提供的一个备份与恢复的工具, 可以用来备份和还原数据库文件、 归档日志和控 制文件。它也可以用来执行完全或不完全的数据 SM 、HP DP、NBU、LGTO等企业级备份软件的for oracle备份模块均采用该工具。 使用方法: 在命令行下输入 Rman target / 配臵参数: Rman>show all;
Rman
2、常用参数
数据备份: Rman>backup tablespace users; 查看备份集 Rman>List backup; 修改备份路径 configure channel device type disk format 'c:\rmanbk\%d_%s_%p_%T_%t.bkp'; d 数据库名 s 为备份集的号 P为该备份集中的备份片号,从1 开始到创建的文件数 T为年月日格式(YYYYMMDD) , t时间戳 磁带为sbt,磁盘为disk,
Rman 参数 配置.txt
Rman
RMAN 文件格式 备份文件可以自定义各种各样的格式,如下: %c 备份片的拷贝数 %d 数据库名称 %D 位于该月中的第几天 (DD) %M 位于该年中的第几月 (MM) %F 一个基于DBID 唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ, 其中IIIIIIIIII 为该数据库的DBID,YYYYMMDD 为日期,QQ 是一个1-256 的序 列 %n 数据库名称,向右填补到最大八个字符 %u 一个八个字符的名称代表备份集与创建时间 %p 该备份集中的备份片号,从1 开始到创建的文件数 %U 一个唯一的文件名,代表%u_%p_%c %s 备份集的号 %t 备份集时间戳 %T 年月日格式(YYYYMMDD)
ORACLE最简单有效的备份恢复方案
ORACLE 最简单有效的备份恢复方案ORACLE备份分两种,1.逻辑备份;2.物理备份;逻辑备份又分两种:传统的exp备份;10g开始支持的expdp数据泵备份;物理备份主要就是RMAN备份;最基本的原则是:这些逻辑或物理备份和数据库文件必须放在不同的硬盘上;否者一损俱损;备份就没多大意义了;如果数据库不是很大,比如在50G以下,那么我们就考虑一些傻话化的全备方案我现在的备份方案是:两个逻辑备份和RMAN 备份全部用上;1.传统dmp逻辑备份和恢复1.1传统dmp逻辑备份,这个是最简单的备份方法;现在我提供一个简单的脚本:1.1.1首先建立一个bat文件,名字叫:exp_backup.bat内容是:set oracle_username=%1set oracle_password=%2set local_tnsname=%3set url=%oracle_username%/%oracle_password%if not %local_tnsname% == "" set url=%url%@%local_tnsname%if exist %oracle_username%_old.dmp del %oracle_username%_old.dmpif exist %oracle_username%_old.log del %oracle_username%_old.logif exist %oracle_username%.dmp ren %oracle_username%.dmp %oracle_username%_old.dmpif exist %oracle_username%.log ren %oracle_username%.log %oracle_username%_old.logexp %url% file=%oracle_username%.DMP log=%oracle_username%.LOG该脚本是一个通用的最简单的exp脚本;意思就是:备份之间,把以前的备份文件修改名字,后面加上_old ,如果本来就有old文件,就删除之;之后,就开始备份;备份的文件目录和该脚本一致(这样做最简单);所以总是会出现一新一旧两个文件;当然只要最新的就行了,所以理论上只要一份文件;但是考虑有可能备份的时候突然报错,这样old文件还在,将就着使用,否者新的是坏的,旧的也没了;有的人做一周7天逻辑循环备份,我觉得没有必要,要那么多旧的备份文件何用,浪费空间;1.1.2然后再做一个bat文件,比如是my_exp.bat内容是:call exp_backup.bat USER PASSWORD ""如果是在服务器自身上备份,就不需要写入数据库服务名;如果有多个用户数据需要备份;那么就在my_exp.bat继续添加:call exp_backup.bat USER1 PASSWORD1 ""….My_EXP.BAT可以做成windows的执行计划,每天不忙的时候执行一次;1.2 exp备份的恢复下面就是恢复的最简单方法:1.2.1.把电脑上当前用户彻底删除,用命令,这样就可以把对象彻底清除;DROP USER XXX CASCADE1.2.2.再创建该用户CREATE USER xxxxIDENTIFIED BY xxxxDEFAULT TABLESPACE xxxxTEMPORARY TABLESPACE TEMP并赋予权限:GRANT DBA TO xxxx WITH ADMIN OPTION1.2.3用IMP恢复C:\> imp xxxx/xxxx FILE=xxxx.DMP LOG=xxxx.LOG FULL=Y2.10G后的数据泵expdp备份和恢复2.1 expdp 备份据说这个比exp有很多优点,这个我就不说了,大家可以自己参考资料;不过我测试下来,如果数据量小expdp 还是不如exp的;但是还是建议是使用expdp,因为数据会慢慢变大的,用expdp更好些;我最看重的是:expdp备份的文件涵盖的东西更多;所以恢复的时候方便;删除用户后,可以不用再创建用户恢复;实现方法和exp类似:不过,它的目录不像EXP那么直接,需要使用oracle的目录对象;所以2.1.1第一步先创建一个目录对象,比如:SQL>create or replace directory LOGIC_BUCKUPas 'd:\OACLE_BACKUP\逻辑备份';2.1.2建立一个通用脚本,比如叫EXPDP_BACKUP.BAT内容是:set oracle_username=%1set oracle_password=%2set local_tnsname=%3set url=%oracle_username%/%oracle_password%if not %local_tnsname% == "" set url=%url%@%local_tnsname%if exist %oracle_username%_old_dump.dmp del %oracle_username%_old_dump.dmpif exist %oracle_username%_old_dump.log del %oracle_username%_old_dump.logif exist %oracle_username%_dump.dmp ren %oracle_username%_dump.dmp %oracle_username%_old_dump.dmpif exist %oracle_username%_dump.log ren %oracle_username%_dump.log %oracle_username%_old_dump.logEXPDP %url% DIRECTORY=LOGIC_BACKUP DUMPFILE=%oracle_username%_DUMP.DMP LOGFILE=%oracle_username%_DUMP.LOG PARALLEL=2该方法与上面的dmp备份类似;2.1.3然后再做一个bat文件,比如是my_expdp.bat内容是:call expdp_backup.bat USER PASSWORD ""如果是在服务器自身上备份,就不需要写入数据库服务名;如果有多个用户数据需要备份;那么就在my_exp.bat继续添加:call expdp_backup.bat USER1 PASSWORD1 ""……同dmp备份一样,My_EXPdp.BAT也可以做成windows的执行计划,每天不忙的时候执行一次;2.2 expdp备份的恢复下面就是恢复的最简单方法:2.2.1.把电脑上当前用户彻底删除,用命令,这样就可以把对象彻底清除;DROP USER XXXX CASCADE2.2.2.用另外一个权限较高的用户(最好不是sys,比如是YYYY) 导入:C:\>IMPDP yyyy/yyyy DUMPFILE=xxxx_DUMP.DMP LOGFILE=xxxx_DUMP.LOG DIRECTORY=LOGIC_BUCKUPPARALLEL=2(这里的LOGIC_BUCKUP是oracle的对象目录,要和xxxx_dump.dup存放的目录一致)这样就OK了,也即是说用户不需要创建,数据泵文件含有了用户以及它原来的权限;从这点来讲,是不是比IMP导入更为方便;好了,两种逻辑备份讲完了,下面重点说一下RMAN备份;因为在生产系统中,逻辑备份作用不大的,因为它不能实时的备份数据,所以逻辑备份更多的时候是给开发人员互相导入数据和存储过程之类用的;RMAN备份的原理还是有点复杂的,很多细节的我也不是很清楚,不过没关系,我们可以整理出一套最简单的备份方案:3.RMAN备份和恢复3.1. RMAN备份3.1.1 首先把数据库参数关注一下,关注下面两个参数第一个参数:db_recovery_file_dest_size,上图中的大小是默认的4G,也就是归档模式下,archivelog的所有归档日志文件大小总和,如果超过这个数,就会导致数据库出问题;所以要非常小心,因而建议修改大一些,比如修改成20G;当然最本质的方法,是要按时清理无用的归档日志;第二个参数:db_recovery_file_dest ,这个参数非常重要,是11G里,存放rman备份集和归档日志的地方;默认是放在flash_recovery_area目录下的,因为我的系统的flash_recovery_area 和数据库文件在同一个硬盘,所以修改了;3.1.2.关注redo日志文件,每组里要有两个成员,1个在数据库文件的硬盘下,1个在备份文件的硬盘下,因为日志文件写入最频繁,RMAN无法对它备份,或者说任何备份工具都无法对redo日志备份;不过redo它自己可以做冗余,两个文件只要有一个在,即可;比如:3.1.3做一个最简单的rman备份脚本;3.1.3.1首先做一个txt,比如是:autorman.txt内容是:sql 'alter system archive log current';backup database;delete noprompt obsolete;这三句话的作用分别是:1.对当前redo日志进行归档;2.备份数据库3.删除无效的archive日志和rman备份集3.1.3.2 做一个bat 调用上面的autorman.txt,比如是:autorman.bat内容是:rman target / @autorman.txt然后就在winddows下做一个执行计划,每天或没隔几天,自动执行一下这个autorman.bat当然备份之前,要用rman>show all 看一下参数设置,有没有自动备份控制文件,如果没有,要加上;3.2 rman恢复Rman恢复非常简单;下面说一下步骤:3.2.1 假如最新一次全备是3天前的,先随便建立一个新表,比如是test_rman,随便插几条数据;用来测试还原后,这个最新的对象是否也给恢复了;现在用sqlplus登陆,shutdown 数据库,然后把oracle的数据库文件全部删除(控制文件,redo日志文件,数据库文件);3.2.2 用sql> startup nomount 启动数据库的参数文件,参数文件和数据库文件不在同一个硬盘,所以没丢;这时候如果执行sql>alter database mount 会报错,因为mount会加载控制文件,而控制文件已经丢了;3.3.3.把以前控制文件所在的目录建立好,否者rman找不到控制文件恢复路径;然后执行RMAN> restore controlfile from autobackup;这样控制文件就回复了,有了控制文件就好办了;3.2.4. 以为有了控制文件,所以在sqlplus里,可以装载数据库Sql>alter database mount3.2.5 数据库被装载后,说明控制文件生效了,这时候,所有的数据库信息都出来了;所以可以用rman还原数据库了:RMAN> RESTORE database;3.2.6 恢复数据库:RMAN> recover database;2.2.7 数据库现在已经全部回复好,可以重新启动了:SQL> alter database open resetlogs;数据库已更改。
ORACLE数据库数据泵备份与恢复
ORACLE数据库数据泵备份与恢复EXPDP和IMPDP是服务端的⼯具程序,他们只能在ORACLE服务端使⽤,不能在客户端使⽤。
IMP只适⽤于EXP导出的⽂件,不适⽤于EXPDP导出⽂件;IMPDP只适⽤于EXPDP导出的⽂件,⽽不适⽤于EXP导出⽂件。
⼀、expdp和impdp的使⽤1.创建⽬录create directory DBBAK as '/bak'; #DBBAK名称可以随便命名需要⼿⼯创建/bak,并且此⽬录oracle⽤户有读取写⼊权限2.查看所有⽬录select * from dba_directories;3.给test⽤户赋予在指定⽬录的操作权限,最好⽤root⽤户赋予。
grant read,write on directory DBBAK to test;4.导出数据1)按⽤户导expdp test/test@orcl schemas=test dumpfile=expdp.dmp DIRECTORY=DBBAK logfile=expdp.log2)并⾏进程parallelexpdp test/test@orcl directory=DBBAK dumpfile=expdp1.dmp parallel=10 job_name=test13)按表名导expdp test/test@orcl TABLES=table01,table02 dumpfile=expdp2.dmp DIRECTORY=DBBAK;4)按查询条件导expdp test/test@orcl directory=DBBAK dumpfile=expdp4.dmp Tables=table01 query='WHERE id=001';5)按表空间导expdp system/system DIRECTORY=DBBAK DUMPFILE=tablespace.dmp TABLESPACES=test,USERS;6)导整个数据库expdp system/system DIRECTORY=DBBAK DUMPFILE=full.dmp FULL=y;5、创建表空间及⽤户create tablespace test datafile '+data/test/datafile/data01.dbf' size 32000M;alter tablespace test add datafile '+data2/test/datafile/users02.dbf' size 32000M;create user test identified by test default tablespace TEST temporary tablespace TEMP;grant connect,resource,dba to test;grant read,write on directory DBBAK to test;6、还原数据1)导到指定⽤户下impdp test1/test1@orcl DIRECTORY=DBBAK DUMPFILE=expdp.dmp SCHEMAS=test logfile=impdp.log2)改变表的ownerimpdp system/system DIRECTORY=DBBAK DUMPFILE=expdp2.dmp TABLES=test.table01REMAP_SCHEMA=test1:table11;3)导⼊表空间impdp system/system DIRECTORY=DBBAK DUMPFILE=tablespace.dmp TABLESPACES=test;4)导⼊数据库impdb system/system DIRECTORY=DBBAK DUMPFILE=full.dmp FULL=y;5)追加数据impdp system/system DIRECTORY=DBBAK DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION7、查看数据是否⼀致select OBJECT_TYPE,COUNT(*) from all_objects where OWNER='TEST' group by OBJECT_TYPE;⼆、expdp详细参数可以通过 expdp help=y查看1.CONTENT 指定要导出的数据其中有效关键字为:(ALL), (默认)导出结构和数据DATA_ONLY:只导出数据METADATA_ONLY:只导出结构2.DIRECTORY 供转储⽂件和⽇志⽂件使⽤的⽬录对象3.DUMPFILE ⽬标转储⽂件 (expdat.dmp) 的列表例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.d4.INCLUDE 包括特定的对象类型例如 INCLUDE=PACKAGE,FUNCTION,PROCEDURE,TABLE:"='EMP'"5.EXCLUDE 排除特定的对象类型与INCLUDE相反6.TABLES 标识要导出的表的列表7.SCHEMAS 要导出的⽅案的列表可⽀持多个schemas=(user01,user02,user03)8.TABLESPACES 标识要导出的表空间的列表9.ATTACH 连接到现有作业, 例如 ATTACH [=作业名]PRESSIONALL :对导出的元数据和表数据都进⾏压缩,得到的导出⽂件是最⼩的,耗时也是最长的。
实验8-Oracle数据库备份与恢复
实验8 Oracle数据库备份与恢复1 实验目的(1)掌握Oracle数据库各种物理备份方法。
(2)掌握Oracle数据库各种物理恢复方法。
(3)掌握利用RMAN工具进行数据库的备份与恢复。
(4)掌握数据的导入与导出操作。
2 实验要求(1)对BOOKSALES数据库进行一次冷备份。
(2)对BOOKSALES数据库进行一次热备份。
(3)利用RMAN工具对BOOKSALES数据库的数据文件、表空间、控制文件、初始化参数文件、归档日志文件进行备份。
(4)利用热备份恢复数据库。
(5)利用RMAN备份恢复数据库。
(6)利用备份进行数据库的不完全恢复。
3 实验步骤(1)关闭BOOKSALES数据库,进行一次完全冷备份。
select file_name from dba_data_files;select member from v$logfile;select value from v$parameter where name='control_files';(2)启动数据库后,在数据库中创建一个名为cold表,并插入数据,以改变数据库的状态。
CREATE TABLE COLD(ID NUMBER PRIMARY KEY,NAME V ARCHAR2(25));(3)利用数据库冷备份恢复BOOKSALES数据库到备份时刻的状态并查看恢复后是否存在cold表。
(4)将BOOKSALES数据库设置为归档模式。
1.1 shutdown immediate 正常关闭数据1.2 startup mount;将数据库启动到mount状态3)、关闭flash闪回数据库模式,如果不关闭的话,在后面关闭归档日志的时候就会出现讨厌的ora-38774错误。
alter database flashback off1.3 alter database archivelog;发出设置归档模式的命令1.4 alter database open;打开数据库1.5 再次正常关闭数据库,并备份所有的数据文件和控制文件1.6 archive log list;在将数据库设置为归档模式后,可以执行此命令进行确认1.6.1 Database log mode 为Archive Mode说明当前的数据库为归档模式1.6.2 Automatic archival为Enable说明启动了自动归档。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.Total System Global Area 269554828 bytes
--9i创建永久表空间
create tablespace csmis datafile 'E:\oracle\data\csmis.dbf' size 300M
autoextend ON next 512k maxsize unlimited minimum extent 512k
default storage(initial 1M next 1M
exp system/orcl@orcl file=D:\orcl-%date:~2,8%.dmp log=D:\orcl-%date:~2,8%.log owner=system
imp userid=system/orcl@orcl file=D:\orcl-12-07-12.dmp log=F:\orcl-%date:~2,8%.log fromuser=system touser=system123
Fixed Size 451724 bytes
Variable Size 234881024 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
--修改数据文件大小
--创建数据库连接
create shared public database link DL_HRBSEG_UP_MIN
connect to csmis identified by csmis
authenticated by system identified by manager
(select OBJECT_NAME from user_objects where STATUS='INVALID' and object_type in ( 'VIEW' ))
--解决不能删除的方法:
insert into pub_t_util$action(vc_table$name) select tname from tab where tname not in (select vc_table$name from pub_t_util$action);
--以system登录,创建用户csmis,同时分配权限
create user xa0224 identified by csmis default tablespace csmis temporary tablespace csmistemp;
grant dba,connect,resource to xa0224;
--删除用户
DROP USER XNCSMIS CASCADE;
DROP USER MIDDLEWARE CASCADE;
--删除表空间
DROP TABLESPACE CSMIS INCLUDING CONTENTS AND DATAFILES;
DROP TABLESPACE CSMISTEMP INCLUDING CONTENTS AND DATAFILES;
ALTER DATABASE DATAFILE 'E:\oracle\data\CSMIS.DBF' resize 2000m;
--增加数据文件
ALTER TABLESPACE csmis ADD DATAFILE 'E:\oracle\data\CSMIS2.DBF' SIZE 10m;
--修改用户密码
shared_pool_size big integer 83886080
SQL> select 83886080/(1024*1024) from dual;83886080/(1024*1024)
--------------------
80
SQL> alter system set shared_pool_size=104857600 scope=both;
minextents 1
maxextents unlimited
pctincrease 0)
permanent;
--9i创建临时表空间
create tablespace csmistemp datafile 'E:\oracle\data\csmistemp.dbf' size 200M
select count(*) from email_t_info t WHERE TO_CHAR(T.VC_DATE,'yyyy-MM')='2009-10';
select count(*) from email_t_info_detail p where p.vc_send_id in(select t.vc_id from email_t_info t WHERE TO_CHAR(T.VC_DATE,'yyyy-MM')='2009-10');
FROM csmisgzd.PUB_T_STATION t;
insert into PUB_T_PERSON(VC_ID,VC_NUMBER)
SELECT t.VC_ID,t.VC_NUMBER
FROM PUB_T_PERSON@DL_181 t
--重新执行未通过的视图
select 'ALTER VIEW '||TNAME||' COMPILE;' from tab where tabtype='VIEW' AND TNAME IN
--导出用户下的数据
exp xacsmis_dev/csmis@csmisdb file=D:\xacsmis-%date:~2,8%.dmp log=D:\xacsmis-%date:~2,8%.log owner=xacsmis_dev
--导入用户下的数据
imp userid=xa0224/csmis file=D:\XA-12-02-24\XA-12-02-24.dmp log=F:\newlog.log fromuser=xa0224 touser=xa0224
--10g创建表空间
create tablespace csmis datafile 'D:\oracle\product\10.2.0\oradata\csmisdb\csmis.dbf' size 500M
autoextend ON next 512k maxsize unlimited
--修改共享内存
sqlplus sys/change_on_install as sysdba
SQL> show parameter shared_pool_size;
NAME TYPE VALUE
--- ----------- ------------------------------
delete from email_t_info_detail p where p.vc_send_id in(select t.vc_id from email_t_info t WHERE TO_CHAR(T.VC_DATE,'yyyy-MM')='2009-12');
delete from email_t_info t WHERE TO_CHAR(T.VC_DATE,'yyyy-MM')='2009-12';
logging extent management local segment space management auto;
--10g创建临时表空间
create temporary tablespace csmistemp tempfile 'D:\oracle\product\10.2.0\oradata\csmisdb\csmistemp.dbf' size 300m;
using 'csmisdb';
--导出全局数据库
exp system/csmis rows=y indexes=n compress=n full=y file=E:\演示工程\csmis-%date:~2,8%.dmp log=E:\演示工程\csmis-%date:~2,8%-log
autoextend ON next 512k maxsize unlimited minimum extent 512k
default storage(initial 1M next 1M
minextents 1
maxextents unlimited
pctincrease 0)
temporary;
sqlplus / as sysdba
alter user system identified by csmis;
--批量添加数据
insert into PUB_T_STATION
(VC_STATION$NUMBER,VC_LINEID)
SELECT t.VC_STATION$NUMBER,t.VC_LINEID