Create the datapump directory and grant privileges.
-- Query datapump directory. set linesize 200 pages 100 col privilege for a10 col directory_path for a40 select t.owner, privilege, directory_name, directory_path from user_tab_privs t, all_directories d where t.table_name(+) = d.directory_name orderby3, 2;
select*from dba_directories;
-- Create directory. create directory dpdir as'/home/oracle/dpdir'; grant read,write on directory dpdir to sys,system;
set pagesize 0; spool /home/oracle/char1.sql SELECT'alter table '|| t_column.table_name ||' modify '|| t_column.column_name ||' char('|| (t_column.data_length +ceil(t_column.data_length *0.5)) ||');'AS alter_sqlstr FROM user_tab_columns t_column, user_tables t_tables WHERE t_column.table_name = t_tables.table_name AND t_column.data_length <=1300 AND t_column.data_type ='CHAR'; spool off
set pagesize 0; spool /home/oracle/char2.sql SELECT'alter table '|| t_column.table_name ||' modify '||t_column.column_name ||' char(2000);'AS alter_sqlstr FROM user_tab_columns t_column, user_tables t_tables WHERE t_column.table_name = t_tables.table_name AND t_column.data_length >1300 AND t_column.data_length <2000 AND t_column.data_type ='CHAR'; spool off
set pagesize 0; spool /home/oracle/char3.sql SELECT'alter table '|| t_column.table_name ||' modify '|| t_column.column_name ||' varchar2('|| (t_column.data_length +ceil(t_column.data_length *0.5)) ||');'AS alter_sqlstr FROM user_tab_columns t_column, user_tables t_tables WHERE t_column.table_name = t_tables.table_name AND t_column.data_length <=2600 AND t_column.data_type ='VARCHAR2'; spool off
set pagesize 0; spool /home/oracle/char3.sql SELECT'alter table '|| t_column.table_name ||' modify '|| t_column.column_name ||' varchar2(4000);'AS alter_sqlstr FROM user_tab_columns t_column, user_tables t_tables WHERE t_column.table_name = t_tables.table_name AND t_column.data_length >2600 AND t_column.data_length <4000 AND t_column.data_type ='VARCHAR2'; spool off