Oracle中用sql语句创建数据库_第1页
Oracle中用sql语句创建数据库_第2页
Oracle中用sql语句创建数据库_第3页
Oracle中用sql语句创建数据库_第4页
Oracle中用sql语句创建数据库_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、.:.;二、在Windows下创建数据库 Oracle实例在Windows下表现为操作系统效力。在windows下,运用命令行方式创建数据的方法有所不同,差别在于在Windows下,需求先创建数据库效力和实例。1.确定数据库名、数据库实例名和效力名并创建目录(DBCA创建的脚本不包含建立目录命令,须本人创建) 建立目录命令(下面以 db_name=eygle为例):mkdir D:oracleora90cfgtoollogsdbcaeygle mkdir D:oracleora90database mkdir d:oracleadmineygleadump mkdir d:oracleadmi

2、neyglebdump mkdir d:oracleadmineyglecdump mkdir d:oracleadmineygledpdump mkdir d:oracleadmineyglepfile mkdir d:oracleadmineygleudump mkdir d:oracleflash_recovery_area mkdir d:oracleoradata mkdir d:oracleoradataeygle2.创建参数文件 在Windows下的参数文件称号及途径如下: d:oracleproduct10.1.0adminDB_NAMEpfileinit.ora(oracle

3、10g) d:orantdatabaseiniORACLE_SID.ora(oracle7,oracle8) 参数据文件内容与前述一致。这里不再阐明。3.选择数据库实例 设置环境变量ORACLE_SID c:set ORACLE_SID=数据库实例名4.创建数据库实例 在Windows中创建数据库实例的命令为Oradim.exe,是一个可执行文件,可以在操作系统符号下直接运转。直接输入oradim显示此命令的协助 。 c:Oradim 下面对Oradim命令的参数进展一个阐明 - -NEW 表示新建一个实例 -EDIT 表示修正一个实例 -DELETE 表示删除一个实例 -SID sid 指定

4、要启动的实例称号 -SRVC service 指定要启动的效力称号 -INTPWD password 以Internal方式衔接数据库时的口令字 -MAXUSERS count 该实例可以衔接的最大用户数 -USRPWD password 指定内部用户的口令,如是作为Windows管理登录,不用此参数 -PFILE pfile 该实例所运用的参数文件名及途径 -STARTTYPE srvc|inst|srvc,inst 启动选项srvc:只启动效力,inst:启动实例,效力必需先启动,srvc,inst:效力和实例同时启动 -SHUTTYPE srvc|linst|srvc,inst 封锁选项

5、srvc:只封锁效力,实例必需已封锁,inst:只封锁实例,srvc,inst:效力和实例同时封锁 -STARTMODE a|m 创建实例所运用的方式a:自动,即windows启动时自动启动 m:手动 -SHUTMODE a|i|m 封锁实例时所运用的方式a:abort异常方式,i:immediate立刻方式,n:normal正常方式 - 例:创建一个数据库实例 c:oradim -NEW -SID myoracle -STARTMODE m -PFILE d:fangysinitmyoracle.ora 或 c:oradim -NEW -SRVC OracleServicemyoracle

6、-STARTMODE m -PFILE d:fangysinitmyoracle.ora 例:修正一个数据实例 c:oradim -EDIT -SID myoracle -STARTMODE a 或 c:oradim -EDIT -SRVC OracleServicemyoracle -STARTMODE a 例:删除一个实例 c:oradim -DELETE -SID myoracle 或 c:oradim -DELETE -SRVC Oracleservicemyoracle 例:启动效力与实例 c:oradim -STARTUP -SID myoracle -STARTTYPE srvc

7、,inst 只启动效力 c:oradim -STARTUP -SID myoracle -STARTTYPE srvc 启动实例: c:oradim -STARTUP -SID myoracle -STARTTYPE inst 例:封锁效力与实例 c:oradim -SHUTDOWN -SID myoracle c:oradim -SHUTDOWN -SID myoracle -SHUTTYPE srvc,inst5.启动实例并创建数据库 c:oradim -NEW -SID myoracle -INTPWD syspass -STARTMODE a -PFILE d:fangysinitmy

8、oracle.ora c:set ORACLE_SID=myoracle c:sqlplus sys/syspass as sysdba sqlstartup -pfile=d:fangysinitmyoracle.ora nomount sqlCREATE DATABASE myoracle logfile group. .6.创建数据字典 sqld:oracleproduct10.1.0db_1rdbmsadmincatalog.sql; sqld:oracleproduct10.1.0db_1rdbmsadmincatproc.sql; sqld:oracleproduct10.1.0d

9、b_1rdbmsadmincatrep.sql; sqld:oracleproduct10.1.0db_1javavminstallinitjvm.sql; sqld:oracleproduct10.1.0db_1sqlplusadminppbld.sql; 一、启动数据 $sqlplus sys/pass as sysdba sqlstartup二、启动监听器 数据库启动后,假设未启动监听进程,那么客户端无法与数据库衔接。监听进程的启动方法为: $lsnrctl start 在widnows中,可以从效力列表中启动监听器。 监听里程配置文件为listener.ora,位于目录/home/ap

10、p/oracle/product/10.1.0/db1/network/admin/。 此配置文件分为两部分,一部分为监听程序本身的配置,包括协议,地址,端口号等;另一部分为监听程序所衔接的数据库的实例信息,包括:实例名,全局数据库名,oracle主目录等。监听器可以利用oracle net config 导游来配置。 要显示监听器的运转形状:$lsnrctl status; 要停顿监听器:$lsnrctl stop。三、数据库的启动过程 分为三个阶段: 1. 启动实例,包括以下操作: 1) 读取参数文件 2) 分配SGA 3) 启动后台进程 装载数据库 装载数据库是将数据库与已启动的实例相联

11、络。数据库装载后,数据库坚持封锁形状。 翻开数据库 此步骤运用数据库可以进展正常的操作的处置。主要是翻开控制文件,数据库文件和日志文件。四、数据库启动参数 1.NOMOUNT:只启动实例,不装载数据库 sqlstartup nomount 2.MOUNT:启动实例,并装载数据,但不翻开数据库 sqlstartup mount 3.READ ONLY:将数据库置为只读 sqlstartup mount sqlalter database open read only 4.READ WRITE:以可读写方式翻开数据,这是默许方式 sqlstartup mount sqlalter database

12、 open read write 5.OPEN:翻开数据库,这是默许方式 sqlstartup mount sqlalter database open; 6.RESTRICT:以受限方式翻开,只需具有RESTRICTED SESSION权限的用户才可以衔接数据库 sqlstartup restrict 7.PFILE:启时指定参数文件 sqlstartup pfile=/u02/user/mypfile.ora 8.FORCE:以强迫方式启动数据库 sqlstartup pfile=/u02/user/mypfile.ora open restrict force五、数据库的封锁 与启动过程

13、相对应,封锁包括三个过程 )封锁数据库 )卸载数据库 )封锁数据库实例NORMAL封锁方式 NORMAL封锁方式是正常封锁方式,是默许封锁方式。在这种关机方式下,数据库效力器必需等待一切客户端从Oracle中正常退出时,才可以封锁数据库。 SQLSHUTDOWN NORMAL IMMEDIATE封锁方式 运用这种方式封锁数据库时,系统将衔接到数据库的一切用户尚未提交的事务全部回退,中断衔接,然后封锁数据库。 SQLSHUTDOWN IMMEDIATE ABORT封锁方式 ABORT封锁方式为异常方式,运用这种方式封锁数据库时,系统立刻将数据库实例封锁,对事务膛数据完好性不作检查。是最快的关机方

14、式。 sqlshutdown abort; TRANSACTIONAL封锁方式 在这种关机方式中,数据库必需等待一切的客户运转的事务终了,提交或回退。 sqlshutdown transactional Oracle数据库的衔接构造有三种: 1) 组合用户与效力器构造:在这种衔接方式中,客户端与效力器同处一台机器中,对于每一个用户,其库运用程序与效力器程序组合成单个效力器进程。 2) 公用效力器(Dedicated Server)构造:在这种方式中,对于每一个用户,其数据库运用是由用户进程所运转,并有一个公用效力器进程为之效力,执行Oracle效力器代码。 3) 多线程效力器(Multithr

15、eaded Server)体系构造:在这种方式中,一个或多个客户运用程序共享一组效力器进程,与公用效力器不同的是,客户和效力器进程不是一对一的关系,而是由调度进程对多个效力器进程进展调度,以效力客户运用的衔接恳求。公用效力器 公用效力器的任务过程: 1) 客户端经过oraclenet向监听器发衔接恳求 2) 监听器收到恳求并将此恳求导向效力器,效力器向用户前往一个衔接胜利信息,并为此用户创建一个公用效力器进程 3) 客户直接与该公用效力器进程进展交互,处置,并且效力器在该会话的PGA中建立一个公用SQL区。 假设客户端要求建立公用效力器衔接方式,可以修正客户羰的网络配置文件tnsnames.o

16、ra或修正衔接描画串。添加关键字“Server=DEDICATED,如: prod= (DESCRIPTION= (ADDRESSLIST= (ADDRESS= (PROTOCOL=TCP)(HOST=192.168.0.3)(PORT=1521) (SERVER=DEDICATED) ) ) (CONNECT_DATA=(SID=PROD) ) ) 还必需修正SQLNET.ORA文件,添加“USE_DEDICATED_SERVER=TRUE 多线程效力器体系构造 公用效力器构造中,一个效力器进程只为一个客户效力。这样的话,假设有一千个客户,就需求有一千个对应的效力器进程,就会耗费大量的系统资

17、源。为了支持对于可伸缩性的需求,在oracle7中引入了多线程效力器(MTS,也称为共享效力器)。下面阐明共享效力器建立衔接的过程,以级与建立公用效力器衔接过程的不同: 1) 客户经过网络与监听器联络 2) 监听器检测到恳求,基于Oracle net构造来确定能否与多线程效力器衔接。监听器将客户恳求导向相应的调度程序。 3) 监听器经过使客户与调度程序了解对方的网络地址,从面完成了双方的引见。 4) 一旦客户与调度程序知道如何找到对方,它们就直接通讯,不要需求监听器。客户直接将操作恳求发送给高度程序。 5) 调度程序将客户恳求放在的恳求队列中。 6) 下一个可用的共享效力器进程从恳求队列中读取

18、恳求,进展相应的任务。 7) 共享效力器进程将结果存放在提交相应恳求的调度程序的呼应队列中。 8) 调度程序从呼应队列中读取数据并将结果送组客户。有几个概念在这里作个补充阐明: 1) 监听器(Listener):为一个或多个实例“监听衔接恳求,它是oracle客户与效力器的中介。监听器不是Oracle实例的一部分,它的作用是将衔接的恳求导向相应的实例。 2) 调度程序(dispatcher):在MTS体系构造中,监听器与调度程序联络,调度程序担任调度MTS中的各个共享效力器进程。多线程效力器的设置参数有: MTS_SERVICE:多线程效力器称号,普通为数据库名 MTS_DISPATCHERS

19、:初始调度器个数 MTS_MAX_DISPATCHERS:调度器最大个数 MTS_SERVERS:共享效力器个数 MTS_MAX_SERVERS:最大共享效力器个数 多线程效力器的设置是经过对以上各个参数的设置完成的。格式如下: MTS_SERVICE=RS MTS_SERVERS=10 MTS_MAX_SERVERS=100 MTS_DISPATCHERS=(PROTOCOL=TCP)(POOL=YES)(MULT=YES) MTS_DISPATCHERS=(PROTOCOL=IPX)(POOL=YES)(MULT=YES) MTS_DISPATCHERS=(PROTOCOL=IPC)(PO

20、OL=YES)(MULT=YES) MTS_MAX_DISPATCHERS=100有关多线程效力器的数据字典如下: V$MTS V$DISPATCHER V$SHARED_SERVER V$CIRCULT 各字典的详细阐明请参考Oracle文档。第八篇 再述oracle数据库体系构造 之四:Oracle实例的进程构造这里所讲的里程是指Unix系统中的进程,在Windows中,Oracle是一个操作系统效力。 Oracle实例由内存区域和后台进程组成。 Oracle实例分为单进程实例(一个进程执行全部的Oracle代码,只允许单个用户存取)和多进程实例(由多个进程执行Oracle代码的不同部分,

21、对于每一个衔接的用户都有一个进程,允许多个用户同时运用)。 在多进程构造中,除效力器进程(请留意,此“效力器进程不是指一切的实例中的进程,见下面的阐明)外,还有其他后台进程,包括:Dnnn,DBWR, LGWR,ARCH,PMON,SMON,CKPT,RECO等。在数据库启动后,这些进程常驻操作系统。Oracle中一切进程的数量之和不能超越参数 PROCESS设定的值: sqlshow parameter process 当Oracle客户端运用程序与Oracle实例衔接的时候,Oracle会产生一个效力器进程来为这些客户效力,此进程在widnows下表现为线程。此进程的主要作用有:对于用户发

22、出的SQL语句进展语法分析,编译,执行用户的SQL语句,如是数据块不在数据缓冲区时,那么从磁盘数据文件将数据读入到 SGA的共享数据缓冲区中,将SQL语句的执行结果前往组运用程序。下面的语句用来查询数据库中的用户会话信息。 sqlselect substr(s.sid,1,3) sid,substr(s.serial#,1,5) ser,spid,substr(schemaname,1,10) schema,substr(type,1,3) typ,substr(decode(consistent_gets+block_gets),0,None,(100*(consistent_gets+bl

23、ock_gets-physical_reads)/consistent_gets+block_gets),1,4) %hit,value cpu,substr(block_changes,1,5) bchng from v$process p,v$sesstat t,v$sess_io i,v$session s where i.sid=s.sid and p.addr=paddr(+) and s.sid=t.sid and t.statistic#=12; 结果中: sid表示会话号, ser表示会话serial#号,serial#与sid组合以独一表示一个会话, spid表示操作系统进程

24、号, schema表示数据库用户名, typ 表示进程类型,use为用户进程,bac为后台进程 %hit 表示数据缓冲区命中率, cpu 表示运用cpu的时间, bchng表示修正了的数据块的个数。下面引见各个后台进程。 1. DBWR进程 DBWR(Database Writer)进程将缓冲区中的数据写入数据文件,担任数据缓冲区的管理。 当数据缓冲区中的一个数据被修正后,被标志为“脏,DBWR进程担任将“脏数据写入磁盘。 DBWR采用LRU算法来交换数据缓冲区中的数据。 DBWR的作用包括: 1)管理数据缓冲区,以便效力器进程总能找到空闲缓冲区 2)将一切修正后的缓冲区中的数据写入数据库文件

25、 3)运用LRU算法将最近运用过的块保管在内存中 4)经过延迟写来优化磁盘i/o. 在以下情况下DBWR要将脏数据写入磁盘数据文件: 1)当一个效力器进程将缓冲数据块移“脏表,面该脏表到达一定程度进。(该临界长度由参数DB_BLOCK_WRITE_BATCH决议) 2)当一个效力器进程在LRU表中查找DB_BLOCK_MAX_SCAN_CNT缓冲区时,没有查到空闲的缓冲区 3)出现超时 4)检查点发生时 在一个Oracle实例中,允许启动多个DBWR进程,DBWR进程个数由参数DB_WRITE_PROCESSES指定,上限为20,进程名依次自动命名为:DBW0,DBW1,DBW2.DBW19。

26、 sqlshow parameter processes2. LGWR进程 LGWRLog Writer进程将日志数据从日志缓冲区中写入磁盘日志文件中。 关于LGWR进程的任务时机可以看我写的第一篇。 LGWR的写盘条件是: 1) 发生提交,即commit; 2) 日志缓冲区到达总数的1/3时; 3) 超时; 4) DBWR进程需求为检验点去除缓冲区时。 每一个Oracle实例只需一个LGWR进程。 LGWR将日志信息同步的写入到日志文件组的多个日志成员中,假设组中的一个成员文件被删除或不可运用,LGWR将日志信息继续写到该组的其他文件中,不影响数据库的运转。3. SMON进程 SMON(Sy

27、stem Monitor),系统监控进程,在实例启动时执行实例恢复,并担任清理不再运用的暂时段。4. PMON进程 PMON(Process Monitor),进程监控里程,在效力器进程出现缺点时执行进程恢复,担任清理内存内存和释放该进程所运用的资源。5. ARCH进程 ARCH(Archive Process,归档进程)在日志存满时将日志信息写到磁盘或磁带,用于介质失败时的恢复。 日志信息首先产生于日志缓冲区,再由日志写入进程LGWR将日志数据写入日志文件组,日志切换时,由归档进程ARCH将日志数据从日志文件组中写入归档日志中。 在一个数据库实例中,归档进程最多可以启动10个,进程名依次自动

28、命名为ARC0,ARC1,ARC2.ARC9,设置方法是:在参数文件中添加参数LOG_ARCHIVE_MAX_PROCESSES。关于如何启用数据库的自动归档,在前面的一篇中已有阐明,这里阐明一个几个相关的参数: 1) LOG_ARCHIVE_DEST:用于设置归档日志的文件存储目录 2) LOG_ARCHIVE_DUBLEX_DEST:用于设置归档日志文件的镜像存储目录,此参数在oracle 8及以上的版本中支持 3) LOG_ARCHIVE_DEST_n:用于设置更多的镜像目录,其中,1 ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1=DEFER; 此参

29、数只适用于oracle 10g及以上版本。6. CKPT进程 CKPTCheckPoint,检查点进程出现时,系统对全部数据库文件及控制文件的文件头的同步号进展修正,以保证数据库的同步。 以下两个参数是对CKPT有影响的: LOG_CHECKPOINT_TIMEOUT:决议产生一个检验点的时间间隔,单位为秋,默以为1800; LOG_CHECKPOINT_INTERVAL:执行一个检验点需求填充的日志文件块的数目,默以为0,表示不起作用。 系统对于数据库的改动信息用系统改动号SCN表示,SCN也叫检验点号,在日志中用CHECKPOINT_CHANGE#表示,它是数据文件,日志文件,控制文件的同步的同步根据,同时存储在这三个中,在系统改动时,检验点号也会同时改动。 引起CKPT产生的主要时机有: 1)日志切换时 2)到达LOG_CHECKPOINT_TIMEOUT指定的间隔时间 3)到达LOG_CHECKPOINT_INTERVAL指定的日志块数 4)数据库封锁 5)DBA强迫产生 6)表空间OFFLINE时7. RECO进程 RECO(Recover,恢复)进程用于分布式数据库系统,RECO进程自动地处理在分布式数据库中的

温馨提示

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

评论

0/150

提交评论