扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
在 9i 中使用 exp 命令导出 成 dmp 文件,在 10g 中用 imp 命令导入。
专注于为中小企业提供成都网站建设、网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业怒江州免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
在操作系统命令行上,( unix, linux 请以 oracle 用户登陆,具体用户名可
ps -ef |grep pmon 看第一列的值。)
exp
用户名可以输入 / as sysdba
数组提取缓冲区大小最好改大点, 输入 10485760
导出文件名,自己取个容易记的名字, 如 db_exp.dmp
然后,根据你的需要,是全库导出,则输入 E, 仅导出某几个用户,则输入 U,仅导出几个表,则输入 T,
导出权限,按回车
导出表数据,按回车,如果输入 no 则只导出表结构,不导出数据
对于"压缩区“,要回答 no,不要缺省的 yes
后面,再根据提示输入相应的用户名或是 用户名.表名 即可,
一行输一个,全部输完后,输入回车。
导出后,用 binary 方式 传至 10g 库所在的主机上,
命令行,使用
imp file=导出指定的文件名 full=y igore=y buffer=104857600
即可导入 10g
大型项目开发中,常用的数据库,当属Oracle。但Oracle
客户端安装就要一张光盘,体积很大。而且安装后,基本上就用2个功能:TNS配置服务名,SqlPlus。在开发过程中,大量使用Toad和PL/SQL
Developer。因此,Oracle客户端安装盘,仅仅是被作为一个驱动而需要,根本没必要装那么大的空间。因此,本文给出了如何使用精简的Oracle客户端。
我使用两种精简的Oracle客户端,大家可以任选其一:
一、Oracle
9i
(版本:
9.0.1.0.1)精简客户端
绿色版
占用35M空间,
带SqlPlus工具。绿色版,超级推荐!!!
使用方法:
1.
确定OracleHome目录:比如我准备把Oracle
客户端放在
d:\program
files\Oracle
下
2.
把ora90目录复制到d:\program
files\Oracle
目录下
3.
如果你的OracleHome目录与我的不同,请用计事本打开install_oracle9i.reg
文件,替换d:\\progra~1\\Oracle,保存。
4.
双击install_oracle9i.reg,
导入注册表。
5.
用计事本打开D:\Program
Files\Oracle\ora90\network\ADMIN\tnsnames.ora
文件,增加一个自己的数据库别名配置,保存。
可以复制其中的一个,然后进行修改,主要改=前面的别名,Host为IP地址,
SERVICE_NAME为数据库服务器的实例名。
6.
然后运行D:\Program
Files\Oracle\ora90\BIN\sqlplusw.exe,输入用户名/密码@别名,即可。
卸载方法:
1.
双击uninstall_oracle9i.reg,
导入注册表。
2.
删除d:\program
files\Oracle
目录。
貌似你也写错了
应该是wm_concat
这样,按步骤执行
1、创建type头
create or replace type string_sum_obj as object (
--聚合函数的实质就是一个对象
sum_string varchar2(4000),
static function ODCIAggregateInitialize(v_self in out string_sum_obj) return number,
--对象初始化
member function ODCIAggregateIterate(self in out string_sum_obj, value in varchar2) return number,
--聚合函数的迭代方法(这是最重要的方法)
member function ODCIAggregateMerge(self in out string_sum_obj, v_next in string_sum_obj) return number,
--当查询语句并行运行时,才会使用该方法,可将多个并行运行的查询结果聚合
member function ODCIAggregateTerminate(self in string_sum_obj, return_value out varchar2 ,v_flags in number) return number
--终止聚集函数的处理,返回聚集函数处理的结果.
)
2、创建type具体
create or replace type body string_sum_obj is
static function ODCIAggregateInitialize(v_self in out string_sum_obj) return number is
begin
v_self := string_sum_obj(null);
return ODCICONST.Success;
end;
member function ODCIAggregateIterate(self in out string_sum_obj, value in varchar2) return number is
begin
/* 连接,解决逗号分隔第一个字母是逗号的问题 */
if not self.sum_string is null then
self.sum_string := self.sum_string ||','|| value;
else
self.sum_string := self.sum_string || value;
end if;
return ODCICONST.Success;
/* 最大值 */
if self.sum_stringvalue then
self.sum_string:=value;
end if;
/* 最小值 */
if self.sum_stringvalue then
self.sum_string:=value;
end if;
return ODCICONST.Success;
end;
member function ODCIAggregateMerge(self in out string_sum_obj, v_next in string_sum_obj) return number is
begin
/* 连接 */
self.sum_string := self.sum_string || v_next.sum_string;
return ODCICONST.Success;
/* 最大值 */
if self.sum_stringv_next.sum_string then
self.sum_string:=v_next.sum_string;
end if;
/* 最小值 */
if self.sum_stringv_next.sum_string then
self.sum_string:=v_next.sum_string;
end if;
return ODCICONST.Success;
end;
member function ODCIAggregateTerminate(self in string_sum_obj, return_value out varchar2 ,v_flags in number) return number is
begin
return_value:= self.sum_string;
return ODCICONST.Success;
end;
end;
3、创建函数
create or replace function wm_concat(value Varchar2) return Varchar2
parallel_enable aggregate using string_sum_obj;
创建后,这个跟标准的wm_concat没区别,你要把逗号换成横杠的话,replace一下就可以
(2)Oracle9i默认情况下会把ctxsys用户锁定,请以DBA身份登陆Oracle,把用户ctxsys解锁,并修改其密码为ctxsys,以便于我们后面登陆Text Manager
(3)进入Oracle的text manager,点程序-Oracle-OracleHome92-Enterprise Manager Console。选独立启动,然后选工具栏最下面的应用程序-text Manager,这时会要求您输入用户名和密码,用户名ctxsys,密码ctxsys
(4)选择首选项——〉语言指定器——〉CTXSYS,选一个点类似创建,输入指示器的名字如chinese_lexer,选择lexer下的chinese_vgrnm_lexer 。
(5)建立索引,在索引上点右键,然后选创建CONTEXT索引,这里要注意方案要选择您自己的表空间,如我有个表SZPOI在表空间SUZHOU中,现在我要对该表的UNITNAME字段建立全文索引,那么方案选suzhou,表选szpoi,字段选unitname,首选项中选择chinese_lexer 。
这样全文检索就建好了,并用chinese_vgram_lexer作为分析器。
SELECT score(1),t.unitname,t.objectid,t.eminx,t.eminy,t.mpfullname,t.dianhua FROM szpoi t WHERE contains (unitname, '规划局,吴中分局', 1) 0 order by score(1) desc
这个语句的意思是在表szpoi中查询unitname包含规划局和吴中分局两个关键字的记录,并按匹配度从高到低排序。
大功告成了吗?没有!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流