两台oracle数据库相互导数据
案例说明:
有A,B两台oracle数据库,都为10g,现在有一个A数据库中one表的几条数据要插入到B数据库中的one表?
在网上查阅了一下,可以通过在A上建立dblink,当然在B机上建立也是一样的。
打开sqlplus终端,或者任意的oracle客户端环境,执行以下SQL
create database link 链接名
connect to 用户名 identified by 密码
using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 要连接的IP)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = 数据库的SID) ))';
例如:
create database link idtsxxzsp
connect to sxxzsp identified by sxxzsp
using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 199.66.68.15)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = idt) ))';
建立连接之后,就可以通过(表名@链接名)访问对方(即任一端)的表。
例如
insert into designer_form1 select * from designer_form@idtsxxzsp //把远端的的designer_from表数据全部插入到现连接的数据库中的designer_form1表中 。
insert into designer_form@idtsxxzsp select * from designer_form where id in (893,892,999) //这个是把本地数据有选择的插入到远端数据库中。(支持大对象)
所以这种方法可以实现案例。对于不同版本的oracle数据库,一样适用。
相关文档:
包由包规范和包体两部分组成。
1、包规范(Package Specification)
包规范,也叫做包头,包含了有关包的内容的信息。但是,它不包含任何过程的代码。
创建包头的语法一般如下
CREATE [OR REPLACE] PACKAGE package_name {IS | AS}
Procedure_name | function_name | variable_declaration | type_def ......
1、对象类型规范
创建对象类型规范的语法如下
CREATE [OR REPLACE] TYPE [schema.] type_name
[AUTHID {CURRENT_USER|DEFINER}] AS OBJECT (
Attribute1 datatype,
[attribute2 datatype,…]
[method 1]
[method 2]);
/
其中AUTHID指示将来执行该方法时, ......
ROLLUP和CUBE语句。
Oracle的GROUP
BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句。如果是ROLLUP(A, B, C)的话,首先会对(A、B、C)进行GROUP
BY,然后对(A、B)进行GROUP BY,然后是(A)进行GROUP BY,最后对全表进行GROUP BY操作。如果是GROUP BY
CUBE(A, B, C),则首先会对(A、B、C)进行GROUP
BY,然后依次是( ......
1. create table people (age int, id int);
2. 创建数据文件PeopleDate.txt.
数据为:
20,1
30,2
3. 创建 ......
一、ORACLE的启动和关闭
1、在单机环境下
要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下
su - oracle
a、启动ORACLE系统
oracle>svrmgrl
SVRMGR>connect internal
SVRMGR>startup
SVRMGR>quit
b、关闭ORACLE系统
oracle>svrmgrl
SVRMGR>connect internal
SVR ......