文章分类 - 数据库
摘要:方案一:使用SQLPlus的Spool命令。Spool是SQLPlus的命令,不是SQL语句。通过Spool可以将SQL语句(导出的话主要是使用Select)的执行结果导出到指定的文件中,即“所见即所得”:使用Spool命令后,在SQLPlus中执行SQL语句打印在屏幕上的结果会原样导出到文件中。为了控制导出数据的格式,Spool提供了一系列Set命令来设置导出的格式,当然也可以在Select语句中直接设置格式。使用Spool导出数据的示例(在命令行执行):SQL>spoold:\data.cvs【指定导出文件,导出开始】SQL>setechooff;【不显示执行的SQL命令】SQ
阅读全文
摘要:文章转自:http://www.blogjava.net/herongxin/archive/2011/05/31/351414.html【一】对ORACLE_SID的理解Oracle中SID的作用类似于一个“开关变量”---引导Oracle在实例启动时如何去默认位置下读取适当的参数文件并加载,以正确启动实例。我们知道实例的启动需要指定pfile/spfile(Oracle9i之前是使用pfile--即init文件,从9i开始就默认使用spfile--即服务器端参数文件,两者的不同请参考《Oracle 10g Concept》手册,关键在于修改其中参数后是否会自动持久化)。这两个文件的存放位置
阅读全文
摘要:对许多企业而言,数据仓库是经常听到的术语。那么,数据仓库与传统的数据库是什么关系?什么样的企业适合引入数据仓库?如何建立数据仓库?为了理清这些概念,我们特意开辟“数据仓库系列讲座”,将全面介绍数据仓库构成、应用等方面的基本知识。从“库”到“仓库”数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。 “面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数.
阅读全文
摘要:转自:http://coolshell.cn/articles/3463.html对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Coding Horror上有一篇文章(实在不清楚为什么Coding Horror也被墙)通过 文氏图Venn diagrams 解释了SQL的Join。我觉得清楚易懂,转过来。假设我们有两张表。Table A 是左边的表。Table B 是右边的表。其各有四条记录,其中有两条记录是相同的,如下所示:id name ...
阅读全文
摘要:ORACLE数据库通过sqlnet.ora文件中的参数sqlnet.authentication_services,参数文件中的remote_login_passwordfile和口令文件pwdsid.ora三者协同作用实现身份认证.Sqlnet.authentication_services=(NTS)|(NONE)NTS:操作系统认证方式,不使用口令文件;NONE:口令文件认证方式Remote_login_passwordfile=(NONE)|(EXCLUSIVE)|(SHARED)NONE:不使用口令文件,操作系统认证;EXCLUSIVE:口令文件认证方式,但只有一个数据库实例可以使用
阅读全文
摘要:一、字符操作(SQL函数)SQL>SELECT LOWER(ename) FROMemp;将所有员工的姓名以小写方式显示SQL>SELECT UPPER(ename) FROMemp;将所有员工的姓名以大写方式显示SQL>SELECT SUBSTR(ename, 1, 3) FROMemp;显示所有员工姓名的前三个字母。(从第1个字母开始,显示其后的3个字母)SQL>SELECT ename FROM emp WHERE LENGTH(ename)=5; 显示员工中姓名长度为5个字符的员工的姓名SQL>SELECT UPPER(SUBSTR(ename, 1, 1
阅读全文
摘要:一、简单查询语句1. 查看表结构SQL>DESC emp;2. 查询所有列SQL>SELECT * FROM emp;3. 查询指定列SQL>SELECT empmo, ename, mgr FROM emp;SQL>SELECT DISTINCT mgr FROM emp; 只显示结果不同的项4. 查询指定行SQL>SELECT * FROM emp WHERE job='CLERK';5. 使用算术表达式SQL>SELECT ename, sal*13+nvl(comm,0) FROM emp;nvl(comm,1)的意思是,如果comm
阅读全文
摘要:*对表进行了修改后,需要commit,否则数据只是记录在内存,并没有真正记录到表中。一、表操作1. 创建一个新表SQL>CREATE TABLE stu VALUES(sid number(2), sname varchar2(20), birthday date, sex char(2), schship number(7,2));*oracle中的数据类型有:字符型(char, varchar2, clob), 数字型(number), 日期类型(date, timestamp), 图片(blob)。2. 删除表SQL>DROP TABLE stu;3. 查询表中字段SQL&g
阅读全文
摘要:一、目的: Oracle系统中的profile可以用来对用户所能使用的数据库资源进行限制,使用CreateProfile命令创建一个Profile,用它来实现对数据库资源的限制使用,如果把该profile分配给用户,则该用户所能使用的数据库资源都在该profile的限制之内。 prfile文件可以控制:CPU的时间 、I/O的使用 、IDLE TIME(空闲时间) 、CONNECT TIME(连接时间) 、并发会话数量 、口令机制。二、DEFAULT PROFILE: 1、所有的用户创建时都会被指定这个PROFILE 2、DEFAULT PROFILE的内容为空,无限制三、PROFIL...
阅读全文
摘要:Oracle 数据库用户管理Oracle 权限设置一、权限分类:系统权限:系统规定用户使用数据库的权限,用户对数据库的访问权限,如建库、建表、创建/删除新用户等。实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。二、系统权限管理:1、系统权限分类:DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。对于普通用户:授予connect, resource权限。
阅读全文
摘要:随着Oracle技术和市场的快速发展,目前从事Oracle DBA工作的人群越来越庞大,从一些我经常去的论坛和社区中大家发的帖子上看的出,很多人都渴望在现在或将来从事这一领域的工作,现在的市场需求也很大,但不难看出,各个公司对DBA这个岗位的要求也越来越高,当然了,高薪、高挑战和可持续发展的职业通道吸引了大量的年轻人去尝试进入这一领域工作. 对一个以前没怎么接触过Oracle Database的新手来说,如何才能快速的成为一个Oracle DBA,是他们目前所迫切渴望的.很多人因为学习的方法不对,走入了误区,感觉到越学越累,越学越糊涂,越学越不明白... 关于学习方法这个问题,可以说是仁者见仁
阅读全文
摘要:1)多阅读最好是看英文版的,很多人可能在遇到问题(或应付考试)的时候才去查阅,而从来没有真正的花时间去认真的阅读过,等遇到问题再看才后悔当初没有仔细的研读2)多实验实践是检验真理的唯一标准,通过亲自的验证,不仅能领会的更加深刻,记忆持久,也能会有很多"意外"的发现.3)多总结针对某一领域的知识,从各个版本的发展一路延续下来,写成自己的经验宝典,做到真正的融会贯通.一方面可以整理自己的思路、心得,另一方面可以特定的情况下拿出来参阅.4)多交流构建自己的技术交流网络,和不同层次的人进行交流,每个DBA遇到和面对的Oracle知识是有限的,不同的国家、不同公司、不同的项目中需要的
阅读全文
摘要:这里不谈Oracle,只谈学习方法。 常说师傅领进门,修行靠个人。 研究Oracle 需要靠自己的学习,需要多花时间来研究,我玩Oracle 的这几年,大部分都是自己研究的, 当然也有很多人给过我帮助。 这里非常感谢他们。一. 当我们在学习过程中遇到问题时,怎么办?1. 查看官方文档http://tahiti.oracle.com/2. google google 也是有方法的,同样的问题,可能有的人google到答案就快。主要的原因就是关键字的选择,好的关键字能快速的帮助找到相关的答案。 还有就是尽量看国外的一些专业性的网站。不是说国内的网站的不好,国内很多的blog 也是可参考的。 主要还
阅读全文
摘要:最近在学oracle数据库。来回安装了两回,都没完全搞定。最后装的这一次,安装完成后,发现“服务”里没有DBConsole这一个服务。网上资料“指示”,我需要重新建一个EM。可通过dbca或ecma等两种方式来新建一个EM。在创建em的时候,也是困难重重。使用dbca方式来创建的时候,系统提示“无监听程序”。看过网上的很多资料,写得都不是很清楚(即按照上面的方法没有解决我的问题)。最后,终于找到一种有指导意义的解决方法——使用net manager重新配置服务和监听程序。按照这篇博文(传送门:Oracle 数据库监听配置),果然解决了“无监听程序”的问题。使用手动方式来创建的时候,提示失败..
阅读全文
摘要:这篇博文在我对网上的种种解决“无监听程序”的问题失望之际,出现在我的眼前。我如获至宝,依据博文中的方法,我顺利地解决了“无监听程序”这个讨厌的问题。原博文见:http://blog.csdn.net/tianlesoftware/article/details/4861572(虽然他也是转的……)原来,除了需要配置“监听位置”外,还需配置“数据库服务”。一、监听器(LISTENER) 监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。二、本...
阅读全文
摘要:Oracle安装后的基本环境主要涉及安装后的程序组、DBMS包含的物理文件、与数据库服务器相关的服务、Oracle默认的帐户/口令以及在MS-DOS命令行中可使用的命令等。 了解和掌握这些基本环境对正确使用和深入掌握Oracle技术是十分重要的。1、安装后的程序组Oracle Database 11g安装后的程序组Oracle-OraDb11g_ home1包括: Oracle Installation Products 集成管理工具 配置和移植工具 应用程序开发(1)Oracle Installation Products 主要包括:Universal Installer:通用安装器...
阅读全文
摘要:今天重新安装Oracle的时候,发现报这样一个错误(SID已经存在),是由于卸载不彻底造成的。以下是彻底卸载的步骤:1、开始->设置->控制面板->管理工具->服务停止所有Oracle服务。2、开始->程序->Oracle - OraHome81->Oracle Installation Products->Universal Installer卸装所有Oracle产品,但Universal Installer本身不能被删除5、运行regedit,选择HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE,按del键删除这个入口。6、运行regedit,选择HKEY_LOCAL_
阅读全文
摘要:*Mysql命令语句不区分大小写一、库操作 1. 导出整个数据库 mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1) mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导出一个数据库结构 mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql -d 没有数据 –add-drop-table 在每个create语句之前增加一个dr...
阅读全文
摘要:Python代码 1 # -*- coding: utf-8 -*- 2 #mysqldb 3 import time, MySQLdb 4 5 #连接 6 conn=MySQLdb.connect(host="localhost",user="root",passwd="",db="test",charset="utf8") 7 cursor = conn.cursor() 8 9 #写入 10 sql = "insert into user(name,created) values
阅读全文

浙公网安备 33010602011771号