oracle操作文档1.0
更新时间:2023-11-15 06:45:01 阅读量: 教育文库 文档下载
Oracle学习文档
一、 Oracle的设置
Oracle设置是在Oracle用户下的超级用户下进行设置的。
1. 环境变量的设置
oracle软件使用了许多环境变量,非常重要的三个是ORACLE_HOME,ORACLE_BASE和ORACLE_SID.ORACLE_HOME指定了你希望运行的oracle执行程序的位置.一台计算机上可能安装了若干个版本的oracle软件,大多数oracle程序查询ORACLE_HOME来决定运行何种版本的软件.ORACLE_BASE定义了数据库管理文件安装的基本目录.ORACLE_SID定义了你希望在其上工作的本地oracle数据库名称。 如:
ORACLE_BASE=/home/db/oracle ORACLE_SID=SUPTDB
LD_LIBRARY_PATH=/home/db/oracle/product/10.2.0/lib ORACLE_HOME=/home/db/oracle/product/10.2.0 PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE LD_LIBRARY_PATH ORACLE_SID ORACLE_HOME PATH
2. 数据库的启动
数据库的启动以及监听的启动,这里会涉及到监听器的概念,这里向大家介绍一下监听器,监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。因此在写EC程序的时候会涉及到其他用户访问到oracle数据库时,测试监听必须开启状态。
设置好环境变量后可启动oracle。 su - oracle sqlplus /nolog conn /as sysdba startup
然后启动监听:
进入/opt/oracle/product/9.2.0/bin/ lsnrctl start
3. 创建用户
创建用户,test1为用户名,test2为密码 SQL> connect /as sysdba
SQL> create user test1 identified by test2; 要赋给此用户一些权限用于操作oracle
给用户一些基本权限用于数据库的操作
grant connect, resource to 用户名 (这里只赋给用户链接权限)
二、 连接数据库
首先要在使用数据库的用户设置环境变量 如:
#用户设置
ORACLE_USERNAME=test1 ORACLE_PASSWD=test2 #ORACLE目录
ORACLE_BASE=/home/db/oracle #ORACLE库
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/db/oracle/product/10.2.0/lib ORACLE_HOME=/home/db/oracle/product/10.2.0 #oracle数据库名称 ORACLE_SID=SUPTDB
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE LD_LIBRARY_PATH ORACLE_HOME ORACLE_SID PATH export ORACLE_USERNAME ORACLE_PASSWD #oracle数据库字符集设置 CLIENT_LOCALE=zh_cn.gb DB_LOCALE=zh_cn.gb SERVER_LOCALE=zh_cn.gb
export CLIENT_LOCALE DB_LOCALE SERVER_LOCALE export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
三、 EC程序的编写
1.连接数据库时需加上用户名和密码以及数据库名称
如:EXEC SQL CONNECT :szDBName;
其中(szDBName为test1/test2@SUPTDB) 对数据库的操作无非是增删查找操作。
这里要注意的一点在做增删操作时,oracle会自动开启事物,所以操作完后务必执行关闭事物语句:EXEC SQL COMMIT。
2.NVL函数的使用
在做查询时要是用数据库函数NVL,当提取某个字段时oracle会自动判断表中字段值情况,因此在使用select语句时要用到NVL函数来避免数据库报错(错误码:-1405),NVL函数处理则是当字段是为空时则默认将' '中的值来进行代替。
如:EXEC SQL SELECT NVL(CERT_TYPE, ' '), NVL(CERT_NO, ' '), NVL(CUST_NM, ' ') INTO :szCertType, :szCertNo, :szCustName FROM suptdata.BSU_ACCT_INFO WHERE ACCT_CRD_NO = :szAcctNo;
3.连接其他用户数据表
以上面的EC程序为例
可以看到FROM后面的表则是采用:用户名.表名。这是由于此张表不是由当前用户所建立的(当前用户为连接数据库的用户,即suss),但是都属于同一个数据库,因此在访问时要加上建立此表的用户名称。同一用户则不用加用户名称。注意:访问其它表时,需要其表的用户赋予使用权限,命令为:grant select on 表名 to 用户名称 ;(赋予查询权限)。
4.序列的使用
在建立表中遇到使用自增序列,但是oracle中没有类似informix中的serial类型,因此需借助与oracle自带的序列来达到自增效果。 建立序列脚本:
create sequence 序列名称 --建立序列命令 increment by 1 --每次加1
start with 1 --从1开始计数 nomaxvalue --不设置最大值
nocycle -- 一直累加,不循环 nocache; --不建缓冲区 再插入数据时则注意此自增字段需为(序列名称.nextval)。 例如:
表结构为:Fi_ID, Fs_Str 表名:tt 序列名:tt_sequence
插入数据:insert into tt values(tt_sequence.nextval, ' asd');
(也可以序列与触发器一起进行设置自增序列,感兴趣可以在网上查查自己试一下)
5.导出以及导入数据处理
下面介绍的是导入导出的实例。
数据导出:
a) 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中
exp system/manager@TEST file=d:daochu.dmp full=y b) 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:daochu.dmp owner=(system,sys) c) 将数据库中的表inner_notify、notify_staff_relat导出
exp aichannel/aichannel@TESTDB2 file=d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)
d) 将数据库中的表table1中的字段filed1以\打头的数据导出
exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=\where filed1 like '00%'\
数据的导入
a) 将D:daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:daochu.dmp
imp aichannel/aichannel@HUST full=y file=d:datanewsmgnt.dmp ignore=y 上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。 b) 将d:daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:daochu.dmp tables=(table1)
基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。这里的导入会将数据表的结构一并导入库中。 注意:
操作者要有足够的权限,权限不够它会提示。导入和导出在我们的搭建系统在自己机子上回很有用,可以将测试环境的数据拷贝到自己的数据库中。
此文档会赠送一oracle错误说明文档,便于及时解决操作数据库产生的错误。
正在阅读:
oracle操作文档1.011-15
文化节闭幕式策划书01-15
高一军训心得体会范文3篇04-01
陕西省普通高中语文课程标准教学要求资料09-24
初中生个人爱的教育读后感精选多篇范文08-02
植物学实习报告【优秀8篇】03-26
串联电路中滑动变阻器最大电功率问题10-28
第三章 空间数据的采集和质量控制05-25
牛津高中英语模块3词汇检测及答案12-28
不合格品控制程序(中英文含表格)06-26
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 操作
- 文档
- oracle
- 1.0
- 2000年重庆R&D资源清查主要数据统计公报
- 函数调用
- 初中语文教材教法模拟试题
- 2016年度上海市教育科学研究项目立项名单
- 深圳QFLP政策简析及与京沪津渝四地QFLP制度对比解读201412-现状比较
- 教育学第八章
- 对欧赔核心思维分布的一些理解
- 世纪西路桥工程地质勘察报告
- 2019届高考物理第一轮复习课时跟踪检测题
- Java程序设计基础习题答案
- 数字系统设计 期中考试试卷 答案 OK
- 航空机械论文 - 图文
- 2019年交通安全知识竞赛试题库及答案(共495题)
- 2019应考山东春考财经类试题会计练习题
- 分子生物学检验技术
- 材料科学基础习题及参考答案
- 上海大学 个人理财A卷答案
- 1-7细胞生物学试题库
- 敦煌文化传承的价值
- 民航飞行大学生物理教学思考与对策分析-精选教育文档