数据导出导入
参考:http://www.cnblogs.com/jason_lb/archive/2007/02/09/645586.html
导出数据exp
1)将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
2)将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
3)将数据库中的表inner_notify、notify_staff_relat导出
exp aichannel/aichannel@TESTDB2 file= d:\datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4)将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=" where filed1 like '00%'"
导入数据imp
1)将D:\daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:\daochu.dmp
imp aichannel/aichannel@TEST full=y file=d:\datanewsmgnt.dmp ignore=y
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上ignore=y 就可以了
2)将d:daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
创建表空间
create tablespace TBLSMS
datafile 'D:/oracle/product/10.2.0/oradata/shenhq/tblsms.dbf' size 5m reuse
AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
/
与操作系统有一些相关,因为涉及数据文件的指定:
create tablespace TBLSMS
datafile '/opt/app/oracle/oradata/stariboss/tblsms.dbf' size 5m reuse
AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
/
创建用户并配置权限
-- Create the user
create user [user_name]
identified by "[user_name]"
default tablespace [default_tablespace_name]
temporary tablespace [temp_tablespace_name]
profile DEFAULT;
-- Grant/Revoke role privileges
grant dba to [user_name];
-- Grant/Revoke system privileges
grant insert any table to [user_name];
grant select any table to [user_name];
grant update any table to [user_name];
grant unlimited tablespace to [user_name];
典型的存储过程编写
不会写PL/SQL不叫会用Oracle
存储过程
spool .[log_name].log
prompt
prompt Creating procedure [procedure_name]
prompt
create or replace procedure [procedure_name]
is
sql_code varchar2(50);
sql_errm varchar2(100);
cursor [cur_name] is
{select sql};
v_cnt number;
begin
v_cnt := 0;
for v_instanceservice in [cur_name] loop
begin
{some update sql};
v_cnt := v_cnt + 1;
if mod(v_cnt, 10000) = 0 then
commit;
end if;
exception
when others then
sql_code := sqlcode;
sql_errm := sqlerrm;
dbms_output.put_line(sql_code || ' ' || sql_errm ||
' at servicestr ' ||
v_instanceservice.servicestr);
end;
end loop;
commit;
dbms_output.put_line('Total is:' || v_cnt);
end;
/
spool off
函数
create or replace function [function_name]([parameters_name] [parameters_type])
return varchar2 IS
v_result varchar2(100);
{use parameters in sql as value}
begin
v_result := null;
{process nothing to say}
return v_result;
end [function_name];
修改表
增加字段
create or replace procedure ALTER_TABLE is
v_count number;
begin
select count(*)
into v_count
from user_tab_columns u
where u.TABLE_NAME = [表名]
and (u.COLUMN_NAME = [字段名,如果多个用OR拼接条件]);
if v_count < 1 then
execute immediate '[增加字段的ALTER脚本]';
end if;
commit;
end;
/
exec ALTER_TABLE;
DROP PROCEDURE ALTER_TABLE;
其他杂项
调整一批sequence的值
create or replace procedure adjust_seq_value_prc
is
sql_code varchar2(50);
sql_errm varchar2(100);
cursor cur_get_seq_info is
select us.sequence_name, us.last_number, us.increment_by, us.cache_size
from user_sequences us
where us.sequence_name not in
('[sequence_name]', '[sequence_name]', ......);
begin
for v_get_seq_info in cur_get_seq_info loop
begin
execute immediate 'alter sequence ' || v_get_seq_info.sequence_name ||
' increment by [number_want_to_add] nocache';
execute immediate 'select ' || v_get_seq_info.sequence_name ||
'.nextval from dual'
execute immediate 'alter sequence ' || v_get_seq_info.sequence_name ||
' increment by ' || v_get_seq_info.increment_by ||
' nocache';
exception
when others then
sql_code := sqlcode;
sql_errm := sqlerrm;
dbms_output.put_line(sql_code || ' ' || sql_errm);
end;
end loop;
end;
/
(有新知新得再补充,待续……)
分享到:
相关推荐
Oracle Provider for OLE DB 是一种基于开放标准的数据提供程序,其设计目标是使开发人员能够通过微软的OLE DB技术来访问Oracle数据库。OLE DB是微软公司推出的一种数据访问技术,用于访问各种不同类型的数据源,...
这种模式适用于系统间没有提供现成API的情况,开发人员需要理解Oracle EBS的数据结构和业务逻辑来创建接口。 1.2 **Open API模式** Open API模式则提供了预定义的API(Application Programming Interface),可以...
Oracle应用开发指南是学习Oracle技术不可或缺的资源,它不仅适用于普通开发者,对于任何寻求掌握Oracle应用开发的专业人士而言,都是宝贵的参考资料。通过阅读和实践指南中的内容,开发人员能够更加高效地利用Oracle...
Oracle是一种广泛使用的数据库管理系统,其强大的功能和稳定性使其在全球范围内拥有大量的用户。...Oracle开发入门书籍通过系统化的讲解,为初学者打下坚实的基础,帮助他们逐步成长为专业的Oracle数据库开发人员。
正因为如此,当前国内oracle开发人员的岗位需求大幅度增加,投身oracle开发的人数也日益增多。 一个好的0racie开发人员不仅要知道一些基本语法和常见用法,还需要知道何时用、如何用、怎么避免相关误区、写出高...
《Oracle9iDS Forms 开发人员参考指南》是针对 Oracle9iDS Forms 应用程序开发的专业性技术文档,发布于2002年3月,版本号为9.0.2,文档编号A97289-01。本书由 Orlando Cordero、Cathy Godwin 和 Dean Ho 等作者共同...
这部分介绍了如何让应用开发人员获得系统管理员的权限,以便进行更高级别的开发和配置工作。 **6.11 查询视图时没有显示数据** 这部分解决了查询视图时出现的常见问题——视图中没有数据,这可能是因为权限问题、...
本书详细介绍Oracle9i Web开发的完整信息,包括Oracle Web的体系结构,Web开发的核心概念,使用第三方模块来支持Apache服务器以及在Web...Oracle数据库开发人员以及涉及Oracle数据进行Web开发的人员都会从本书受益。
Oracle技术手册是数据库管理员、开发人员以及对Oracle数据库系统感兴趣的 IT 专业人士的重要参考资料。这份手册可能涵盖了Oracle数据库的安装、配置、性能优化、备份恢复、安全性管理、SQL查询语法、PL/SQL编程等多...
其PL/SQL编程语言允许开发人员创建复杂的存储过程、触发器和函数,以实现业务逻辑。此外,Oracle的表分区和索引策略能有效提高查询性能,如范围分区、列表分区、哈希分区等。 Oracle对象关系数据库技术则是其独特的...
对于应用程序开发人员和初学者来说,掌握Oracle开发技术至关重要。这份"ORACLE 开发技术资料"压缩包提供了丰富的学习资源,帮助你深入了解Oracle数据库的核心概念和操作。 1. **Oracle数据库基础** - 数据库模型:...
Oracle数据库在应用开发中扮演着至关重要的角色,它是一个强大且广泛使用的数据库管理系统,尤其适合企业级的...这不仅有助于构建高效的人事管理系统,也为其他基于Oracle数据库的应用开发提供了坚实的理论和技术基础。
Oracle JDeveloper是Oracle SOA Suite的重要组成部分,它为开发人员提供了一个直观的开发环境,支持拖放式组件设计和代码自动生成。这大大降低了学习曲线,提高了开发效率。 #### 五、部署考虑因素 在部署Oracle ...
Oracle 9i Web开发指南是针对使用Oracle 9i数据库进行Web应用程序开发的专业参考资料。...该指南涵盖了从基础概念到高级特性的全面教程,对于希望在Oracle平台上进行Web开发的人员来说,是一份宝贵的资源。
《Oracle TimesTen C 开发人员和参考指南》深入解析了Oracle TimesTen内存数据库在C语言环境下的开发与应用,为专业开发人员提供了详尽的技术指导和实用参考。本指南覆盖了从基本概念到高级功能的全面知识,是任何...
安装 Oracle 监听器和常用 Oracle 命令 在本文中,我们将详细介绍如何在 CentOS Linux 上安装 Oracle 监听器,并介绍一些常用的 Oracle 命令。...这些知识点对于 Oracle 数据库管理员和开发人员来说都是非常重要的。
- **目标读者**:本书面向对Oracle E-Business Suite R12.11感兴趣的开发人员、系统分析师、项目经理以及IT管理人员。 - **主要内容**:本书详细介绍了Oracle E-Business Suite R12.11的开发和扩展技术,包括但不...
3. **Oracle Developer Tools for Visual Studio**:这个工具集提供了对Visual Studio的集成支持,包括数据库对象的拖放设计、SQL编辑器等,方便开发人员进行数据库应用的开发。 4. **网络配置**:安装客户端后,...