Informix11.70培训笔记(1)

stop iptables
stop selinux




创建组和用户:
groupadd -g 2000 informix
useradd -g informix -u 2000 informix
cat /etc/group
cat /etc/passwd
passwd informix


grep informix /etc/group
grep informix /etc/passwd


update hostname:
vi /etc/sysconfig/network
修改:HOSTNAME=ifx1


配置主机名解析:
vi /etc/hosts
192.168.10.100  ifx1 ifx1.abc.com


使用vmware-tools上传informix软件,进行安装
cd /cdrom
mkdir /vmtools
cp *.tar.gz /vmtools
cd  /cdtools
 tar  -xzvf *.tar.gz
 ./*.pl
 
informix软件安装:
 
安装使用root用户,管理使用informix用户


安装的目录结构:/opt/IBM
权限:
mkdir -p /opt/IBM
chgrp informix /opt/IBM
chown informix /opt/IBM
(chown informix:informix /opt/IBM)


ids install:
cd /soft
./ids_install -i swing


 安装的时候现在OAT(open admin tool):
 用户admin,密码admin,端口8080


设置用户变量:informix
vi ~/.bash_profile
export INFORMIXDIR=/opt/IBM/informix
export INFORMIXSERVER=inst1
export PATH=$INFORMIXDIR/bin:.:$PATH
export ONCONFIG=onconfig.inst1


12、配置实例:一个实例可以管理多个数据库,一个数据库要属于某个实例,一个服务器上可以有多个实例
配置一个实例需要的条件
(1:informix)要有配置文件(参数文件):名称可任意(onconfig.inst1),在这个配置文件中会有一系列的键值对。配置文件可以从模板文件中拷贝
cd /opt/IBM/informix/etc
ls onconfig.*(onconfig.std)
cp onconfig.std onconfig.inst1
(2:informix)修改配置文件:
ROOTPATH   /dbs/rootdbs
LTAPEDEV   /dev/null
DBSERVERNAME inst1
NETTYPE    soctcp,1,50,CPU
(3:root)设置chunk:一个数据库至少要有一个dbspace,一个dbspace至少要有一个chunk,默认的dbspace是rootdbs
给rootdbs设置chunk(操作系统文件或者裸设备)
如果是操作系统文件,文件是一个空文件(不是目录),权限必须是660
mkdir -p /dbs
chown informix:informix /dbs
chmod 770 /dbs (informix用户和组有完全权限)
cd /dbs
touch rootdbs
chown informix:informix rootdbs
chmod 660 rootdbs


(4:informix)配置网络设置:sqlhosts
位置:/opt/IBM/informix/etc
从模板文件中拷贝
cd /opt/IBM/informix/etc
cp sqlhosts.std sqlhosts
修改sqlhosts文件:修改最后一行
instl onsoctcp 192.168.109.129 60000


(5:informix)初始化实例:
oninit -ivy
i:初始化(只需要做一次,重复做会删除用户的东西)
v:verbose显示详细信息
y;say yes


(6)检查实例的状态:
ps -aux|grep oninit
netstat -an|grep 60000


重启系统验证 reboot
oninit -vy


13:客户端工具 使用dbaccess字符界面的工具


dbaccess
(1)基于字符界面的菜单
(2)直接运行命令
运行命令,交互模式
dbaccess - - 


create database test2;
database test2;
create table t1
(
id int,
name varchar(20),
);
insert into t1 values(1,'u1');
select/update/delete^^^^^
ctrl+d 退回操作系统


连接特定的数据库:
dbaccess test2 -
info tables;
select * from t1;
insert into t1 values(3,'u3');


ctrl+d


或者
dbaccess - -
database test2;


dbaccess结合echo命令执行操作:
echo 'hello world'
echo "select * from t1"|dbaccess test2;


echo "create database test3" | dbaccess -
echo "create table tl(id int)" | dbaccess test3;
echo "insert into tl values (1)" | dbaccess test3;
echo "select * from tl" | dbaccess test3;


读取外部脚本:


cd
vi test5.sql
create database test4;
database test4;
create table t1
(
id int
);
insert into t1 values (1);
select * from t1;


dbaccess - /home/informix/test4.sql


dbaccess - -
在这个环境下支持调用操作系统命令:! cmd


查看数据库状态:onstat -
启动数据库:oninit -vy


创建脚本:
vi /home/informix/2.sql
create database a1;
database a1;
create table t1
(
id serial not null,
name varchar(20)
);
insert into t1 (name) values('name1');
insert into t1 (name) values('name2');
select * from t1;


创建新实例(和前面的inst1创建类似,注意修改如下):inst2
vi .bash_profile
修改两个值:
ONCONFIG
INFORMIXSERVER
sqlhosts里面修改:
端口61000
onconfig.inst2里面修改:
ROOTPATH /dbs/rootdbsinst2
DBSERVERNAME inst2
SERVERNUM 1 ---编号唯一。很重要,要不当前实例无法启动,或者其他实例无法启动


vi inst2.sh
export INFORMIXSERVER=inst2
export ONCONFIG=onconfig.inst2


要操作inst2的时候,执行上面的脚本文件:
. ./inst2.sh


查看当前实例有哪些数据库,从系统数据库中查询:sysmaster
dbaccess - -
database sysmaster
select name from sysdatabases;


echo "select name from sysdatabases" | dbaccess sysmaster


查看数据库中有哪些表:
select tabname from systables;  --系统表和用户表
只查看用户表:
select tabname from systables where tabid > 99;
info tables;


echo "select tabname from systables where tabid > 99" | dbaccess test1;


查看表的字段信息:
echo "info columns for t1" | dbaccess d1;


-------------------------------------------
whoami (root/informix)
echo $INFORMIXDIR
cd $INFORMIXDIR


echo $INFORMIXSERVER
echo $ONCONFIG
-------------------------------------------
关闭实例:
onmode -ky
启动实例:
oninit -vy


在informix数据库中对象的引用:
创建用户:用户是操作系统用户
useradd -g informix -u 2001 ifx1
passwd ifx1 <<EOF
abc
abc
EOF


验证用户:
su - informix
whoami
su - ifx1
whoami


su - informix
whoami
dbaccess - -
create database d5;
database d5;
create table t1
(
id int
);
insert into t1 values(1);
select * from t1;
select * from informix.t1;


create database d6;
database d6;
create table t2
(
id int
);
insert into t2 values(100);
select * from t2;
select * from informix.t2;
select * from t1;---error
select * from informix.t1;----error
select * from d5:t1;
select * from d5:informix.t1;
database d5;
select * from t2;---error
select * from informix.t2;----error
select * from d6:t2;
select * from d6:informix.t2;


ctrl+d
dbaccess - -
connect to '@inst2' ;--连接特定的实例
database d5;
select name from sysmaster:sysdatabases;
connect to '@inst1';
select name from sysmaster:sysdatabases;


informix数据库中通过create database命令创建的数据库是不记录日志的。
通过dbname:username.tabname方式访问时要求两个数据库有相同的日志模式。


database d5;
select * from d1:informix.t1; --success


database sysmaster;
select * from d1:informix.t1; --fail


database d5;
select * from d1@inst2:informix.tl; --在informix数据库中的全称引用(可以跨越实例访问)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值