ORACLE导出和导入实用程序
导出和导入实用程序
q 导出和导入实用程序用于实施数据库的逻辑备份和恢复
q 导出实用程序将数据库中的对象定义和数据备份到一个操作系统二进制文件中
q 导入实用程序读取二进制导出文件并将对象和数据载入数据库中
q
q 导出和导入实用程序的特点有:
q 可以按时间保存表结构和数据
q 允许导出指定的表,并重新导入到新的数据库中
q 可以把数据库迁移到另外一台异构服务器上
q 在两个不同版本的Oracle数据库之间传输数据
q 在联机状态下进行备份和恢复
q 可以重新组织表的存储结构,减少链接及磁盘碎片
导出导入模式:
完全数据库 导出和导入整个数据库中的所有对象
表 导出和导入一个或多个指定的表或表分区
用户 导出和导入一个用户模式中的所有对象
表空间 导出和导入一个或多个指定的表空间中的所有对象
导出实用程序有以下常用命令参数:
参数
说明
USERID
确定执行导出实用程序的用户名和口令
BUFFER
确定导出数据时所使用的缓冲区大小,其大小用字节表示
FILE
指定导出的二进制文件名称,默认的扩展名是.dmp
FULL
指定是否以全部数据库方式导出,只有授权用户才可使用此参数
OWNER
要导出的数据库用户列表
HELP
指定是否显示帮助消息和参数说明
ROWS
确定是否要导出表中的数据
TABLES
按表方式导出时,指定需导出的表和分区的名称
PARFILE
指定传递给导出实用程序的参数文件名
TABLESPACES
按表空间方式导出时,指定要导出的表空间名
按用户方式导出数据
exp userid=scott/tiger@HP2008 file=scott_back.dmp owner=scott
按表方式导出数据
exp scott/tiger@HP2008 tables=(emp, dept) file=scott_back_tab
按表空间方式导出数据
exp system/ system@HP2008 tablespaces=(
相关文档:
Oracle提供的序号函数:
以emp表为例:
1: rownum 最简单的序号 但是在order by之前就确定值.
select rownum,t.* from emp t order by ename
行数
ROWNUM
EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO
1
11
7876
ADAMS
CLERK
7788
1987-5-23
1100
20
2
2
7499
ALLEN
SALESMAN
7698
......
http://tech.163.com/05/0701/10/1NIODMQS00091589.html
因为在PL/SQL 中并没有数组.
这是偶查资料找的范例和自己写的范例来解释如何在PL/SQL 中使用数组. 也许很多人已知道, 不过就是让不知道的朋友们了解一下吧。
----------------------
单维数组
------------------------
DECLARE
TYPE
emp_ssn_array IS TA ......
select custid,carid,Cunote,INVNO,BUYPLAN
from ( select custid,carid,Cunote,INVNO,BUYPLAN,
row_number() over(partition by custid,carid order by Feedbackid desc) rn
from pvE3S.T_VCTM_CUSTOMER_FEEDBACK) t1 where rn=1
按Feedbackid 排序,rn是前N行 ......
t表中将近有1100万数据,很多时候,我们要进行字符串匹配,在SQL语句中,我们通常使用like来达到我们搜索的目标。但经过实际测试发现,like的效率与instr函数差别相当大。下面是一些测试结果:
SQL> set timing on
SQL> select count(*) from t where instr(title,’手册’)>0;
COUNT(*)
—&md ......
过程、函数
create or replace procedure p1
is
empname emp.ename%type;
begin
select ename into empname from emp where empno=7788;
dbms_output.put_line(empname);
end;
SQL> ed
SQL> /
Procedure created
SQL> exec p1;
......