志在指尖
用双手敲打未来

oracle数据库学习(安装和配置)

oracle数据库学习

一、Oracle概念
oracle数据可系统是美国oracle(甲骨文)公司供给的以分布式数据库为中心的一组软件产品,是现在最盛行的客户/服务器或B/S体系结构的数据库之一,oracle数据库时现在世界上运用最为广泛的数据库办理系统,作为一个通用的数据库系统,它具有完善的数据库办理功能,是关系型数据库,比mysql更为庞大,在现行的关系型数据库中排名榜首(oracle、mysql、SqlServer),时刻是最为准确的。
二、Oracle的安装
安装教程
三、Oracle数据库的体系结构
1、数据库database
Oracle数据库是数据的物理储存,这就包括(数据文件ORA或者DBF、操控文件、联机日志、参数文件)。其实Oracle数据库的概念和其他数据库不一样,这儿的数据库时一个操作系统只有一个库,能够看做Oracle就只有一个大数据库。
2、实例
一个数据库能够有n个实例,有一系列的后台进程和内存结构组成。
3、数据文件dbf
是数据库的物理储存单位,数据库的数据是储存在表空间中的,真正是在某一个或者多个数据文件中,而一个表空间能够由一个或多个数据文件组成,一个数据文件只能属于一个表空间,一旦数据文件被加入到某个表空间后,就不能删去这个文件,假如要删去某个数据文件,只能删去其所属于的表空间才行。oracle
4、表空间
表空间是Oracle对物理数据库上相关数据文件的逻辑映射,一个数据库在逻辑上被划分红一到若干个表空间,每个表空间包含了在逻辑上相相关的一组结构,每个数据库至少有一个表空间(称之为system表空间)
每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件,一个数据文件只能属于一个表空间。
5、用户
用户是在实例下建立的,不同实例中能够建相同姓名的用户,表的数据是由用户放入某一个表空间的,而这个表龙剑会随机把这些表数据进行办理和寄存的,可是表不是由表空间去查询的,而是由用户去查询。
6、SCOTT和HR用户
是Oracle帮咱们建好的测试账户,Scott账户常用,里边有emp、dept表等。
四、Oracle和MYSQL的差别
1、新建项目的方法
MYSQL:创立一个数据库,创立相应的表
2、Oracle是多用户的,MYSQL是多数据库的
3、Oracle安全级别要高,MYSQL开源免费
五、基本查询
1、SQL概念
结构化查询言语
2、SQL分类
DDL:数据定义言语createalterdroptruncate
DML:数据操纵言语insertupdatedelete
DCL:数据操控言语安全授权grantrevoke
DQL:数据查询言语selectfrom子句where子句
在oracle中将DQL放入DML中,多了TCL:业务操控言语commit、rollback
3、Oracle中的数据字典
所谓数据字典就是编写sql语句,全选能够一次性履行不报错

oracle数据库安装和配置

2、创建“本地Net服务名”
1)通过【程序】-》【Oracle-OraDb10g_home1】-》【配置和移植工具】-》【NetConfigurationAssistant】,运行“网络配置助手”工具:
2)选择“本地Net服务名配置”:
3)这里的“Net服务名”我们输入安装数据库时的“全局数据库名”:
4)主机名我们输入本机的IP地址:
5)测试数据库连接,用户名/密码为:System/数据库口令(安装时输入的“数据库口令”):
默认的用户名/密码错误:
更改登录,输入正确的用户名/密码:
测试成功:
3、PLsqlDeveloper连接测试
输入正确的用户名/口令:
成功登陆:
数据库
4、创建表空间
打开sqlplus工具:
sql代码
sqlplus/nolog
连接数据库:
conn/assysdba
创建表空间:
createtablespacecamdsdatafile’D:\oracle\product\10.2.0\oradata\camds\camds.dbf’size200mautoextendonnext10mmaxsizeunlimited;
5、创建新用户
运行“P/LsqlDeveloper”工具,以DBA(用户名:System)的身份登录:
1)新建“User(用户):
2)设置用户名、口令、默认表空间(使用上面新建的表空间)和临时表空间:
3)设置角色权限:
4)设置”系统权限“:
5)点击应用后,【应用】按钮变灰,新用户创建成功:
6)新用户登录测试:
输入新用户的“用户名/口令”:
新用户“testcamds”成功登陆:
6、导入导出数据库
先运行cmd命令,进入命令行模式,转到下面的目录:D:\oracle\product\10.2.0\db_1\BIN【该目录下有exp.exe文件】
1)导入
命令语法:
impuserid/pwd@sidfile=path/filefromuser=testcamdstouser=userid
命令实例:
imptestcamds/123@camdsfile=c:\testcamdsfromuser=testcamdstouser=testcamds
导入结果:
2)导出:
expuserid/pwd@sidfile=path/fileowner=userid
exptestcamds/123@camdsorafile=c:\testcamdsowner=testcamds
//创建临时表空间createtemporarytablespacezfmi_temptempfile’D:\oracle\oradata\zfmi\zfmi_temp.dbf’size32mautoextendonnext32mmaxsize2048mextentmanagementlocal;//tempfile参数必须有//创建数据表空间createtablespacezfmiloggingdatafile’D:\oracle\oradata\zfmi\zfmi.dbf’size100mautoextendonnext32mmaxsize2048mextentmanagementlocal;//datafile参数必须有//删除用户以及用户所有的对象dropuserzfmicascade;//cascade参数是级联删除该用户所有对象,经常遇到如用户有对象而未加此参数则用户删不了的问题,所以习惯性的加此参数//删除表空间前提:删除表空间之前要确认该表空间没有被其他用户使用之后再做删除droptablespacezfmiincludingcontentsanddatafilescascadeonstraints;//includingcontents删除表空间中的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间删不掉,所以习惯性的加此参数//includingdatafiles删除表空间中的数据文件//cascadeconstraints同时删除tablespace中表的外键参照如果删除表空间之前删除了表空间文件,解决办法:如果在清除表空间之前,先删除了表空间对应的数据文件,会造成数据库无法正常启动和关闭。可使用如下方法恢复(此方法已经在oracle9i中验证通过):下面的过程中,filename是已经被删除的数据文件,如果有多个,则需要多次执行;tablespace_name是相应的表空间的名称。$sqlplus/nologsql>conn/assysdba;如果数据库已经启动,则需要先执行下面这行:sql>shutdownabortsql>startupmountsql>alterdatabasedatafile’filename’offlinedrop;sql>alterdatabaseopen;sql>droptablespacetablespace_nameincludingcontents;//创建用户并指定表空间createuserzfmiidentifiedbyzfmidefaulttablespacezfmitemporarytablespacezfmi_temp;//identifiedby参数必须有//授予message用户DBA角色的所有权限GRANTDBATOzfmi;//给用户授予权限grantconnect,resourcetozfmi;(db2:指定所有权限)导入导出命令:Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。执行环境:可以在sqlPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle8i中安装目录ora81BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。oracle用java编写,sqlPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。sqlPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。下面介绍的是导入导出的实例。数据导出:1将数据库TEST完全导出,用户名system密码manager导出到D:daochu.dmp中expsystem/manager@TESTfile=d:daochu.dmpfull=y2将数据库中system用户与sys用户的表导出expsystem/manager@TESTfile=d:daochu.dmpowner=(system,sys)3将数据库中的表inner_notify、notify_staff_relat导出expaichannel/aichannel@TESTDB2file=d:datanewsmgnt.dmptables=(inner_notify,notify_staff_relat)4将数据库中的表table1中的字段filed1以”00″打头的数据导出expsystem/manager@TESTfile=d:daochu.dmptables=(table1)query=”wherefiled1like’00%'”上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。也可以在上面命令后面加上compress=y来实现。数据的导入1将D:daochu.dmp中的数据导入TEST数据库中。impsystem/manager@TESTfile=d:daochu.dmpimpaichannel/aichannel@HUSTfull=yfile=d:datanewsmgnt.dmpignore=y上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。在后面加上ignore=y就可以了。2将d:daochu.dmp中的表table1导入impsystem/manager@TESTfile=d:daochu.dmptables=(table1)基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。注意:操作者要有足够的权限,权限不够它会提示。数据库时可以连上的。可以用tnspingTEST来获得数据库TEST能否连上。附录一:给用户增加导入数据权限的操作第一,启动sql*puls第二,以system/manager登陆第三,createuser用户名IDENTIFIEDBY密码(如果已经创建过用户,这步可以省略)第四,GRANTCREATEUSER,DROPUSER,ALTERUSER,CREATEANYVIEW,DROPANYVIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,DBA,CONNECT,RESOURCE,CREATESESSIONTO用户名字第五,运行-cmd-进入dmp文件所在的目录,impuserid=system/managerfull=yfile=*.dmp或者impuserid=system/managerfull=yfile=filename.dmp执行示例:F:WorkOracle_Databackup>impuserid=test/testfull=yfile=inner_notify.dmp屏幕显示Import:Release8.1.7.0.0-Productionon星期四2月1616:50:052006(c)Copyright2000OracleCorporation.Allrightsreserved.连接到:Oracle8iEnterpriseEditionRelease8.1.7.0.0-ProductionWiththePartitioningoptionJServerRelease8.1.7.0.0-Production经由常规路径导出由EXPORT:V08.01.07创建的文件已经完成ZHS16GBK字符集和ZHS16GBKNCHAR字符集中的导入导出服务器使用UTF8NCHAR字符集(可能的ncharset转换).正在将AICHANNEL的对象导入到AICHANNEL..正在导入表”INNER_NOTIFY”4行被导入准备启用约束条件…成功终止导入,但出现警告。附录二:Oracle不允许直接改变表的拥有者,利用Export/Import可以达到这一目的.先建立import9.par,然后,使用时命令如下:impparfile=/filepath/import9.par例import9.par内容如下:FROMUSER=TGPMSTOUSER=TGPMS2(注:把表的拥有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的用户可以不同)ROWS=YINDEXES=YGRANTS=YCONSTRAINTS=YBUFFER=409600file==/backup/ctgpc_20030623.dmplog==/backup/import_20030623.log

未经允许不得转载:IT技术网站 » oracle数据库学习(安装和配置)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载