[20120918]exp要注意的问题CONSISTENT参数.txt

[20120918]exp要注意的问题CONSISTENT参数.txt
    前几天开发要导出一个schema做测试,因为新程序改动太大,要求导出一份该schema下的全部数据,开发导入后出现
一些错误,反馈日志log后,才发现是主外键的问题,原来我忘记在导出时加入参数CONSISTENT=y.
缺省这个参数是N.
今天做一个测试看看差别在哪里:
exp前先刷新共享池.
alter system flush shared_pool;
host exp sh/xxxxxx file=aaa.dmp direct=y
create table exp1 as select sql_text from v$sql where module like 'exp%'
alter system flush shared_pool;
host exp sh/xxxxxx file=aaa.dmp CONSISTENT=y direct=y
create table exp2 as select sql_text from v$sql where module like 'exp%'
对比exp1与exp2的差异:

SQL> select * from exp2 minus select * from exp1 ;
SQL_TEXT
--------------------------
SET TRANSACTION READ ONLY
SQL> select * from exp1 minus select * from exp2 ;
no rows selected
--可以发现差异仅仅在exp前,要执行SET TRANSACTION READ ONLY.设置事务只读.
--这样其他回话做DML操作,应该不会备份,如果备份事件很长,可能会出现ora-01555错误.

简单做一个SET TRANSACTION READ ONLY的测试:
SQL> create table t ( a number);
Table created.
session1:
insert into t values(1);
commit;
set transaction read only
SQL> select * from t;
         A
----------
         1
session2:
insert into t values(2);
commit;
SQL> select * from t;
         A
----------
         1
         2
--看见2条记录.
回到session1:
SQL> select * from t;
         A
----------
         1
--依旧仅仅看到1条记录.做一个插入看看:
SQL> insert into t values(3);
insert into t values(3)
            *
ERROR at line 1:
ORA-01456: may not perform. insert/delete/update operation inside a READ ONLY transaction
--出现ora-01456错误,无法在这个状态下执行DML语句.
--再建立1个索引看看.
SQL> create index i_t_id on t(a);
Index created.
SQL> select * from t;
         A
----------
         1
         2
--因为建立索引包含隐式提交,建立索引后能看到2条,同理commit,rollback也是一样的效果.
				
时间: 2024-09-29 06:59:15

[20120918]exp要注意的问题CONSISTENT参数.txt的相关文章

[20120410]EXP&IMP和COMPRESS参数.txt

[20120410]EXP&IMP和COMPRESS参数.txt 测试需要要建立一个空库,我使用EXP&IMP操作,很久不使用它操作,发现导入过程有一些慢,最终发现一个参数compress影响导入操作.缺省COMPRESS=Y,这样在导入时需要初始很大的空间. 测试如下: SQL> select * from v$version ; BANNER ---------------------------------------------------------------------

[20120918]理解v$sql的exact_matching_signature与force_matching_signature.txt

[20120918]理解v$sql的exact_matching_signature与force_matching_signature.txt     理解v$sql的exact_matching_signature与force_matching_signature,对于使用sql profile以及SPM有重要意义,自己对于这个一直没有很好的理解, 今天做一个测试看看,可能不全面^_^. SQL> select * from v$version ; BANNER ---------------

[20171206]SQLTUNE_CATEGORY参数.txt

[20171206]SQLTUNE_CATEGORY参数.txt --//今天提示别人使用sql profile优化语句,使用DBMS_SQLTUNE.import_sql_profile的引入替换功能.一般我的测试 --//category参数是'',也就是NULL.如果指定如何优化确定优化有效呢? --//链接:http://www.itpub.net/thread-2094823-1-1.html --//实际上就是修改参数SQLTUNE_CATEGORY. --//https://doc

[20170313]11G use_large_pages参数.txt

[20170313]11G use_large_pages参数.txt --11G 增加参数use_large_pages,可以灵活使用hugepages. 1.环境: SYS@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- --------------------------------------------

[20170209]理解pre_page_sga参数.txt

[20170209]理解pre_page_sga参数.txt --昨天测试pre_page_sga=true的情况: http://blog.itpub.net/267265/viewspace-2133198/ --//再次看看官方的定义: http://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams201.htm#REFRN10174 PRE_PAGE_SGA determines whether Oracle reads

[20150126]datadump的非文档参数.txt

[20150126]datadump的非文档参数.txt --总结一下expdp/impdp的非文档参数: 1. METRICS METRICS=Y ,记录执行详细的执行时间.例子: $ expdp scott/btbtms DIRECTORY=DATA_PUMP_DIR  DUMPFILE=emp012601.dmp LOGFILE=emp012601.log tables=emp metrics=y Export: Release 11.2.0.3.0 - Production on Mon

[20161123]failover与会话参数.txt

[20161123]failover与会话参数.txt --前几天itpub上有人问的问题,链接http://www.itpub.net/thread-2071933-1-1.html,开始我以为是会话没有退出. --实际上对方已经重启过数据库,不过后来我估计对方打开登录审计,从结果上猜测是正确的,不过我的问题是我想了解 --会话在支持failover时,重新连接上时会话参数是否还是原来的,还有审计是否还有效(在已经关闭相关审计的情况下). --测试是最好的证明,还是通过例子来说明问题. 1.环

[20151126]IMPDP TRANSFORM参数.TXT

[20151126]IMPDP TRANSFORM参数.TXT --最近要建立一个测试库,原来生产系统的一些表在定义时 STORAGE    (             INITIAL          8G             ....            ) NOPARALLEL; --实际我不需要建立这个大的INITIAL表,而且可能许多还是空的.有些我可能仅仅导入少量数据,这样要浪费大量磁盘空间,并且测试 --机器磁盘空间也不足.不能这样导入. --另外一个问题有一些表我设置PCT

[20171211]检查dg配置参数.txt

[20171211]检查dg配置参数.txt --//写一个脚本,用来检查dg配置参数. col name    for a30 col value   for a120 col ses_mod for a10 col sys_mod for a10 col ins_mod for a10 col type format 99999 SELECT p.name,        p.type,        p.value,        p.isses_modifiable      as SE