方式一.
执行以下sql语句创建database link
create database link test_link --链接名
connect to 用户名 identified by 密码
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 数据库服务器地址)(PORT = 端口)) –-端口默认1521
)
(CONNECT_DATA =
(SERVICE_NAME = ctaiscs) --oracle9i以后推荐使用全局数据库名
)
)'
SERVICE_NAME=ctais,可以使用 SID = 数据库SID的方式
Ok,现在就可以查询远程数据库;
Select * from employee@test_link
方式二
a)配置服务命名
打开C:\Oracle\ora92\network\admin\ tnsnames.ora,添加服务命名
服务名 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.6.30.12)(PORT = 1521))
)
(CONNECT_DATA =
......
1、创建存储过程
create or replace procedure test(var_name_1 in type,var_name_2 out type) as
--声明变量(变量名 变量类型)
begin
--存储过程的执行体
end test;
打印出输入的时间信息
E.g:
create or replace procedure test(workDate in Date) is
begin
dbms_output.putline('The input date is:'||to_date(workDate,'yyyy-mm-dd'));
end test;
2、变量赋值
变量名 := 值;
E.g:
create or replace procedure test(workDate in Date) is
x number(4,2);
begin
x := 1;
end test;
3、判断语句:
if 比较式 then begin end; end if;
E.g
create or replace procedure test(x in number) is
begin
if x >0 then
begin
x := 0 - x;
end;
end if;
if x = 0 then
begin
&nb ......
在Oracle RAC环境中,系统性能会受到影响,主要集中在Block在instance之间的传输,尽管oracle 10g 中采用了Cache Fusion来改善以前重disk中读取数据。其中的一个部分就是关于oracle sequence的性能问题
下面是关于sequence 的cache和order对rac 性能的影响,从测试中看到增大cache和采用non-ordered的sequence性能受到的影响很小。
drop sequence test_rac;
create sequence test_rac;
set timing on
declare
dummy number;
begin
for i in 1..50000 loop
select test_rac.nextval into dummy from dual;
end loop;
end;
/
cache 20, non-ordered
one instance - 2.46 seconds
two instance - 6.20 seconds
drop sequence test_rac;
create sequence test_rac order;
set timing on
declare
dummy number;
begin
for i in 1..50000 loop
select test_rac.nextval into dummy from dual;
end loop;
end;
/
cache 20, ordered
one instance - 5.29 seconds
two instance - 13.30 seconds
drop sequence test_rac;
CREATE SEQUENCE test_rac
CACHE 1000;
set timing on
declare
dummy number;
beg ......
Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。
Oracle存储过程可以有无参数存储过程和带参数存储过程。
一、无参程序过程语法
1 create or replace procedure NoParPro
2 as ;
3 begin
4 ;
5 exception //存储过程异常
6 ;
7 end;
8
二、带参存储过程实例
1 create or replace procedure queryempname(sfindno emp.empno%type) as
2 sName emp.ename%type;
3 sjob emp.job%type;
4 begin
5 ....
7 exception
....
14 end;
15
三、 带参数存储过程含赋值方式
1 create or replace pr ......
以前经常使用oracle的客户端工具toad来进行数据库的导入和导出,其实个人倒不喜欢用这个客户端工具,感觉功能很强大的一个工具,dba适用。开发还是用pl/sql比较好,简洁的界面。
C:\Users\Administrator>imp nwgis/pass file=e:/nwgis20100529.DMP log=dible_db full=y ignore=y
启动命令行,修改下相关的参数,即可以按照用户来进行整改库的导入工作。
简单的介绍下,要深入了解,还得读者钻研。
这里给自己记个笔记。 ......
今天写有关Oracle中函数与触发器的内容,在数据库中定义并使用存储过程、函数、触发器,可以提高用户访问数据库的效率。
数据库中函数包含四个部分:声明、返回值、函数体和异常处理。
1 create or replace function getname(sno varchar2 )
2 return varchar is
3 name varchar(12 );
4 begin
5 select ename into name from emp where empno= sno;
6 return name;
7 exception
8 ...
12 end ;
13
触发器是一种特殊的存储过程,类似于其它编程语言中的事件函数,允许为 INSERT、UPDATE、DELETE 创建触发器,当在表(视图)中插入、更新、删除记录(前、后)时,触发一个或一系列 T-SQL 语句。
......