db2入门实验(Working with Instances and Databases )

按照以下步骤完成,使用了db 2 express 9

DB2 Migration Workshop
LAB 1 – Working with Instances and Databases (Solution)

Expected duration: 45 mins

This lab will help you solidify concepts of instances and databases. It is to be completed BEFORE the presentation “DB2 Instances and Databases”.

The following commands are demonstrated:

db2icrt        ACTIVATE DB        FORCE APPLICATION
db2idrop        DEACTIVATE DB        GET CONNECTION STATE
db2ilist        CONNECT        LIST APPLICATIONS
db2start        CONNECT RESET        LIST DB DIRECTORY
db2stop        CREATE DATABASE        LIST TABLES
db2admin start        DROP DATABASE       
db2admin stop        DESCRIBE TABLE       

Prerequisites:
·        DB2 Version 8 Server has been installed

Highly Recommended: Before each step in this lab, locate the demonstrated command in the CLP quick reference and mark it with an asterix (*). This will help you get familiar with the DB2 CLP cheat sheet.

Note: On Linux/UNIX, you can switch users (su) without logging out by using:

        su –                          .. to switch to root user (dash is important!)
        su –  [userid]                .. to switch to non-root user (dash is important!)
        exit                        .. to exit switch back


1.        Windows: Launch the DB2 Command Window.
(启动DB2的命令行窗口)
(在本次实验中,我使用的是db2 express 9在安装过程中自动创建的db2admin帐户登陆)
Start > Programs > IBM DB2 > Command Line Tools > Command Window
(or simply, db2cmd)

Linux: Login to the operating system as user db2inst1
linux下需要使用db2inst1登陆)

2.        When DB2 is installed, no database exists. Create the SAMPLE database provided by DB2.

db2sampl

(在db2 express9该数据库已经存在)

3.        Verify that a database now exists. Show the contents of the database directory:
显示所有的数据库的命令
db2 list db directory

Fill in the following information from the database directory:

Database alias                 SAMPLE
Directory entry type        Indirect
(目录条目类型:间接)

4.        DB2 does not have database users. Instead, DB2 uses userIDs and passwords defined at the operating system (or network authentication facilities) to authenticate users. Connect to the SAMPLE database using the userID logged into the operating system.
      
似乎db2 9已经可以自动创建系统帐户作为它自身的数据库帐户。

连接到数据库simple


db2 connect to sample

5.        See all connections that currently exist for the current instance

显示所有的运行在当前数据库实例上的应用程序

db2 list applications

Fill in the following information:

Application name:                db2bp.exe
Application handle:        2 (your answer may vary)
Database name:                SAMPLE

6.        Disconnect from the database:
断开连接
db2 connect reset

7.        Connect to the SAMPLE database using a specific userID and password.

db2 connect to sample user <userid>  using <password>

8.        View the tables that currently exist in the SAMPLE database

db2 list tables
(显示用户创建的表)
or
db2 list tables for all
(显示所有的tables包括用户和系统的)

9.        From the output of list tables, you should see that a table called EMPLOYEE exists. Find out the structure of EMPLOYEE

db2 describe table employee
(不存在)

What is the maximum length of JOB column?        8 characters
What is the data type for the Salary Column?        DECIMAL(9,2)

The above two questions are indented to show how data type lengths from the output of DESCRIBE TABLE are interpreted differently for numeric and character types.

10.        Attempt to stop the instance. You should get an error because connections still exist.

db2stop

What is the SQLCODE associated with the error message?         SQL1025N

11.        To stop the instance, we have to get rid of the current connections. In this step, forcibly disconnect all applications.

db2 force applications all
db2stop

note: you can also force applications by application handle using:
        force application (<handle>)

12.        By using FORCE APPLICATION, you have terminated your own connection. Attempt to SELECT from the employee table.

db2 “select * from employee”

You should get the error code SQL1224N. Check your connection state.
获取连接状态
db2 get connection state

 

可连接并且已经被关闭

13.        To solidify the concept of instances and databases, we’ll create a second instance and create a database in it. Create a new instance:

Windows: You need to be a user with administrative privileges
创建一个新的实例(必须拥有管理员权限)
        db2icrt db2inst2 –u db2admin,<db2admin’s password>

Note: There is no space after the comma

Linux: Switch to root user (su - ). You’ll also need to create a user to “own” the instance

        useradd db2inst2
        passwd db2inst2
        /opt/IBM/db2/V8.1/instance/db2icrt –u db2fenc1 db2inst2

14.        Verify that the new instance exists

db2ilist

15.        Your current instance is DB2 (on windows) or db2inst1 (on Linux). Change your context to the new instance.
(将上下文切换到新的实例)
Windows: set the DB2INSTANCE environment variable to db2inst2

set DB2INSTANCE=db2inst2

Linux: Switch to user db2inst2.

su – db2inst2


16.        Verify that your current instance is db2inst2

db2 get instance

17.        By default, a newly created instance will not be started. Start the new instance

db2start

18.        The default database configuration is not optimal for any significant use. Use DB2’s AUTOCONFIGURE feature to tune the database:

db2 connect to test
db2 autoconfigure using mem_percent 25 workload_type simple tpm 10  is_populated no num_local_apps 10 num_remote_apps 10 apply db and dbm > autoconfig.txt

Use a text editor to review output in autoconfig.txt

Stop and restart the instance for all changes to take effect:
        db2 terminate
        db2stop
        db2start

19.        Create a new database called TEST in the db2inst2 instance

db2 create database TEST

Note: you can also use “db” in place of “database”

Take a look at the database directory again. How many entries do you see?  one
What happened to the SAMPLE database we created earlier?

After creating a second instance and switching to it in step 16, we changed to a totally distinct database server context. The SAMPLE database exists in the first instance only. Therefore, after creating the TEST database, there still only the TEST database is listed in the database directory


20.        Once a database created, database global memory (most of which is buffer pool memory) is not allocated until the first connection or an explicit activation. If a database is not explicitly activated, the first connection incurs the full cost of resource allocation for the database and all resources are released when the last application disconnects. To prevent this, for production databases, we recommend that you explicitly activate the database. In this step, practice database activation and deactivation.

Optional: launch windows task manager (or vmstat on Linux) to watch global memory allocation in action.

db2 activate db test
db2 deactivate db test

21.        To clean up, drop the TEST database and stop the instance.

db2 drop database test
db2stop

Note: you can use “db” in place of “database”

22.        Drop the instance

Windows: You must a local administrator user
db2idrop db2inst2

Linux: switch to root user
/opt/IBM/db2/V8.1/instance/db2idrop db2inst2
userdel –r db2inst2

23.        The DB2 Admin server is a background process the facilitates remote database and instance administration and automatic task scheduling. Just for fun, stop and start the admin server.

Linux: You may have to source the db2admin user’s dasprofile file first:

        . /home/dasusr1/das/dasprofile

db2admin stop
db2admin start

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值