存档

2010年8月 的存档,文章数:22

第一步: dbcc opentran(dbname )

第二步:从上面的结果中得到spid,执行: dbcc inputbuffer(spid )

终止并回滚长事务 kill spid

window7程序兼容性助手基本上来说是没有用,国内的大部分软件都提示不兼容,但实际是兼容的,弄个这个只是多了麻烦浪费时间而已。
下面介绍4种关闭方法:

:打开 运行(热键:win+R)输入 gpedit.msc 打开 用户配置→ 管理模板→Windows组件→应用程序兼容性→ 关闭程序兼容性助理,设置成“已启用”

:计算机→管理→服务→ 禁用Program Compatibility Assistant Service服务

点击“开始”,然后在“搜索框”中输入services.msc并回车。 现在滚动滚动条找到 Program Compatibility Assistant Service (程序兼容性助手服务),点击停止它。

    或者执行:

            sc stop PcsSvc

            sc config PcsSvc start= disabled

若要禁用程序兼容性助手警告,使用测试计算机来确定要创建注册表项。 即可使用这些注册表项以禁用程序兼容性助手警告其他计算机上。 要这样做,请按下列步骤操作:

  1. 在测试计算机上运行在受影响的程序。
  2. 当收到程序兼容性助手警告消息时,单击以选中 不显示此消息再次 复选框。

    请注意 此操作将以下注册表子项中创建一个注册表项:

    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags

    项的名称是代表程序项 appcompat 数据库中的 GUID。 条目类型是 DWORD,并且该条目的值为 0x77。

    请注意 程序兼容性助手运行仅为不会被阻止的程序出现警告。

  3. 退出程序。
  4. 请注意在步骤 3 中创建的注册表项。
  5. 在安装脚本包含在安装开始之前添加注册表项的步骤。

再次强调,我们不建议家庭用户禁用PCA,因为这会使得系统不稳定。然后,作为高级用户和管理员,将PCA关闭可以节约时间、避免懊恼的情况发生。

————————————————————————————————-
—- 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;
—- 转载务必注明原始出处 : http://www.dbainfo.net
—- 关键字:win7 兼容性 禁止 AppCompatFlags PcsSvc
————————————————————————————————-

命令:

==适用于sqlserver2005 developer

setup.exe /qb INSTANCENAME=MSSQLSERVER ADDLOCAL=SQL_Engine,Client_Components,Connectivity,SQL_Tools90  SAPWD=andkylee SQLACCOUNT="NT AUTHORITY\SYSTEM" SQLPASSWORD= AGTACCOUNT="NT AUTHORITY\SYSTEM" AGTPASSWORD= SQLBROWSERACCOUNT="NT AUTHORITY\SYSTEM"  SQLBROWSERPASSWORD= SECURITYMODE=SQL DISABLENETWORKPROTOCOLS=0 SQLCOLLATION=Chinese_PRC_CI_AS ASCOLLATION=Chinese_PRC_CI_AS

==适用于sqlserver2005 express

start /wait setup.exe /qb INSTANCENAME=MSSQLSERVER ADDLOCAL=SQL_Engine,Client_Components,Connectivity,SDK SAPWD=liuzhenfu SQLACCOUNT="NT AUTHORITY\SYSTEM" SQLPASSWORD= AGTACCOUNT="NT AUTHORITY\SYSTEM" AGTPASSWORD= SQLBROWSERACCOUNT="NT AUTHORITY\SYSTEM"  SQLBROWSERPASSWORD= SECURITYMODE=SQL DISABLENETWORKPROTOCOLS=0 SQLCOLLATION=Chinese_PRC_CI_AS ASCOLLATION=Chinese_PRC_CI_AS

以下操作均由sybase用户来做:

新建一个脚本文件,譬如/sybase/script/dump.sh
类容如下

$ cat dump.sh
/sybase/OCS-12_5/bin/isql -Usa -P******* -S******* -i /sybase/script/dump.sql -o /sybse/script/dump.log
mv /caiwubackup/backup/cwbase1.bak /caiwubackup/backup/cwbase1_`date +%Y%m%d`.bak
mv /caiwubackup/backup/cwbase2.bak /caiwubackup/backup/cwbase2_`date +%Y%m%d`.bak
mv /caiwubackup/backup/cwbase3.bak /caiwubackup/backup/cwbase3_`date +%Y%m%d`.bak
mv /caiwubackup/backup/cwmaster.bak /caiwubackup/backup/cwmaster_`date +%Y%m%d`.bak
mv /caiwubackup/backup/master.bak /caiwubackup/backup/master_`date +%Y%m%d`.bak

(注意:`号是在键盘左上角和波浪线在一起的那个键上,不是单引号)

在同一个目录下新建脚本dump.sql
类容如下

$ cat dump.sql

dump database cwbase1 to "/caiwubackup/backup/cwbase1.bak"
go
dump database cwbase2 to "/caiwubackup/backup/cwbase2.bak"
go
dump database cwbase3 to "/caiwubackup/backup/cwbase3.bak"
go
dump database cwmaster to "/caiwubackup/backup/cwmaster.bak"
go
dump database master to "/caiwubackup/backup/master.bak"
go

制定一个定时计划,每天晚上23点30开始备份数据库

$crontab -e
30  23 *  *  *  /sybase/script/dump.sh

根据你本机的实际情况,修改相关数据库名称和路径。

今天下午用手工写create database命令的方式创建了一个测试库demo,执行了catalog.sql,catproc.sql,pupbld.sql这三个脚本后,也用orapwd工具创建了密码文件:

orapwd file=e:\oracle\db_1\database\orapwdemo.ora password=db entries=10

因为那台机器上原本有一个oracle实例在跑,所以就没有改listener.ora文件的内容。

在测试库demo的本机上连接实例demo的时候,没有问题。

set oracle_sid=demo

sqlplus /nolog

conn / as sysdba

能够连上!

C:\Documents and Settings\Administrator>set oracle_sid=demo
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 8月 10 17:28:21 2010
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
SQL> conn / as sysdba
已连接。
SQL> show parameter db_name
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_name                              string      demo

 

但是在远程电脑上,用system用户可以连接,用sys连接的时候报错:

SQL> conn sys/db@demo178 as sysdba
ERROR:
ORA-01031: insufficient privileges

解决办法:

下面的语法在oracle 10.2.0.1上面成功执行完成。在windows-xp和ubuntu上都成功创建了数据库实例。

CREATE DATABASE demo
  MAXDATAFILES 500
  MAXINSTANCES 10
  MAXLOGFILES 32
  NOARCHIVELOG
  DATAFILE
       'E:\ORACLE\ORADATA\DEMO\SYSTEM01.DBF'
       SIZE 300M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL
  SYSAUX DATAFILE 'E:\ORACLE\ORADATA\DEMO\SYSAUX01.DBF'
       SIZE 300M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
  DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE 'E:\ORACLE\ORADATA\DEMO\TEMP01.DBF' SIZE 100M 
       AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
  UNDO TABLESPACE "UNDOTBS1"
       DATAFILE 'E:\ORACLE\ORADATA\DEMO\UNDOTBS01.DBF' SIZE 200M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
  DEFAULT TABLESPACE USERS
       DATAFILE 'E:\ORACLE\ORADATA\DEMO\USERS01.DBF' SIZE 100M 
  LOGFILE
  GROUP 1 ('E:\ORACLE\ORADATA\DEMO\REDO01.LOG') SIZE 50M,
  GROUP 2 ('E:\ORACLE\ORADATA\DEMO\REDO02.LOG') SIZE 50M,
  GROUP 3 ('E:\ORACLE\ORADATA\DEMO\REDO03.LOG') SIZE 50M
  CHARACTER SET ZHS16GBK
  NATIONAL CHARACTER SET AL16UTF16;

手工创建完数据库后,要执行创建数据字典的sql文件。

在sqlplus中执行:

sql> @$ORACLE_HOME/rdbms/admin/catalog.sql;

sql> @$ORACLE_HOME/rdbms/admin/catproc.sql

sql> @$ORACLE_HOME/sqlplus/admin/pupbld.sql;

生成密码文件

在目录$ORACLE_HOME/dbs下面必须有密码文件,才能使得远程用户以sys连接数据库。oracle10g中的密码文件名称格式为:pwd$oracle_sid.ora

用命令工具生成:

orapwd file=$ORACLE_HOME/dbs/pwd$ORACLE_SID.ora password=test123 entries=10

这样就在目录$ORACLE_HOME/dbs下面生成了密码文件:pwd$ORACLE_SID.ora,密码为:test123,允许最多10个用户以sys连接。

 

————————————————————————————————————
——— 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;
——— 转载务必注明原始出处 : http://www.dbainfo.net
——— 关键字: oracle10g create database command line 命令行创建数据库

                              no-gui windows linux
————————————————————————————————————

 

手动创建数据库的时候报ORA-02778错误。ORA-02778: Name given for the log directory is invalid

原因是 :$ORACLE_BASE/admin/$ORACLE_SID里面的一些目录没有创建好,比如:bdump,cdump,pfile,udump

另外:oracle 10G的log_archive_format 参数不能随便改,否则会启动不了数据库.

会报以下错误:ORA-32004: obsolete and/or deprecated parameter(s) specified
ORA-19905: log_archive_format must contain %s, %t and %r

解决办法 :修改后以pfile方式进去,创建spfile.

sql server 2005不支持备份压缩。很奇怪怎么不支持呢? sybase在ASE12.x都支持备份压缩了。

自sql server 2008才开始支持备份压缩。虽然只有 SQL Server 2008 Enterprise 及更高版本支持创建压缩的备份,但从 SQL Server 2008 开始,每个版本都可以还原压缩的备份。

限制
压缩的备份具有以下限制条件:

压缩的备份和未压缩的备份不能共存于一个媒体集中。

早期版本的 SQL Server 无法读取压缩的备份。

NTbackup 无法共享包含压缩的 SQL Server 备份的磁带。

 

压缩备份的性能影响
因为相同数据的压缩的备份比未压缩备份小,所以压缩备份所需的设备 I/O 通常较少,因此通常可大大提高备份速度。

默 认情况下,压缩会显著增加 CPU 的使用,并且压缩进程所消耗的额外 CPU 可能会对并发操作产生不利影响。因此,您可能需要在会话中创建低优先级的压缩备份,其 CPU 使用率受资源调控器限制。有关详细信息,请参阅如何使用资源调控器限制备份压缩的 CPU 使用量 (Transact-SQL)。

若要很好地了解备份 I/O 的性能表现,可以通过评估以下类型的性能计数器来分别考察进入设备或来自设备的备份 I/O:

Windows I/O 性能计数器,例如物理磁盘计数器

SQLServer:Backup Device 对象的 Device Throughput Bytes/sec 计数器

SQLServer:Databases 对象的 Backup/Restore Throughput/sec 计数器

有关 Windows 计数器的信息,请参阅 Windows 帮助。有关如何使用 SQL Server 计数器的信息,请参阅使用 SQL Server 对象。