邮件已经发送,
站在用户的角度思考问题,与客户深入沟通,找到梁河网站设计与梁河网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、成都做网站、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟空间、企业邮箱。业务覆盖梁河地区。
yvigmmwfn@163.com用户名发送的。
谢谢!
--创建包:
create or replace package wsk
as
type ref_name is ref cursor;
end;
--创建过程:
create or replace procedure PRC_EXCEL(v_date in String,o_cur out wsk.ref_name) is
--定义存放SQL语句变量
v_sql varchar2(1000);
begin
--赋值SQL语句变量由于考虑需要绑定变量所以需要用到动态执行SQL
v_sql:='select vdate,name,money from oexcel where vdate=:v1';
--动态执行V_SQL把查询的结果集赋值给返回出去的o_cur游标,using v_date把:v1变量替换值
open o_cur for v_sql using to_date(v_date,'yyyy-mm-dd');
end PRC_EXCEL;
--创建表:
CREATE TABLE oexcel
(
VDATE DATE DEFAULT SYSDATE,
NAME VARCHAR2(20),
MONEY NUMBER
)
;
第一章 ORACLE介绍
由于ORACLE数据库产品是当前数据库技术的典型代表,她的产品除了数据库系统外,还有应用系统、开发工具等。刚接触Oracle的人员都有这样的感觉:Oracle的产品太多,每个产品内容精深,不知道从哪儿开始学才好。为了用少量时间更好地理解和使用oracle 数据库系统,有必要对oracle的一些基本术语及概念进行了解,下面给出一些在管理中经常用到的概念和术语,供初学者快速了解Oracle数据库系统提供方便。
§1.1 ORACLE7和ORACLE8
ORACLE7是一种完全的关系数据库系统,它不支持面向对象。
ORACLE8 则是一个引入面向对象的数据库系统,它既非纯的面向对象的数据库也非纯的关系数据库,它是两者的结合,因此叫做“对象关系数据库”。
§1.2 ORACLE8 特点
ORACLE8 于 1997年6月正式发布,它包括了几乎所有的数据库技术,因此被认为是未来企业级主选数据库之一。主要有以下特点:
1.对象/关系模型
ORACLE8对于对象模型采取较为现实和谨慎的态度,使用了对象/关系模型,即在完全支持传统关系模型的基础上,为对象机制提供了有限的支持。ORACLE8不仅能够处理传统的表结构信息,而且能够管理由C++,Smalltalk 以及其它开发工具生成的多媒体数据类型,如文本,视频,图形,空间对向等。这种做法允许现有软件开发产品与工具软件及ORACLE8应用软件共存,保护了客户的投资。
2.数据库服务器系统的动态可伸缩性
ORACLE8引入了连接存储池(connection polling)和多路复用(multiplexing)机制,提供了对大型对象的支持。当需要支持一些特殊数据类型时,用户可以创建软件插件(catridge )来实现。ORACLE8采用了高级网络技术,提高共享池和连接管理器来提高系统的可括性,容量可从几 GB 到 几百 TB 字节,可允许10万用户同时并行访问,ORACLE 的数据库中每个表可以容纳 1000列,能满足目前数据库及数据仓库应用的需要。
ORACLE 公司称,ORACLE8可以支持达 512PB的数据量。但目前还未有哪一家用户的数据库的数据量达到这个数量。下面是几种常用数据量的等价关系:
1MB = 1024 KB
1GB = 1Gigabyte Byte = 1024 MB
1TB = 1TeraByte = 1024 GB = 1024*1024MB
1PB = 1PeraByte = 1024 TB = 1024 * 1024 * 1024 MB
1EB = 1ExaByte = 1024 PB = 1024 * 1024 *1024 *1024 MB
.....................................
Oracle11g是目前Oracle较新版本,除了传统的数据库服务外,也提供了界面友好的链接工具。考虑到Oracle数据的稳定和性能方面的优势,在需要处理大量数据的系统中,可以考虑使用Oracle作为数据库。
一:Oracle11g的安装过程(Windows版本)很简单,步骤为:
1. 首先从Oracle官方网站上下载Oracle11g数据库,大约为1.7G。解压后,setup.ext就可以开始安装
2. 在安装开始的时候,会要求填写一些信息。需要注意两项:
1)SID。这应该是安装的数据库的ServiceID,在数据库安装成功后,在Window的服务中会多一项OracleServiceSID的服务,这里的SID就是在安装时填写的字符串。因此在连接数据库的时候都需要有SID信息,比如使用JDBC连接的时候。
2)密码。这里的密码是系统管理员的密码(sys,sysdba)。
3. 接下来就可以按照界面提示安装了,安装过程中会检查电脑配置,如果符合要求就可以继续安装。
4. 安装结束后,会生成一个database config的界面,上面有安装的数据库的sid, port等信息。(可以把这个界面保存起来,防止以后忘记相关信息)
二:Oracle的连接
安装完成后,就可以连接数据库了,连接Oracle可以通过SQLPlus,SQLDeveloper,建议可以使用SQLDeveloper,因为它界面不错。在程序-Oracle11g-应用开发程序 下面有SQLDeveloper,第一次启动时,需要设置java.exe的路径(SQLDeveloper应该是JAVA开发的),之后就可以看到连接界面了。接下来需要填写连接信息,第一次连接时,必须先通过sysdba进行连接,所以要使用安装时设置的密码,其它信息如下:
1)需要选择登录身份为系统管理员 2)sid安装时设置的sid值 3)端口号一般默认是1521
注意在连接的时候,需要确保在服务中的OracleServiceSID和OracleOraDb11g_home1TNSListener是打开的
填好上面的信息就可以登录了。如果要创建自己的数据库,需要下面几个过程:
1.创建表空间,语句如下:
CREATE TABLESPACE SampleTableSpace
DATAFILE 'D:/app/Administrator/oradata/orcl/tableFile.dbf' size 8192M reuse
AUTOEXTEND ON NEXT 8192M MAXSIZE unlimited
EXTENT MANAGEMENT local;
2.创建一个用户,并默认为SampleTableSpace表空间
CREATE USER SampleUser IDENTIFIED BY Password
DEFAULT TABLESPACE SampleTableSpace;
3.为用户授权:
GRANT connect, resource TO SampleUser ;
注意,接下来的操作必须在SampleUser的连接中进行,步骤如下:
1.在SQLDeveloper中新建一个连接,并使用刚才创建的SampleUser信息进行登录
2.接下来在SampleUser的连接中就可以使用sql进行各种操作,这些操作都会在SampleTableSpace中进行。
三: 数据导入导出
Oracle提供数据导入和导出功能.命令为imp/exp,可以在cmd下运行,它们可以将数据库中的表或其它对象导出为.dmp文件,或者将dmp文件导入,具体使用方法可以google一下,应该比较好用。
上面是之前使用Oracle11g时的一些经验,如果有不正确的地方,也请大家补充。
很容易学的, 和其他数据库差不多呢。 唯一的区别就是存储过程里面区别大。
我的学习日记。 另外就是需要网上学习资料呢
create tablespace tableSpaceName
datafile 'd:\xxxxxxxx.dbf'
size 10M;
创建数据库tableSpaceName,xxxxxxxx修改成你对应的
create user username
identified by pwd
default tablespace tableSpaceName;
创建用户,username,pwd 和tableSpaceName 修改成你对应的
grant connect, resource to username;
grant dba to username;
给权限username修改你对应的
1. 设置ORACLE_SID
默认的ORACLE_SID是orcl,我个人强烈建议起个唯一、且意义的名字,比如**testdb,**proddb等等,在Oracle用户下执行:
export ORACLE_SID=lxdbtest
2. 重建PFILE
在$ORACLE_HOME/dbs目录下重建pfile(initORACLE_SID.ora,本例为initlxdbtest.ora),除了以下三个参数,其它参数都可以不用设置(使用默认值):
db_name=lxdbtest
control_files='/home/oracle/app/oradata/lxdbtest/control01.ctl','/home/oracle/app/oradata/lxdbtest/control02.ctl','/home/oracle/app/oradata/lxdbtest/control03.ctl'
memory_target=2G
为了安全起见,控制文件一定要指定多份,在生产库上,要把它们分开放在不同的物理磁盘上,这里因为是测试库,所以才放在同一个磁盘上。
3. 启动实例至nomount状态
有了pfile就可以启动实例至nomount状态了:
$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Thu Jul 25 21:01:16 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL startup nomount
ORACLE instance started.
Total System Global Area 2137886720 bytes
Fixed Size 2215064 bytes
Variable Size 1224737640 bytes
Database Buffers 905969664 bytes
Redo Buffers 4964352 bytes
SQL
4. 执行CREATE DATABASE语句
CREATE DATABASE lxdbtest
LOGFILE GROUP 1
('/home/oracle/app/oradata/lxdbtest/redo01a.log','/data/oradata/lxdbtest/redo01b.log')
SIZE 100M BLOCKSIZE 512,
GROUP 2
('/home/oracle/app/oradata/lxdbtest/redo02a.log','/data/oradata/lxdbtest/redo02b.log')
SIZE 100M BLOCKSIZE 512,
GROUP 3
('/home/oracle/app/oradata/lxdbtest/redo03a.log','/data/oradata/lxdbtest/redo03b.log')
SIZE 100M BLOCKSIZE 512
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 600
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/home/oracle/app/oradata/lxdbtest/system01.dbf' SIZE 2048M REUSE AUTOEXTEND OFF
SYSAUX DATAFILE '/home/oracle/app/oradata/lxdbtest/sysaux01.dbf' SIZE 2048M REUSE AUTOEXTEND OFF
DEFAULT TABLESPACE users
DATAFILE '/home/oracle/app/oradata/lxdbtest/users01.dbf'
SIZE 2048M REUSE AUTOEXTEND OFF
DEFAULT TEMPORARY TABLESPACE temptbs
TEMPFILE '/home/oracle/app/oradata/lxdbtest/temp01.dbf'
SIZE 2048M REUSE AUTOEXTEND OFF
UNDO TABLESPACE undotbs
DATAFILE '/home/oracle/app/oradata/lxdbtest/undotbs01.dbf'
SIZE 2048M REUSE AUTOEXTEND OFF;
有几点需要注意:
1)每个日志文件组的日志要放在不同的物理磁盘上,万一有一个磁盘损坏,也不会丢失数据
2)根据需要选择合适的字符集
3)创建了5个基本的表空间:SYSTEM,SYSAUX,默认表空间,默认临时表空间,默认UNDO表空间
5. 根据需要创建应用程序所需的表空间
对于关键业务的数据,应该创建单独的表空间给它使用(最好把表和索引分开放在表空间)
SQL create tablespace p95169tbs
2 datafile '/home/oracle/app/oradata/lxdbtest/p95169tbs01.dbf' size 10G,
3 '/home/oracle/app/oradata/lxdbtest/p95169tbs02.dbf' size 10G;
Tablespace created.
6. 构建数据字典视图
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
@?/sqlplus/admin/pupbld.sql
7. 修改system,sys的密码
alter user sys identified by ***;
alter user system identified by ***;
8. 创建SPFILE
SQL create spfile from pfile;
File created.
重启数据库后,将以spfile取代pfile.
最后,再顺便说下如何删除数据库。在删除数据库之前,数据库必须是在mount和restricted session状态,具体如下:
SQL startup mount
SQL alter system enable restricted session;
System altered.
SQL drop database;
Database dropped.
数据库删除成功后,所有的在线日志文件、数据文件都会一并被删除,但归档日志和备份文件不会被删除。
1、
下面要进行建库,使用命令dbca
[oracle@redhat4 ~]$ dbca
-bash: dbca: command not found
显示找不到命令
有dbca这个命令,但是找不到它,说明环境变量PATH设置有问题
设置环境变量PATH
[oracle@redhat4 ~]$ vi .bash_profile
在文件尾部加入下行
export PATH=$PATH:$ORACLE_HOME/bin:.
再重新登陆一下oracle用户,使环境变量生效。
[root@redhat4 install]# su - oracle
运行dbca命令
----
2、
成功启动 Database Configuration Assistant 数据库配置助手开始建库。
步骤1:操作
请选择希望执行的操作:
这个页面显示了我们通过dbca可以执行的操作
这里我们选 创建数据库
步骤2:选择创建数据库的模板
有一般用途、事务处理、定制数据库、数据仓库四种模板可供选择。
四种模板参数和内容有区别,而安装中的区别在后面的步骤9 数据库内容 页中的内容
一般用途 事务处理 数据仓库 三种模板在步骤9显示的是:
实例方案标签页,自己只能决定是否选择实例方案组件
定制数据库 模板在步骤9显示的是:
数据库组件标签页,可以自己选择组件,但是无法选择实例方案组件
这里我们选择 一般用途 模板
步骤3: 数据库标识
全局数据库名:jiagulun SID:jiagulun
步骤4: 管理选项
决定使不使用Enterprise Manager
em用java编写,用ie访问 如果选择了它我们可以使用基于ie的工具管理oracle
推荐生产中使用。
步骤5: 数据库身份证明
oracle建立中,在数据库内部默认会建很多用户
在这里只是学习,给这些用户设置相同的密码,设为oracle。实际生产中可分别设置,并要保证密码强度。
步骤6: 存储选项
生产中ASM和裸设备使用非常多,而且ASM用的越来越多,
学习中我们使用文件系统。
步骤7: 数据库文件所在位置
决定数据库建在文件系统的那个目录底下
这里是用 所有数据库文件使用公共位置:{ORACLE_BASE}/oradata
这里可以自己选择路径,但自己要记住,方便以后使用。
步骤8: 恢复配置
指定快速恢复区 按默认即可
步骤9:选上示例方案
学习中需要使用的一些案例,实际生产中没有用。
步骤10:初始化参数
oracle数据库是非常吃内存的一个软件,这里要设置oracle使用的内存大小
这些参数事后可以调整
但字符集以后最好不要再调了,这里设定后,就不要改变了,以后调可能会出现问题
数据库字符集选:ZHS16GBK-GBK 16位简体中文,建议选AL32UTF8,实际生产中这两种用的最多。
国外有企业分支机构可以选AL32UTF8
国家字符集选:AL16UTF16
其它默认
步骤11:数据库存储
决定oracle数据库的三类文件 控制文件、数据文件、重做日志组 的 存储位置
三类文件的内容,有什么意义,放到存储结构中讲。
步骤12:创建选项
选 创建数据库
点完成
最后的确认页:
确认自己在各步骤做的选择后,点 确定 开始创建数据库。
创建数据库完成后,Database Configuration Assistant 给出完成页面。
显示的是:
数据库创建完成。详细信息在:/u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/dbca/jiagulun 上的日志文件
数据库参数文件名:/u01/app/oracle/product/10.2.0/db_1/dbs/spfilejiagulun.ora
Database Control URL 为:
这里还可以点击 口令管理... 修改刚创建完成的oracle数据库当前所有已有用户的密码。
退出 后
数据库创建最终完成。