您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Oracle中用sql语句创建数据库
二、在Windows下创建数据库Oracle实例在Windows下表现为操作系统服务。在windows下,使用命令行方式创建数据的方法有所不同,差别在于在Windows下,需要先创建数据库服务和实例。1.确定数据库名、数据库实例名和服务名并创建目录(DBCA创建的脚本不包含建立目录命令,须自己创建)建立目录命令(下面以db_name=eygle为例):mkdirD:\oracle\ora90\cfgtoollogs\dbca\eyglemkdirD:\oracle\ora90\databasemkdird:\oracle\admin\eygle\adumpmkdird:\oracle\admin\eygle\bdumpmkdird:\oracle\admin\eygle\cdumpmkdird:\oracle\admin\eygle\dpdumpmkdird:\oracle\admin\eygle\pfilemkdird:\oracle\admin\eygle\udumpmkdird:\oracle\flash_recovery_areamkdird:\oracle\oradatamkdird:\oracle\oradata\eygle2.创建参数文件在Windows下的参数文件名称及路径如下:d:\oracle\product\10.1.0\admin\DB_NAME\pfile\init.ora(oracle10g)d:\orant\database\iniORACLE_SID.ora(oracle7,oracle8)参数据文件内容与前述一致。这里不再说明。3.选择数据库实例设置环境变量ORACLE_SIDc:\setORACLE_SID=数据库实例名4.创建数据库实例在Windows中创建数据库实例的命令为Oradim.exe,是一个可执行文件,可以在操作系统符号下直接运行。直接输入oradim显示此命令的帮助。c:\Oradim下面对Oradim命令的参数进行一个说明--------------------------------NEW表示新建一个实例-EDIT表示修改一个实例-DELETE表示删除一个实例-SIDsid指定要启动的实例名称-SRVCservice指定要启动的服务名称-INTPWDpassword以Internal方式连接数据库时的口令字-MAXUSERScount该实例可以连接的最大用户数-USRPWDpassword指定内部用户的口令,如是作为Windows管理登录,不用此参数-PFILEpfile该实例所使用的参数文件名及路径-STARTTYPEsrvc|inst|srvc,inst启动选项(srvc:只启动服务,inst:启动实例,服务必须先启动,srvc,inst:服务和实例同时启动)-SHUTTYPEsrvc|linst|srvc,inst关闭选项(srvc:只关闭服务,实例必须已关闭,inst:只关闭实例,srvc,inst:服务和实例同时关闭)-STARTMODEa|m创建实例所使用的模式(a:自动,即windows启动时自动启动m:手动)-SHUTMODEa|i|m关闭实例时所使用的模式(a:abort异常方式,i:immediate立即方式,n:normal正常方式)----------------------------例:创建一个数据库实例c:\oradim-NEW-SIDmyoracle-STARTMODEm-PFILEd:\fangys\initmyoracle.ora或c:\oradim-NEW-SRVCOracleServicemyoracle-STARTMODEm-PFILEd:\fangys\initmyoracle.ora例:修改一个数据实例c:\oradim-EDIT-SIDmyoracle-STARTMODEa或c:\oradim-EDIT-SRVCOracleServicemyoracle-STARTMODEa例:删除一个实例c:\oradim-DELETE-SIDmyoracle或c:\oradim-DELETE-SRVCOracleservicemyoracle例:启动服务与实例c:\oradim-STARTUP-SIDmyoracle-STARTTYPEsrvc,inst只启动服务c:\oradim-STARTUP-SIDmyoracle-STARTTYPEsrvc启动实例:c:\oradim-STARTUP-SIDmyoracle-STARTTYPEinst例:关闭服务与实例c:\oradim-SHUTDOWN-SIDmyoraclec:\oradim-SHUTDOWN-SIDmyoracle-SHUTTYPEsrvc,inst5.启动实例并创建数据库c:\oradim-NEW-SIDmyoracle-INTPWDsyspass-STARTMODEa-PFILEd:\fangys\initmyoracle.orac:\setORACLE_SID=myoraclec:\sqlplussys/syspassassysdbasqlstartup-pfile=d:\fangys\initmyoracle.oranomountsqlCREATEDATABASEmyoraclelogfilegroup......6.创建数据字典sql@d:\oracle\product\10.1.0\db_1\rdbms\admin\catalog.sql;sql@d:\oracle\product\10.1.0\db_1\rdbms\admin\catproc.sql;sql@d:\oracle\product\10.1.0\db_1\rdbms\admin\catrep.sql;sql@d:\oracle\product\10.1.0\db_1\javavm\install\initjvm.sql;sql@d:\oracle\product\10.1.0\db_1\sqlplus\admin\ppbld.sql;一、启动数据$sqlplussys/passassysdbasqlstartup二、启动监听器数据库启动后,如果未启动监听进程,则客户端无法与数据库连接。监听进程的启动方法为:$lsnrctlstart在widnows中,可以从服务列表中启动监听器。监听里程配置文件为listener.ora,位于目录/home/app/oracle/product/10.1.0/db1/network/admin/。此配置文件分为两部分,一部分为监听程序本身的配置,包括协议,地址,端口号等;另一部分为监听程序所连接的数据库的实例信息,包括:实例名,全局数据库名,oracle主目录等。监听器可以利用oraclenetconfig向导来配置。要显示监听器的运行状态:$lsnrctlstatus;要停止监听器:$lsnrctlstop。三、数据库的启动过程分为三个阶段:1.启动实例,包括以下操作:1)读取参数文件2)分配SGA3)启动后台进程2.装载数据库装载数据库是将数据库与已启动的实例相联系。数据库装载后,数据库保持关闭状态。3.打开数据库此步骤使用数据库可以进行正常的操作的处理。主要是打开控制文件,数据库文件和日志文件。四、数据库启动参数1.NOMOUNT:只启动实例,不装载数据库sqlstartupnomount2.MOUNT:启动实例,并装载数据,但不打开数据库sqlstartupmount3.READONLY:将数据库置为只读sqlstartupmountsqlalterdatabaseopenreadonly4.READWRITE:以可读写方式打开数据,这是默认方式sqlstartupmountsqlalterdatabaseopenreadwrite5.OPEN:打开数据库,这是默认方式sqlstartupmountsqlalterdatabaseopen;6.RESTRICT:以受限方式打开,只有具有RESTRICTEDSESSION权限的用户才可以连接数据库sqlstartuprestrict7.PFILE:启时指定参数文件sqlstartuppfile=/u02/user/mypfile.ora8.FORCE:以强制方式启动数据库sqlstartuppfile=/u02/user/mypfile.oraopenrestrictforce五、数据库的关闭与启动过程相对应,关闭包括三个过程1).关闭数据库2).卸载数据库3).关闭数据库实例1.NORMAL关闭方式NORMAL关闭方式是正常关闭方式,是默认关闭方式。在这种关机方式下,数据库服务器必须等待所有客户端从Oracle中正常退出时,才可以关闭数据库。SQLSHUTDOWNNORMAL2.IMMEDIATE关闭方式使用这种方式关闭数据库时,系统将连接到数据库的所有用户尚未提交的事务全部回退,中断连接,然后关闭数据库。SQLSHUTDOWNIMMEDIATE3.ABORT关闭方式ABORT关闭方式为异常方式,使用这种方式关闭数据库时,系统立即将数据库实例关闭,对事务膛数据完整性不作检查。是最快的关机方式。sqlshutdownabort;4.TRANSACTIONAL关闭方式在这种关机方式中,数据库必须等待所有的客户运行的事务结束,提交或回退。sqlshutdowntransactionalOracle数据库的连接结构有三种:1)组合用户与服务器结构:在这种连接方式中,客户端与服务器同处一台机器中,对于每一个用户,其库应用程序与服务器程序组合成单个服务器进程。2)专用服务器(DedicatedServer)结构:在这种方式中,对于每一个用户,其数据库应用是由用户进程所运行,并有一个专用服务器进程为之服务,执行Oracle服务器代码。3)多线程服务器(MultithreadedServer)体系结构:在这种方式中,一个或多个客户应用程序共享一组服务器进程,与专用服务器不同的是,客户和服务器进程不是一对一的关系,而是由调度进程对多个服务器进程进行调度,以服务来自客户应用的连接请求。专用服务器专用服务器的工作过程:1)客户端通过oraclenet向监听器发连接请求2)监听器收到请求并将此请求导向服务器,服务器向用户返回一个连接成功信息,并为此用户创建一个专用服务器进程3)客户直接与该专用服务器进程进行交互,处理SQL,并且服务器在该会话的PGA中建立一个专用SQL区。如果客户端要求建立专用服务器连接方式,可以修改客户羰的网络配置文件tnsnames.ora或修改连接描述串。增加关键字“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”多线程服务器体系结构专用服务器结构中,一个服务器进程只为一个客户服务。这样的话,如果有一千个客户,就需要有一千个对应的服务器进程,就会耗费大量的系统资源。为了支持对于可伸缩性的需求,在oracle7中引入了多线程服务器(MTS,也称为共享服务器)。下面说明共享服务器建立连接的过程,以级与建立专用服务器连接过程的不同:1)客户通过网络与监听器联系2)监听器检测到请求,基于Oraclenet结构来确定是否与多线程服务器连接。监听器将客户请求导向相应的调度程序。3)监听器通过使客户与调度程序了解对方的网络地址,从面完成了双方的介绍。4)一旦客户与调度程序知道如何找到对方,它们就直接通信,不要需要监听器。客户直接将操作请求发送给高度程序。5)调度程序将客户请求放在SGA的请
本文标题:Oracle中用sql语句创建数据库
链接地址:https://www.777doc.com/doc-10987 .html