手机版
你好,游客 登录 注册 搜索
rss订阅 手机访问 
数据库技术
关于Oracle一些常用脚本的汇总

查看Oracle剩余表空间

  select a.tablespace_name,free/total*100 pct_free,free/1024/1024 "free(M)" from

  (select sum(bytes) free ,tablespace_name from dba_free_space group by tablespace_name) a,

  (select sum(bytes) total ,tablespace_name from dba_data_files group by tablespace_name) b

  where a.tablespace_name=b.tablespace_name

日期:03/01/2010 12:49:01 作者:dbpath
Oracle 10g在Solaris 10下的自动运行脚本
  Solaris 10使用了SMF(服务管理设施)来集中管理各项系统及网络服务,其目的是降低系统管理的难度和降低系统出错的几率。实践表明,通过SMF管理平台来配置和管理服务,还是十分麻烦的,例如要把一个用户自己订制安装的第三方软件配置到SMF里进行管理,要做很多的工作;另外,如果某个服务出现故障,将涉及服务本身和SMF这两方面,这样恢复起来难度相应增大。个人偏见:系统管理的目标是越简单越好—部署容易、维护简单及恢复快速。正好solaris 10系统有一个Oracle 10g,就用它来做例子,来配置一个 Oracle的自动运行脚本。
日期:03/01/2010 12:47:43 作者:sery
Oracle 安装脚本

  看了小布老师的Oracle安装视频,才发现Oracle安装真的很郁闷啊。没有什么难度就是前期准备的东西比较乱而已,所以自己编了一个安装脚本,包括修改主机名、设置内核变量,创建用户 等一些准备活动。这样一来就不用再重复的做同样的工作了,下面就是我编的脚本外加安装笔记(昨天刚装完的Oracle,暂时没有时间试验呢):

  测试完成,有两处笔误已经修改完了。

日期:03/01/2010 12:46:22 作者:暗月影者
Oracle 11g与MySQL的异构连接

  我现在有两种数据库,一个为Oracle 11g,版本为:11.1.0.6.0 - 64bit,安装在HP-IA64的服务器上,一个为mysql 5.1,安装在同一台服务器中。

  现在要实现Oracle的数据库能够查询mysql数据库的表,想要通过Oracle的异构功能来实现,但由于小弟对数据库了解不深,还请各位帮忙。

  以下为我的各个配置文件,不知道错误出在哪儿里了:

日期:03/01/2010 12:44:50 作者:Linux编辑
Linux中开启MySQL远程访问功能

(1)确认一下3306是否对外开放,MySQL默认状态下是不开放对外访问功能的。查看的办法如下:

1 ~# netstat -an | grep 3306 

2 tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN

从上面可以看出,mysql的3306端口只是监听本地的连接,这样就阻碍了外部IP对该数据库的访问,修改的办法其实很简单,进入到mysql的配置文件所在目录(/etc/mysql/my.cnf)下,找到文件中的如下内容:

日期:03/01/2010 07:05:06 作者:张宴
Oracle不能删除表 ORA-00604 ORA-01422 错误

[TEST1@orcl] SQL>drop table t10;
drop table t10
*
第 1 行出现错误:
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-01422: 实际返回的行数超出请求的行数

查看一下dual表。可能是dual表中有多行数据。删除全部数据再插入'X'。

[SYS@orcl] SQL>select * from dual;

日期:02/28/2010 13:54:08 作者:loveyurui
Oracle中的用户管理

  创建与管理用户账户
  用户是Oracle数据库管理的常用要求之一,能够连接到数据库的每一个用户都必须是系统的合法用户。用户要想使用Oracle的管理系统,必须要拥有相应的权限。创建用户并授予权限是Oracle系统管理员的常用任务之一。

  1.1 配置身份验证
  Oracle为用户账户提供了三种身份验证方法。

日期:02/27/2010 11:50:11 作者:Oracle
Cacti 监控 MySQL笔记

Cacti 监控 MySQL

1. 安装监控插件

cd /opt
wget http://mysql-cacti-templates.googlecode.com/files/mysql-cacti-templates-1.1.2.tar.gz
tar -xzvf mysql-cacti-templates-1.1.2.tar.gz
cp /opt/mysql-cacti-templates-1.1.2/ss_get_mysql_stats.php /var/www/html/scripts/

日期:02/26/2010 16:38:53 作者:Linux编辑
MySQL Timestamp的使用

MySQL中Timestamp类型可以设定默认值,就像其他类型一样。

1、自动UPDATE 和INSERT 到当前的时间:
表:
/*DDL Information For - test.t1*/
---------------------------------

日期:02/25/2010 09:42:38 作者:MySQL
用调试工具Dump Oracle系统状态

  如果Oracle数据库hang了,对Oracle进行system dump或hang analyze,是研究和解决问题的有效方法。如果能够连接数据库,并进行操作,则使用oradebug是最简单快捷的办法。

  但有的时候,数据库由于hang住,sqlplus不能连接时(在10g可以尝试用sqlplus -prelim连接数据库),可以使用操作系统上的调试工具来dump oracle系统状态。因为我的环境是linux,所以我先从gdb来介绍。

  ①首先获得要dump的进程号

日期:02/24/2010 13:12:15 作者:Oracle
Oracle 10G for Linux常用命令

  在Linux下首先以Oracle用户登录

  1、 $/oracle/oracle/app/product/101/bin/dbstart:启动数据库。

  2、 $/oracle/oracle/app/product/101/bin/dbshut:关闭数据库。

  3、 $/oracle/oracle/app/product/101/bin/dbca:数据库配置助理,进行数据库安装、删除和修改。

日期:02/23/2010 09:00:15 作者:Linux编辑
Oracle根据外键名查关联的表

  1、查找表的所有索引(包括索引名,类型,构成列):

  select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表

  2、查找表的主键(包括名称,构成列):

日期:02/23/2010 08:59:42 作者:Linux编辑
Oracle 权限管理入门

  1.启动监听:lsnrctl start

  2.启动oracle实例:oradim -startup -sid orcl(oracle实例名)

  3.用户登录到oracle数据库:sqlplus username/password

日期:02/23/2010 08:58:58 作者:Linux编辑
MySQL alter 语句用法,添加、修改、删除字段等

//主键

 alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);
//增加一个新列

 alter table t2 add d timestamp; alter table infos add ex tinyint not null default '0';
//删除列

日期:02/22/2010 10:06:12 作者:MySQL
使用MySQL的LAST_INSERT_ID

自动返回最后一个 INSERT 或 UPDATE 操作为 AUTO_INCREMENT 列设置的第一个发生的值. 参考这里

(经测试,last_insert_id()的值与update操作无关。(笔者注))

如:mysql> select * from a;

日期:02/21/2010 16:53:20 作者:李萌
MySQL中的事务隔离级别参考

SQL 标准用三个必须在并行的事务之间避免的现象定义了四个级别的事务隔离。 这些不希望发生的现象是: 

  • 脏读(dirty reads)


一个事务读取了另一个未提交的并行事务写的数据。 

  • 不可重复读(non-repeatable reads)
日期:02/21/2010 10:01:00 作者:wangzhuoyan
ruby与rails版本差异不能连接MySQL解决方法

由于ruby与rails版本差异,可能会出现在使用低版本的rails时,出现不能连接MySQL的情况。

现象:

ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.2/lib/active_record/vendor/mysql.rb:566:in `initialize’: wrong number of arguments (1 for 0) (ArgumentError)

日期:02/21/2010 09:59:15 作者:gagahappy
Oracle 响应慢问题解决

问题描述

1、应用连接数据异常缓慢,包括客户端使用plsql连接;

2、数据库主机cpu占用率居高不下,IO写入居高不下。

3、主机日常维护操作响应慢,如man或w;

日期:02/20/2010 13:01:12 作者:小石笔记
Oracle 管理Undo数据
Undo数据段的作用:
事务回滚(Transaction Rollback):程序执行rollback操作。
事务修复(Transaction Recovery):rollback是recovery的一部分。
读取一致(Read Consistency):根据SCN(system change number)来保证读取数据的一致性。
日期:02/20/2010 13:00:47 作者:Oracle编辑
Oracle控制文件的损坏或完全丢失的恢复办法

控制文件丢失了,需要DBA处理。
    1,控制文件大小不对。  将正常的cp给不正常的。指定正确的来运行。
    2,控制文件版本不对   千万要记住要先cp全部的控制文件备份后在来cp
    3,控制文件某个丢失,至少存在一个
    4,控制文件都丢失,
    5,有但是很old

1,控制文件大小不对。
下面我们修给一个控制文件的内容使大小不一样。
[oracle@huang ~]$ vim /sof/oracle/oradata/orcl/control01.ctl

日期:02/20/2010 12:59:47 作者:Oracle编辑
Oracle SQL精妙SQL语句讲解

-- 当前行数据和前/后n行的数据比较
SELECT a.empno,
a.ename,
a.sal,
-- 上面一行
lag(a.sal) over(ORDER BY a.sal DESC) lag_1,
-- 下面三行
lead(a.sal, 3) over(ORDER BY a.sal DESC) lead_3
FROM scott.emp a
ORDER BY a.sal DESC;

日期:02/20/2010 12:57:30 作者:Oracle编辑
Oracle的SQLPLUS常用命令
  一、Oracle的启动和关闭
  1、在单机环境下
  要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下
  su - oracle
  
  a、启动Oracle系统
  oracle>svrmgrl
  SVRMGR>connect internal
  SVRMGR>startup
  SVRMGR>quit
  
  b、关闭Oracle系统
日期:02/20/2010 12:55:33 作者:Oracle编辑
静默方式(silent)安装Oracle软件

  有的时候不方便登陆Linux/Unix的图形界面安装数据库,且GUI方式安装让我们无法知道具体是做了什么操作,我们完全可以采用命令模式安装和删除Oracle软件(代替OUI)、建立和删除数据库库(代替dbca)。

  平台:RHEL4.5,oracle10.2.0.1

  1、上传并解压oracle软件,假如放在/home目录下

  $ cd /home

日期:02/20/2010 12:54:21 作者:Oracle编辑
Redflag Linux安装Oracle 10gR2 RAC记事

今天帮助客户在RedFlag Linux上安装了一套Oracle 10gR2 RAC,这是第一次接触红旗Linux,发现其中文化和Windows办公化作的很好,X Windows启动就仿佛Windows 2000的样子。

而且红旗内置了为Oracle而设置的参数和软件包,客户装好了OS之后,我没有打任何rpm包即可正常安装Oracle软件。

基础安准过非常顺利,但是设置高内存是遇到OUT OF MEMORY的错误,Kamus遇到过:

日期:02/20/2010 12:53:23 作者:eygle.com
php下查询MySQL出现“General error: 2050”错误解决

今天在php下查询mysql,居然出现了“General error: 2050”的错误,后来ray给了链接,果然问题就解决了。

文章已经说得很清楚了,下面直接引用过来:
------------------------------------------
我把PHP升级到了5.2.5版本以后,以前写的PDO程序总是报错SQLSTATE[HY000]: General error: 2053 ,我查了很久才找到问题的解决办法。  这样的问题只会发生在两条SQL连续请求的时候,如下面的例子:

日期:02/20/2010 12:10:46 作者:wcw
MySQL中修理特殊不可见uft8字符

工作中有一个中文字库表,是前辈从其他地方导入的。最近使用的时候发现有些词,比如“清白”,明明只有两个字,却只能用LIKE ‘%清白%’查出,直接=’清白’找不到。

第一反应,前后可能有空格。于是在PHPMyadmin中用MySQL的trim函数过滤了一下

update 字库 set Vocabulary = trim(Vocabulary)但返回的affected rows数居然是0

日期:02/19/2010 14:27:17 作者:seebit
Ubuntu下安装MySQL出现FATAL ERROR: Could not find mysqld的处理

Ubuntu下安装MySQL出现FATAL ERROR: Could not find mysqld的处理

错误信息:
#./bin/mysql_install_db –user=mysql

FATAL ERROR: Could not find mysqld

The following directories were searched:

日期:02/17/2010 08:48:30 作者:smalpg
Ubuntu 9.10 下安装MySQL

Ubuntu 9.10 下安装 MySQL,可以在终端提示符后运行下列命令:

sudo apt-get install mysql-server

sudo apt-get install mysql-client

sudo apt-get install php5-mysql // 安装php5-mysql 是将php和mysql连接起来

一旦安装完成,MySQL 服务器应该自动启动。

日期:02/17/2010 08:46:40 作者:Ubuntu编辑
Oracle针对Eclipse 11g发布开发包

这种开发包允许开发者在Oracle Fusion Middleware平台建立java EE和web serice服务

Oracle 针对Eclipse 11g发布企业版开发包是免费的,针对建立java EE和web service服务

对于Oracle Fusion Middleware平台,Eclipse是最好的集成开发环境

这种集成开发包是Oracle Fusion Middleware的一部分,为软件开发者提供扩展,使带有WebLogic Server的Eclipse能够进行“所见即所得“的Web页面编写,支持SCA(服务组件框架),JAX—WS Web Service服务验证,有完整的标签和数据选项版,和灵巧好用的代码编辑器

这种新插件结合Oracle的AppXRay(跟踪和验证应用程序)技术,可以进行项目时间管理,而且可视化的软件界面能使Java开发者服从团队安排,减少项目调试时间,提高代码质量

另外,这种新插件使WebLogic Servers开发者减少代码循环的次数,增加代码质量,容易查出错误

Oracle说这种新插件是Java web应用发展的一个进步,这种开发包的优点是结合AppXRay技术,WYSIWYGWeb页面编辑,支持WebLogic Server SCA(服务组建框架),JAX-WS web服务验证,部署Oracle WebLogic Server JMS中间件,支持FastSwap(中间件).

Ted Farrell主要体系结构设计者和Oracle开发工具和中间件的高级副总裁说:随着AppXRay技术的发展,Oracle为Eclipse提供的插件将更加可视化,和客户的项目关联将更加紧密,提高代码质量,减少调试时间。现在,出现了AppXRay技术,Oracle承诺将为开发者提供开发工具和框架式开发者能建立,测试,优化Java和开源的应用程序,

日期:02/16/2010 08:26:45 作者:liliya112
利用MySQL的注射点得到更多MySQL的信息

当注射MySQL库的输入点的时候,我们可以通过version()/user()/database()/password()等内置函数来得到MySQL的相关信息,其实我们在注射的时候可以利用MySQL内置的变量来得到更多的MySQL信息

其中version()可以写成@@version来把version当做变量来读取,这样一样可以得到,其他的内置是不可以写成变量的形式.
大家都应该用过利用pangolin来注入MySQL库的注射点,认真的朋友都应该知道可以的得到basedir和datadir这两个变量的信息,其实还有更多的变量在注射的时候可以利用

日期:02/12/2010 08:40:43 作者:MySQL
Oracle的sql语句练习题含答案

  --1、选择部门30中的雇员

  select * from emp where deptno=30;

  --2、列出所有办事员的姓名、编号和部门

  select ename,empno,dname from emp e inner join dept d on e.deptno = d.deptno where job=upper('clerk’);

日期:02/11/2010 11:07:10 作者:goylsf
Oracle关闭SUN的开源项目
Sun终于被Oracle收购了,在前段时间刚刚发布了收购Sun之后发展路线的Oracle已经开始有所行动,矛头直指Sun庞大的开源社区.Project Wonderland、Project Darkstar及Project Kenai三大开源项目相继被Oracle关闭.难道只有Java是Oracle最感兴趣的东西?或许对Oracle来说一切没有利益的开源项目或者利益不足以让Oracle心动的项目都会如此吧.让我们拭目以待.下面是摘自开源中国社区的一片报道.详细描述了”Oracle关闭SUN的开源项目”的内容:
日期:02/10/2010 14:09:23 作者:开源中国社区
详析Oracle跟踪事件:set events
  Oracle跟踪文件分为三种类型,一种是后台报警日志文件,记录数据库在启动、关闭和运行期间后台进程的活动情况,如表空间创建、回滚段创建、某些alter命令、日志切换、错误消息等。在数据库出现故障时,应首先查看该文件,但文件中的信息与任何错误状态没有必然的联系。后台报警日志文件保存 BACKGROUND_DUMP_DEST参数指定的目录中,文件格式为SIDALRT.LOG。另一种类型是DBWR、LGWR、SMON等后台进程创建的后台跟踪文件。后台跟踪文件根据后台进程运行情况产生,后台跟踪文件也保存在BACKGROUND_DUMP_DEST参数指定的目录中,文件格式为 siddbwr.trc、sidsmon.trc等。还有一种类型是由连接到Oracle的用户进程(Server Processes)生成的用户跟踪文件。这些文件仅在用户会话期间遇到错误时产生。此外,用户可以通过执行oracle跟踪事件(见后面)来生成该类文件,用户跟踪文件保存在USER_DUMP_DEST参数指定的目录中,文件格式为oraxxxxx.trc,xxxxx为创建文件的进程号(或线程号)。
日期:02/09/2010 19:23:26 作者:Oracle编辑
Oracle 10g同字节序跨平台迁移

  在Oracle 10g中,同字节序跨平台的文件头信息Oracle会自动改写,不再需要转换。

  我们看以下测试:

  [oracle@danaly oradata]$ sqlplus "/ as sysdba"

  SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jul 12 15:14:21 2007

  Copyright (c) 1982, 2005, Oracle. All rights reserved.

日期:02/09/2010 19:21:25 作者:Oracle编辑
Oracle利用存储过程造数据

  假定表里面已经有一些数据了,现在要通过存储过程来让已有的数据不停的翻番,已造出大量的数据

  CREATE OR REPLACE PROCEDURE "INSERTDATA"

  AS

  distance int;

  BEGIN

日期:02/09/2010 19:20:47 作者:Oracle编辑
Oracle读一致性导致的问题

  为了提高事务处理的速度,oracle采用了读一致性机制。就是当一个会话更新数据后未提交时,其它会话读取到更新前的结果。这大大提高数据并发的效率,但某些特定条件下会产生错误的结果。

  下面的例子进行说明。

  先像表test(A number(10,2))插入1行记录100

日期:02/09/2010 19:20:09 作者:Oracle编辑
内容分类