Linux系统下启动DB2以及一些常用命令
Linux系统下DB2
- Linux系统下启动DB2
- 常用的一些数据库指令
- 1.数据库相关操作
- 2.表的相关操作
Linux系统下启动DB2
1.修改主机名为db2
vi /etc/sysconfig/network
将文件内容修改为:
NETWORKING=yes
HOSTNAME=db2
2.修改/etc/hosts 中主机名为db2
将文件修改成为如下:
127.0.0.1 redhat6 localhost db2 localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
3.切换到db2用户
su - db2inst1
chmod 775 sqllib/db2nodes.cfg
4.修改sqllib/db2nodes.cfg中主机名为db2
将文件修改成为如下:
0 db2 0
然后使用命令db2start
启动DB2数据库实例。
常用的一些数据库指令
1.数据库相关操作
- 开启数据库:
db2start
- 关闭数据库:
db2stop (force)
,后面加force为强制关闭,最好先保证db2 list application
没有应用连接 - 查看数据库版本
db2licm -v
或db2level
或者用SQL语句:
db2 select service_level from sysibmadm.env_init_info
- 查看db2的许可证信息:
db2licm -l
,导入许可证:db2licm -a <文件>
- 显示当前的实例:
db2 get instance
- 列出所有数据库:
db2 list db directory
- (指定路径)创建数据库:
db2 create db db_name (on /tmp)
- 连接数据库:
db2 connect to db_name
- 断开数据库连接:
db2 connect reset
或db2 disconnect current
- 数据库激活 :
db2 activate database db_name
- 查看激活的数据库:
db2 list active databases
- 停止激活:
db2 deactivate database db_name
- 删除数据库:
db2 drop database db_name
,注意删除数据库之前要使数据库处于deactive的状态 - 创建不同字符集的数据库
db2 create database db_name using codeset GBK territory CN
更多字符集(codeset)参考:DB2字符集官方文档
- 查看当前DB2数据库用户
db2 select current schema from sysibm.sysdummy1
# db2 "select current schema from sysibm.sysdummy1"
- 查看数据的相关配置
db2 get db cfg for db_name
- 设置数据库,允许进行增量备份
db2 update db cfg for <db_name> using trackmod on
- 设置归档模式数据库:
db2数据库的归档方法有如下几种off, logretain, userexit, disk, tsm, vendor。数据库的默认日志模式为循环日志记录即off.
1). 可以通过命令手动修改配置文件db2 update db cfg for <db_name> using logretain on db2 update db cfg for <db_name> using logarchmeth1 userexit db2 update db cfg for <db_name> using logarchmeth1 disk:/tmp db2 update db cfg for <db_name> using logarchmeth1 tsm
2).
db2 backup db <db_name> to /tmp
3). 强制归档:db2 archive log for db <db_name>
2.表的相关操作
- 列出数据库中的表:
db2 list tables
- 创建表:
db2 "create table table_name(vol1 , vol2 , vol3 ... )"
- 修改表名称:
db2 rename table <旧表名> to <新表名>
- 修改表中某字段名:
db2 alter table <table_name> rename column <old_column_name> to <new_column_name>
- 创建表指定表空间:
db2 create table table_name(vol1 , vol2 , vol3 ... ) in <tablespace_name> ;
# db2 "create table table_name(vol1 , vol2 , vol3 ... ) in <tablespace_name> "
- 创建一个主键自增的表:
db2 create table s1 (id int not null primary key generated always as identity (start with 20001,increment by +1),name varchar(200) not null) ;
# db2 "create table s1 (id int not null primary key generated always as identity (start with 20001,increment by +1),name varchar(200) not null) "
- 表的时间类型:
时间类型 | 默认当前时间 | 表达形式 |
---|---|---|
date | default current date | xx年xx月xx日,如 2021-03-01 |
time | default current time | x时x分x秒,如 11:00:21 |
timestamp | default current timestamp | 具体时间,如 2021-03-01-11.00.21.421000 |
- 查看表所在的表空间:
db2 select tabname,tbspace from syscat.tables where tabname = '表名' ; #表名大写
# db2 "select tabname,tbspace from syscat.tables where tabname = '表名' "
- 查看表所在的索引:
db2 select * from syscat.index where tabname = '表名' ; #表名大写
# db2 "select * from syscat.index where tabname = '表名' "
- 查询所有的表空间
db2 select tbsp_name, case TBSP_USING_AUTO_STORAGE when 1 then 'YES' else 'NO' end auto_storage from table (sysproc.MON_GET_TABLESPACE('',-1)) ;
# db2 "select tbsp_name, case TBSP_USING_AUTO_STORAGE when 1 then 'YES' else 'NO' end auto_storage from table (sysproc.MON_GET_TABLESPACE('',-1)) "
- 查询确认表空间(重点观察Containers一栏的内容)
db2 connect to <DBNAME>
db2pd -db <DBNAME> -tablespaces
- 插入数据:
db2 "insert into table_name values(value1,value2 ...)"
- 将文本文件的数据导入数据库某个表中,如将test.txt文件的数据导入到student表中:
db2 import from '(路径名)\test.txt' of del insert into student ;
- 显示数据:
db2 select * from table_name
- 创建BUFFERPOOL
db2 CREATE BUFFERPOOL epayBUFFER SIZE 1000 PAGESIZE 32K ;
# db2 "CREATE BUFFERPOOL epayBUFFER SIZE 1000 PAGESIZE 32K "
- 创建TABLESPACE(表空间)
表空间SMSMANAGED BY SYSTEM
(指定的最后可以是目录)
表空间DMSMANAGED BY DATABASE
(指定的最后只能是文件)
db2 CREATE TABLESPACE epaySpace PAGESIZE 32K MANAGED BY SYSTEM USING ('/home/db2inst1/epay/ts') BUFFERPOOL epayBUFFER ;
# db2 "CREATE TABLESPACE epaySpace PAGESIZE 32K MANAGED BY SYSTEM USING ('/home/db2inst1/epay/ts') BUFFERPOOL epayBUFFER "
db2 CREATE TABLESPACE TS_SPACE2 MANAGED BY DATABASE USING (FILE '/home/db2inst1/ts_space2/ts' 1000)
# db2 "CREATE TABLESPACE TS_SPACE2 MANAGED BY DATABASE USING (FILE '/home/db2inst1/ts_space2/ts' 1000)"
- 清空表数据
1).使用 DELETE 语句
db2 DELETE FROM < 表名 >
该语句将清除表中所有数据,但由于这一操作会记日志,因此执行速度会相对慢一些。另外要注意的是,如果表较大,那么为保证删除操作的成功,应考虑是否留有足够大的日志空间。
2).使用 NOT LOGGED INITIALLY 选项
db2 ALTER TABLE < 表名 > ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE
这一方法仅在所操作的表在创建时选择了 NOT LOGGED INITIALLY 选项进行定义后才可使用。整个删除操作将不会记日志,因此执行速度是这 4 种方法中最快的一种,但删除的数据是不可恢复的。
3).使用 LOAD 命令
db2 LOAD FROM /dev/null OF DEL REPLACE INTO < 表名 > NONRECOVERABLE
--(UNIX 系统或 LOAD FROM < 空文件 > OF DEL REPLACE INTO < 表名 > NONRECOVERABLE
在这一方法中,REPLACE 导入方式首先会将表中所有数据清空,然后 IMPORT/LOAD 又向表中导入了空数据,从而实现了数据的清除操作。
4).使用 DROP/CREATE TABLE 语句
db2 DROP TABLE < 表名 > CREATE TABLE < 表名 > < 字段的定义 >
如果保存有表的定义语句,或已利用 DB2LOOK 命令获得了表定义的脚本,那么也可先删除整个表,再重新创建表。如果表较大,那么用这种方法实现数据清空的速度会快于使用 DELETE 语句。但是用这种方法时要注意:如果这个表上有很多外键,那么需要维护外键的完整性。
PS:
9.7新增了
TRUNCATE TABLE tabname IMMEDIATE
快速删除表里所有行,不能回滚
Linux系统下启动DB2以及一些常用命令相关推荐
- linux查看磁带机端口,Linux系统下使用磁带机的常用命令Tar
磁带机操作命令: tar命令: 使用tar命令复制文件或者目录树到单个磁带. //注: 不能复制空目录或者设备文件这样的特殊文件,不能用来创建多个磁带卷. 1.复制文件到磁带 (1)切换到包含有需要复 ...
- 2.1.Linux系统下启动MySQL的命令及相关知识
2019独角兽企业重金招聘Python工程师标准>>> 一.总结一下: 1.Linux系统下启动MySQL的命令: /ect/init.d/mysql start ( ...
- Linux系统下启动MySQL的命令及相关知识
一.总结一下: 1.Linux系统下启动MySQL的命令: /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: /ect/init. ...
- 电脑运行linux虚拟盘闪退,Linux 系统下启动Android模拟器报错闪退
Linux 系统下启动Android模拟器报错 Emulator: libGL error: unable to load driver: radeonsi_dri.so Emulator: libG ...
- linux mkfs 源码,Linux系统下移植busybox中mkfs.vfat命令
为了延长磁盘寿命来存储音视频文件,打发在格式化磁盘过程中将簇的大小设置大点.因为存储的音视频文件现对较大,那么将簇大小设置得尽可能大,这样可以增强磁盘读取数据的性能,同时也不会浪费太多空间. 但发现我 ...
- 查看Linux系统架构类型的5条常用命令
导读 很多时候我们都需要查看当前 Linux 系统是 32 位还是 64 位系统架构类型,本文中我将向大家推荐 5 条常用命令.无论你使用的是桌面版或是只装了文本界面的 Linux 环境,以下命令几乎 ...
- linux清除文件后df还是满的,Linux系统下如何用du和df命令清除大文件?
Linux系统中如果发现/home目录下剩余空间不足,可以使用du和df命令来对找到大文件,并且对它们进行删除,从而腾出足够的空间.那么如何用du和df命令清除大文件呢? 具体方法: 步骤1. du ...
- 使用JEECG框架项目在linux 系统下启动及运行缓慢的问题追踪和解决办法
最近很多政府项目都在提倡国产化,因此需要将原有的项目移植到linux话环境中,我的一个项目在移植过程中就遇到了问题,该项目在windows环境中运行正常,启动速度一般在25-30秒内,但是移植到lin ...
- Linux系统(简介、文件管理、常用命令、账号管理、c开发工具)
文章目录 1. Linux系统 2.文件管理与常用命令 2.1 文件和目录的层次结构 2.2 文件和目录命名 2.3 shell文件名通配符 2.4 文件管理 2.4.1 Linux常用文件类型 2. ...
- Linux系统下MySQL的导入数据的命令语句Load Data InFile的用法详解
文章目录 语法格式 LOW_PRIORITY CONCURRENT LOCAL REPLACE 或 IGNORE PARTITION CHARACTER SET 对导入文件的字段进行格式描述 指定行的 ...
最新文章
- MyBatis-学习笔记10【10.JNDI扩展知识】
- hdfs数据节点分发什么协议_HDFS主要节点解说(一)节点功能
- gwt格式_GWT HTTP请求替代方案
- java类成员方法(成员函数)的初步介绍
- eclipse PHP开发环境配置
- js工作笔记003---js编写习惯_提高网页显示速度
- Eclipse------新建文件时没有JSP File解决方法
- 肌酸怎么吃效果最好?为什么使用肌酸没有效果!
- nc 模拟服务器_Linux网络利器netcat/nc
- 2021-09-07客户端向 NameNode 请求创建文件,NameNode 根据元数据信息计算出文件的元数 据信息
- 小课堂 | 你听过雾计算?对了,还有霾计算
- CentOS 系统时间校准
- Python 轻松操作Excel,实现自动化办公
- 64位win7下SQL2005安装和SP3补丁安装手记
- 梦幻西游手游经验任务链计算机,梦幻西游手游经验和道具任务链攻略
- 绿盟于旸:让阿里安娜火箭爆炸的缓冲区溢出 linkboy语录:tk出品必是精品呵呵
- java php python校园通知事项打卡 微信小程序系统
- E - Mafia CodeForces - 348A (推公式,思维)
- 磁盘一把锁一个感叹号_电脑C盘出现一把锁和黄色感叹号是什么原因,求大神赐教。...
- R语言函数定义快速查看
热门文章
- web小白,实战操作拿到网站后台账户和密码
- 商品订单(增删改查):新增订单;批量删除,发货;模糊查询,下拉菜单内容过滤(含时间);全选反选,列名排序
- Mac入门指南(二)常用命令
- linux装回windows系统,装linux后怎样装回windows?(Linux系统清除Grub的几种方法)
- Docker1.8 官方中文文档
- 如何识别图片文字?这几个识别图片文字软件简单又高效
- 近红外光谱分析的原理、技术及其分析方法
- 白孩儿--一个网上流传的故事[生活感悟]
- 4类官网原型设计及模板奉上,助你创意泉涌!
- C/C++编程:仿函数