Browsing the archives for the oracle tag

如何收集及删除列的统计信息

in oracle

本文只涉及使用dbm_stats来收集或删除列的统计信息的一些命令,以备查询。

测试表如下(实验环境为10.2.0.4):

SQL> create table test(i int,a varchar2(30));
Table created.

SQL> insert into test select rownum,object_name from all_objects;
9907 rows created.

简单的说,列的统计信息,主要包括两种类型:

0 Comments

如何根据rowid获取extent_id

in oracle

我们知道,rowid是由四部分组成的,分别是data_object_id,file_id,block_number和row_number,通过oracle提供的dbms_rowid包可以很方便的将一串rowid解析出上述四部分的内容。然后根据这些信息,则可以获取其extent_id。

0 Comments

如何获得Oracle用户创建和授权语句

in oracle

有时候,我们需要在不同的库中复制用户定义,比如需要在一个测试库中创建和产品库中同名的用户,并且拥有同样的权限。或者在同一个库中创建一个不同名的用户,但是和另外一个用户拥有同样的权限等。换句话说,就是需要获得某个用户的创建和授权语句。

0 Comments

新一篇: Oracle数据库的安全性措施概述

in oracle

一、Oracle中的实体完整性
Oracle在CREATE TABLE语句中提供了PRIMARY KEY子句,供用户在建表时指定关系的主码列。例如,在学生-选课数据库中,要定义Student表的Sno为主码,可使用如下语句:

CREATE TABLE student
(sno NUMBER(8),
sanme VARCHAR(20),
sage NUMBER(20),
CONSTRAINT pk_sno PRIMARY KEY(sno));

0 Comments

在 Oracle 和 PHP 中使用 LOB

in oracle

使用 VARCHAR2 这样的 Oracle 类型是完全可以的,但如果您要一次性存储的数据量超过它的 4,000 字节的极限,情况将会如何? 要完成此任务,您需要 Oracle 的某个 Long 对象 (LOB) 类型,为此您应了解如何使用 PHP API 来处理 LOB。 这对于不熟悉它的人来说是很困难的。

在这篇“Oracle+PHP 指南”操作文档中,您将了解可用的 LOB 类型以及与它们相关的问题,然后将探讨 PHP 中常见 LOB 操作示例。

Oracle 中的 Long 对象

0 Comments

在 Oracle 和 PHP 中绑定变量

in oracle

想必您一定知道,当前的大多数网站都依赖数据库,只是方式各有不同。 无论您正在构建的站点需要论坛、电子商务组件、包含大量文章和信息还是仅仅从访问者那里获得反馈,您都很可能会通过某种方式并入数据库。 尽管数据库很重要并通常是不可或缺的,但使用它们会影响(通常是不利影响) Web 应用程序的两个方面: 性能和安全性。 了解何时以及如何在 PHP 中绑定变量将对改善这两个问题方面大有帮助。

如果您曾经对 Web 项目进行过测试,想必您一定会知道数据库交互通常是要求最高的过程。 在数据库中运行查询时,Oracle 必须先对查询进行分析,以确保它的语法正确,然后才执行实际的查询。 即使您运行多个相似查询也必须先进行分析:

0 Comments

利用 Oracle 和 PHP 轻松处理树

in oracle

几乎每一种数据驱动的应用程序都依赖于某种形式的、不同复杂程度的层次数据:产品类别中的产品、文件夹中的消息、部门中的员工。当然,某些时候您将需要显示这些数据来创建一个目录、收件箱或组织架构的图表。利用 Oracle 提供的特定供应商的 SQL 扩展和 PHP 在数组处理方面的出色能力,您可以检索并显示一个树,并且以简洁和易于维护的方式对树进行内在的高度优化。

因为本文讨论的查询和函数都包含较少的过程,而注重提供更条理清晰,易于理解的代码,因此这篇方法文档在实施的时候以及重构现有代码的时候非常有用。如果您的数据拥有树状的数据形式(目前已经显示或者要取其值),那么本方法文档将会很有价值。使用最新推出的优秀 RDBMS 的用户非常幸运,因为新的特性使得一些棘手的处理层次数据的任务变得更为容易 — 虽然自 Oracle8i 起的版本都拥有基本的底层功能。

0 Comments

使用 Oracle 和 PHP 执行事务

in js框架

使用 Oracle 和 PHP 执行事务 作者:Harry Fuecks 如何使用 Oracle 数据库的强大功能可靠地管理多对多关系。   本文相关下载: Oracle 数据库 10g Zend Core for Oracle Apache HTTP Server 1.3 和更高版本 2005 年 11 月发表 通过事务,您可以可靠、一致地更改数据库,在应用程序必须管理多对多关系或以批处理形式执行多个查询的情况下,事务可起到至关重要的作用。   本“Oracle+PHP 指南”方法文档介绍了事务的必要性以及如何通过 PHP 的 OCI 扩展使用 Oracle 的事务服务,同时还着重介绍了某些潜在的“问题”。   事务的必要性   假设您维护一个使用 Oracle 存储条目的 web 记录应用程序。数据库模式的某个部分为“blogs”定义了一个表,并为“categories”定义了另一个表,后者通过表“blogs_to_categories”与“blogs”保持多对多关系。以下查询描述了这些表: CREATE SEQUENCE blog_id_seq INCREMENT BY 1; / CREATE TABLE [...]

0 Comments

Oracle+PHP 简明手册

in oracle

http://www.oracle.com/technology/global/cn/pub/articles/oracle_php_cookbook/index.html

0 Comments

oracle添加用户,赋权,修改密码,解锁

in oracle

添加用户(随着用户的创建,自动产生与用户同名的schema)
CREATE USER “TESTER” PROFILE “DEFAULT” IDENTIFIED BY “TESTER” DEFAULT TABLESPACE “TESTDATA” TEMPORARY TABLESPACE “TESTTEMP” ACCOUNT UNLOCK;

赋权(说实话,这些权限是开发中使用的权限,如果用户生产环境,请自行对于用户创建相应的系统权限)
据说生产环境下,只是connect resource这样的角色就可以了。
GRANT “CONNECT” TO “TESTER”;
GRANT “RESOURCE” TO “TESTER”;
GRANT “DBA” TO “TESTER”;
GRANT “EXP_FULL_DATABASE” TO “TESTER”;
GRANT “IMP_FULL_DATABASE” TO “TESTER”;

0 Comments