Have written a litte sql for showing the utilization of the tablespace.
(found it within the newsgroup from Paul Vernon).
Looks fine for an one Partition System only.
But how i can I see on which Partiton the Tablesapces reside.
select substr(TABLESPA CE_NAME,1, 18) as TABLESPACE_NAME ,
case when TABLESPACE_TYPE = 0
then 'DMS'
else 'SMS'
end as TBS_TYPE,
int(TOTAL_PAGES ) as TOTAL_PAGES,
int(TOTAL_PAGES *PAGE_SIZE/1024/1024) as TOTAL_MB,
int(USED_PAGES) as USED_PAGES,
int(USED_PAGES* PAGE_SIZE/1024/1024) as USED_MB,
int(FREE_PAGES) as FREE_PAGES,
int(FREE_PAGES* PAGE_SIZE/1024/1024) as FREE_MB,
((USED_PAGES * 100) / TOTAL_PAGES) as PERC_USED
from table (snapshot_tbs_C FG(cast(null as varchar(20)), -2 )) as x
order by PERC_USED desc;
Output:
TABLESPACE_NAME TBS_TYPE TOTAL_PAGES TOTAL_MB USED_PAGES USED_MB
FREE_PAGES FREE_MB PERC_USED
------------------ -------- ----------- ----------- ----------- -----------
----------- ----------- --------------------
TEMPSPACE4 SMS 1 0 1 0
0 0 100
TEMPSPACE4 SMS 1 0 1 0
0 0 100
TEMPSPACE4 SMS 1 0 1 0
0 0 100
TEMPSPACE4 SMS 1 0 1 0
0 0 100
TEMPSPACE4 SMS 1 0 1 0
0 0 100
TEMPSPACE8K SMS 1 0 1 0
0 0 100
TEMPSPACE8K SMS 1409 11 1409 11
0 0 100
TEMPSPACE8K SMS 1409 11 1409 11
0 0 100
TEMPSPACE8K SMS 1409 11 1409 11
0 0 100
TEMPSPACE8K SMS 1409 11 1409 11
0 0 100
TEMPSPACE32K SMS 1 0 1 0
0 0 100
TEMPSPACE32K SMS 17 0 17 0
0 0 100
TEMPSPACE32K SMS 17 0 17 0
0 0 100
TEMPSPACE32K SMS 17 0 17 0
0 0 100
TEMPSPACE32K SMS 17 0 17 0
0 0 100
INDEXSPACE DMS 2560000 20000 2109456 16480
450512 3519 82
USERSPACE DMS 3000000 23437 2400736 18755
599200 4681 80
USERSPACE DMS 3000000 23437 2412256 18845
587680 4591 80
USERSPACE DMS 3000000 23437 2377088 18571
622848 4866 79
......
--
regards
Joachim Müller 8 2583
I don't believe you can get the partition number from the snapshot table
function. Use the following SQL to see partition numbers:
select substr(tbspace, 1,18), tbspaceid, substr(t.dbpgna me,1,18),
dbpartitionnum from syscat.tablespa ces as t, syscat.dbpartit iongroupdef as d
where t.dbpgname = d.dbpgname;
You won't see any of your temp table spaces since SYSCAT.DBPARTIT IONGROUPDEF
doesn't contain partition numbers for temp table spaces.
"Joachim Mueller" <jom0309@[--spam--]douglas-informatik.de> wrote in message
news:bu******** **@news.dtag.de ... Have written a litte sql for showing the utilization of the tablespace. (found it within the newsgroup from Paul Vernon). Looks fine for an one Partition System only. But how i can I see on which Partiton the Tablesapces reside.
select substr(TABLESPA CE_NAME,1, 18) as TABLESPACE_NAME , case when TABLESPACE_TYPE = 0 then 'DMS' else 'SMS' end as TBS_TYPE, int(TOTAL_PAGES ) as TOTAL_PAGES, int(TOTAL_PAGES *PAGE_SIZE/1024/1024) as TOTAL_MB, int(USED_PAGES) as USED_PAGES, int(USED_PAGES* PAGE_SIZE/1024/1024) as USED_MB, int(FREE_PAGES) as FREE_PAGES, int(FREE_PAGES* PAGE_SIZE/1024/1024) as FREE_MB, ((USED_PAGES * 100) / TOTAL_PAGES) as PERC_USED from table (snapshot_tbs_C FG(cast(null as varchar(20)), -2 )) as x order by PERC_USED desc;
Output:
TABLESPACE_NAME TBS_TYPE TOTAL_PAGES TOTAL_MB USED_PAGES USED_MB FREE_PAGES FREE_MB PERC_USED
------------------ -------- ----------- ----------- ----------- ----------
- ----------- ----------- --------------------
TEMPSPACE4 SMS 1 0 1
0 0 0 100
TEMPSPACE4 SMS 1 0 1
0 0 0 100
TEMPSPACE4 SMS 1 0 1
0 0 0 100
TEMPSPACE4 SMS 1 0 1
0 0 0 100
TEMPSPACE4 SMS 1 0 1
0 0 0 100
TEMPSPACE8K SMS 1 0 1
0 0 0 100
TEMPSPACE8K SMS 1409 11 1409
11 0 0 100
TEMPSPACE8K SMS 1409 11 1409
11 0 0 100
TEMPSPACE8K SMS 1409 11 1409
11 0 0 100
TEMPSPACE8K SMS 1409 11 1409
11 0 0 100
TEMPSPACE32K SMS 1 0 1
0 0 0 100
TEMPSPACE32K SMS 17 0 17
0 0 0 100
TEMPSPACE32K SMS 17 0 17
0 0 0 100
TEMPSPACE32K SMS 17 0 17
0 0 0 100
TEMPSPACE32K SMS 17 0 17
0 0 0 100
INDEXSPACE DMS 2560000 20000 2109456
16480 450512 3519 82
USERSPACE DMS 3000000 23437 2400736
18755 599200 4681 80
USERSPACE DMS 3000000 23437 2412256
18845 587680 4591 80
USERSPACE DMS 3000000 23437 2377088
18571 622848 4866 79 .....
--
regards Joachim Müller
You can use the following query to get the partition information. I
hope you are aware that the snapshot table functions cannot be used
from remote clients because you cannot implicitly attach to the
instance from a remote client. This was in documented in known
problems and workaround docs in fp 3.
Thanks
Amit (singleton at canada.com)
WITH TEMP1 ( DBPGNAME, DBPARTITIONNUM, ALLNODES) AS ( SELECT DBPGNAME
,MIN(DBPARTITIO NNUM) ,VARCHAR( CHAR(MIN(DBPART ITIONNUM)),50)
FROM SYSCAT.DBPARTIT IONGROUPDEF A
GROUP BY DBPGNAME UNION ALL
SELECT A.DBPGNAME ,A.DBPARTITIONN UM, (RTRIM(B.ALLNOD ES) || ', ' ||
CHAR(A.DBPARTIT IONNUM))
FROM SYSCAT.DBPARTIT IONGROUPDEF A , TEMP1 B
WHERE A.DBPGNAME = B.DBPGNAME
AND A.DBPARTITIONNU M > B.DBPARTITIONNU M ),
TEMP2 (TBSPACE, DBPGNAME, ALLNODES) AS
( SELECT TBSPACE, F.DBPGNAME, F.ALLNODES FROM SYSCAT.TABLESPA CES D
LEFT OUTER JOIN ( SELECT C.DBPGNAME, C.ALLNODES FROM TEMP1 C WHERE
DBPARTITIONNUM = ( SELECT MAX(DBPARTITION NUM) FROM TEMP1 E WHERE
C.DBPGNAME = E.DBPGNAME)) F
ON D.DBPGNAME=F.DB PGNAME ),
TEMP3 (TBSPACE, DBPGNAME, PARTITIONS ) AS
(SELECT TBSPACE, COALESCE( DBPGNAME, 'IBMTEMPGROUP') , COALESCE(
ALLNODES, CHAR((SELECT DBPARTITIONNUM FROM SYSCAT.DBPARTIT IONGROUPDEF
WHERE DBPGNAME='IBMCA TGROUP' FETCH FIRST ROW ONLY )) ) FROM TEMP2)
SELECT SUBSTR(TABLESPA CE_NAME,1, 18) AS TABLESPACE_NAME ,
CASE WHEN TABLESPACE_TYPE = 0
THEN 'DMS'
ELSE 'SMS'
END AS TBS_TYPE,
INT(TOTAL_PAGES ) AS TOTAL_PAGES,
INT(TOTAL_PAGES *PAGE_SIZE/1024/1024) AS TOTAL_MB,
INT(USED_PAGES) AS USED_PAGES,
INT(USED_PAGES* PAGE_SIZE/1024/1024) AS USED_MB,
INT(FREE_PAGES) AS FREE_PAGES,
INT(FREE_PAGES* PAGE_SIZE/1024/1024) AS FREE_MB,
((USED_PAGES * 100) / TOTAL_PAGES) AS PERC_USED, Y.DBPGNAME,
Y.PARTITIONS
FROM TABLE (SNAPSHOT_TBS_C FG(CAST(NULL AS VARCHAR(20)), -2 )) AS X
LEFT OUTER JOIN TEMP3 AS Y ON RTRIM(X.TABLESP ACE_NAME)=
RTRIM(Y.TBSPACE )
"Bill Pellett" <wp******@prodi gy.net> wrote in message news:<Xx******* ************@ne wssvr31.news.pr odigy.com>... I don't believe you can get the partition number from the snapshot table function. Use the following SQL to see partition numbers:
select substr(tbspace, 1,18), tbspaceid, substr(t.dbpgna me,1,18), dbpartitionnum from syscat.tablespa ces as t, syscat.dbpartit iongroupdef as d where t.dbpgname = d.dbpgname;
You won't see any of your temp table spaces since SYSCAT.DBPARTIT IONGROUPDEF doesn't contain partition numbers for temp table spaces.
"Joachim Mueller" <jom0309@[--spam--]douglas-informatik.de> wrote in message news:bu******** **@news.dtag.de ... Have written a litte sql for showing the utilization of the tablespace. (found it within the newsgroup from Paul Vernon). Looks fine for an one Partition System only. But how i can I see on which Partiton the Tablesapces reside.
select substr(TABLESPA CE_NAME,1, 18) as TABLESPACE_NAME , case when TABLESPACE_TYPE = 0 then 'DMS' else 'SMS' end as TBS_TYPE, int(TOTAL_PAGES ) as TOTAL_PAGES, int(TOTAL_PAGES *PAGE_SIZE/1024/1024) as TOTAL_MB, int(USED_PAGES) as USED_PAGES, int(USED_PAGES* PAGE_SIZE/1024/1024) as USED_MB, int(FREE_PAGES) as FREE_PAGES, int(FREE_PAGES* PAGE_SIZE/1024/1024) as FREE_MB, ((USED_PAGES * 100) / TOTAL_PAGES) as PERC_USED from table (snapshot_tbs_C FG(cast(null as varchar(20)), -2 )) as x order by PERC_USED desc;
Output:
TABLESPACE_NAME TBS_TYPE TOTAL_PAGES TOTAL_MB USED_PAGES USED_MB FREE_PAGES FREE_MB PERC_USED
------------------ -------- ----------- ----------- ----------- ---------- - ----------- ----------- --------------------
TEMPSPACE4 SMS 1 0 1 0 0 0 100
TEMPSPACE4 SMS 1 0 1 0 0 0 100
TEMPSPACE4 SMS 1 0 1 0 0 0 100
TEMPSPACE4 SMS 1 0 1 0 0 0 100
TEMPSPACE4 SMS 1 0 1 0 0 0 100
TEMPSPACE8K SMS 1 0 1 0 0 0 100
TEMPSPACE8K SMS 1409 11 1409 11 0 0 100
TEMPSPACE8K SMS 1409 11 1409 11 0 0 100
TEMPSPACE8K SMS 1409 11 1409 11 0 0 100
TEMPSPACE8K SMS 1409 11 1409 11 0 0 100
TEMPSPACE32K SMS 1 0 1 0 0 0 100
TEMPSPACE32K SMS 17 0 17 0 0 0 100
TEMPSPACE32K SMS 17 0 17 0 0 0 100
TEMPSPACE32K SMS 17 0 17 0 0 0 100
TEMPSPACE32K SMS 17 0 17 0 0 0 100
INDEXSPACE DMS 2560000 20000 2109456 16480 450512 3519 82
USERSPACE DMS 3000000 23437 2400736 18755 599200 4681 80
USERSPACE DMS 3000000 23437 2412256 18845 587680 4591 80
USERSPACE DMS 3000000 23437 2377088 18571 622848 4866 79 .....
--
regards Joachim Müller
Amit,
thanks for your reply,
if I run your query ,it's not the result I expect:
WITH TEMP1 ( DBPGNAME, DBPARTITIONNUM, ALLNODES) AS ( SELECT DBPGNAME
,MIN(DBPARTITIO NNUM) ,VARCHAR( CHAR(MIN(DBPART ITIONNUM)),50) FROM
SYSCAT.DBPARTIT IONGROUPDEF A GROUP BY DBPGNAME UNION ALL SELECT A.DBPGNAME
,A.DBPARTITIONN UM, (RTRIM(B.ALLNOD ES) || ', ' || CHAR(A.DBPARTIT IONNUM))
FROM SYSCAT.DBPARTIT IONGROUPDEF A , TEMP1 B WHERE A.DBPGNAME = B.DBPGNAME
AND A.DBPARTITIONNU M > B.DBPARTITIONNU M ), TEMP2 (TBSPACE, DBPGNAME,
ALLNODES) AS ( SELECT TBSPACE, F.DBPGNAME, F.ALLNODES FROM
SYSCAT.TABLESPA CES D LEFT OUTER JOIN ( SELECT C.DBPGNAME, C.ALLNODES FROM
TEMP1 C WHERE DBPARTITIONNUM = ( SELECT MAX(DBPARTITION NUM) FROM TEMP1 E
WHERE C.DBPGNAME = E.DBPGNAME)) F ON D.DBPGNAME=F.DB PGNAME ), TEMP3
(TBSPACE, DBPGNAME, PARTITIONS ) AS (SELECT TBSPACE, COALESCE( DBPGNAME,
'IBMTEMPGROUP') , COALESCE( ALLNODES, CHAR((SELECT DBPARTITIONNUM FROM
SYSCAT.DBPARTIT IONGROUPDEF WHERE DBPGNAME='IBMCA TGROUP' FETCH FIRST ROW
ONLY )) ) FROM TEMP2) SELECT SUBSTR(TABLESPA CE_NAME,1, 18) AS
TABLESPACE_NAME , CASE WHEN TABLESPACE_TYPE = 0 THEN 'DMS' ELSE 'SMS' END AS
TBS_TYPE, INT(TOTAL_PAGES ) AS TOTAL_PAGES,
INT(TOTAL_PAGES *PAGE_SIZE/1024/1024) AS TOTAL_MB, INT(USED_PAGES) AS
USED_PAGES, INT(USED_PAGES* PAGE_SIZE/1024/1024) AS USED_MB, INT(FREE_PAGES)
AS FREE_PAGES, INT(FREE_PAGES* PAGE_SIZE/1024/1024) AS FREE_MB, ((USED_PAGES
* 100) / TOTAL_PAGES) AS PERC_USED, Y.DBPGNAME, Y.PARTITIONS FROM TABLE
(SNAPSHOT_TBS_C FG(CAST(NULL AS VARCHAR(20)), -2 )) AS X LEFT OUTER JOIN
TEMP3 AS Y ON RTRIM(X.TABLESP ACE_NAME)= RTRIM(Y.TBSPACE )
TABLESPACE_NAME TBS_TYPE TOTAL_PAGES TOTAL_MB USED_PAGES USED_MB
FREE_PAGES FREE_MB PERC_USED DBPGNAME
PARTITIONS
------------------ -------- ----------- ----------- ----------- -----------
----------- ----------- -------------------- -------------------------------
----------------------------------------------------------------------------
--------------------- --------------------------------------------------
SQL0347W The recursive common table expression "DB2DWP.TEM P1" may contain
an
infinite loop. SQLSTATE=01605
DLP_IDX DMS 50000 390 36032 281
13952 109 72 USERGROUP
2, 5
DLP_IDX DMS 50000 390 36032 281
13952 109 72 USERGROUP
2, 3, 4, 5
DLP_IDX DMS 50000 390 36032 281
13952 109 72 USERGROUP
2, 4, 5
DLP_IDX DMS 50000 390 36032 281
13952 109 72 USERGROUP
2, 3, 5
DLP_IDX DMS 50000 390 36032 281
13952 109 72 USERGROUP
2, 5
DLP_IDX DMS 50000 390 36032 281
13952 109 72 USERGROUP
2, 3, 4, 5
DLP_IDX DMS 50000 390 36032 281
13952 109 72 USERGROUP
2, 4, 5
DLP_IDX DMS 50000 390 36032 281
13952 109 72 USERGROUP
2, 3, 5
DLP_IDX DMS 50000 390 36032 281
13952 109 72 USERGROUP
2, 5
DLP_IDX DMS 50000 390 36032 281
13952 109 72 USERGROUP
2, 3, 4, 5
DLP_IDX DMS 50000 390 36032 281
13952 109 72 USERGROUP
2, 4, 5
DLP_IDX DMS 50000 390 36032 281
13952 109 72 USERGROUP
2, 3, 5
DLP_IDX DMS 50000 390 36032 281
13952 109 72 USERGROUP
2, 5
DLP_IDX DMS 50000 390 36032 281
13952 109 72 USERGROUP
2, 3, 4, 5
DLP_IDX DMS 50000 390 36032 281
13952 109 72 USERGROUP
2, 4, 5
DLP_IDX DMS 50000 390 36032 281
13952 109 72 USERGROUP
2, 3, 5
For each row I only need the Partition for the Tablespaces.
Regards,
Joachim
"Amit" <aa***@hotmail. com> schrieb im Newsbeitrag
news:85******** *************** ***@posting.goo gle.com... You can use the following query to get the partition information. I hope you are aware that the snapshot table functions cannot be used from remote clients because you cannot implicitly attach to the instance from a remote client. This was in documented in known problems and workaround docs in fp 3. Thanks Amit (singleton at canada.com)
WITH TEMP1 ( DBPGNAME, DBPARTITIONNUM, ALLNODES) AS ( SELECT DBPGNAME ,MIN(DBPARTITIO NNUM) ,VARCHAR( CHAR(MIN(DBPART ITIONNUM)),50) FROM SYSCAT.DBPARTIT IONGROUPDEF A GROUP BY DBPGNAME UNION ALL SELECT A.DBPGNAME ,A.DBPARTITIONN UM, (RTRIM(B.ALLNOD ES) || ', ' || CHAR(A.DBPARTIT IONNUM)) FROM SYSCAT.DBPARTIT IONGROUPDEF A , TEMP1 B WHERE A.DBPGNAME = B.DBPGNAME AND A.DBPARTITIONNU M > B.DBPARTITIONNU M ), TEMP2 (TBSPACE, DBPGNAME, ALLNODES) AS ( SELECT TBSPACE, F.DBPGNAME, F.ALLNODES FROM SYSCAT.TABLESPA CES D LEFT OUTER JOIN ( SELECT C.DBPGNAME, C.ALLNODES FROM TEMP1 C WHERE DBPARTITIONNUM = ( SELECT MAX(DBPARTITION NUM) FROM TEMP1 E WHERE C.DBPGNAME = E.DBPGNAME)) F ON D.DBPGNAME=F.DB PGNAME ), TEMP3 (TBSPACE, DBPGNAME, PARTITIONS ) AS (SELECT TBSPACE, COALESCE( DBPGNAME, 'IBMTEMPGROUP') , COALESCE( ALLNODES, CHAR((SELECT DBPARTITIONNUM FROM SYSCAT.DBPARTIT IONGROUPDEF WHERE DBPGNAME='IBMCA TGROUP' FETCH FIRST ROW ONLY )) ) FROM TEMP2) SELECT SUBSTR(TABLESPA CE_NAME,1, 18) AS TABLESPACE_NAME , CASE WHEN TABLESPACE_TYPE = 0 THEN 'DMS' ELSE 'SMS' END AS TBS_TYPE, INT(TOTAL_PAGES ) AS TOTAL_PAGES, INT(TOTAL_PAGES *PAGE_SIZE/1024/1024) AS TOTAL_MB, INT(USED_PAGES) AS USED_PAGES, INT(USED_PAGES* PAGE_SIZE/1024/1024) AS USED_MB, INT(FREE_PAGES) AS FREE_PAGES, INT(FREE_PAGES* PAGE_SIZE/1024/1024) AS FREE_MB, ((USED_PAGES * 100) / TOTAL_PAGES) AS PERC_USED, Y.DBPGNAME, Y.PARTITIONS FROM TABLE (SNAPSHOT_TBS_C FG(CAST(NULL AS VARCHAR(20)), -2 )) AS X LEFT OUTER JOIN TEMP3 AS Y ON RTRIM(X.TABLESP ACE_NAME)= RTRIM(Y.TBSPACE )
"Bill Pellett" <wp******@prodi gy.net> wrote in message
news:<Xx******* ************@ne wssvr31.news.pr odigy.com>... I don't believe you can get the partition number from the snapshot table function. Use the following SQL to see partition numbers:
select substr(tbspace, 1,18), tbspaceid, substr(t.dbpgna me,1,18), dbpartitionnum from syscat.tablespa ces as t, syscat.dbpartit iongroupdef
as d where t.dbpgname = d.dbpgname;
You won't see any of your temp table spaces since
SYSCAT.DBPARTIT IONGROUPDEF doesn't contain partition numbers for temp table spaces.
"Joachim Mueller" <jom0309@[--spam--]douglas-informatik.de> wrote in
message news:bu******** **@news.dtag.de ... Have written a litte sql for showing the utilization of the
tablespace. (found it within the newsgroup from Paul Vernon). Looks fine for an one Partition System only. But how i can I see on which Partiton the Tablesapces reside.
select substr(TABLESPA CE_NAME,1, 18) as TABLESPACE_NAME , case when TABLESPACE_TYPE = 0 then 'DMS' else 'SMS' end as TBS_TYPE, int(TOTAL_PAGES ) as TOTAL_PAGES, int(TOTAL_PAGES *PAGE_SIZE/1024/1024) as TOTAL_MB, int(USED_PAGES) as USED_PAGES, int(USED_PAGES* PAGE_SIZE/1024/1024) as USED_MB, int(FREE_PAGES) as FREE_PAGES, int(FREE_PAGES* PAGE_SIZE/1024/1024) as FREE_MB, ((USED_PAGES * 100) / TOTAL_PAGES) as PERC_USED from table (snapshot_tbs_C FG(cast(null as varchar(20)), -2 )) as x order by PERC_USED desc;
Output:
TABLESPACE_NAME TBS_TYPE TOTAL_PAGES TOTAL_MB USED_PAGES
USED_MB FREE_PAGES FREE_MB PERC_USED ------------------ -------- ----------- ----------- ----------- ---------- - ----------- ----------- --------------------
TEMPSPACE4 SMS 1 0 1 0 0 0 100
TEMPSPACE4 SMS 1 0 1 0 0 0 100
TEMPSPACE4 SMS 1 0 1 0 0 0 100
TEMPSPACE4 SMS 1 0 1 0 0 0 100
TEMPSPACE4 SMS 1 0 1 0 0 0 100
TEMPSPACE8K SMS 1 0 1 0 0 0 100
TEMPSPACE8K SMS 1409 11 1409 11 0 0 100
TEMPSPACE8K SMS 1409 11 1409 11 0 0 100
TEMPSPACE8K SMS 1409 11 1409 11 0 0 100
TEMPSPACE8K SMS 1409 11 1409 11 0 0 100
TEMPSPACE32K SMS 1 0 1 0 0 0 100
TEMPSPACE32K SMS 17 0 17 0 0 0 100
TEMPSPACE32K SMS 17 0 17 0 0 0 100
TEMPSPACE32K SMS 17 0 17 0 0 0 100
TEMPSPACE32K SMS 17 0 17 0 0 0 100
INDEXSPACE DMS 2560000 20000 2109456 16480 450512 3519 82
USERSPACE DMS 3000000 23437 2400736 18755 599200 4681 80
USERSPACE DMS 3000000 23437 2412256 18845 587680 4591 80
USERSPACE DMS 3000000 23437 2377088 18571 622848 4866 79 .....
--
regards Joachim Müller
Not sure if I understand correctly. The last column of the query I
posted showns the partitions that the tablespace exists on. The
tablespace will exist on all partitions of the nodegroup (database
partition group) that its defined on - not just one partition.
Thanks
Amit
oops - realised my query had some problems - here's the one that
calculates the aggregates and returns the total for each tablespace
If you want a query that returns the partition number for each row
instead of aggregate, you can also achive that similarly using sql
recursion (pass in the next node number as the secomd argument in
SNAPSHOT_TBS_CF G ). I think partition number should be in the result
set (and monitor elements) for tablespaces but was proabably left out
due to an oversight.
WITH TEMP1 ( DBPGNAME, DBPARTITIONNUM, ALLNODES, LEVEL) AS ( SELECT
DBPGNAME
,MIN(DBPARTITIO NNUM) ,VARCHAR( CHAR(MIN(DBPART ITIONNUM)),50), 0
FROM SYSCAT.DBPARTIT IONGROUPDEF A
GROUP BY DBPGNAME UNION ALL
SELECT A.DBPGNAME ,A.DBPARTITIONN UM, (RTRIM(B.ALLNOD ES) || ', ' ||
CHAR(A.DBPARTIT IONNUM)), B.LEVEL+1
FROM SYSCAT.DBPARTIT IONGROUPDEF A , TEMP1 B
WHERE A.DBPGNAME = B.DBPGNAME
AND A.DBPARTITIONNU M > B.DBPARTITIONNU M
),
TEMP2 (TBSPACE, DBPGNAME, ALLNODES) AS
( SELECT TBSPACE, F.DBPGNAME, F.ALLNODES FROM SYSCAT.TABLESPA CES D
LEFT OUTER JOIN ( SELECT C.DBPGNAME, C.ALLNODES FROM TEMP1 C WHERE
C.LEVEL = ( SELECT MAX(LEVEL) FROM TEMP1 E WHERE
C.DBPGNAME = E.DBPGNAME)) F
ON D.DBPGNAME=F.DB PGNAME ),
TEMP3 (TBSPACE, DBPGNAME, PARTITIONS ) AS
(SELECT TBSPACE, COALESCE( DBPGNAME, 'IBMTEMPGROUP') , COALESCE(
ALLNODES, CHAR((SELECT DBPARTITIONNUM FROM SYSCAT.DBPARTIT IONGROUPDEF
WHERE DBPGNAME='IBMCA TGROUP' FETCH FIRST ROW ONLY )) ) FROM TEMP2),
TEMP4 AS
(SELECT TABLESPACE_NAME , CASE WHEN TABLESPACE_TYPE = 0 THEN 'DMS'
ELSE 'SMS' END AS
TBS_TYPE, SUM(TOTAL_PAGES ) AS TOTAL_PAGES,
SUM(TOTAL_PAGES *PAGE_SIZE)/1024/1024 AS TOTAL_MB, SUM(USED_PAGES) AS
USED_PAGES, SUM(USED_PAGES* PAGE_SIZE)/1024/1024 AS USED_MB,
SUM(FREE_PAGES)
AS FREE_PAGES, SUM(FREE_PAGES* PAGE_SIZE)/1024/1024 AS FREE_MB, CASE
WHEN SUM (TOTAL_PAGES) >0 THEN (SUM(USED_PAGES )
* 100 / SUM (TOTAL_PAGES) ) ELSE NULL END AS PERC_USED FROM TABLE
(SNAPSHOT_TBS_C FG(CAST(NULL AS VARCHAR(20)), -2 )) AS A GROUP BY
TABLESPACE_NAME , TABLESPACE_TYPE )
SELECT A.*, B.DBPGNAME, B.PARTITIONS FROM TEMP4 A INNER JOIN TEMP3 B
ON RTRIM(A.TABLESP ACE_NAME) = RTRIM(B.TBSPACE ) aa***@hotmail.c om (Amit) wrote in message news:<85******* *************** ****@posting.go ogle.com>... Not sure if I understand correctly. The last column of the query I posted showns the partitions that the tablespace exists on. The tablespace will exist on all partitions of the nodegroup (database partition group) that its defined on - not just one partition.
Thanks Amit
Amit,
thanks once more, but (a big BUT) sometimes the PERC_USED column is equal on
all
partitions, but most the the differ from partition to partition.
What I want is to see which partition have reached the threshold for 85% so
I can resize the container
lying on this partition.
Here is a better sample:
TABLESPACE_NAME TBS_TYPE TOTAL_PAGES TOTAL_MB USED_PAGES USED_MB
FREE_PAGES FREE_MB PERC_USED
------------------ -------- ----------- ----------- ----------- -----------
----------- ----------- --------------------
USERSPACE DMS 3000000 23437 2382240 18611
617696 4825 79
USERSPACE DMS 3000000 23437 2410496 18832
589440 4605 80
USERSPACE DMS 3000000 23437 2406784 18803
593152 4634 80
USERSPACE DMS 3000000 23437 2421152 18915
578784 4521 80
INDEXSPACE DMS 2560000 20000 2022640 15801
537328 4197 79
INDEXSPACE DMS 2560000 20000 2024432 15815
535536 4183 79
INDEXSPACE DMS 2560000 20000 2014752 15740
545216 4259 78
INDEXSPACE DMS 2560000 20000 2096592 16379
463376 3620 81
You see that USERSPACE also INDEXSPACE have the same TOTAL_PAGES each on one
of the four partitions.
But USED_PAGES differs on the four partitions.
Sorry for my bad english, it's hard to explain something thats not my native
language;-)
regards,
Joachim
"Amit" <aa***@hotmail. com> schrieb im Newsbeitrag
news:85******** *************** **@posting.goog le.com... oops - realised my query had some problems - here's the one that calculates the aggregates and returns the total for each tablespace If you want a query that returns the partition number for each row instead of aggregate, you can also achive that similarly using sql recursion (pass in the next node number as the secomd argument in SNAPSHOT_TBS_CF G ). I think partition number should be in the result set (and monitor elements) for tablespaces but was proabably left out due to an oversight.
WITH TEMP1 ( DBPGNAME, DBPARTITIONNUM, ALLNODES, LEVEL) AS ( SELECT DBPGNAME ,MIN(DBPARTITIO NNUM) ,VARCHAR( CHAR(MIN(DBPART ITIONNUM)),50), 0 FROM SYSCAT.DBPARTIT IONGROUPDEF A GROUP BY DBPGNAME UNION ALL SELECT A.DBPGNAME ,A.DBPARTITIONN UM, (RTRIM(B.ALLNOD ES) || ', ' || CHAR(A.DBPARTIT IONNUM)), B.LEVEL+1 FROM SYSCAT.DBPARTIT IONGROUPDEF A , TEMP1 B WHERE A.DBPGNAME = B.DBPGNAME AND A.DBPARTITIONNU M > B.DBPARTITIONNU M ), TEMP2 (TBSPACE, DBPGNAME, ALLNODES) AS ( SELECT TBSPACE, F.DBPGNAME, F.ALLNODES FROM SYSCAT.TABLESPA CES D LEFT OUTER JOIN ( SELECT C.DBPGNAME, C.ALLNODES FROM TEMP1 C WHERE C.LEVEL = ( SELECT MAX(LEVEL) FROM TEMP1 E WHERE C.DBPGNAME = E.DBPGNAME)) F ON D.DBPGNAME=F.DB PGNAME ), TEMP3 (TBSPACE, DBPGNAME, PARTITIONS ) AS (SELECT TBSPACE, COALESCE( DBPGNAME, 'IBMTEMPGROUP') , COALESCE( ALLNODES, CHAR((SELECT DBPARTITIONNUM FROM SYSCAT.DBPARTIT IONGROUPDEF WHERE DBPGNAME='IBMCA TGROUP' FETCH FIRST ROW ONLY )) ) FROM TEMP2), TEMP4 AS (SELECT TABLESPACE_NAME , CASE WHEN TABLESPACE_TYPE = 0 THEN 'DMS' ELSE 'SMS' END AS TBS_TYPE, SUM(TOTAL_PAGES ) AS TOTAL_PAGES, SUM(TOTAL_PAGES *PAGE_SIZE)/1024/1024 AS TOTAL_MB, SUM(USED_PAGES) AS USED_PAGES, SUM(USED_PAGES* PAGE_SIZE)/1024/1024 AS USED_MB, SUM(FREE_PAGES) AS FREE_PAGES, SUM(FREE_PAGES* PAGE_SIZE)/1024/1024 AS FREE_MB, CASE WHEN SUM (TOTAL_PAGES) >0 THEN (SUM(USED_PAGES ) * 100 / SUM (TOTAL_PAGES) ) ELSE NULL END AS PERC_USED FROM TABLE (SNAPSHOT_TBS_C FG(CAST(NULL AS VARCHAR(20)), -2 )) AS A GROUP BY TABLESPACE_NAME , TABLESPACE_TYPE ) SELECT A.*, B.DBPGNAME, B.PARTITIONS FROM TEMP4 A INNER JOIN TEMP3 B ON RTRIM(A.TABLESP ACE_NAME) = RTRIM(B.TBSPACE )
aa***@hotmail.c om (Amit) wrote in message
news:<85******* *************** ****@posting.go ogle.com>... Not sure if I understand correctly. The last column of the query I posted showns the partitions that the tablespace exists on. The tablespace will exist on all partitions of the nodegroup (database partition group) that its defined on - not just one partition.
Thanks Amit
You will either need to run the Tablespace Snaphot Query separately
(maybe use a sql proc) for each partition (you can pass in the
partition number to the table function) or use recursive sql (using a
common table expression) to call the table function repeatedly with
different partition numbers and show the results with the partition
number as the last column.
"Joachim Mueller" <jom0309@[--spam--]douglas-informatik.de> wrote in message news:<bu******* ***@news.dtag.d e>... Amit,
thanks once more, but (a big BUT) sometimes the PERC_USED column is equal on all partitions, but most the the differ from partition to partition. What I want is to see which partition have reached the threshold for 85% so I can resize the container lying on this partition.
Here is a better sample:
TABLESPACE_NAME TBS_TYPE TOTAL_PAGES TOTAL_MB USED_PAGES USED_MB FREE_PAGES FREE_MB PERC_USED
------------------ -------- ----------- ----------- ----------- ----------- ----------- ----------- --------------------
USERSPACE DMS 3000000 23437 2382240 18611 617696 4825 79
USERSPACE DMS 3000000 23437 2410496 18832 589440 4605 80
USERSPACE DMS 3000000 23437 2406784 18803 593152 4634 80
USERSPACE DMS 3000000 23437 2421152 18915 578784 4521 80
INDEXSPACE DMS 2560000 20000 2022640 15801 537328 4197 79
INDEXSPACE DMS 2560000 20000 2024432 15815 535536 4183 79
INDEXSPACE DMS 2560000 20000 2014752 15740 545216 4259 78
INDEXSPACE DMS 2560000 20000 2096592 16379 463376 3620 81
You see that USERSPACE also INDEXSPACE have the same TOTAL_PAGES each on one of the four partitions. But USED_PAGES differs on the four partitions.
Sorry for my bad english, it's hard to explain something thats not my native language;-)
regards,
Joachim
"Amit" <aa***@hotmail. com> schrieb im Newsbeitrag news:85******** *************** **@posting.goog le.com... oops - realised my query had some problems - here's the one that calculates the aggregates and returns the total for each tablespace If you want a query that returns the partition number for each row instead of aggregate, you can also achive that similarly using sql recursion (pass in the next node number as the secomd argument in SNAPSHOT_TBS_CF G ). I think partition number should be in the result set (and monitor elements) for tablespaces but was proabably left out due to an oversight.
WITH TEMP1 ( DBPGNAME, DBPARTITIONNUM, ALLNODES, LEVEL) AS ( SELECT DBPGNAME ,MIN(DBPARTITIO NNUM) ,VARCHAR( CHAR(MIN(DBPART ITIONNUM)),50), 0 FROM SYSCAT.DBPARTIT IONGROUPDEF A GROUP BY DBPGNAME UNION ALL SELECT A.DBPGNAME ,A.DBPARTITIONN UM, (RTRIM(B.ALLNOD ES) || ', ' || CHAR(A.DBPARTIT IONNUM)), B.LEVEL+1 FROM SYSCAT.DBPARTIT IONGROUPDEF A , TEMP1 B WHERE A.DBPGNAME = B.DBPGNAME AND A.DBPARTITIONNU M > B.DBPARTITIONNU M ), TEMP2 (TBSPACE, DBPGNAME, ALLNODES) AS ( SELECT TBSPACE, F.DBPGNAME, F.ALLNODES FROM SYSCAT.TABLESPA CES D LEFT OUTER JOIN ( SELECT C.DBPGNAME, C.ALLNODES FROM TEMP1 C WHERE C.LEVEL = ( SELECT MAX(LEVEL) FROM TEMP1 E WHERE C.DBPGNAME = E.DBPGNAME)) F ON D.DBPGNAME=F.DB PGNAME ), TEMP3 (TBSPACE, DBPGNAME, PARTITIONS ) AS (SELECT TBSPACE, COALESCE( DBPGNAME, 'IBMTEMPGROUP') , COALESCE( ALLNODES, CHAR((SELECT DBPARTITIONNUM FROM SYSCAT.DBPARTIT IONGROUPDEF WHERE DBPGNAME='IBMCA TGROUP' FETCH FIRST ROW ONLY )) ) FROM TEMP2), TEMP4 AS (SELECT TABLESPACE_NAME , CASE WHEN TABLESPACE_TYPE = 0 THEN 'DMS' ELSE 'SMS' END AS TBS_TYPE, SUM(TOTAL_PAGES ) AS TOTAL_PAGES, SUM(TOTAL_PAGES *PAGE_SIZE)/1024/1024 AS TOTAL_MB, SUM(USED_PAGES) AS USED_PAGES, SUM(USED_PAGES* PAGE_SIZE)/1024/1024 AS USED_MB, SUM(FREE_PAGES) AS FREE_PAGES, SUM(FREE_PAGES* PAGE_SIZE)/1024/1024 AS FREE_MB, CASE WHEN SUM (TOTAL_PAGES) >0 THEN (SUM(USED_PAGES ) * 100 / SUM (TOTAL_PAGES) ) ELSE NULL END AS PERC_USED FROM TABLE (SNAPSHOT_TBS_C FG(CAST(NULL AS VARCHAR(20)), -2 )) AS A GROUP BY TABLESPACE_NAME , TABLESPACE_TYPE ) SELECT A.*, B.DBPGNAME, B.PARTITIONS FROM TEMP4 A INNER JOIN TEMP3 B ON RTRIM(A.TABLESP ACE_NAME) = RTRIM(B.TBSPACE )
aa***@hotmail.c om (Amit) wrote in message news:<85******* *************** ****@posting.go ogle.com>... Not sure if I understand correctly. The last column of the query I posted showns the partitions that the tablespace exists on. The tablespace will exist on all partitions of the nodegroup (database partition group) that its defined on - not just one partition.
Thanks Amit
Amit,
thanks for your hints, I will give it a try...
regards,
Joachim
"Amit" <aa***@hotmail. com> schrieb im Newsbeitrag
news:85******** *************** ***@posting.goo gle.com... You will either need to run the Tablespace Snaphot Query separately (maybe use a sql proc) for each partition (you can pass in the partition number to the table function) or use recursive sql (using a common table expression) to call the table function repeatedly with different partition numbers and show the results with the partition number as the last column.
"Joachim Mueller" <jom0309@[--spam--]douglas-informatik.de> wrote in
message news:<bu******* ***@news.dtag.d e>... Amit,
thanks once more, but (a big BUT) sometimes the PERC_USED column is
equal on all partitions, but most the the differ from partition to partition. What I want is to see which partition have reached the threshold for 85%
so I can resize the container lying on this partition.
Here is a better sample:
TABLESPACE_NAME TBS_TYPE TOTAL_PAGES TOTAL_MB USED_PAGES USED_MB FREE_PAGES FREE_MB PERC_USED
------------------ -------- ----------- ----------- ----------- ----------
- ----------- ----------- --------------------
USERSPACE DMS 3000000 23437 2382240
18611 617696 4825 79
USERSPACE DMS 3000000 23437 2410496
18832 589440 4605 80
USERSPACE DMS 3000000 23437 2406784
18803 593152 4634 80
USERSPACE DMS 3000000 23437 2421152
18915 578784 4521 80
INDEXSPACE DMS 2560000 20000 2022640
15801 537328 4197 79
INDEXSPACE DMS 2560000 20000 2024432
15815 535536 4183 79
INDEXSPACE DMS 2560000 20000 2014752
15740 545216 4259 78
INDEXSPACE DMS 2560000 20000 2096592
16379 463376 3620 81
You see that USERSPACE also INDEXSPACE have the same TOTAL_PAGES each on
one of the four partitions. But USED_PAGES differs on the four partitions.
Sorry for my bad english, it's hard to explain something thats not my
native language;-)
regards,
Joachim
"Amit" <aa***@hotmail. com> schrieb im Newsbeitrag news:85******** *************** **@posting.goog le.com... oops - realised my query had some problems - here's the one that calculates the aggregates and returns the total for each tablespace If you want a query that returns the partition number for each row instead of aggregate, you can also achive that similarly using sql recursion (pass in the next node number as the secomd argument in SNAPSHOT_TBS_CF G ). I think partition number should be in the result set (and monitor elements) for tablespaces but was proabably left out due to an oversight.
WITH TEMP1 ( DBPGNAME, DBPARTITIONNUM, ALLNODES, LEVEL) AS ( SELECT DBPGNAME ,MIN(DBPARTITIO NNUM) ,VARCHAR( CHAR(MIN(DBPART ITIONNUM)),50), 0 FROM SYSCAT.DBPARTIT IONGROUPDEF A GROUP BY DBPGNAME UNION ALL SELECT A.DBPGNAME ,A.DBPARTITIONN UM, (RTRIM(B.ALLNOD ES) || ', ' || CHAR(A.DBPARTIT IONNUM)), B.LEVEL+1 FROM SYSCAT.DBPARTIT IONGROUPDEF A , TEMP1 B WHERE A.DBPGNAME = B.DBPGNAME AND A.DBPARTITIONNU M > B.DBPARTITIONNU M ), TEMP2 (TBSPACE, DBPGNAME, ALLNODES) AS ( SELECT TBSPACE, F.DBPGNAME, F.ALLNODES FROM SYSCAT.TABLESPA CES D LEFT OUTER JOIN ( SELECT C.DBPGNAME, C.ALLNODES FROM TEMP1 C WHERE C.LEVEL = ( SELECT MAX(LEVEL) FROM TEMP1 E WHERE C.DBPGNAME = E.DBPGNAME)) F ON D.DBPGNAME=F.DB PGNAME ), TEMP3 (TBSPACE, DBPGNAME, PARTITIONS ) AS (SELECT TBSPACE, COALESCE( DBPGNAME, 'IBMTEMPGROUP') , COALESCE( ALLNODES, CHAR((SELECT DBPARTITIONNUM FROM SYSCAT.DBPARTIT IONGROUPDEF WHERE DBPGNAME='IBMCA TGROUP' FETCH FIRST ROW ONLY )) ) FROM TEMP2), TEMP4 AS (SELECT TABLESPACE_NAME , CASE WHEN TABLESPACE_TYPE = 0 THEN 'DMS' ELSE 'SMS' END AS TBS_TYPE, SUM(TOTAL_PAGES ) AS TOTAL_PAGES, SUM(TOTAL_PAGES *PAGE_SIZE)/1024/1024 AS TOTAL_MB, SUM(USED_PAGES) AS USED_PAGES, SUM(USED_PAGES* PAGE_SIZE)/1024/1024 AS USED_MB, SUM(FREE_PAGES) AS FREE_PAGES, SUM(FREE_PAGES* PAGE_SIZE)/1024/1024 AS FREE_MB, CASE WHEN SUM (TOTAL_PAGES) >0 THEN (SUM(USED_PAGES ) * 100 / SUM (TOTAL_PAGES) ) ELSE NULL END AS PERC_USED FROM TABLE (SNAPSHOT_TBS_C FG(CAST(NULL AS VARCHAR(20)), -2 )) AS A GROUP BY TABLESPACE_NAME , TABLESPACE_TYPE ) SELECT A.*, B.DBPGNAME, B.PARTITIONS FROM TEMP4 A INNER JOIN TEMP3 B ON RTRIM(A.TABLESP ACE_NAME) = RTRIM(B.TBSPACE )
aa***@hotmail.c om (Amit) wrote in message news:<85******* *************** ****@posting.go ogle.com>... > Not sure if I understand correctly. The last column of the query I > posted showns the partitions that the tablespace exists on. The > tablespace will exist on all partitions of the nodegroup (database > partition group) that its defined on - not just one partition. > > Thanks > Amit This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Yasaswi Pulavarti |
last post by:
does a command like,
db2 drop table tabschema.tabname when run from the Aix prompt reclaim
the disk space? Are there any other options? How can we make sure the
disk space is reclaimed?
Thanks,
Yasaswi
|
by: Bill Littman |
last post by:
We are using a DB2 7.2 system.
On the DB2 Control Center of a server, we are viewing the details of the
tablespaces. The "percentage used" column is showing a negative value(-69)
for one of the tablespaces. All other tablespaces are showing positive
values. Database is running fine, with no errors in db2diag.log. The state
of the tablespace is Normal. Issuing a "list tablespaces show detail" gives
the correct value
It has been like...
|
by: Sue |
last post by:
Hi, I have a DB2 database with database managed (DMS) tablespaces. One
of the tables that I have contains BLOB data. Recently I noticed that
75% of the tablespace for this table was being used up. So I deleted 50
records from the table freeing about 50 to 100 GB of space. But even
after deleting the records I found that the %age of tablespace used
still remains the same at 75%. What will I need to do to reclaim the
deleted space so that...
|
by: Anurag |
last post by:
Hi,
I posted this on other user-groups.
Hardly got any responses. Here goes the question:
PLATFORM = DB2 UDB 8.2+ on AIX 5.x, DPF
Two Topics broadly:
(A) I wish to find out a rough correlation between the size
of Used Pages in the database and its backup image size
(Have to do some space calculation).
|
by: mike_dba |
last post by:
Can anyone tell me why a EEE system might be created to have two
separate tablespaces with the same 4k pagesize ? They both appear to
be in use as I can see the underlying files being modified.
These were created with SMS and reside on the same disk and filesystem
(separate directory on filesystem). One is called temp_4k and the
other temp_sys. I would assume that the temp_sys was intended for use
by the db2 catalog. I know of no way...
| |
by: rAinDeEr |
last post by:
Hi,
I am trying to create around 70 tablespaces for around 100 tables..
Am using DB2 UDB 8.2 in Linux environment...
This is one i generated through Control centre....
CREATE REGULAR TABLESPACE SNCI001 IN DATABASE PARTITION GROUP
IBMDEFAULTGROUP PAGESIZE 4096 MANAGED BY SYSTEM
USING ('/db2home/db2inst1/dnci1d/user_tblspace')
|
by: dcruncher4 |
last post by:
DB2 8.2.3
the task I have is to write a script to restore a database from a
backup on to another machine.
the backup can be as old as seven years. The container layout on the
machine to be restored
can be totally different from the machine which was backedup. So we are
going with redirect
restore.
|
by: Rahul B |
last post by:
Hi,
How can i find out the space that is currently not utilized/utilized
in the tablespace?
I tried from syscat.tablespaces, but it doesn't seem to give me that
information.
Thanks
Rahul
|
by: Troels Arvin |
last post by:
Hello,
I have recently run a rather large data import where the imported data i
pumped through some updatable views equipped with INSTEAD OF triggers. For
various reasons, the exact same data where imported into the exact same
table/view/trigger structures (but with slightly different tablespace
configuration, see later). The involved hardware was different (one
running on x86_64, one running on PPC), but with comparable CPU, memory
and...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look !
Part I. Meaning of...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it.
First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
| |
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |