‘壹’ 装了oracle11g怎么学习php,求软件,求指导!!
学习php跟数据库没关系啊。你可以下载一个wamp server,然后网络一下php开发。利用wamp server做服务器,然后在你本地配置开发环境,写代码测试。如果是对php一点儿都不懂,建议你从php语言开始学习。
‘贰’ oracle 11g 安装和使用
oracle 11g可以使用内置sysdba用户来登录,然后为sys和system用户设置密码,步骤如下:
1、打开运行窗口。
‘叁’ php连接oracle数据库时报'The oci driver is not currently installed' ,大虾支招,跪求
安装php时需要安装php对oracle数据库的支持
1、安装oracle 11g client或instantclient 11
2、编译php支持oracle
--with-oci8[=DIR]
--with-pdo-oci[=DIR]
3、配置php.ini支持oracle 11g
windows:
extension=php_oci8_11g.dll
linux:
extension=php_oci8_11g.dll
‘肆’ 64位win7 php-5.6.15 如何连接 64位的 oracle 11g
你做了好多不必要的操作,安装oracle11g没那么复杂,明白了安装过程和原理就行了,急不急,不急的话我晚点再帮你看
‘伍’ php7配置oracle11g,怎么配置连接上
php配置oracle非常的简单需吧php.ini文件中的配置,去掉 ;extention = php_oci8.dll,去掉前面的分号,重启apache就可以了
oracle数据库建立链接,代码如下:
1:
$conn =
oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL
=TCP)(HOST=192.168.1.100)(PORT = 1521))(CONNECT_DATA =(SID=test)))");
2:
$conn = oci_connect('username','password','192.168.1.100/test');
3.Oracle 连接方法
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"
完整的例子如下:
<?php
$conn = oci_connect('hr', 'hr', 'orcl'); // 建立连接
if (!$conn) {
$e = oci_error();
print htmlentities($e['message']);
exit;
}
$query = 'SELECT * FROM DEPARTMENTS'; // 查询语句
$stid = oci_parse($conn, $query); // 配置SQL语句,准备执行
if (!$stid) {
$e = oci_error($conn);
print htmlentities($e['message']);
exit;
}
$r = oci_execute($stid, OCI_DEFAULT); // 执行SQL。OCI_DEFAULT表示不要自动commit
if(!$r) {
$e = oci_error($stid);
echo htmlentities($e['message']);
exit;
}
// 打印执行结果
print '<table border="1">';
while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
print '<tr>';
foreach($row as $item) {
print '<td>'.($item?htmlentities($item):' ').'</td>';
}
print '</tr>';
}
print '</table>';
oci_close($conn);
?>
‘陆’ php中怎么配置支持oracle 11g数据库
1、安装oracle 11g client或instantclient 11
2、编译php支持oracle
--with-oci8[=DIR]
--with-pdo-oci[=DIR]
3、配置php.ini支持oracle 11g
windows:
extension=php_oci8_11g.dll
linux:参考
http://www.oracle.com/technetwork/articles/technote-php-instant-084410.html
4、ora.php实例
<?php
$conn = oci_connect('user', 'passwd', 'ip:1521/orcl'); // 建立连接
if (!$conn) {
$e = oci_error();
print htmlentities($e['message']);
exit;
}
$query = 'SELECT * FROM account'; // 查询语句
$stid = oci_parse($conn, $query); // 配置SQL语句,准备执行
if (!$stid) {
$e = oci_error($conn);
print htmlentities($e['message']);
exit;
}
$r = oci_execute($stid, OCI_DEFAULT); // 执行SQL。OCI_DEFAULT表示不要自动commit
if(!$r) {
$e = oci_error($stid);
echo htmlentities($e['message']);
exit;
}
// 打印执行结果
print '<table border="1">';
while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
print '<tr>';
foreach($row as $item) {
print '<td>'.($item?htmlentities($item):' ').'</td>';
//print_r($item);
}
print '</tr>';
}
print '</table>';
oci_close($conn);
?>
‘柒’ 如何安装oracle11g的安装包
包含64位/32位官方版本,并附详细的Oracle 11g安装图解教程,同时希望能帮助到刚接触到Oracle数据库的朋友。安装过程稍需一段时间,具体时间决取于你的电脑配置,请大家稍安勿躁。
Oracle 11g版本是甲骨文公司凭借自已30年的设计经验,成功打造的功能强大的关系数据库管理系统,目前共发行了linux版本和windows版本,Oracle数据库的高效性、安全性、稳定性、延展性,是其成功的关键因素,世界上的几乎所有大型信息化系统都在应用Oracle技术。
在甲骨文推出的产品中,Oracle 11g是最具创新性和质量最高的软件,它具有400多项功能,经过了1500万个小时的测试,开发工作量前所未有。Oracle数据库11g可以帮助企业管理企业信息、更深入地洞察业务状况并迅速自信地做出调整以适应不断变化的竞争环境,最新版数据库增强了Oracle数据库独特的数据库集群、数据中心自动化和工作量管理功能,更多详细的功能请大家查看下面的Oracle 11g新增功能介绍。
Oracle 11g 64位/32位官方版
Oracle 11g安装图解教程
安装以win7 64位系统为例
1、将win64_11gR2_database_1of2和win64_11gR2_database_2of2解压到同个文件夹下合并(可以直接左键框住右键点击一起解压),打开运行其中的setup开始安装,如图所示:
2、稍后进入Oracle 11g安装界面(如下图:)
3、【配置安全更新】邮箱以及口令可以不写,点击下一步,出现提醒,直接点是即可。
4、【安装选项】直接选择默认创建和配置一个数据库(安装完Oracle后,系统会自动创建一个数据库实例)。
5、【系统类】个人用户直接选择默认的桌面类就可以了,如图所示:
6、【典型安装】Oracle基目录,软件目录,和数据库文件目录,Oracle一般会自动帮你选择空间最大的盘和你解压文件的盘符,全部默认即可。管理口令需要输入(大写+小写+数字)的八位密码,也有网友指出此处可以随意设置简单好记的密码,无视软件提醒即可。
7、【先决条件检查】安装程序会检查软硬件系统是否满足此Oracle版本的最低要求,安装需要占用约2G的C盘空间,内存2G以上即可。如果还是通不过要求,选择全部忽略。
8、【概要】安装前的一些相关选择配置信息,点击完成。
9、安装正在进行中,请耐心等待。。。。如图所示:
10、Oracle实例创建启动完成后,会自动创建安装一个实例数据库名称orcl123,(小编用的是orcl123,默认为orcl名称的数据库)。
11、 安装完成,运行开始菜单>Oracle - OraDb11g_home1>Database Control - orcl123,以IE运行进入登录界面或打开ie直接输入https://localhost:1158/em即可 (此处如果出现证书错误的话,点击继续浏览此网站即可)。
12、登录界面,输入用户名"SYS",口令为之前注册设置的管理密码,将连接身份改为SYSDBA,点击登录,成功之后你就可以管理你的数据库实例了。
Oracle 11g新版功能
1.数据库管理部分
◆数据库重演(Database Replay)
这一特性可以捕捉整个数据的负载,并且传递到一个从备份或者standby数据库中创建的测试数据库上,然后重演负责以测试系统调优后的效果。
◆SQL重演(SQL Replay)
和前一特性类似。但是只是捕捉SQL负载部分,而不是全部负载。
◆计划管理(Plan Management)这一特性允许你将某一特定语句的查询计划固定下来,无论统计数据变化还是数据库版本变化都不会改变她的查询计划。
◆自动诊断知识库(Automatic Diagnostic Repository ADR)
当Oracle探测到重要错误时,会自动创纪一个事件(incident),并且捕捉到和这一事件相关的信息,同时自动进行数据库健康检查并通知DBA。此外,这些信息还可以打包发送给Oracle支持团队。
◆事件打包服务(Incident Packaging Service)
如果你需要进一步测试或者保留相关信息,这一特性可以将与某一事件相关的信息打包。并且你还可以将打包信息发给oracle支持团队。
◆基于特性打补丁(Feature Based Patching)
在打补丁包时,这一特性可以使你很容易区分出补丁包中的那些特性是你正在使用而必须打的。企业管理器(EM)使你能订阅一个基于特性的补丁服务,因此企业管理器可以自动扫描那些你正在使用的特性有补丁可以打。
◆自动SQL优化(Auto SQL Tuning)
10g的自动优化建议器可以将优化建议写在SQL profile中。而在11g中,你可以让oracle自动将能3倍于原有性能的profile应用到SQL语句上。性能比较由维护窗口中一个新管理任务来完成。
◆访问建议器(Access Advisor)
11g的访问建议器可以给出分区建议,包括对新的间隔分区(interval partitioning)的建议。间隔分区相当于范围分区(range partitioning)的自动化版本,她可以在必要时自动创建一个相同大小的分区。范围分区和间隔分区可以同时存在于一张表中,并且范围分区可以转换为间隔分区。
◆自动内存优化(Auto Memory Tuning)
在9i中,引入了自动PGA优化。10g中,又引入了自动SGA优化。到了11g,所有内存可以通过只设定一个参数来实现全表自动优化。你只要告诉oracle有多少内存可用,她就可以自动指定多少内存分配给PGA、多少内存分配给SGA和多少内存分配给操作系统进程。当然也可以设定最大、最小阈值。
◆资源管理器(Resource Manager)
11g的资源管理器不仅可以管理CPU,还可以管理IO。你可以设置特定文件的优先级、文件类型和ASM磁盘组。
◆ADDMADDM在10g被引入。
11g中,ADDM不仅可以给单个实例建议,还可以对整个RAC(即数据库级别)给出建议。另外,还可以将一些指示(directive)加入ADDM,使之忽略一些你不关心的信息。
◆AWR 基线(AWR Baselines)
AWR基线得到了扩展。可以为一些其他使用到的特性自动创建基线。默认会创建周基线。
2.PLSQL部分
◆结果集缓存(Result Set Caching)
这一特性能大大提高很多程序的性能。在一些MIS系统或者OLAP系统中,需要使用到很多"select count(*)"这样的查询。在之前,我们如果要提高这样的查询的性能,可能需要使用物化视图或者查询重写的技术。在11g,我们就只需要加一个/*+result_cache*/的提示就可以将结果集缓存住,这样就能大大提高查询性能。当然,在这种情况下,我们可能还要关心另外一个问题:完整性。因为在oracle中是通过一致性读来保证数据的完整性的。而显然,在这种新特性下,为提高性能,是从缓存中的结果集中读取数据,而不会从回滚段中读取数据的。关于这个问题,答案是完全能保证完整性。因为结果集是被独立缓存的,在查询期间,任何其他DML语句都不会影响结果集中的内容,因而可以保证数据的完整性。
◆对象依赖性改进
在11g之前,如果有函数或者视图依赖于某张表,一旦这张表发生结构变化,无论是否涉及到函数或视图所依赖的属性,都会使函数或视图变为invalid。在11g中,对这种情况进行了调整:如果表改变的属性与相关的函数或视图无关,则相关对象状态不会发生变化。
◆正则表达式的改进
在10g中,引入了正则表达式。这一特性大大方便了开发人员。11g,oracle再次对这一特性进行了改进。其中,增加了一个名为regexp_count的函数。另外,其他的正则表达式函数也得到了改进。
◆新SQL语法 =>
我们在调用某一函数时,可以通过=>来为特定的函数参数指定数据。而在11g中,这一语法也同样可以出现在sql语句中了。例如,你可以写这样的语句:select f(x=>6) from al;
◆对TCP包(utl_tcp、utl_smtp…)
支持FGAC(Fine Grained Access Control)安全控制
◆增加了只读表(read-only table)
在以前,我们是通过触发器或者约束来实现对表的只读控制。11g中不需要这么麻烦了,可以直接指定表为只读表。
◆触发器执行效率提高了
内部单元内联(Intra-Unit inlining)在C语言中,你可以通过内联函数(inline)或者宏实现使某些小的、被频繁调用的函数内联,编译后,调用内联函数的部分会编译成内联函数的函数体,因而提高函数效率。在11g的plsql中,也同样可以实现这样的内联函数了。
◆设置触发器顺序
可能在一张表上存在多个触发器。在11g中,你可以指定它们的触发顺序,而不必担心顺序混乱导致数据混乱。
◆混合触发器(compound trigger)
这是11g中新出现的一种触发器。她可以让你在同一触发器中同时具有申明部分、before过程部分、after each row过程部分和after过程部分。
◆创建无效触发器(Disabled Trigger)
11g中,开发人员可以可以闲创建一个invalid触发器,需要时再编译她。
◆在非DML语句中使用序列(sequence)
在之前版本,如果要将sequence的值赋给变量,需要通过类似以下语句实现:select seq_x.next_val into v_x from al;在11g中,不需要这么麻烦了,下面语句就可以实现:v_x := seq_x.next_val
◆PLSQL_Warning
11g中,可以通过设置PLSQL_Warning=enable all,如果在"when others"没有错误爆出就发警告信息。
◆PLSQL的可继承性
可以在oracle对象类型中通过super(和java中类似)关键字来实现继承性。
◆编译速度提高
因为不在使用外部C编译器了,因此编译速度提高了。
◆改进了DBMS_SQL包其中的改进之一就是DBMS_SQL可以接收大于32k的CLOB了。另外还能支持用户自定义类型和bulk操作。
◆新的PLSQL数据类型——simple_integer这是一个比pls_integer效率更高的整数数据类型。
3.其他部分
◆增强的压缩技术
可以最多压缩2/3的空间。
◆高速推进技术
可以大大提高对文件系统的数据读取速度。
◆增强了DATA Guard
可以创建standby数据库的快照,用于测试。结合数据库重演技术,可以实现模拟生成系统负载的压力测试。◆在线应用升级
也就是热补丁——安装升级或打补丁不需要重启数据库。
◆数据库修复建议器
可以在错误诊断和解决方案实施过程中指导DBA。
◆逻辑对象分区
可以对逻辑对象进行分区,并且可以自动创建分区以方便管理超大数据库(Very Large Databases VLDBs)。
◆新的高性能的LOB基础结构
◆新的PHP驱动
‘捌’ PHP如何配置Oracle 10g 数据库,并且如何连接数据库
<?php
$db="
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = my11g)
)
)";
//$conn = oci_pconnect("sys", "123456", $db);
$conn = oci_pconnect("scott", "tiger", $db);
//$conn = ora_logon ( "scott@my11g", "tiger" );
if (!$conn) {
$e = oci_error();
print htmlentities($e['message']);
// exit;
$e1 = ocierror();
echo "失败!";
//print htmlentities($e1['message']);
exit;
}
$query = 'select * from emp';
$stid = oci_parse($conn, $query);
if (!$stid) {
$e = oci_error($conn);
print htmlentities($e['message']);
exit;
}
$r = oci_execute($stid, OCI_DEFAULT);
if(!$r) {
$e = oci_error($stid);
echo htmlentities($e['message']);
exit;
}
print '<table border="1">';
while($row = oci_fetch_all($stid, $array)) {
//while($row = ora_fetch($stid, OCI_RETURN_NULLS)) {
print '<tr>';
//foreach($row as $item) {
//print '<td>'.($item?htmlentities($item):'').'</td>';
echo "$array";
//}
print '</tr>';
}
print '</table>';
oci_close($conn);
?>
‘玖’ php连接oracle数据库连不上
;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client
extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client
看看是不是版本错了 没用过10gr2
oracle11的话 php_oci8_11g.dll
if($this->dbstatic==false)
{
$this->dbid=oci_connect($this->user,$this->pass,$this->host,$this->code);
if($this->dbid)
{
$this->dbstatic=true;
}
else
{
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
print htmlentities($e['message']);
return 0;
}
}
我没问题
‘拾’ PHP要连接oracle,可是报错啊!!!用的是zend studio和oracle 11g!一直不行,跪求大神啊。
额 哥的文档里面都没有这个 oci_connect()的连接函数,所以是不是就不管了,
$oci=ocilogon('localhost','root','123456')
然后sql语句的执行操作
$result = ociparse($oci,$sql);
ociexecute($result);
//OK就这样吧 ,