ssh等效连接配置

1、配置SSH(两台机器上均需执行)
A、以ORACLE用户登陆

mkdir ~/.ssh
chmod 700 ~/.ssh

B、使用SSH-KEYGEN生成SSH协议的RSA密钥

ssh-keygen -t rsa

2、添加密钥到授权密钥文件(任意一台机器上执行)
以下三条命令在11.1.1.2上执行

ssh 11.1.1.2 cat /home/oracle/.ssh/id_rsa.pub>>authorized_keys
ssh 11.1.1.3 cat /home/oracle/.ssh/id_rsa.pub>>authorized_keys
scp authorized_keys 11.1.1.3:/home/oracle/.ssh/

chmod 600 ~/.ssh/authorized_keys (两台机器均需要执行)

3、测试(两台机器上均执行)

ssh 11.1.1.2 date
ssh 11.1.1.3 date

如果不要求输入密码就出现系统日期,说明SSH配置成功(第一次可能需要输入yes)

grouping_id()使用

1、创建表

desc test_rollup;
Name        Type         Nullable Default Comments 
----------- ------------ -------- ------- -------- 
TYPE_NAME   VARCHAR2(10) Y                         
TYPE_VALUE  NUMBER       Y                         
TYPE_NAME2  VARCHAR2(10) Y                         
TYPE_VALUE2 NUMBER       Y  

2、插入数据

select * from test_rollup;
 
TYPE_NAME  TYPE_VALUE TYPE_NAME2 TYPE_VALUE2
---------- ---------- ---------- -----------
a                 123 t1                 120
a                 423 t2                 200
a                 523 t1                 555
b                 223 x1                 504
b                 283 x2                 484
c                 103 y1                 333
c                 843 y2                 984
c                 899 y2                 151
c                 100 y2                 150
d                 204 s1                 606
 
10 rows selected

3、使用grouping_id查询结果

 select type_name,
        type_name2,
        decode(grouping_id(type_name), 0, type_name, '总计')g_type,
        decode(grouping_id(type_name2), 0, type_name2, decode(grouping_id(type_name),0,'小计','总计'))g2_type,
        grouping_id(type_name, type_name2)gg_type,
        sum(type_value),
        sum(type_value2)
   from test_rollup
  group by rollup(type_name, type_name2);
TYPE_NAME  TYPE_NAME2 G_TYPE     G2_TYPE       GG_TYPE SUM(TYPE_VALUE) SUM(TYPE_VALUE2)
---------- ---------- ---------- ---------- ---------- --------------- ----------------
a          t1         a          t1                  0             646              675
a          t2         a          t2                  0             423              200
a                     a          小计                1            1069              875
b          x1         b          x1                  0             223              504
b          x2         b          x2                  0             283              484
b                     b          小计                1             506              988
c          y1         c          y1                  0             103              333
c          y2         c          y2                  0            1842             1285
c                     c          小计                1            1945             1618
d          s1         d          s1                  0             204              606
d                     d          小计                1             204              606
                      总计       总计                3            3724             4087
 
12 rows selected

rollup和grouping使用

1、创建表

create table test_rollup
(
type_name varchar2(10),
type_value number
);

2、插入数据结果

select * from test_rollup;
a	123
a	423
a	523
b	223
b	283
c	103
c	843
c	899
c	100

3、使用rollup函数

select type_name, sum(type_value)
  from test_rollup
 group by rollup(type_name);
a	1069
b	506
c	1945
	3520

4、使用rollup和grouping函数

select type_name, sum(type_value), grouping(type_name)
  from test_rollup
 group by rollup(type_name);
a	1069	0
b	506	0
c	1945	0
	3520	1

5、显示统计信息

select decode(grouping(type_name), 0, type_name, '总计'), sum(type_value)
  from test_rollup
 group by rollup(type_name);
a	1069
b	506
c	1945
总计	3520

鸿图霸业 谁与争锋

龙在沙滩被虾戏,虎落平阳被犬欺.
虎伏深山听风啸,龙卧浅滩等海潮.
海到尽头天做岸,山登绝顶我为峰.
如日东山能在起,大鹏展翅恨天低。
谁无虎落平阳日,待我风山再起时.
有朝一日龙得水,必令长江水倒流.
有朝一日凤囬巢,必让长城永不倒.
有朝一日虎归山,必要血染半边天.
有朝一日狮入林,我要气吼山河震.
有朝一日游地府,我让地府底朝天.
有朝一日游天边,众神跪在我身边.
有朝一日凤翔天,我要天下尽我鸣.
有朝一日我出头,我要天下唯我尊.
天下英雄出我辈,一入江湖岁月摧.
宏图霸业谈笑中,不胜人生一场醉.

sql server 2005镜像配置

1、服务器ip地址和数据库版本
主机:192.168.1.1
备机:192.168.1.110
数据库:sql server 2005 sp4

2、主备实例互通
1)创建证书

--主机执行
USE MASTER
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'xifenfei';
GO
USE MASTER
GO
CREATE CERTIFICATE HOST_A_cert 
       WITH SUBJECT = 'A certificate for database mirroring',
       START_DATE = '11/25/2009',
       EXPIRY_DATE = '12/31/2199';
GO

--备机执行
USE MASTER
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'xifenfei';
GO
USE MASTER
GO
CREATE CERTIFICATE HOST_B_cert 
       WITH SUBJECT = 'A certificate for database mirroring',
       START_DATE = '11/25/2009',
       EXPIRY_DATE = '12/31/2199';
GO

2)创建连接的端点

--主机执行
create endpoint endpoint_mirroring
state=started
as
tcp (listener_port=5022,listener_ip=all)
for
database_mirroring
(authentication=certificate HOST_A_cert,encryption=supported,role=all);

--备机执行
create endpoint endpoint_mirroring
state=started
as
tcp (listener_port=5022,listener_ip=all)
for
database_mirroring
(authentication=certificate HOST_B_cert,encryption=supported,role=all);

3)备份证书以备建立互联

--主机执行
backup certificate HOST_A_cert to file='E:\database\key\HOST_A_cert.cer';
--备机执行
backup certificate HOST_B_cert to file='C:\database\mssql\key\HOST_B_cert.cer';

4)互换备份证书
拷贝证书文件到对象文件夹中

5)添加登录名、用户

--主机执行
create login HOST_B_login with password='20091125';
create user HOST_B_user for login HOST_B_login;
create certificate HOST_B_cert authorization HOST_B_user from file='C:\database\mssql\key\HOST_B_cert.cer';
grant connect on endpoint::endpoint_mirroring to [HOST_B_login];

--备机执行
create login HOST_A_login with password='20091125';
create user HOST_A_user for login HOST_A_login;
create certificate HOST_A_cert authorization HOST_A_user from file='E:\database\key\HOST_A_cert.cer';
grant connect on endpoint::endpoint_mirroring to [HOST_A_login];

3、建立镜像关系
1)备份还原数据库

/*尝试从刚刚使用的全备文件进行还原,在还原数据的时候需要使用”WITH NO RECOVERY“选项。*/
--主机执行
backup database test to disk='D:\sqlbackup\test091124full.bak'
backup log test to disk='D:\sqlbackup\test091124log.bak'

--备机执行
restore database acmr_10jqka from disk='D:\sqlbackup\test091124full.bak' with replace,norecovery
restore log acmr_10jqka from disk='D:\dbbackup\118_sql\acmr_10jqka091125log.bak' with norecovery

2)建立镜像

/*注意:先备机,后主机*/
--备机执行
alter database acmr_10jqka set partner='TCP://192.168.1.1:5022';
--主机执行
alter database test set partner='TCP://192.168.1.110:5022';

3)事务安全性设置

/*默认情况下,事务安全级别的设置为FULL,即“同步运行模式”,而且,SQL SERVER 2005标准版只支持同步模式。*/
/*如果关闭事务安全级别FULL模式,则可以切换到异步运行模式,该模式可使性能达到最佳。*/
--主机执行
use master
go
alter database test set partner safety full;   --事务安全,同步模式
alter database test set partner safety off;    --事务不安全,异步模式

4)切换

--主机执行下面命令后,即切换为备机角色
use master
go
alter database test set partner failover;
/*同理,也可以在备机(主体数据库)上执行上面命令,之后切换为备机(备数据库)*/