第一天:
date_add(now(),interval 7-DAYOFweek(now())+1 day)
最后一天:
date_add(now(),interval -DAYOFweek(now())+2 day)
某一天的所在月的第一天:
date_add(date_add(last_day('2008-02-01'),interval 1 day),interval -1 month)
某一天的所在月的最后一天:
last_day('2008-02-01')
第一天:
date_add(now(),interval 7-DAYOFweek(now())+1 day)
最后一天:
date_add(now(),interval -DAYOFweek(now())+2 day)
某一天的所在月的第一天:
date_add(date_add(last_day('2008-02-01'),interval 1 day),interval -1 month)
某一天的所在月的最后一天:
last_day('2008-02-01')
mysql> SHOW TABLE STATUS FROM ginf_db like 'ginf_users_01';
+---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+-------------------------+
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment |
+---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+-------------------------+
| ginf_users_01 | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 65536 | 0 | NULL | 2008-09-26 15:32:09 | NULL | NULL | utf8_general_ci | NULL | | InnoDB free: 2025472 kB |
+---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+-------------------------+
1 row in set (0.00 sec)
InnoDB free: 2025472 kB 这部分可以看出该表空间所剩的空间,这个需要监控!
mysql> create table a (a int,b int);
Query OK, 0 rows affected (0.04 sec)
mysql> create table b (a int,b int);
Query OK, 0 rows affected (0.09 sec)
mysql>
mysql> insert into a values(1,3);
Query OK, 1 row affected (0.00 sec)
mysql> insert into b values(1,4);
Query OK, 1 row affected (0.00 sec)
update a,b set a.b=b.b where a.a=b.a;
http://hi.baidu.com/cmtu_net/blog/item/3290cdfdfb6f671209244d3d.html
1、如何查看oracle rac节点是否存活?
2、gc rc request的问题如何解决?
3、高级复制冲突如何解决?
PERL DB中的使用说明:
--一般调用方式:
$csr = $db->prepare(q{
BEGIN
PLSQL_EXAMPLE.PROC_NP;
END;
});
$csr->execute;
--带传入参数的调用
my $err_code = -20001;
$csr = $db->prepare(q{
BEGIN
PLSQL_EXAMPLE.PROC_IN(:err_code);
END;
});
$csr->bind_param(":err_code", $err_code);
eval {
$csr->execute;
};
--带传入,输出参数的调用
my $test_num = 5;
my $is_odd;
$csr = $db->prepare(q{
BEGIN
PLSQL_EXAMPLE.PROC_IN_INOUT(:test_num, :is_odd);
END;
});
# The value of $test_num is _copied_ here
$csr->bind_param(":test_num", $test_num);
$csr->bind_param_inout(":is_odd", $is_odd, 1);
# The execute will automagically update the value of $is_odd
$csr->execute;
http://blog.csdn.net/yueliangdao0608/archive/2008/04/19/2306771.aspx
CREATE TABLE `test` (
`id` int(8) unsigned NOT NULL default '0',
`admin_id` int(11) NOT NULL default '0',
`permission_name` varchar(30) NOT NULL default '0',
PRIMARY KEY (`id`)
)
4 4 test
19 680 pcfg
11 684 userrole
17 683 pcfg
102 2 adagent
5 2 test
delete test as a from test as a,
(
select admin_id,permission_name,min(id) as id from test group by admin_id,permission_name having count(*) > 1
) as b
where a.admin_id = b.admin_id and a.permission_name = b.permission_name and a.id > b.id;
这回数据库升级遇到了一下问题:
我们的数据库原来是mysql3.23.58想升级到5.1,因为这是大版本的升级,不能使用tar之类的来移植,所以只能用mysqldump来做,但出现了下面的问题
一. 字符集问题
由于3.23还不能设置表的字符集,但是升级到5.1要设为utf8,我用mysqldump导出数据后倒入,发现数据为乱码,找了很多资料发现要什么icov来转换什么的,后来发现需要设置几个参数就可以,参数如下:
mysql服务器启动时需要设置utf8的环境
my.inf
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci
然后倒入数据,发现数据显示正确
二. 作为客户端连接mysql数据库时,将字符集设置成utf8
建立连接后,先执行以下语句:
SET NAMES utf8;
SET CHARACTER_SET_CLIENT=utf8;
SET CHARACTER_SET_RESULTS=utf8;
每次数据库重连,以上语句需要重设
修改 includes/database.php 文件:
查找
CODE:[Copy to clipboard]$this->_table_prefix = $table_prefix;
在该行代码下面添加以下三行代码:
CODE:[Copy to clipboard]mysql_query("SET NAMES 'utf8'", $this->_resource);
CODE:[Copy to clipboard]mysql_query("SET CHARACTER SET utf8", $this->_resource);
CODE:[Copy to clipboard]mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'", $this->_resource);
http://www.hackhome.com/InfoView/Article_151991_2.html
二. 安装的问题
由于我安装的时候希望数据文件和软件分离到不同的路径,所以在configure时加了datadir和localstatedir,但是由于这2个参数不一致,发现后面bin/mysql_install_db --user=mysql 会去找localstatedir指定的目录,但是2个路径不一致,发现始终都有问题,后将2个参数的路径改为一样就可以了
查看全文CREATE TABLE test(
id int NOT NULL AUTO_INCREMENT,
name varchar(20) NULL,
reg_time timestamp DEFAULT now(),
primary key(id)
);
CREATE TABLE test(
id int NOT NULL AUTO_INCREMENT,
name varchar(20) NULL,
reg_time timestamp DEFAULT CURRENT_TIMESTAMP,
primary key(id)
);
这2种方法都是可以的!
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
scsi(X).sharedBus = "virtual"
http://bbs.vmware.cn/thread-8409-1-1.html
1. 创建共享磁盘柜
在虚拟机软件的安装目录下,有个vmware-vdiskmanager.exe文件(老版本用plainmaker.exe),把它复制到共享磁盘柜目录下,创建共享磁盘(老版本共享磁盘文件的扩展名为.pln)
F:虚拟机共享磁盘柜>vmware-vdiskmanager.exe -c -s 200Mb -a lsilogic -t 2 quorum.vmdk
F:虚拟机共享磁盘柜>vmware-vdiskmanager.exe -c -s 4Gb -a lsilogic -t 0 sharedisk.vmdk
[color=Blue]-t 2的意思是预分配磁盘空间,可以用-t 0选项,这样就不会占用空间了,实际用多少就多少[/color]
创建完毕后,目录下有四个新文件
quorum-flat.vmdk
quorum.vmdk
sharedisk-flat.vmdk
sharedisk.vmdk
2. 配置虚拟机
在虚拟机器界面选择“Edit virtual machine settings”à添加硬盘,选“Use a existing virtual disk”,分别添加quorum.vmdk、sharedisk.vmdk
[attach]245001[/attach][indent][/indent]
双击新加的磁盘,在弹出的磁盘属性窗选“advance”,为新加的硬盘选择虚拟设备节点:quorum.vmdk选订“SCSI 0:1”, sharedisk.vmdk选定“SCSI 1:1”。如图所示:
[attach]245002[/attach][indent][/indent]
分别打开两台虚拟机目录中的vmx文件,在最后一行添加:
disk.locking="FALSE"
scsi0:1.SharedBus="Virtual"
scsi1:1.SharedBus="Virtual"
3. 配置Solaris10操作系统
启动两台虚拟机(主机名分别为clustera,clusterb)
a. [color=Blue][b]在clustera[/b][/color]运行以下命令:
clustera# devfsadm
clustera# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c1t0d0 <DEFAULT cyl 4092 alt 2 hd 128 sec 32>
/pci@0,0/pci1000,30@10/sd@0,0
1. c1t1d0 <DEFAULT cyl 196 alt 2 hd 64 sec 32>
/pci@0,0/pci1000,30@10/sd@1,0
2. c2t1d0 <DEFAULT cyl 2044 alt 2 hd 128 sec 32>
/pci@0,0/pci15ad,790@11/pci1000,30@2/sd@1,0
对disk 1和disk 2分别执行fdisk操作,创建100% solaris分区。然后再执行以下操作
# newfs /dev/rdsk/c2t1d0s2
# mkdir /oracle
# mount /dev/dsk/c2t1d0s2 /oracle
# touch /oracle/first.txt
b. [b][color=Blue]在另外一台[/color][/b]虚拟机clusterb运行以下命令
clusterb# devfsadm
clusterb# mkdir /oracle
clusterb# mount /dev/dsk/c2t1d0s2 /oracle
clusterb# ls /oracle
first.txt lost+found
在clusterb上可以访问在clustera上创建的文件,共享磁盘创建完毕,剩下的就是安装CLUSTER软件了,希望对大家有所帮助。
http://bbs.chinaunix.net/archiver/tid-926561.html
查看全文今天使用expdp来备份数据发现了一些问题(10.1.0.2 on solaris10):
1。DBMS_DM_MODEL_EXP:schema_callout: DM models not found in schema IMPS
发现dmsys用户被锁了,解开该用户,然后没出现这个问题
2. ORA-06512: at "SYS.DBMS_METADATA", line 5339
ORA-39127: unexpected error from call to status := SYS.DBMS_JAVA.START_EXPORT('chkSpecNumber','IMPS',0,29,...)
ORA-01031: insufficient privileges
这个需要打补丁:3470641
因为有java存储过程在里面,不能备份,打上补丁才能
3。exclude和include的语法问题
expdp scott/tiger directory=dumpdir dumpfile=scott.dmp exclude=TABLE:"IN ('SMSMSG','USERS')" logfile=scott.log schemas=scott
请注意我的exclude后面跟的东东:
TABLE:"IN ('SMSMSG')"
凡是
"
(
'
,
)
都要使用转义字符才能备份成功,但是expdp -help的帮助却是:
exclude=table:tablename1,tablename2
使用的时候会出现问题!
需要注意!!
mysql> truncate `200702`;
Query OK, 0 rows affected (0.01 sec)
mysql> select * from `200702`;
Empty set (0.01 sec)
mysql> insert into `200702` (`domain`, `2nd_domain`, `tld`, `query_ns1`, `query_ns2`, `report_date`) values ('dnspod.com', 'dnspod', 'com', 1000, 2000, '2007-02-04') ON DUPLICATE KEY UPDATE `query_ns1` = `query_ns1` + 1000, `query_ns2` = `query_ns2` + 2000;
Query OK, 1 row affected (0.00 sec)
mysql> select * from `200702`;
+----+------------+------------+------+-----------+-----------+-----------+-----------+-------------+
| id | domain | 2nd_domain | tld | query_ns1 | query_ns2 | query_ns3 | query_ns4 | report_date |
+----+------------+------------+------+-----------+-----------+-----------+-----------+-------------+
| 1 | dnspod.com | dnspod | com | 1000 | 2000 | 0 | 0 | 2007-02-04 |
+----+------------+------------+------+-----------+-----------+-----------+-----------+-------------+
1 row in set (0.00 sec)
mysql> insert into `200702` (`domain`, `2nd_domain`, `tld`, `query_ns1`, `query_ns2`, `report_date`) values ('dnspod.com', 'dnspod', 'com', 1000, 2000, '2007-02-04') ON DUPLICATE KEY UPDATE `query_ns1` = `query_ns1` + 1000, `query_ns2` = `query_ns2` + 2000;
Query OK, 2 rows affected (0.01 sec)
mysql> select * from `200702`;
+----+------------+------------+------+-----------+-----------+-----------+-----------+-------------+
| id | domain | 2nd_domain | tld | query_ns1 | query_ns2 | query_ns3 | query_ns4 | report_date |
+----+------------+------------+------+-----------+-----------+-----------+-----------+-------------+
| 1 | dnspod.com | dnspod | com | 2000 | 4000 | 0 | 0 | 2007-02-04 |
+----+------------+------------+------+-----------+-----------+-----------+-----------+-------------+
1 row in set (0.01 sec)
mysql>
当然,建表的时候,千万别忘记了给domain做一个unique
UNIQUE KEY `domain` (`domain`,`report_date`)
ref:http://hi.baidu.com/digibread/blog/item/c359d017afb01e0bc83d6d14.html