wpf c# login and Upgrade

评分 0.00, 满分 5星 0 票 No comments

Open SSL 证书生成 对exe 签名

评分 0.00, 满分 5星 0 票 No comments

set RANDFILE=C:.rnd
set OPENSSL_CONF=C:\OpenSSL-Win64\bin\openssl.cfg

genrsa -des3 -out root.key 1024
req -new -key root.key -out root.csr
x509 -req -days 9553 -sha256 -extfile openssl.cfg -extensions v3_req -in root.csr -signkey root.key -out root.crt

genrsa -des3 -out client.key 1024
req -new -key client.key -out client.csr
x509 -req -sha256 -extensions v3_req -CA root.crt -CAkey root.key -in client.csr -out client.crt

genrsa –des3 -out server.key 1024
req -new -key server.key -out server.csr

–第二版(最终版本)
x509 -req -days 9553 -extfile openssl.cfg -extensions usr_cert -sha256 -in root.csr -signkey root.key -out root.crt
x509 -req -days 730 -extfile openssl.cfg -extensions v3_req -sha256 -CA root.crt -CAkey root.key -CAcreateserial -in client.csr -out client.crt

pkcs12 -export -out client.pfx -inkey client.key -in client.crt

–选择输出
pkcs12 -in client.pfx -out backupclient.key
pkcs12 -export -out certfiletosignwith.pfx -keysig -in backupclient.key

–exe 签名
signtool sign /f C:\OpenSSL-Win64\bin\client.pfx /p 830126 D:\xTr.exe
signtool timestamp /t http://timestamp.digicert.com D:\xTr.exe

V-lang

评分 0.00, 满分 5星 0 票 No comments

早起的鸟儿没虫吃。

Oracle 13c OEM 安装

评分 0.00, 满分 5星 0 票 No comments

Oracle 13c OEM 安装

Oracle SHRINK 收缩

评分 0.00, 满分 5星 0 票 5 comments

快速获取schemas 下可以进行shrink 收缩的表。

SELECT dt.owner,
         dt.table_name,
         (CASE WHEN NVL (ind.cnt, 0) < 1 THEN 'Y' ELSE 'N' END) AS can_shrink
    FROM dba_tables dt,
         (  SELECT table_name, COUNT (*) cnt
              FROM dba_indexes di
             WHERE index_type LIKE 'FUNCTION-BASED%'
          GROUP BY table_name) ind
   WHERE     dt.table_name = ind.table_name(+)
         AND dt.table_name NOT LIKE 'AQ$%'
         AND dt.table_name NOT LIKE 'BIN$%'
         AND dt.owner = '&ownername'
ORDER BY 1, 2;

如果无法收缩 Oracle 会提示如下:
ORA-10631: SHRINK clause should not be specified for this object

Oracle密码过期及EM无法登陆

评分 5.00, 满分 5星 1 票 No comments

关键字:EM无法登录,提示ORA-28001: the password has expired (DBD ERROR: OCISessionBegin)

以上提示 参见本文。
Oracle 11g 默认安装 用户密码有180天的过期限制。
测试用库实在有些不便。

--sys DBA 身份连入
sqlplus sys/password@SID as sysdba
--查看数据库目前的口令期限
select * from dba_profiles where profile = 'DEFAULT' and resource_name = 'PASSWORD_LIFE_TIME';
--查看用户的状态,发现DBSNMP和SYSMAN两个帐号都已经过期
select username, account_status from dba_users;

--修改用户的口令期限为无限制
alter profile default limit password_life_time unlimited;

--修改DBSNMP和SYSMAN两个帐号的口令
alter user dbsnmp identified by dbsnmp;
alter user sysman identified by sysman;

执行以上操作后,重启计算机、服务器即可。

如果仍然提示无法连接实例,并且dbsnmp sysman 用户被锁定 LOCKED(TIMED)。
极有可能是EM 的配置文件中dbsnmp sysman的密码 与实际的不同。
此时重置EM 配置文件。

--sqlplus 中运行
emca -config dbcontrol db
--根据提示 输入各用户名的 密码。

附: Oracle 默认安装带来的用户名/密码

Username

Password

Description

See Also

CTXSYS

CTXSYS

The Oracle Text account

Oracle Text Reference

DBSNMP

DBSNMP

The account used by the Management Agent component of Oracle Enterprise Manager to monitor and manage the database

Oracle Enterprise Manager Grid Control Installation and Basic Configuration

LBACSYS

LBACSYS

The Oracle Label Security administrator account

Oracle Label Security Administrator’s Guide

MDDATA

MDDATA

The schema used by Oracle Spatial for storing Geocoder and router data

Oracle Spatial User’s Guide and Reference

MDSYS

MDSYS

The Oracle Spatial and Oracle interMedia Locator administrator account

Oracle Spatial User’s Guide and Reference

DMSYS

DMSYS

The Oracle Data Mining account.

Oracle Data Mining Administrator’s Guide

Oracle Data Mining Concepts

OLAPSYS

MANAGER

The account used to create OLAP metadata structures. It owns the OLAP Catalog (CWMLite).

Oracle OLAP Application Developer’s Guide

ORDPLUGINS

ORDPLUGINS

The Oracle interMedia user. Plug-ins supplied by Oracle and third party format plug-ins are installed in this schema.

Oracle interMedia User’s Guide

ORDSYS

ORDSYS

The Oracle interMedia administrator account

Oracle interMedia User’s Guide

OUTLN

OUTLN

The account that supports plan stability. Plan stability enables you to maintain the same execution plans for the same SQL statements. OUTLN acts as a role to centrally manage metadata associated with stored outlines.

Oracle Database Performance Tuning Guide

SI_INFORMTN_SCHEMA

SI_INFORMTN_SCHEMA

The account that stores the information views for the SQL/MM Still Image Standard

Oracle interMedia User’s Guide

SYS

CHANGE_ON_INSTALL

The account used to perform database administration tasks

Oracle Database Administrator’s Guide

SYSMAN

CHANGE_ON_INSTALL

The account used to perform Oracle Enterprise Manager database administration tasks. Note that SYS and SYSTEM can also perform these tasks.

Oracle Enterprise Manager Grid Control Installation and Basic Configuration

SYSTEM

MANAGER

Another account used to perform database administration tasks.

Oracle Database Administrator’s Guide

临时表空间概念

评分 4.00, 满分 5星 1 票 No comments

临时表空间概念

临时表空间用来管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT的时候,并且当PGA中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序。像数据库中一些操作: CREATE INDEX、 ANALYZE、SELECT DISTINCT、ORDER BY、GROUP BY、 UNION ALL、 INTERSECT、MINUS、SORT-MERGE JOINS、HASH JOIN等都可能会用到临时表空间。当操作完成后,系统会自动清理临时表空间中的临时对象,自动释放临时段。这里的释放只是标记为空闲、可以重用,其实实质占用的磁盘空间并没有真正释放。这也是临时表空间有时会不断增大的原因。

临时表空间存储大规模排序操作(小规模排序操作会直接在RAM里完成,大规模排序才需要磁盘排序Disk Sort)和散列操作的中间结果.它跟永久表空间不同的地方在于它由临时数据文件(temporary files)组成的,而不是永久数据文件(datafiles)。临时表空间不会存储永久类型的对象,所以它不会也不需要备份。另外,对临时数据文件的操作不产生redo日志,不过会生成undo日志。

创建临时表空间或临时表空间添加临时数据文件时,即使临时数据文件很大,添加过程也相当快。这是因为ORACLE的临时数据文件是一类特殊的数据文件:稀疏文件(Sparse File),当临时表空间文件创建时,它只会写入文件头部和最后块信息(only writes to the header and last block of the file)。它的空间是延后分配的.这就是你创建临时表空间或给临时表空间添加数据文件飞快的原因。

另外,临时表空间是NOLOGGING模式以及它不保存永久类型对象,因此即使数据库损毁,做Recovery也不需要恢复Temporary Tablespace。

临时表空间信息
Read more…

oracle删除数据后,空间释放

评分 5.00, 满分 5星 1 票 No comments

Oracle 在删除数据后,因为高水位线的问题,并不会 自动释放空间。

所有的oracle段(segments,在此,为了理解方便,建议把segment作为表的一个同义词) 都有一个在段内容纳数据的上限,我们把这个上限称为”high water mark”或HWM。这个HWM是一个标记,用来说明已经有多少没有使用的数据块分配给这个segment。HWM通常增长的幅度为一次5个数据块,原则上HWM只会增大,不会缩小,即使将表中的数据全部删除,HWM还是为原值,由于这个特点,使HWM很象一个水库的历史最高水位,这也就是HWM的原始含义,当然不能说一个水库没水了,就说该水库的历史最高水位为0。但是如果我们在表上使用了truncate命令,则该表的HWM会被重新置为0。

--
--查看hwm 
select file_name, ceil((nvl(hwm, 1) * 8192) / 1024 / 1024) as "HWM(MB)"
from dba_data_files a,
(select file_id, max(block_id + blocks - 1) hwm
from dba_extents
group by file_id) b
where a.file_id = b.file_id(+);
--查看hwm 信息全
SELECT *
  FROM (SELECT /*+ ordered use_hash(a,b,c) */
         a.file_id,
         a.file_name,
         a.filesize,
         b.freesize,
         (a.filesize - b.freesize) usedsize,
         c.hwmsize,
         c.hwmsize - (a.filesize - b.freesize) unsedsize_belowhwm,
         a.filesize - c.hwmsize canshrinksize
          FROM (SELECT file_id,
                       file_name,
                       round(bytes / 1024 / 1024) filesize
                  FROM dba_data_files) a,
               (SELECT file_id, round(SUM(dfs.bytes) / 1024 / 1024) freesize
                  FROM dba_free_space dfs
                 GROUP BY file_id) b,
               (SELECT file_id, round(MAX(block_id) * 8 / 1024) HWMsize
                  FROM dba_extents
                 GROUP BY file_id) c
         WHERE a.file_id = b.file_id
           AND a.file_id = c.file_id
         ORDER BY unsedsize_belowhwm DESC)
 WHERE file_id IN (SELECT file_id
                     FROM dba_data_files
                    WHERE tablespace_name = 'DMSB_01')
 ORDER BY file_id;
--释放
alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\D_TEST1' resize 600m;

高水位详解,引自:http://www.cnblogs.com/linjiqin/archive/2012/01/15/2323030.html