SQL Backup
SQLite3 使用教学
OS X自从10.4后把SQLite这套相当出名的数据库软件,放进了作业系统工具集里。OS X包装的是第三版的SQLite,又称SQLite3。这套软件有几个特色:
- 软件属于公共财(public domain),SQLite可说是某种「美德软件」(virtueware),作者本人放弃着作权,而给使用SQLite的人以下的「祝福」(blessing):
- May you do good and not evil. 愿你行善莫行恶
- May you find forgiveness for yourself and forgive others. 愿你原谅自己宽恕他人
- May you share freely, never taking more than you give. 愿你宽心与人分享,所取不多于你所施予
- 支援大多数的SQL指令(下面会简单介绍)。
- 一个档案就是一个数据库。不需要安装数据库服务器软件。
- 完整的Unicode支援(因此没有跨语系的问题)。
- 速度很快。
>>>>>>>>>>>>>>>>>>>>>>>
SQLServer一条SQL统计所有表的行数
SELECT o.name AS "Table Name", i.rowcnt AS "Row Count"
FROM sysobjects o, sysindexes i
WHERE i.id = o.id
AND i.indid IN(0,1)
AND o.xtype = 'u' --只统计用户表
AND o.name <> 'sysdiagrams'
ORDER BY i.rowcnt DESC --按行排降序
COMPUTE SUM(i.rowcnt), count(o.name); --汇总行数,表数
GO
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
如何将SQLServer的Table Name改为大写
在将SQLServer的数据迁移到Oracle时,常常会碰到一个这样的问题,SQLServer的表格名称是小写的,但Oracle默认是大写的,如果未做特别处理的话,SQLServer和tblIpaddr导到Oracle里变成了"tblIpaddr" (有引号,Oracle区别大小写,与TBLIPADDR有区别),所在,需要在迁移前,将SQLServer的所有表格名改为大写:
EXEC sp_configure 'allow updates',1 RECONFIGURE WITH OVERRIDE
go
UPDATE sysobjects SET name=upper(name) WHERE type='U';
go
EXEC sp_configure 'allow updates',0 RECONFIGURE WITH OVERRIDE
go
---------------------
以上方法只适合于SQLServer2000,SQLServer2005不允许直接更改系统表,以下SQL兼容2000和2005:
DECLARE @oldTName varchar(50)
DECLARE @newTName varchar(50)
--Author: ipaddr, 鱼漂
DECLARE tableList CURSOR FOR
SELECT name FROM sysobjects WHERE type='U' ORDER BY name
OPEN tableList
FETCH NEXT FROM tableList INTO @oldTName
WHILE @@FETCH_STATUS=0
BEGIN
SET @newTName=upper(@oldTName)
EXEC sp_rename @oldTName,@newTName
FETCH NEXT FROM tableList INTO @oldTName
END
CLOSE tableList
DEALLOCATE tableList
MS Jet SQL for Access 2000中级篇
该系列的文章解释了什么是Microsoft? Jet SQL,并说明了它如何在Access 2000的应用程序中使用。本文是基础、中级和高级三篇中的第二篇。这些文章循序渐进的说明了使用Jet SQL的语法和一些方法,并示范了对于Access 2000来说较新的Jet SQL的特征。最后,本文的所有SQL参考都是针对Microsoft Jet 4.0 数据引擎所用的。
>>
RHEL4.4-x86_64 + Oracle 10.2.0.1安装笔记
RHEL4.4-x86_64 + Oracle 10.2.0.1安装笔记
硬件环境:
由于是安装64位的Linux+Oracle,所以需要64位的CPU;
本文的安装环境为:
CPU:AMD Athlon64 3200+ (939)
Memory: DDR400 1G
Harddisk: IDE 80G
(鱼漂注:此文档参考了网上的资料和Oracle官方文档,并对一些错误和不必要的步骤进行了修正。)
(文档作者:鱼漂[admin.net(at)163.com] 转载请注明,文档最新版本请访问http://www.eit.name/)
>>>>>>>>>>>>>>>>>>>>>
64位Linux系统无法链接libmysqlclient库
/usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.so when searching for -lmysqlclient
/usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.a when searching for -lmysqlclient
请将Makefile里面的
-L/usr/lib/mysql
改为
-L/usr/lib64/mysql
---------------
或者:
----------------
# cd /usr/lib
# mv lib lib.bak
# ln -s /usr/lib64/mysql /usr/lib/mysql
>>>>>>>>>>>>>>>>
[mysql]Table tblName is marked as crashed and should be repaired
Mysql提示tblName表格已损坏,需要修复:
进入到对应的数据库目录:
cd /var/lib/mysql/dbname
使用myisamchk修复:
shell> myisamchk -r tblName
>>>>>>>
Oracle 9i spfile
可以使用Create spfile命令基于数据库的当前参数设置创建一个SPFILE,可以使用ALTER SYSTEM或者ALTER SESSION来动态修改那些可动态修改的参数并且这些更改可以立即生效,你也可以使用ALTER SYSTEM的一个新选项SCOPE来选择使更改只应用于当前实例还是同时应用到spfile。
SCOPE参数有三个可选值:
MEMORY:只改变当前实例运行;
SPFILE:只改变SPFILE的设置(如果修改的是静态参数,则必须指定SCOPE=SPFILE,否则将会报ORA-02095错。);
BOTH:改变实例及SPFILE(使用BOTH选项实际上等同于不带参数的ALTER SYSTEM语句)。
当使用不带pfile 子句的startup 命令时,Oracle 将从平台指定的默认位置上的服务器参数文件(SPFILE) 中读取初始化参数。Oracle查找SPFILE或者创通的init.ora的顺序是:在平台指定的默认位置上,Oracle首先查找名为spfile$ORACLE_SID.ora的文件,如果没有就查找spfile.ora文件,还没有的话,就找init$ORACLE_SID.ora文件。
在$ORACLE_BASE\admin\db_name\pfile下,你很可能可以看到一个类似这样init.ora.192003215317]名字的文件,这就是初始化参数文件,只是跟上了时间戳。对于Oracle920+,缺省的就使用spfile启动,但是这个spfile不是凭空而来,而是根据这个文件创建而来,你可以去掉这个长后缀,就是标准的pfile文件了。
注意:
对于UNIX 平台为服务器参数文件或文本初始化参数文件指定的默认位置目录是:
$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora
对于Windows NT 和Windows 2000 其位置是:
$ORACLE_HOME\database\spfile$ORACLE_SID.ora
(Ipaddr: Oracle10g, WindowsNT的默认位置也是:$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora)
SPFILE支持多实例数据库(RAC),即所有的实例共用一个SPFILE。你可以通过查看SHOW PARAMETER spfile参数的值,如果value列返回空值,那么说明你在使用pfile;也可以通过下面的方法查看当前实例是否使用了SPFILE:
SQL> select decode(count(*), 1, 'spfile', 'pfile' ) USED
2 from v$spparameter
3 where rownum=1 and isspecified='TRUE'
4 /
USED
------------
spfile
在Oracle 9i以前,我们可以通过查看V$PARAMETER and V$PARAMETER2知道当前实例的参数值,在Oracle 9i中,我们还可以通过查询V$SPPARAMETER实时的得到所有当前使用的spfile的参数值,包括使用SCOPE=SPFILE参数的ALTER SYSTEM命令改变的参数。
SPFILE可以从某个PFILE文件创建:
CREATE SPFILE[=’SPFILE-NAME’] FROM PFILE[=’PFILE-NAME’]
使用不带文件名的pfile在缺省位置创建spfile,可以用create spfile from pfile;命令,此时系统根据缺省位置(Unix: $ORACLE_HOME/dbs; NT: $ORACLE_HOME\database)的pfile在缺省位置创建名为spfile.ora的文件。创建SPFILE需要SYSDBA或者SYSOPER的权限。
我们也可以根据SPFILE文件创建PFILE文件:
CREATE PFILE[=’PFILE-NAME’] FROM SPFILE[=’SPFILE-NAME’]
这时创建的pfile文件将是一个可编辑的文本文件。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
oracle里的常用命令
1.forcing log switches
sql> alter system switch logfile;
2.forcing checkpoints
sql> alter system checkpoint;
3.adding online redo log groups
sql> alter database add logfile [group 4]
sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo') size 1m;
>>>>>>>>>>>>