過了好久的年
N-POS 我開發了好一陣了,終於將一些技術上的問題排除了目前正開始設計相關功能與畫面與準備文件,管理系統好久了,終於可以寫一套自己發展的系統,我對它深具信心,一定可以重新E化POS系統的功能........
本文首先詳細地介紹IBM DB2的資料備份和資料恢復工具,向讀者展示IBM DB2的資料備份和資料恢復方法。同時還分析IBM DB2的資料備份和資料恢復性能方面的問題,以期能對讀者很好地利用IBM DB2快速高效地完成資料備份和恢復工作有所裨益。IBM DB2資料庫具有出眾的跨平臺開放性和可擴展性,它支持當前流行的主要操作平臺;IBM DB2資料庫具有良好的可攜性,能夠支援其他主流的資料庫,如Oracle、SyBase、Informix等資料庫都可以很容易地移植到DB2資料庫中;IBM DB2資料庫對海量資料的管理更是十分出色,它允許資料庫系統自己管理外存來提高效率,同時提供export、import、load等工具方便資料的快速移動,並提供了強大的backup、restore工具,方便DB2系統管理員創建安全的備份,建立恢復程式及執行快速、準確的恢復。相信我們都知道,維護企業資料的安全和完整是每個資料庫管理員的核心任務,而其中資料的及時備份和恢復又起著核心的作用。本文我們就IBM DB2強大的backup和restore工具做一下詳細的介紹,相信能夠對DB2系統管理員的日常資料管理有所幫助。
Informix technical support suggested the following;
We will discuss each of these memory sets in detail.
There is one instance shared memory set per DB2 instance. Instance shared memory is allocated when the database manager is started (db2start), and freed when the database manager is stopped (db2stop). It is used for instance level tasks such as monitoring, auditing and inter-node communication. The following database manager configuration (dbm cfg) parameters control the limits to the instance shared memory and its individual memory pools:
The instance_memory parameter specifies the amount of memory reserved for instance management. The default value is AUTOMATIC. This means DB2 will calculate the amount of instance memory needed for the current configuration, based on the sizes of the monitor heap, audit buffer and the FCM buffers. In addition, DB2 will also allocate some additional memory for overflow buffer. The overflow buffer is used to satisfy peak memory requirements for any heap in the instance shared memory region whenever a heap exceeds its configured size. In this case, the settings for the individual heaps are soft limits; they can grow during memory usage peaks.
If instance_memory is set to a number, then the larger of instance_memory or the sum of mon_heap_sz, audit_buf_sz and fcm_num_buffers will be used. In this case, you are setting a hard limit to the instance memory, as opposed to a soft limit. When this limit is reached, you will get memory allocation errors. For this reason, it is recommended to leave the instance_memory setting as AUTOMATIC.
If instance_memory is set to AUTOMATIC, it is possible to determine its value using the following commands:
The instance_memory parameter only sets the limit for the instance shared memory. It does not tell you how much memory is currently being used. To find out the memory usage of an instance, use the DB2 memory tracker tool, db2mtrk. For example,
The above example showed that although 42 MB is memory is reserved for the instance shared memory set, only about 21 MB is being used at the time db2mtrk is run.
Note: In some cases the size displayed by the db2mtrk tool will be larger than the value assigned to the configuration parameter. In such cases, the value assigned to the configuration parameter is used as a soft limit, and the pool's actual memory usage might grow beyond the configured size
休了三天的假,今早來上班就有新的知識收穫,覺得好舒服喔!!
Let's start out by discussing a few terms and concepts that are important to understand when discussing memory utilization. First is the concept of a 32-bit address space, as opposed to a 64-bit address space. Every byte in memory has to have an "address" for a process to be able to locate it. The list of these addresses is known as the "address space." A single bit has two possible values and could refer to two possible addresses -- 2 bytes; 32 bits have 232 combinations and could address 4,294,967,296 bytes (4 GB), and 64 bits have 264 combinations and could address 16 exabytes. (32 bit 限制)
Most modern non-64-bit systems have the ability to create an address space of 36 bits, yielding 64 GB of addressable memory. However, for details not available here, this is not available to every individual process but to the Linux OS, which creates a mapping of these addresses to addresses assigned to a process. The process addresses are still limited to 32 bits, yielding address spaces for individual processes in differing areas of memory. This allows systems with greater than 4 GB of memory to be utilized by many processes. However, if two or more processes want to communicate using shared memory, they need to have the same address space, thus limiting the addresses they can utilize. Systems utilizing 64 bits for the address space have virtually no limits.
Let's look at a couple of examples of memory utilization using the Linux free
command. The command displays the total amount of free, used physical, and swap memory in the system, as well as the buffers used by the kernel. We will be using the options -m
, which displays the values in megabytes, and -o
, which suppresses buffer information, allowing a more readable output. shows an example of the free command. The information displayed is as follows:
free -mo 的命令
du -h 查大小 好可息Aix 沒有提供 我查查
One tool to determine how much memory DB2 is using is db2mtrk
, the DB2 memory tracker command. While this command has several options, we will only be looking at the -d
option, which shows database level memory
bph
, the DB2 bufferpools. The output shows values for five bufferpools. In reality, the first bph represents the IBMDEFAULTBP, the only user defined bufferpool on the system. The other four bufferpools are "hidden" bufferpools, one for each DB2 page size (4 K, 8 K, 32 K, and 64 K) to ensure DB2 can run if the allocation of the user bufferpool fails. In this example, 201.3 MB have been allocated to the IBMDEFAULTBP, an over-allocation for a system with only 357 MB of memory. The DB2 memory tracker can display information on memory used by the instance, as well as DB2 agents.