Informix 知识集锦

本文介绍了如何使用dbschema工具来导出数据库的各种结构,包括表、存储过程、触发器等,并提供了详细的命令示例。此外,还介绍了如何通过onspaces命令管理和调整数据库空间。
如何使用dbschema 工具卸出数据库的结构 <畲濾澁v? 
例如:
珃??T? 
1)导出数据库中所有的表结构到文件db.sql
剉缯m瀛孃? 
$>dbschema -d your_database -t all db.sql
q. $儡?? 
2)导出数据库中所有的存储过程到文件db.sql
壟貽堠^"? 
$>dbschema -d your_database -f all db.sql
C€^B?E乊? 
3)导出数据库中的所有对象(包含表,存储过程,触发器……)到文件db.sql
x锔xkv?弝  
$>dbschema -d your_database db.sql
?? $?  
4)导出数据库中一个表的结构到文件db.sql
???d潁y  
$>dbschema -d your_database_name -t your_table_name db.sql
珞椭?赎%p  
5)导出一个存储过程定义到文件db.sql
f8V蘰憇?? 
$>dbschema -d your_database_name -f your_procedure_name db.sql
剰o&罡睵  
6)如果导出更多的表的信息(EXTENT...)
划-D緄  
$>dbschema -d your_database_name -ss db.sql
| R??籢? 
7)导出数据库中对用户或角色的授权信息
淑y蚟O  
$>dbschema -d your_database_name -p all
X/???W  
$>dbschema -d your_database_name -r all
舦>H?0? 
8)导出数据库中的同义词
[筰P.vAV  
$>dbschema -d your_database_name -s all
锒漦+:译? 
//*****************************************************************************
崨h)溢D? 
查询出一个数据库中所有的用户表
K^尙翉券d(  
select * from systables
o蟮牔滩詁  
where tabid > 99
貀齾?餍蚠  
// tabname 存放表的名字
N?肾{/貘  
// tabtype 存放表的类型 T=表,E=外部表,V=视图......
?fⅢ4a亾  
//SQL参考指南 nrows 表中的行数 ncols 表中的列数
l馣V7尖? 
//*****************************************************************************
?@ c跋T幗  
onstat -d 看一看你的数据库空间是怎么分配的
?褍铇?丽  
04Nw烋?鹞  
如果你在做dbimport的时候没有指定参数,那么会把整个数据库建在rootdbs上。
??B废  
如果数据库空间规划得比较细的话,应该有专用于装数据的dbspace。
莼髲`u儧? 
//*****************************************************************************
?? ~?? 
导出数据
? 6壥庎  
unload to database.txt
/v鎩,?傅  
select ......
,?Y€哸?4? 
from ...
?QFE蜔? 
where ....
&檀逰帲G!  
导入数据
t#閻嶢苌? 
load from database *.txt insert into tablename
劯?礫?? 
//*****************************************************************************
€?鱮ⅵOt  
提交建表脚本 dbaccess db_das(数据库名) - < 建表脚本 生成所需要的表
e ? ? 
dbaccess db_das db.sql
m鷺鶽拉?? 
db.sql是用dbschema -d db_das -t all db.sql导出的
? u寑渹  
//*****************************************************************************
襜秞F ?g  
同时生成dbspace 和 块
蒍N消&旳1? 
}謐酦3  
onspaces -c -d dbspaces1 -p D:/IFMXDATA/ol_chinaren5/ol_chinaren5_dat.000 -o 0 -s 200000
4惧?惽瘑  
Jq1D?Q?? 
本例中,生成新的dbspace名为dbspace1及其初始块,
;J}??+f  
分配在磁盘D:/IFMXDATA/ol_chinaren5/ol_chinaren5_dat.000中,
鸃H馃??? 
偏移量为o.初始长度为200MB(200000KB)。
??樖J_爩  
//*****************************************************************************
]溓[&f琤8u  
用onspaces命令在dbspace中增加块
u巬郜凇腧? 
?9? ?C  
onspaces -a dbspace1 -p D:/IFMXDATA/ol_chinaren5/ol_chinaren5_dat.000 -o 200000 -s 50000
GkN-I殬  
作用:在D:/IFMXDATA/ol_chinaren5/ol_chinaren5_dat.000 中为dbspace1增加50M空间
=釫r樕躖~  
-o 偏移量 必须为现在已有空间的大小s
b4矑K蛒  
5B>?~ox=  
//*****************************************************************************
%%?坤q)-  
为数据库空间,blob空间或sb空间分配NTFS文件空间
滶?F??R? 
I捣#放xK阯  
进入要存放文件空间的目录D:/IFMXDATA/ol_chinaren5
}娪{譚? 
3j娪?~? 
执行命令 copy nul my_chunk_dat.000
?矻 _2嫷  
就新建了一个my_chunk_dat.000 大小为0的文件
鄊爎斉覣  
然后用onspaces 为空间扩展大小 及分配dbspace
檡B6Fz<  
m?銌稉=nJ  
//*****************************************************************************
y虒 ?簖p? 
删除dbspace
fO毼.艢?  
<]NC?#  
onspaces -d dbspace1
?抱LO忎  
删除名为dbspace1的dbspace 空间
P/fZ晳  
拂圀?,@镛  
//*****************************************************************************
k>庉  
qKE%曏o?lt;? 
dbimport 导入数据
素膉僢U豅7  
橯>讥ば滴? 
运行数据库服务器dos界面 输入 oninit
煉B@"6?蚬  
在运行一个数据库服务器dos界面
S竝媪紮? 
直接输入:dbexport -o d:/informix db_das
>寛^h}@p  
              <保存的目录> 要导出的数据库
w今烳惉鯱? 
或者:dbexport -c -o d:/informix db_das
俋TS籞9x? 
导出完成 将提示 dbexport completed! 导出过程可能有点慢(等待)
^?7?埽.? 
导出完成后将在 <保存的目录> 下产生一个文件夹 db_das.exp(导出的数据库名.exp)
铱圥塣嵅n  
ユW猲hz? 
导入数据库
7l鉨?? 
输入:dbimport -c -i   d:/informix       db_das
┻y1!崬M瓚  
            <db_das.exp所在的目录>   导入的数据库名
蝕旵萐?*  
或者:dbimport -c -X -i d:/informix/temp db_das -d practice
b)?'琝6 ? 
-c 指示dbimport完成导入, 即使它遇到某些非致命错误
?窶ip帷甗  
-X 识别字符字段中的hex二进制数据
鬟P▍峔l  
-i 指定磁盘上database.exp目录的完整路径名,目录名应该与数据库名相同
敹G裴F嗄繈  
-d 指定创建数据库的数据空间
υg[飝蔅W  
?靮??籯  
将数据库改名 先更改.exp目录名称,在更改.sql模式文件名称
:怽垃?xh? 
目录名称必须和模式文件名称相同
G顣棬?2  
K3a躛`?  
导入完成 会有提示!
/裟?w蠕? 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值