数据库升级包k db平台手册guide_第1页
数据库升级包k db平台手册guide_第2页
数据库升级包k db平台手册guide_第3页
数据库升级包k db平台手册guide_第4页
数据库升级包k db平台手册guide_第5页
已阅读5页,还剩555页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2017InspurElectronicInformationIndustryCo.,AllInspurSoftware(K-DB®)andsareprotectedbycopyrightlawsandinternationalconvention.InspursoftwareandsaremadeavailableunderthetermsoftheInspurLicenseAgreementandthismayonlybedistributedorcopiedinaccordancewiththetermsofthisagreement.Nopartofthismaybetransmitted,copied,deployed,orreproducedinanyformorbyanymeans,electronic,mechanical,oroptical,withoutthepriorwrittenconsentofInspurCo.,.Nothinginthissoftware andagreementconstitutesatransferofinlectualpropertyrightsregardlessofwhetherornotsuchrightsareregistered)oranyrightstoInspurtrademarks,logos,oranyotherbrandfeatures. isforinformationpurposesonly.Theassumesnodirectorindirectresponsibilitiesforthecontentsofthis ,anddoesnotguaranteethattheinformationcontainedinthis certainlegalorcommercialconditions.Theinformationcontainedinthis issubjecttochangewithout 、计算机程序保及国际条约的保护。说明书内容和说明程序只在与InspurCo., .签署协议下才可以使用和。事先若 Inspur公司同意,不得对本文件及其中部分内容以,例如影印、记录、信息保存与搜索系统的任何电子媒介形式或可读形式进行传送、、在任何情况下,本软件使用说明书和程序的协议均不得解释为相关的知识(无论是否)转让,也不oftheirrespectivecompanies.K-DB®是InspurCo.,.的商标。其他所有产品和公司名各都是其所有者的商标,参考OpenSourceSoftwareSomemodulesorfilesofthisproductaresubjecttothetermsofthefollowinglicenses.:OpenSSL,RSADataSecurity,Inc.,ApacheFoundation, n-loupGaillyandMarkAdler,PaulHsieh'shash本产品的部分文件和模块遵守以下:OpenSSL,RSADataSecurity,Inc.,ApacheFoundation, GaillyandMarkAdler,PaulHsieh'shash :说明书版本:v2.1.6关于本 第1章K-DB简 概 主要功 基本特 行级 进程结 工作进 进 第2章基础管 用户管 安装环 使用kdSQL工 使用Binary 第3章文件和数据管 数据结 表空 日志文 控制文 Schema对象管 概 表压 约 约束状 磁盘 参 INITRANS参 配置参 索 索 视 序 同义 触发 分 创建分 第5章用户管理和数据库安 用户管 用户帐户锁定和...................................................................................................... 权 对象权 系统权 其他权 概要文 角 基本角 网络控 全网控 基于IP的控 审 审计对SYS用户的审 第6章备份与恢 K-DB文 备 备份类 执行备 恢 故障恢 介质恢 RMGR工 基本功 RMGR选 第7章分布式事 XA的未决事务处 数据库................................................................................................................................数据库创建、删 网 数据库使 数据库相关视 第8章K-DBStandby 概 进 角色切 限制事 K-DBStandbyCluster相关视 第9章K-DBCluster 概 运行 cmrctl命 cmrctl cmrctldel cmrctl cmrctl cmrctl cmrctl cmrctl 通过cmrctl命令控制 crfconf命 KAC搭 HighAvailability(HA)Service搭 第10章K-DBActive 概 结 进 KAC环境配 创建KAC数据 KAC启 准备启 启动 KAC 数据加 概 环境配 字段加 传输加 概 环境配 密钥及位 并行执 概 并行 工作原 2-set结 TPS分 并行查 并行 并行 第14章K-DBPerformance 概 DPR使用方 tip配 生成报 第15章Separationof 概 安 附录 附录 附录 常见问 附录 索 x[图 K-DB进程结 [图 [图 [图 [图 [图 [图 [图 XA工作原理(AP、TM、DB的关系 [图 K-DBStandbyCluster工作原 [图 KAC结 [图 并行执 [图 [例 运行 [例 [例 执行LS命 [例 LS命令-查看当前用 [例 LS命令-查看表空 [例 执行SQL语句 [例 执行SQL语句 [例 创建用 [例 [例 tip配置示 [例 创建 [例 修改表-字段属 [例 修改表-字段 [例 修改表-块参 [例 删除 [例 表压 [例 分区压 [例 [例 [例 修改压 [例 [例 [例 [例 创建约束-列级约 [例 创建约束-表级约 [例 修改约束-约束 [例 修改约束-添加约 [例 删除约 [例 修改约束状态- [例 修改约束状态- [例 修改约束状态- [例 创建索 [例 删除索 [例 [例 创建视 [例 修改视 [例 删除视 [例 创建序 [例 修改序 [例 删除序 [例 [例 [例 [例 [例 [例 [例 创建分 [例 [例 [例 [例 [例 [例 [例 [例 [例 非一致性备份-选择表空 [例 非一致性备份-beginbackup、endbackup命 [例 [例 [例 使用Compress选项和SkipUnused选项的联机全备 [例 使用WithArchiveLog选项的联机全备 [例 使用WithArchiveLog选项的增量备 [例 [例 [例 [例 [例 基于BackupSetID的备份删除示 [例 基于BackupDate的备份删除示 [例 [例 [例 [例 启动备 [例 [例 [例 [例 查看全局视图- [例 创建 [例 [例 打开 [例 关闭 [例 创建包含加密字段的表-默认为AES192算法、 [例 创建包含加密字段的表-设定为AES256算法、NO [例 [例 [例 [例 [例 [例 创建加密表空间-设定为3DES168算 [例 加密表空间-创建失 [例 加密的表空间-添加数据文 [例 加密的表空间-表生 [例 [例 [例 [例 trator,以下称DBA)。关于本书1章:K-DB 4章:Schema第8章:K-DBStandby第9章:K-DBCluster第10章:K-DBActive14章:K-DBPerformance15K-DBSeparationof关于本书双引号'输入项超>+---|---

同时按Ctrl和C界面UI中的输入项 [[

HP-UXAIX(PPC5L/AIXGNU(X86,64,Linuxkernel2.6关于本书K-K-kdCLI以及编写kdCLI程序所需要的数据类型、函数、错误消息等。K-K-ExternalProcedureK-K-K-K-介绍程序模块kdPSM复合类型、子程序、包,执行SQL语句和处理K-kdPSM的包,以及包中包含的各程序和函数的原型、参数、示例K-K-K-K-DB关于本书:官网第1K-DBK-DB的主要功能、进程以及。K-DB作为企业级数据库管理系统,可为企业商务搭建最优的数据环境,解决高性能、高可用性以及扩展K-DB采用独有的K-DB线程架构,进一步完善了现存数据库产品的各种缺陷。它能够有效利用CPU、内存等系统资源,确保高性能、稳定性、扩展性,并提供便利的开发环境以及管理功能。K-DBB从初期的设数据(DataK-DB将当前数据库中的修改到备库。即,通过网络传送更改日志(ChangeLog)到备库,将修改如何实现高可用和高性能是企业级数据库系统的最关键的问题。K-DB提供K-DBActive第1K-DB简介联机分析处理(OLAP,On-LineyticalProcessing)环境的SQL并行处理功能,以提高执行速度,I/O、CPU、内存等系统资源计算成本。SQL进行优化,即重写查询的结构,以导出更好的执行计划。用户可以使用视图合并、子查询嵌路径是从数据库检索数据的方式,有全表扫描、索引扫描、ROWID扫描等多种方式。每种方式2正在进行修改数据的事务而发生错误。K-DB使用多版本并发控制(MVCC)和行级锁机制。)为保障细粒度锁控制(Fine-grainedLockControl),K-DB使用行级锁。即,可以按数据最小单位ROW单(Concurrency)。在对多行进行修改时,也不会发生表被锁死导致无法执行DML并发的状况。在OLTP环境可以发挥更强的性能。第1K-DB简介[1.1K-DB●器1.5.1.)的工作线程(③)。4工作进程是实际与客户端通信,处理客户端请求的进程。工作进程的数量可以通过初始化参数WTHR_T调整,K-DBK-DB11起,根据不同用途,将工作进程分为两组。其中的前台工作进程负责处理从器传入的联机请求,工作进程是负责运行内容任务(InternalTask)或作业调度器中的任务。组可以通过MAX_BG_SESSION_COUNT初始化参数配置。K-DB采用基于线程的操作方式,以有效利用资源。K-DB1个控制线程和10个工作线程。 根据MAX_SESSION_COUNT值,系统会自动配置 T和_WTHR_PER_PROC。手动配置 T*MAX_BG_SESSION_COUNTMAX_SESSION_COUNT_WTHR_PER_PROC值的倍控制线工作线等DBMS的大部分操作都在工作线程中进行。第1K-DB简介一个工作线程连接一个客户端,所以K-DB同时允许的客户数等于 T*_WTHR_PER_PROC的值。K-DB不支持会话复用(SessionMultiplexing),一个客户端连接就等于一个会话。最大会话 T*_WTHR_PER_PROC的值。模系统时,建议采用三层构架,就是在K-DB和客户端的应用程序之间插入中间件的方式。1.5.3.进进程(BackgroudProcess)不会直接与客户端通信,是通过工作线程或其他进程接收请求,或按从K-DB11起英文名称从线程变成进程,但其实就是一个独立的线程。最初在K-DB启动时生成,K-DB结(AGNTagent负责需要周期性执行的K-DB内部任务,以系统。K-DB4SP1时还负责将序列缓存(SequenceCache)写入磁盘,但K-DB5起转由各个工作线程负责。原来使用的名称为SEQWK-DB11起改成了AGNT。关于序列的使用方法参见「4.7.1.序列创建、修改、删除」。 结 6+-| +- +- +- +- +- +- |+- |+- |+- |+- +- +- +- +- +- +- +-|+-|+- +- +-|+- +- +- +- |+- |+- |+- |+- +-|+-|第1K-DB简介+-+-||+-|+-||+-|+-|+-K-DB默 实用工具相关内容参见“K-DB实用工具说明书”kdpc“K-DBkdESQL/C说明 8 ExternalProcedure相关配置文件和日志文件所在 。相关详情参见“K-DBExternalProcedure说32位Windows的ODBC/OLEDB驱动程序所 64位Windows的ODBC/OLEDB驱动程序所 若K-DB的数据库信息不单独设置,所有数据库信息都保存在本 中。此 以编译模式(Compiledmode)编译kdPSM程序时,结果文件所在的 释器模式,相关详情参见“K-DBkdPSM说明书”。 第1K-DB简介K-DBBug 的最大容量可被设置,K-DB会删除旧文件,以防超出限制。 。K-DB运行中,对 创建K-DB数据库时使用的各种SQL语句所在的 第1K-DB简介一个DBMS系统至少要有一名DBA。通常一个数据库系统的用户越多,就需要的相关管理人员DBA负责检测数据库内容的准确性和整合性、制定数据库的保存结构和管理方案,树立和检验数据的安全策略等数据库的性能,并应对各种不断变化的需求。DBA被要求多种数据库产品的丰富经验。–Schema第2章基础管理括LINUX)中的ROOT用户。K-DBSYSSchemaK-DB运行中至关重要。必须SYS以外的其他用户对其进行修改或编辑。ID'SYS'通常有一名以上的系统管理员。系统管理员(或sysadmin,包括网络管理员)是管理和计算机系第2章基础管理K-DB安装 K-DB安装 在本书中执行UNIXS命令时,遵循GNUBash()语法。根据使用的S要使用不同的语法,详情参见各操作系统的相关文档。$$echo $$echo$$echo 中 中本节中简单介绍通过kdSQL连接数据库的方法,以及执行简单的SQL命令的方法。$$kdSQLInspurCorporationCopyright(c)2008-.All.示符,或数据库连接失败等问题时,参见「附录C.常见问题」解决问题。$$kdsqlkdSQLInspurCorporationCopyright(c)2008-.All.ConnectedtoK-第2章基础管理kdSQL下面是可以在kdSQL中使用令。大括号([])中部分是可以省略的。!等于HOST命令。%@,/RUNARCHIVE与EXIT命令相同。等于/命令。第2章基础管理SQL> PACKAGE PACKAGESQL>SQL>LSSQL>SQL>LSV$SESSIONTYPE'WTHR'SQL。V$SESSION视图可以查看各个会话ID。SQL>SELECTSID,WHERETYPE=SID1011312rowsSQLANSI(AmericanNationalStandardInstituteISO/IEC(InternationalStandardOrganization/InternationalElectrotechnicalCommission)共同规定的关系型数据库或对象关系型(Object-Relational)1999年发布了SQL3或叫SQL-99,在SQL2的基础上扩展了面向对象的概念的对象关系型数据库语言。标准SQL语句分为以下三种。DCLCOMMIT、ROLLBACKSQL命令的一部分由事务和会话语言重新构成。关于DCL的内容参见相关文档。第2章基础管理SQL>SQL>selectSID,STATUS,TYPE,WTHR_IDfromv$sessionwheretype=......与[例2.6的执行结果相同SQL>selectSID,STATUS,TYPE,WTHR_IDfromV$SESSIONwheretype=......与[例2.6的执行结果相同SQL>selectSID,STATUS,TYPE,WTHR_IDFromv$sessionWheretype=......与[例2.6的执行结果相同行结果和[例2.6]执行结果完全一样。SQL>SQL>SELECTSID,STATUS,TYPE,WTHR_IDFROMV$SESSIONWHERETYPE=0rowTABLE)权限。SQL>SQL>CREATEUSERADMINIDENTIFIEDBY...创建用户,用户名为'ADMIN',口令为'password123'User'ADMIN'SQL>GRANTCREATESESSIONTO...给ADMIN用户授 SQL>GRANTCREATETABLETO ADMIN用户可以创建表SQL>CONN 面创建的ADMIN用户连接数据库TBR-17001:Loginfailed:invalidusernameorNolongerconnectedtoSQL>CONN SQL>...Schema'SQL>SQL>CREATETABLE"PRODUCT"PROD_IDNUMBER(3)NOTNULLCONSTRAINTPROD_ID_PKPRIMARYKEY,PROD_NAMEVARCHAR(50)NULL,PROD_COSTNUMBER(10)NULL,PROD_PIDNUMBER(3)NULL,PROD_DATEDATENULLTable'PRODUCT'SQL>SELECTTABLE_NAMEFROM1row第2章基础管理SQL>DESC...DESC是输出PRODUCT表的列的kdSQLNOT NORMALSQL>INSERTINTO"PRODUCT"VALUES(601,'K-to_date('2004-12-3109:00:00','yyyy-mm-dd...SQLPRODUCT("")PRODUCT时,Schema...按照SQL括起来1rowSQL>INSERTINTO"PRODUCT"VALUES(602,'K-to_date('2005-06-2109:00:00','yyyy-mm-dd1rowSQL>INSERTINTO"PRODUCT"VALUES(603,'K-to_date('2007-01-0109:00:00','yyyy-mm-dd1rowSQL>INSERTINTO"PRODUCT"VALUES(604,'K-to_date('2009-04-3009:00:00','yyyy-mm-dd1rowSQL>SELECT*FROM...输出PRODUCT表中的所有数据的SQLPROD_ID PROD_PID60160160144rows然后通过kdSQL以[2.8]创建的ADMIN用户连接K-DB。$$kdsqlkdSQLInspurCorporationCopyright(c)2008-.All.ConnectedtoK-SQL>SELECT*FROM0row([2.9])中执行提交命令,才可以查到新插入的数SQL>SQL>Commit第2章基础管理SQL>UPDATE"PRODUCT"SETPROD_COST=PROD_COST*1.1WHEREPROD_COST<8500;2rowsSQL>SELECTPROD_COSTFROM4rows...以上是将不到8,500元的所有产品的价格(PROD_COSTColumn调高10的SQLSQL>RollbackSQL>DELETEFROM"PRODUCT"WHEREPROD_NAME='K-...不再销售K-DB2,该商品要下架。所以在PRODUCT表中删除该产品1rowSQL>SELECTPROD_NAME,PROD_COSTFROM...查询PRODUCT表。可以看到K-DB2产品已被被调高的K-DB产品价格(不到8,500元又回到原来的价格 3rowsSQL>...quit命令时,在断开数据库连接之前,会对当前处理中的事务进行提交。所以K-DB2产品在PRODUCT表中被完全删除。$$$kdsqlkdSQLInspurCorporationCopyright(c)2008-.All.ConnectedtoK-SQL>GRANTDBATOSQL>SQL>DROPUSERTBR-7139:cascadeisrequiredtoremovethisuserfromtheSQL>DROPUSERADMINUser'ADMIN'ADMINCASCADEkdboot要在安装K-DB「2.2.安装环境」讲过,在执行kdboot许K-DB安装用户可以K-DB执行文件。第2章基础管理)$$cd$od700kdsvrkdlistenerkdbootkddown$ls-totaldrwxr-xr-x4kdbkdb4096Dec2818:12drwxr-xr-x13kdbkdb4096Dec2011:59省略-rwx------1...-rwx------1...-rwx------1...kdsvr* 1...kdlistener* 1...kddown->kdboot-vkdboot-hkdboot-Ckdboot-kdboot[-t][normal|mount|nomount|resetlogs|NORMAL|MOUNT|NOMOUNT|RESETLOGS-----$$kdbootlistenerport=8629K-DB11InspurCorporationCopyright(c)2008-.All.K-DBinstancestartedsuspendedatNORMALK-DB(CrashRecovery).K-DBK-DBCREATEDATABASE语句创建数据库。$$kdbootlistenerport=8629K-DB11InspurCorporationCopyright(c)2008-.All.K-DBinstancestartedsuspendedatNOMOUNT$$kdbootlistenerport=8629K-DB11InspurCorporationCopyright(c)2008-.All.K-DBinstancestartedsuspendedatMOUNT第2章基础管理$$kdbootlistenerport=8629K-DB11InspurCorporationCopyright(c)2008-.All.K-DBinstancestartedsuspendedatNORMAL式运行。详情参见「6.3.3.介质恢复」。下面是kddown执行方法。kddown[-t][normal|post_tx|immediate|abort|switchover|abnormal|NORMAL|POST_TX|IMMEDIATE|ABORT|SWITCHOVER|ABNORMALkddown--如果K-DB服务器被Kill等系统命令发生异常关机时,关机后持续占用共享内存或信号量等资源。在此外还可以通过初始化参数BOOT_WITH_AUTO_DOWN_CLEAN在异常关机时自动释放占用资源。的操作,就可能导致系统异常,通常不建议使用BOOT_WITH_AUTO_DOWN_CLEAN。kddown进程连接服务器时,主机名固定为localhost,端为初始化参数+K-DBkddownNORMAL模式关闭,还是以IMMEDIATE模式关闭。kddownkdSQLSQLSYS用户登录数据库。即,在没有安装K-DB服务器的远端也可以通过kdSQL关闭服务器。但ABNORMAL模式是不能在kdSQL使用。第2章基础管理WindowK-DBimmediateK-DB服务器。用户也可以通过参数SERVICE_CONTROL_STOP_DOWN配置关闭模式。户都无法再连接到数据库。但无法限制kddown执行前连接的用户,之前建立的会话可以继续使用。$$K-DBinstanceterminated(NORMALPOST_TXSYS用户连K-DB,一直等到所有事务完成,再关K-DB。一旦执kddown后,任何用kddownkdSQL中,不会立刻抛出关闭信息。要等到执行下一个命令,就会抛出K-DB已关闭消息。$$kdsqlkdSQLInspurCorporationCopyright(c)2008-.All.ConnectedtoK-SQL>CREATETABLET1(COL1Table'T1'SQL>INSERTINTOT11rowSQL>SELECT*FROM11rowSQL>CommitSQL>SELECT*FROMTBR-2131:GenericI/O...因为服务器已关闭,kdSQLTBR-2131立即停止所有处理中的任务,对所有执行中的事务进行回滚,再关K-DBIMMEDIATESYS用户连接K-DBK-DBPOST_TX模式一样,不会立即通知用户K-DB已关闭。$$kddownK-DBinstanceterminated(IMMEDIATE立即K-DB的所有进程。ABORTSYS用户连K-DBK-DBMTHR进程将所有其他进程直接关闭。通常仅在紧急状况下使用,如果在大量任务执行中进行了ABORT关闭,重启数据库时会需要很长时$$kddownK-DBinstanceterminated(ABORT第2章基础管理SWITCHOVER是执行备库和主库同步后,再以正常模式关闭主库。详情参见「第8章K-DBStandbyCluster」的「8.6.1.Switchover」。$$kddownK-DBinstanceterminated(ABNORMAL))BinaryTIPBTIP)K-DBTIP文件的区别在于,SQL>SQL>CREATEBTIPFROM...从$KD_HOME/config下的TIP文件生成生成到SQL>CREATEBTIP='PATH'FROM...如果不想在$KD_HOME/config下生成...指定生成BTIP文件的绝对路径...文件扩展名必须是.btip在启动时,如果在$KD_HOME/config下已存在$KD_SID.btip文件,就会默认从BTIP文件中参数。SQL>SQL>SELECTTIP_FILEFROMV$INSTANCE;正在使用...$KD_HOME/config下的BTIP文SQL>SQL>ALTERSYSTEMSETPARAMETER1=NEW_VALUESCOPEBTIP...PARAMETER1更改值NEW_VALUE只会反映到BTIP中...下一次启动时,才能激活NEW_VALUE...DDL执行后PARAMETER1值仍然是OLD_VALUESQL>ALTERSYSTEMSETPARAMETER1=NEW_VALUESCOPEMEMORY...只在当前运行中激活PARAMETER1的更改值...下一次启动时PARAMETER1OLD_VALUESQL>ALTERSYSTEMSETPARAMETER1=NEW_VALUESCOPEBOTH...将PARAMETER1更改值NEW_VALUE适用于当前运BTIP中...下一次启动时PARAMETER1值是NEW_VALUE...DDL执行后PARAMETER1值也是NEW_VALUESQL>SQL>CREATETIPFROM第2章基础管理数数据库表空间>段实数数据文件操作系统的数据第3和数逻辑结段管理逻辑相关的详情参见「第4章Schema对象管理」物理结如上图[图3.2],由多个物理文件组成。K-DB中除了数据文件,还可以通过控制文件和日志文件数创建表空第3和数CREATECREATETABLESPACEDATAFILE'/usr/kdb/dtf/my_file.dtf'SIZE50MEXTENTMANAGEMENTLOCALUNIFORMSIZE256K;小*2^22"。例如,数据块的大小为8KB时,数据文件的最大大小是32GB。小为4KB,就等于在一个区间中包含64个数据块。还可以创建多个数据文件组成一个表空间。CREATECREATETABLESPACEDATAFILE'/usr/kdb/dtf/my_file21.dtf'SIZE ...①'/usr/kdb/dtf/my_file22.dtf'SIZE ...②EXTENTMANAGEMENTLOCALUNIFORMSIZE ...③为1MB。CREATECREATETABLESPACEDATAFILE'/usr/kdb/dtf/my_file.dtf'SIZE50MAUTOEXTENDONNEXT1MEXTENTMANAGEMENTLOCALUNIFORMSIZE删除表空DROPDROPTABLESPACE表空间中的数据文件,在DROPTABLESPACE语句中加INCLUDING。DROPDROPTABLESPACEmy_spaceINCLUDINGCONTENTSANDDATAFILE项,就可以为表空间增加新的数据文件。ALTERALTERTABLESPACEmy_spaceADDDATAFILE'my_file02.dtf'SIZE 不指明文件绝对路径时,默认生成的是在初始化参数文件($KD_HOME/config/$KD_SID.tip)中的指定的 ALTERDATABASEALTERDATABASE语句可以将数据文ALTERALTERDATABASEDATAFILE'my_file01.dtf'RESIZE第3和数如果想对特定表空间读写,可以使用ALTERTABLESPACE的OFFLINE参数,将表空间状态切换ARCHIVELOGALTERALTERTABLESPACEmy_spaceOFFLINE[NORMAL];ALTERTABLESPACEmy_spaceONLINE;ALTERALTERTABLESPACEmy_spaceOFFLINEALTERDATABASERECOVERAUTOMATICTABLESPACEmy_space;ALTERTABLESPACEmy_spaceONLINE;.K-K-日志文件是记录重做日志的文件。重做日志中记录着数据库中发生的所有修改,当数据库遇到严重错误从图[3.3(LogGroup)K-DB(Circular)使复用(Multiplexing)。不同组的成员数和成员大小是可以不同。第3和数可以将重做日志移到外部设备长期保存,这被叫做归档(Archive),以备磁盘故障会引起日志受损或K-DB中,在重做日志的不使用或使用状态中,都可以改变归档模式。如果想将使用中的重做日志进行归档,可以将日志归档模式切换到ARCHIVELOG。SQL>SQL>ALTERDATABASE1222归档。此时除2意为了防止发生此类问题,DBA要配置足够的日志组数目。多路日志成[3.4LogMember1-11的第一个日志成员。如果同组成员在一个磁盘中,数据无法同时写入多路日志第3和数归档日志的和复归档日志也可以组成复用,保存到多个位置。可以通过配置初始化参数LOG_ARCHIVE_DEST_1、LOG_ARCHIVE_DEST_2、...、LOG_ARCHIVE_DEST_9。'location='属性是指定归档位置,可以指定mandatory或optional选项,规定归档失败时,如何动作。(缺省为optional)mandatory如果归档失败,就会一直重试,直到归档成功,才可以覆盖重做日志。如果一直失败就会无法继续使用重做日志,更会导致整个数据库停机。设定为optional时,无论归档是否成功,都会覆[3.1tipLOG_ARCHIVE_DEST= LOG_ARCHIVE_DEST= LOG_ARCHIVE_DEST_1="location=/usr/kdb/archive1mandatory"LOG_ARCHIVE_DEST_2="location=/usr/kdb/archive2mandatory"LOG_ARCHIVE_DEST_3="location=/usr/kdb/archive3"LOG_ARCHIVE_DEST_4="location=/usr/kdb/archive4optional"新建日志组,或在日志组中添加或删除日志成员时,使用ALTERDATABASE命令。要使用ALTERDATABASE命令需要相关系统权限。创建日志文ALTERDATABASEADDLOGFILE。用于添加日志文件。但添加日志文件512KB,两个日志成员大小必ALTERALTERDATABASEADDLOGFILE'/usr/kdb/log/my_log22.log')SIZE512KADDLOGFILEGROUP为组指定一个序号。以后再添加日志成员等操作时,该号可以代ALTERALTERDATABASEADDLOGFILEGROUP5'/usr/kdb/log/my_log22.log')SIZE512KALTERALTERDATABASEADDLOGFILE'/usr/kdb/log/my_log25.log'TOGROUP删除日志文下面示例是删除日志组5。ALTERALTERDATABASEDROPLOGFILEGROUPDROPLOGFILEMEMBER。此时必须指明日志组所属的服务ALTERALTERDATABASEDROPLOGFILEMEMBER第3和数到$KD_SID.tip文件中。)K-DB中建议备份大小内容一致的镜像文件。这与重做日志的多路复用类似,建议在不同的磁盘中存放不K-DB只会从复份中的一个文件中控制文件信息。当发生数据库物理结构改变时,会更新控制文件,DBA可以添加或删除控制文件副本。控制文件中保存着数据库的元数据,所以在数据库运行中是无法进行动态修改。也没有提供相关SQL命令,只能在关闭数据库后进行修改。 $$cp/usr1/kdb/control01.ctl 中第3和数SQL语句。特别是在执全数据库备份时,也要备份控制文件。详情参见「6.2.2.执行备份」。SQL>SQL>ALTERDATABASEBACKUPCONTROLFILETOTRACE第4章Schema表列行为了有效的使用数据库,表的设计非常重要,必须考虑部署和保存环境配置等多方因素。K-DB允许创建第4章Schema对象管理创建 过128字 –.–CREATECREATETABLEDEPT NUMBERPRIMARYKEY,DEPTNAMEVARCHAR(20), )TABLESPACEmy_space 5INITRANS3;CREATETABLEEMP NUMBERPRIMARYKEY, VARCHAR(16)NOTNULL, CHECK(SALARY>=FOREIGNKEY(DEPTNO)REFERENCES)TABLESPACEmy_space 5INITRANS3;上例中,EMP5(EMPNO、ENAME、ADDR、SALARY、DEPNO)4个约束。存放到表空间my_space中,配置了块参数(PCT、INITRANS)。修改第4章Schema对象管理字 最多过30字,通过RENAMECOLUMN子句更改。参–配置块参数。参见[4.4]––ALTERALTERTABLEMODIFY(SALARYDEFAULT5000NOTSALARYMODIFYNOTNULLSALARY字段的属性,默认值为5000,并建立非空约束,使SALARY值不允许是NULL。可以同时对多个字段属性进行修改,用逗号分隔符(,)隔开。ALTERALTERTABLEEMPRENAMECOLUMNADDRTO 字被更改后,原字段的约束等会被K-DB系统自动进行调整,仍然适用于该字段。例如上面的SQL执行后,ADDRADDRESS字段。但检查约束时会发生不匹配的问题,需要用户通过ALTERTABLE语句,重新定义约束。ALTERALTERTABLEEMP 更改在表中建立的约束和状态相关详情参见「4.3"K-DBSQL参删除DROPDROPTABLEDROPDROPTABLE第4章Schema对象管理关联表,或关联表对该表的参照约束。要删除关联表的参照约束,在DROPTABLE语句中使用CASCADECONSTRAINTS语句。DROPDROPTABLEEMPCASCADE两个表位于不同磁盘中,可以并行处理SELECT。INITRANS参数设置。PCT和INITRANS参数相关详情参见「4.4.磁盘块」。K-DB提供消除表列的数据冗余节省空间的压缩功能。启用表压缩时,在一个块中对重复出现的列值只保压缩表和普通表一样可以执行DML,即可以执行INSERT、UPDATE、DELETE等DML。不用BULK通INSERT插入的行不会执行压缩,所以性能和普通表一样。DELETE性能也同普通表一样。但UPDATE时可能还需要执行解压缩,更新性能可能低于普通表。会变低。所以相比OLTP环境更适合OLAP环境。表压缩对CREATECREATETABLEEMPEMPNODECIMAL(4),ENAMEVARCHAR(10),JOBVARCHAR(9),MGRDECIMAL(4),SALNUMBER(7,2),COMMNUMBER(7,2),DEPTNONUMBER(2))CREATECREATETABLEEMPEMPNODECIMAL(4),ENAMEVARCHAR(10),JOBVARCHAR(9),MGRDECIMAL(4),第4章Schema对象管理HIREDATEHIREDATEVARCHAR(14),SALNUMBER(7,2),COMMNUMBER(7,2),DEPTNONUMBER(2))PARTITIONBY(PARTITIONEMP_PART1VALUESLESSTHAN(500),PARTITIONEMP_PART2VALUESLESSTHAN(1000)PARTITIONEMP_PART3VALUESLESSTHAN(1500),PARTITIONEMP_PART4VALUESLESSTHAN(2000)PARTITIONEMP_PART5VALUESLESS查看表压缩状为'YES'时,表示对DML进行压缩。selectselecttable_name,compressionfrom表压缩方DirectPath了上列情况以外执行的一般的INSERT、UPDATE不会被进行压缩。修改表压缩状ALTERTABLEMOVE语句可以修改表的压缩状态。即可以对压缩表进行解压缩,或解压缩表进行ALTERTABLEMOVEEXCLUSIVELOCK,无法执行其他DML。带分区的表时,不能针对整个表,而是按分区单位执行MOVE。如果要在DML执行过程中修改压缩状态,使用ExchangeDDL功能,可以在联机状态中进行压缩或解压ALTERALTERPMOVEALTERTABLEEMPMOVEPARTITION DirectPathLoader、ParallelInsert等不会执行压缩。但之前的数据压缩状ALTERALTERTABLEEMP表压缩相关限(INDEXORGANIZEDTABLE)B数结构的组织表。在普通表中行是无序的保存在块ROWID对表再进行一次搜索。但索引组织表中,索引和数据是一体的,只要进行一次搜索就可以找到相应行,减少磁盘I/O。的,如果想用其他键建立索引,要建立SECONDARYINDEX。第4章Schema对象管理创建索引组织INCLUDINGPCTTHRESHOLD的列开始都放入溢出但即使指定了INCLUDING,在INCLUDING列之前的列中已超出PCTCREATECREATETABLETBL_IOTCOL1COL2VARCHAR2(20),COL3VARCHAR2(10),COL4VARCHAR2(10),PRIMARYKEY(COL1,)PCTTHRESHOLD40删除索引组织DROPDROPTABLE创建约时使用CONSTRAINT指定约束名。CREATECREATETABLEDEPT NUMBERPRIMARYKEY,DEPTNAMEVARCHAR(20), )TABLESPACE第4章Schema对象管理5INITRANSCREATETABLEEMP)PRIMARY NOTNULL,SALARY_MINCHECK(SALARY>=DEPTNO_REFFOREIGNKEY(DEPTNO)REFERENCESTABLESPACE 5INITRANSNOT第一次创建时,必须在定义字段时一起创建。创建后修改时使用 MODIFYCREATECREATETABLETEMP_PROD CONSTRAINTPROD_ID_PKPRIMARYKEY, CONSTRAINTPROD_NAME_NNNOTNULL, CONSTRAINTPROD_COST_NNNOTNULL, NUMBER(6), CONSTRAINTPROD_DATE_NNNOT修改约ALTERALTERTABLERENAMECONSTRAINTEMP_PRI_KEYTO束的写法一样。但添加非空约束时,不能使用ADD子句,要用MODIFY子句。ALTERALTERTABLEADDCONSTRAINTSALARY_MAXCHECK(SALARY>=ALTERTABLEADDUNIQUE(ENAME,第4章Schema对象管理更改字时,不影响原字段的约束,K-DB系统会自动进行更改。例如[4.3]SQL语句,ADDRADDRESSCHECK约束时会发生不匹配的问题,需要用户通过ALTERTABLE语句重新定义约束。删除约USER_CONSTRAINTS视图查看该约束的约束名,可以修改名称或删ALTERALTERTABLEDROPPRIMARY删除主键约束。ALTERTABLEDROPCONSTRAINT删除约束名为SALARY_MAX的约束。下面是ENABLE的两种选项。唯一约束,即使设定为NOVALIDATE,也会默认执行VALIDATE。使用kdLoader或kdImport或其他批量执行程序,可以大量插入或更新数据。此时禁用约束,可以有效修改约束状ALTERALTERTABLEEMPMODIFYCONSTRAINTEMP_UNIQUEALTERALTERTABLEEMPMODIFYPRIMARYKEYALTERALTERTABLEEMPMODIFYCONSTRAINTSALARY_MINENABLE第4章Schema对象管理磁盘块据的小物单元,个块大小致的。-B中以各对进块配以提高块的使用效率。根据各个对象的特点来配置块参数,可以有效的提高数据库的性能以及空间使用率。PCT参中插入新的行。一旦达到PCT值,就不允许再插入新行。如果块中的对象会通过更新变大,将PCT值要调大一点。相比PCT值小时,可以保存到一块的事务不会使对象变大或是只读事务时,可以将PCT参数值调很小。例如可以将PCT值设定为5。INITRANS一个磁盘块可以多个事务,块中的每一行都保存对自己进行创建、更新、删除的最后一个事务的信(trstntryst。INITRANS参数控制初始大小。事务表中的条目,在一个事务完成提交后,就即,块越大,就可以扩展越多条目。但最多过255个。初始值取高一点。INITRANS参数的缺省值为2。PCT和INITRANS参数,可以按对象单位设置。可以在创建或修改对象时配置参数。下面是在创建EMP表是配置参数。CREATECREATETABLEEMP VARCHAR(16)NOTNULL, ) INITRANSALTERALTERTABLEEMP 第4章Schema对象管理CREATECREATEINDEXEMP_DEPTNO_IDXONEMP(DEPTNO)INITRANSK-DB中除了主键、唯一键以及被设置外键约束的列之外的其他列,可以任意创建或删除索引。如果创建索创建索引时,使用CREATEINDEX语句。[例4.22]创建索引CREATECREATEINDEXEMP_FKONEMP删除索第4章Schema对象管理DROPDROPINDEXK-DBB-TREE(SingleKeySearch)(RangeSearch)、组合键搜索(CompositeKeySearch)。索引搜索类–SELECTSELECT*FROMWHEREDEPTNO=5ANDADDR=如果上例中的字段DEPTNO和ADDR都分别建立了索引,为了找到符合条件的行要进行两次搜索,分别搜DEPTNO=5的行和符ADDR='Seoul'的行。在两组搜索结果中共同包含的行作为最此时如果为DEPTNO列和ADDR列建立一个组合键索引,可以组成DEPTNO+ADDR或ADDR+DEPT索引管理指(C1,C2(C2C1)第4章Schema对象管理SQL>SQL>CREATETABLET(ATable'T'SQL>CREATEINDEXIONIndex'I'SQL>ALTERINDEXIMONITORINGIndex'I'SQL>SELECT/*+index(ti)*/*fromtwherea>rowsSQL>SELECTUSEDFROMYrow创建视CREATECREATEVIEWMANAGERSELECT*FROMEMPWHEREDEPTNO=CREATEVIEWEMP_DEPTSELECTE.EMPNO,E.ENAME,E.SALARY,D.DEPTNO,D.LOCFROMEMPE,DEPTDWHEREE.DEPTNO=EMP_DEPTADMINOPTIONCREATECREATEVIEWV_PRODSELECTPROD_ID,PROD_NAME,PROD_COSTFROMPRODUCTWHEREPROD_ID=修改视如果视图或基本表发生更改无法使用该视图时,要通过CREATEORRECEVIEW语句修改。要有CREATEORRE CECREATEORRE CEVIEWMANAGERASSELECT*FROMEMPWHEREDEPTNO=SQLMANAGERDROPVIEW第4章Schema对象管理删除视DROPDROPVIEW)创建序INCREMENT(递减时最小值)ALTER一般情况下,不建议使用NOCACHE。第4章Schema对象管理CREATECREATESEQUENCEMINVALUEMAXVALUEINCREMENTBYCREATECREATETABLEEMP_ID(IDNUMBER,NAMEINSERTINTOEMP_IDVALUES(NEW_ID.NEXTVAL,修改序ALTERALTERSEQUENCENEW_IDMAXVALUE99999INCREMENTBYCACHEK-DBNEXTVALNEXTVALALTERSEQUENCE语句的执行结果可能不同于其他DBMS。SQL>SQL>CREATESEQUENCES1STARTWITH10INCREMENTBYSQL>ALTERSEQUENCES1INCREMENTBYSQL>SELECTS1.NEXTVALFROM1第4章Schema对象管理删除序DROPDROPSEQUENCE创建同义CREATECREATESYNONYMT1FOR删除同义DROPDROPSYNONYM第4章Schema对象管理创建公用同义公用同义词(PUBLICSYNONYM)顾名思义就是允许所有用户的同义词,其所有者是K-DB定义CREATECREATEPUBLICSYNONYMPUB_T1FOR使用同义词可在对象时,提供方便性和透明性。如上例中其他用户要U1中的EMP表时,每次都需要输入U1.EMP。但如果使用公用同义词,只要输入PUB_T1就可以了。SELECTSELECTEMPNO,ENAME,ADDRFROMSELECTEMPNO,ENAME,ADDRFROM删除公用同义DROPPUBLICSYNONYMDROPPUBLICSYNONYM系统权DROPDROPPUBLICSYNONYM创建触发下面示例是创建在EMP表中插入新行后执行的触发器。CREATECREATETRIGGERAFTERINSERTONEMPFOREACHROW---PSMBLOCK--第4章Schema对象管理删除触发DROPDROPTRIGGER执行DML语句时也可以只相关的分区,相比全表搜索,可以将搜索量降低到1/N(分区数),提高检HASHCREATETABLE语句建表时指定分区信息就可以了。只要有表的创建权限,CREATECREATETABLEPARTITIONED_TABLE1(C1NUMBER,C2CLOB,C3NUMBER)PARTITION

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论