Oracle to Oracle版本的
平时给客户生产环境部署参考的文档,总结的比较详细,主要是详细的说明了数据初始化的过程,参数各个环境不同,所以只是写了比较简单的,根据实际条件添加吧。
windows需要安装c\c++ 2005运行库
运行full-DB_CheckOracle.sql 查看结果,检查是否有不支持的对象
检查源端数据库是否为归档模式
SQL>archive log list;
若为非归档模式,在数据库mount状态下将其改为归档模式
SQL> alter database archivelog;
确认归档已经开启
SQL>archive log list;
检查源端数据库附加日志是否打开
SQL>select supplemental_log_data_min from v$database;
打开数据库附件日志
SQL>alter database add supplemental log data;
切换日志以使附加日志生效
SQL>ALTER SYSTEM ARCHIVE LOG CURRENT;
或
SQL>alter system switch logfile;
确认最小附加日志已经打开
select supplemental_log_data_min from v$database;
创建goldengate表空间:
SQL>create tablespace goldengate datafile '/oracle/oracle/oradata/ora11/goldengate.dbf' size 100m;
注:不开启DDL的话源端goldengate不会在数据库中创建任何表,存储任何数据,所以这个表空间给较少空间即可
创建goldengate用户并授权:
SQL>create user goldengate identified by goldengate default tablespace goldengate;
给用户授权:
如果客户对于权限管理不严格,直接赋予DBA权限即可:
SQL>grant dba to goldengate;
如果管理严格请参考各版本OGG文档进行授权
注:如开启DDL必须需要DBA权限
Linux\Unix传到Oracle用户即可,windows传到Oracle的安装用户下
主要配置以下三个变量:
ORACLE_SID ORACLE_HOME LD_LIBRARY_PATH(LINUX环境)
其中D_LIBRARY_PATH写ogg的安装目录
export LD_LIBRARY_PATH=/ggs/11.0:$LD_LIBRARY_PATH
windows环境需要加入到服务中
.\install addservice
./ggsci
create subdirs
配置mgr参数
edit params mgr
port 7809
DYNAMICPORTLIST 7840-7898
autostart er *
autorestart er *, retries 5, waitminutes 3
PURGEOLDEXTRACTS ./dirdat/*,USECHECKPOINTS, MINKEEPDAYS 7
启动mgr
start mgr
确认mgr启动成功
info all
ggsci登录到数据库
dblogin userid goldengate,password goldengate
增加trandata
add TRANDATA ajdbo.passenger
确认trandata添加成功
info trandata ajdbo.passenger
在数据库中确认已经添加trandata的表
select * from dba_log_groups where owner='xxx' and table_name='xxx';
增加extract进程
add extract ext_ynkg, tranlog, begin now
增加exttrail
add exttrail ./dirdat/ld,extract ext_ynkg, MEGABYTES 100
配置extract进程
edit params ext_ynkg
EXTRACT ext_ynkg
SETENV(NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
USERID goldengate, PASSWORD goldengate
TRANLOGOPTIONS EXCLUDEUSER goldengate
EXTTRAIL ./dirdat/ld
--GETTRUNCATES
--GETUPDATEBEFORES
EOFDELAY 3
NUMFILES 5000
DISCARDFILE ./dirrpt/ext_ynkg.dsc, APPEND, MEGABYTES 1000
DYNAMICRESOLUTION
table ajdbo.passenger;
talle ajdbo.channel;
table ajdbo.validate_info;
table ajdbo.bord_info;
启动extract进程
start ext_ynkg
确认进程启动成功
info ext_ynkg
如果客户环境归档保留的比较多,则可采用这种方法:
首先确认系统中最早的transaction的启动时间
sql> select min(start_time) from gv$transaction;
MIN(START_TIME)
--------------------
02/08/16 19:21:38
之后在指定extract进程的begin时间时,指定一个比这个早的时间,让extract从这里开始抽取:
add extract <ext_name> tranlog threads 2 begin 2016-02-08 19:20:00
最后再查询当前SCN号
select current_scn from v$database;
则该SCN则为基准SCN(SCN3),如使用导入导出的方法,这个SCN即为最终确定的SCN时间点,如果使用RMAN则最终RMAN恢复的SCN要大于等于这个SCN。
如果客户环境归档保留的比较少,则可采用这种方法
查询当前SCN号(SCN1)
select current_scn from v$database;
查看当前数据库系统中最早transaction的scn号(SCN2)
select min(start_scn) from gv$transaction;
多次查询系统中最早的transaction的启动时间,一直到这个值大于SCN1。(如果大的transaction一直在运行,可以考虑杀死这个transaction对应的进程,查找该进程的语句如下:
select p.INST_ID,p.SPID,t.start_scn
from gv$transaction t,gv$process p,gv$session s
where s.taddr=t.addr and p.addr=s.paddr and t.start_scn<=&1;)
再次查询当前SCN号(SCN3)
select current_scn from v$database;
则该SCN则为基准SCN(SCN3),如使用导入导出的方法,这个SCN即为最终确定的SCN时间点,如果使用RMAN则最终RMAN恢复的SCN要大于等于这个SCN。
这一步仅当使用RMAN做初始化并使用的是之前的全备时需要,是为了拷贝过去的归档能恢复到之前确定的SCN。
查询当前日志号:
select INST_ID,GROUP#,SEQUENCE#,ARCHIVED,STATUS from gv$log;
归档当前日志:
ALTER SYSTEM ARCHIVE LOG CURRENT;
之后确认第一次为current的SEQUENCE已经归档
select INST_ID,SEQUENCE#,ARCHIVED from gv$archived_log where SEQUENCE#=&1;
注:RAC环境下两个节点都要进行确认
增加pump进程
add extract pmp_ynkg, exttrailsource ./dirdat/ld
增加rmttail文件
add rmttrail ./dirdat/rd,EXTRACT pmp_ynkg,MEGABYTES 100
配置pump进程
edit params pmp_ynkg
EXTRACT pmp_ynkg
USERID goldengate,PASSWORD goldengate
PASSTHRU
RMTHOST 10.1.0.50,MGRPORT 7809
RMTTRAIL ./dirdat/rd
--REPORT AT 01:59
--REPORTROLLOVER AT 02:00
DISCARDFILE ./dirrpt/pmp_ynkg.dsc, APPEND, MEGABYTES 1000
--PURGEOLDEXTRACTS ./dirdat/*,USECHECKPOINTS, MINKEEPDAYS 7
DYNAMICRESOLUTION
table ajdbo.*;
查询两端字符集:
select userenv('language') from dual;
如果相同则没有问题
如果不同
(1)需要使用csscan工具对源端数据进行检测,查看数据导入到目标端后是否会出现字段长度不足,乱码等情况。csscan使用方法见附录。
(2)需要在extract进程和replicat进程中设置环境变量NLS_LANG,均和源端数据库字符集一致即可。具体是否会出现乱码还需要测试。
创建directory
create directory oggd as '/home/oracle';
导出目标表,FLASHBACK_SCN为之前确定的SCN3
expdp XPADB/XPADB DIRECTORY=oggd DUMPFILE=xpadb.`date '+%Y%m%d_%H%M'`.dmp.%U LOGFILE=xpadb.`date '+%Y%m%d_%H%M'`.log parallel=4 FLASHBACK_SCN=xxxxx
调整job_queue_processes为0
SQL>show parameter job (记录下来,之后还会调整回来)
SQL>alter system set job_queue_processes=0 scope=memory;
再次确认一下修改成功
SQL>show parameter job
impdp XPADRPT/xpadrpt DIRECTORY=oggd DUMPFILE=xpadb.20130620_1525.dmp.%U LOGFILE=impdp.xpadb.20160220_1525.log parallel=4 REMAP_SCHEMA=xpadb:xpadrpt REMAP_TABLESPACE=xpaddat:xpaddata
备份数据库、归档、控制文件:
$rman target /
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
crosscheck backupset;
delete noprompt expired backupset;
backup as backupset full database tag='db_bak' format '/u01/backup/db_%U_%T';
sql 'alter system archive log current';
backup archivelog all tag='arc_bak' format='/u01/backup/arc_%U_%T' filesperset 6;
backup current controlfile tag='ctl_bak' format='/u01/backup/ctl_file_%U_%T';
release channel c1;
release channel c2;
release channel c3;
release channel c4;
}
在源端刚备份完的数据库执行:
SQL>select GROUP# ,THREAD#,SEQUENCE#,ARCHIVED,STATUS,FIRST_CHANGE# from gv$log;
GROUP# THREAD# SEQUENCE# ARC STATUS FIRST_CHANGE#
---------- ---------- ---------- --- ---------------- -------------
1 1 240 YES INACTIVE 1697423
3 1 241 NO CURRENT 1718793
2 1 239 YES INACTIVE 1690905
获取不活动的已归档日志的最后一个SCN号,如果有多个已归档的INACTIVE的组,取最大的FIRST_CHANGE#,这里取1697423,该SCN号(SCN4)即为最终rman恢复和启动replicat的scn号。(这个SCN4一定要比基准SCN(SCN3)大)
注:如果是RAC环境要确保这个SCN号对应的日志两边都已经归档。
启动数据库到nomount状态
sqlplus '/ as sysdba'
SQL>startup nomount
启动RMAN恢复控制文件
rman target /
RMAN>restore controlfile from '/u01/backup/ctl_file_757366280381.dbf';
将数据库更改为mount状态
sqlplus '/ as sysdba'
SQL>alter database mount;
启动RMAN恢复数据库
rman target /
RMAN>restore database;
RMAN>
run
{
set archivelog destination to '/u01/arch';
SET UNTIL SCN 218412; –前边确定的scn号 SCN4
RECOVER DATABASE;
}
调整job_queue_processes为0
SQL>show parameter job (记录下来,之后还会调整回来)
SQL>alter system set job_queue_processes=0 scope=memory;
再次确认一下修改成功
SQL>show parameter job
开库
SQL>alter database open resetlogs;
禁用job
declare
v_sql number;
CURSOR c_job IS SELECT job from
dba_jobs where schema_user in
('JP');
BEGIN
OPEN c_job;
LOOP
FETCH c_job INTO v_sql;
EXIT WHEN c_job%NOTFOUND;
dbms_ijob.broken(v_sql,true);
end loop;
close c_job;
commit;
end;
/
验证job确实被禁用
select job,LOG_USER,PRIV_USER,SCHEMA_USER,broken from dba_jobs where schema_user in ('JP');
禁用job
declare
v_sql varchar2(200);
CURSOR c_job IS SELECT OWNER||'.'||JOB_NAME from
DBA_SCHEDULER_JOBS where OWNER in
('JP');
BEGIN
OPEN c_job;
LOOP
FETCH c_job INTO v_sql;
EXIT WHEN c_job%NOTFOUND;
dbms_scheduler.disable(NAME =>v_sql);
end loop;
close c_job;
commit;
end;
/
验证job确实被禁用
SELECT OWNER,JOB_NAME,STATE FROM DBA_SCHEDULER_JOBS WHERE OWNER IN('JP');
将目标端job_queue_processes值调整回原值
关闭trigger
declare
v_sql varchar2(2000);
CURSOR c_trigger IS SELECT 'alter trigger '||owner||'.'||trigger_name||' disable' from
dba_triggers where owner in
('JP');
BEGIN
OPEN c_trigger;
LOOP
FETCH c_trigger INTO v_sql;
EXIT WHEN c_trigger%NOTFOUND;
execute immediate v_sql;
end loop;
close c_trigger;
end;
/
确认trigger已经全部关闭
select distinct status from dba_triggers where owner in ('JP');
禁用外键
declare
v_sql varchar2(2000);
CURSOR c_con IS SELECT 'alter table '||owner||'.'||table_name||' disable constraint
'||constraint_name from dba_constraints where constraint_type='R' and owner in
('JP');
BEGIN
OPEN c_con;
LOOP
FETCH c_con INTO v_sql;
EXIT WHEN c_con%NOTFOUND;
execute immediate v_sql;
end loop;
close c_con;
end;
/
确认外键已经被禁用
select OWNER,CONSTRAINT_NAME,CONSTRAINT_TYPE,STATUS
from dba_CONSTRAINTS
where CONSTRAINT_TYPE='R' and status = 'ENABLED' and owner in ('JP');
select T1.STATUS,T1.VALIDATED,T2.status,T1.constraint_name,T1.owner
from dba_constraints T1,dba_objects T2
where T2.OBJECT_NAME=T1.constraint_name AND T1.OWNER IN ('JP');
确认查询结果:
T1.STATUS为ENABLED
T1.VALIDATED为VALIDATED
T2.status为VALID
如果不是,需要修改为打开状态。
Linux\Unix传到Oracle用户即可,windows传到Oracle的安装用户下
主要配置以下三个变量:
ORACLE_SID ORACLE_HOME LD_LIBRARY_PATH(LINUX环境)
其中D_LIBRARY_PATH写ogg的安装目录
export LD_LIBRARY_PATH=/ggs/11.0:$LD_LIBRARY_PATH
windows环境需要加入到服务中
.\install addservice
./ggsci
create subdirs
配置mgr参数
edit params mgr
port 7809
DYNAMICPORTLIST 7840-7898
autostart er *
autorestart er *, retries 5, waitminutes 3
PURGEOLDEXTRACTS ./dirdat/*,USECHECKPOINTS, MINKEEPDAYS 7
启动mgr
start mgr
确认mgr启动成功
info all
启动进程
start pmp_ynkg
确认启动成功
info all
dblogin userid goldengate, password goldengate
编辑GLOBALS文件
edit params ./GLOBALS
Checkpointtable goldengate.chkptable
增加添加checkpoint table
add checkpointtable goldengate.chkptable
添加replicat进程
ADD REPLICAT rep_ynkg EXTTRAIL ./dirdat/rd,checkpointtable goldengate.chkptable
配置replicat进程
edit params rep_ynkg
REPLICAT rep_ynkg
SETENV (NLS_LANG = "AMERICAN_AMERICA.ZHS16GBK")
USERID goldengate , PASSWORD goldengate
--REPORT AT 01:59
--REPORTROLLOVER AT 02:00
ASSUMETARGETDEFS
--GETTRUNCATES
--allownoopupdates
dynamicresolution
--NOBINARYCHARS
--NODYNSQL
--SHOWSYNTAX
--GROUPTRANSOPS 1
--MAXTRANSOPS 1
NUMFILES 3000
REPERROR defult,abend
DISCARDFILE ./dirrpt/rep_ynkg.dsc, APPEND, MEGABYTES 100
--PURGEOLDEXTRACTS ./dirdat/rd*,USECHECKPOINTS, MINKEEPDAYS 7
MAP AJDBO.* , TARGET AJDBO.*;
启动replicat进程(RMAN恢复的情况下)
start replicat rep_ynkg , atcsn xxxxxxxx (前边确定的SCN4)
启动replicat进程(使用导入导出的情况下)
start replicat rep_ynkg , aftercsn xxxxx (前边确定的SCN3)
工具csscan用于检查从一个字符集转换到另一个字符集,数据库中的数据是否会产生丢失、截断等现象。
本实验将ZHS16GBK转换到AL32UTF8
[oracle@dbserver1 bin]$ csscan userid=thams/thams table=libfile722 tochar=AL32UTF8 log=/home/oracle/scan_722
Character Set Scanner v2.2 : Release 11.2.0.2.0 - Production on Wed Aug 31 10:54:15 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
CSS-00127: user thams does not have DBA privilege
Scanner terminated unsuccessfully.
错误信息很明显,连接用户不是DBA角色,如果用system用户连接进行这个命令:
[oracle@dbserver1 bin]$ csscan userid=system/oracle table=thams.libfile722 tochar=AL32UTF8 log=/home/oracle/scan_722
Character Set Scanner v2.2 : Release 11.2.0.2.0 - Production on Wed Aug 31 10:54:45 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
CSS-00107: Character set migration utility schema not installed
Scanner terminated unsuccessfully.
导致这个错误是由于CSSCAN工具需要在数据库中建立一个CSMIG用户:
[oracle@dbserver1 bin]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Wed Aug 31 10:57:28 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
SQL> @?/rdbms/admin/csminst
User created.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
User altered.
1 row created.
1 row updated.
Table created.
.
.
.
View created.
View created.
View created.
View created.
Grant succeeded.
Grant succeeded.
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
[oracle@dbserver1 bin]$ csscan userid=system/oracle table=thams.libfile722 tochar=AL32UTF8 log=/home/oracle/scan_722
Character Set Scanner v2.2 : Release 11.2.0.2.0 - Production on Wed Aug 31 10:59:35 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
Enter array fetch buffer size: 1024000 > 4096000
Enter number of scan processes to utilize(1..64): 1 >
Enumerating table to scan...
. process 1 scanning THAMS.LIBFILE722[AAAP2KAAAAAB7XYAAA]
Creating Database Scan Summary Report...
Creating Individual Exception Report...
Scanner terminated successfully.
调用csminst.sql脚本创建辅助用户和对象后,再次运行csscan工具,对表中数据进行转换前的扫描。
工具csscan的调用有命令行方式,和交互两种,当命令行没有提供足够的参数,工具会以交互方式获取其他参数。
操作完成后,可以检查对应的日志信息:
[oracle@dbserver1 bin]$ more /home/oracle/scan_722.err
Database Scan Individual Exception Report
[Database Scan Parameters]
Parameter Value
------------------------------ ------------------------------------------------
CSSCAN Version v2.1
Instance Name fhacdb1
Database Version 11.2.0.2.0
Scan type Selective tables
Scan CHAR data? YES
Database character set ZHS16GBK
FROMCHAR ZHS16GBK
TOCHAR AL32UTF8
Scan NCHAR data? NO
Array fetch buffer size 4096000
Number of processes 1
Capture convertible data? NO
------------------------------ ------------------------------------------------
[Data Dictionary individual exceptions]
[Application data individual exceptions]
User : THAMS
Table : LIBFILE722
Column: F4
Type : VARCHAR2(42)
Number of Exceptions : 1
Max Post Conversion Data Size: 45
ROWID Exception Type Size Cell Data(first 30 bytes)
------------------ ------------------ ----- ------------------------------
AAAP2KAAAAAB+u0AAE exceed column size 45 巡视台湾兼理学政陕西道监察御史
------------------ ------------------ ----- ------------------------------
[oracle@dbserver1 bin]$ more /home/oracle/scan_722.out
Character Set Scanner v2.2 : Release 11.2.0.2.0 - Production on Wed Aug 31 10:59:35 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
Enter array fetch buffer size: 1024000 >
Enter number of scan processes to utilize(1..64): 1 >
Enumerating table to scan...
. process 1 scanning THAMS.LIBFILE722[AAAP2KAAAAAB7XYAAA]
Creating Database Scan Summary Report...
Creating Individual Exception Report...
Scanner terminated successfully.
[oracle@dbserver1 bin]$ more /home/oracle/scan_722.txt
Database Scan Summary Report
Time Started : 2011-08-31 10:59:48
Time Completed: 2011-08-31 10:59:50
Process ID Time Started Time Completed
---------- -------------------- --------------------
1 2011-08-31 10:59:49 2011-08-31 10:59:49
---------- -------------------- --------------------
[Database Size]
Tablespace Used Free Total Expansion
------------------------- --------------- --------------- --------------- ---------------
SYSTEM 581.81M 118.19M 700.00M .00K
SYSAUX 521.38M 78.63M 600.00M .00K
UNDOTBS1 7.44M 20,699.56M 20,707.00M .00K
TEMP .00K .00K .00K .00K
USERS 1,930.38M 139.88M 2,070.25M .00K
LOB_AU2M 8,176.13M 1,937,423.88M 1,945,600.00M 212.00K
LOB_AU8M 10,074.69M 501,925.31M 512,000.00M .00K
DATA_ARCHIVE 5,332.06M 1,018,667.94M 1,024,000.00M .00K
LOB_AU32M 4,772.38M 507,227.63M 512,000.00M .00K
LOB_AU64M 4,548.38M 507,451.63M 512,000.00M .00K
------------------------- --------------- --------------- --------------- ---------------
Total 35,944.63M 4,493,732.63M 4,529,677.25M 212.00K
[Database Scan Parameters]
Parameter Value
------------------------------ ------------------------------------------------
CSSCAN Version v2.1
Instance Name fhacdb1
Database Version 11.2.0.2.0
Scan type Selective tables
Scan CHAR data? YES
Database character set ZHS16GBK
FROMCHAR ZHS16GBK
TOCHAR AL32UTF8
Scan NCHAR data? NO
Array fetch buffer size 4096000
Number of processes 1
Capture convertible data? NO
------------------------------ ------------------------------------------------
[Scan Summary]
Some character type application data are not convertible to the new character set
[Data Dictionary Conversion Summary]
Data Dictionary Tables:
Datatype Changeless Convertible Truncation Lossy
--------------------- ---------------- ---------------- ---------------- ----------------
VARCHAR2 0 0 0 0
CHAR 0 0 0 0
LONG 0 0 0 0
VARRAY 0 0 0 0
--------------------- ---------------- ---------------- ---------------- ----------------
Total 0 0 0 0
Total in percentage 0.000% 0.000% 0.000% 0.000%
XML CSX Dictionary Tables:
Datatype Changeless Convertible Truncation Lossy
--------------------- ---------------- ---------------- ---------------- ----------------
VARCHAR2 0 0 0 0
CHAR 0 0 0 0
LONG 0 0 0 0
VARRAY 0 0 0 0
--------------------- ---------------- ---------------- ---------------- ----------------
Total 0 0 0 0
Total in percentage 0.000% 0.000% 0.000% 0.000%
[Application Data Conversion Summary]
Datatype Changeless Convertible Truncation Lossy
--------------------- ---------------- ---------------- ---------------- ----------------
VARCHAR2 222,683 28,308 1 0
CHAR 0 0 0 0
LONG 0 0 0 0
VARRAY 0 0 0 0
--------------------- ---------------- ---------------- ---------------- ----------------
Total 222,683 28,308 1 0
Total in percentage 88.721% 11.278% 0.000% 0.000%
[Distribution of Convertible, Truncated and Lossy Data by Table]
Data Dictionary Tables:
USER.TABLE Convertible Truncation Lossy
---------------------------------------- ---------------- ---------------- ----------------
---------------------------------------- ---------------- ---------------- ----------------
XML CSX Dictionary Tables:
USER.TABLE Convertible Truncation Lossy
---------------------------------------- ---------------- ---------------- ----------------
---------------------------------------- ---------------- ---------------- ----------------
Application Data:
USER.TABLE Convertible Truncation Lossy
---------------------------------------- ---------------- ---------------- ----------------
THAMS.LIBFILE722 28,308 1 0
---------------------------------------- ---------------- ---------------- ----------------
[Distribution of Convertible, Truncated and Lossy Data by Column]
Data Dictionary Tables:
USER.TABLE|COLUMN Convertible Truncation Lossy
---------------------------------------- ---------------- ---------------- ----------------
---------------------------------------- ---------------- ---------------- ----------------
XML CSX Dictionary Tables:
USER.TABLE|COLUMN Convertible Truncation Lossy
---------------------------------------- ---------------- ---------------- ----------------
---------------------------------------- ---------------- ---------------- ----------------
Application Data:
USER.TABLE|COLUMN Convertible Truncation Lossy
---------------------------------------- ---------------- ---------------- ----------------
THAMS.LIBFILE722|F11 4,648 0 0
THAMS.LIBFILE722|F2 4,643 0 0
THAMS.LIBFILE722|F3 4,648 0 0
THAMS.LIBFILE722|F46 222 0 0
THAMS.LIBFILE722|F6 4,312 0 0
THAMS.LIBFILE722|F7 565 0 0
THAMS.LIBFILE722|TITLE 4,642 0 0
---------------------------------------- ---------------- ---------------- ---------------
[Indexes to be Rebuilt]
USER.INDEX on USER.TABLE(COLUMN)
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
工具csscan会生成三个日志,一个err记录错误信息,比如这个例子中,一个列的长度需要变长,否则无法容纳数据长度的扩展;一个log记录操作步骤;而txt则是最终的汇总信息。