﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-realsmy-随笔分类-数据库学习</title><link>http://www.blogjava.net/realsmy/category/14882.html</link><description>久城的学习室</description><language>zh-cn</language><lastBuildDate>Fri, 15 Feb 2008 06:33:15 GMT</lastBuildDate><pubDate>Fri, 15 Feb 2008 06:33:15 GMT</pubDate><ttl>60</ttl><item><title>晕，Oracle XDB的端口是8080</title><link>http://www.blogjava.net/realsmy/archive/2008/02/15/180052.html</link><dc:creator>久城</dc:creator><author>久城</author><pubDate>Fri, 15 Feb 2008 05:04:00 GMT</pubDate><guid>http://www.blogjava.net/realsmy/archive/2008/02/15/180052.html</guid><wfw:comment>http://www.blogjava.net/realsmy/comments/180052.html</wfw:comment><comments>http://www.blogjava.net/realsmy/archive/2008/02/15/180052.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/realsmy/comments/commentRss/180052.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/realsmy/services/trackbacks/180052.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 偶的Tomcat端口一直是8088，今天，一些特殊原因，需要把Tomcat端口设置成8080，在Eclipse中启动总是提示端口被占用。起初还以为是别的版本的Tomcat占用的，一顿删除后，依然提示被占用。于是访问了一下http://localhost:8080，发现是XDB的提示，上网一查才知道是Oracle的XDB占用的8080端口。&nbsp;&nbsp;<a href='http://www.blogjava.net/realsmy/archive/2008/02/15/180052.html'>阅读全文</a><img src ="http://www.blogjava.net/realsmy/aggbug/180052.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/realsmy/" target="_blank">久城</a> 2008-02-15 13:04 <a href="http://www.blogjava.net/realsmy/archive/2008/02/15/180052.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>全角波浪线的乱码情况</title><link>http://www.blogjava.net/realsmy/archive/2007/12/24/170012.html</link><dc:creator>久城</dc:creator><author>久城</author><pubDate>Mon, 24 Dec 2007 04:24:00 GMT</pubDate><guid>http://www.blogjava.net/realsmy/archive/2007/12/24/170012.html</guid><wfw:comment>http://www.blogjava.net/realsmy/comments/170012.html</wfw:comment><comments>http://www.blogjava.net/realsmy/archive/2007/12/24/170012.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/realsmy/comments/commentRss/170012.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/realsmy/services/trackbacks/170012.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/realsmy/archive/2007/12/24/170012.html'>阅读全文</a><img src ="http://www.blogjava.net/realsmy/aggbug/170012.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/realsmy/" target="_blank">久城</a> 2007-12-24 12:24 <a href="http://www.blogjava.net/realsmy/archive/2007/12/24/170012.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>索引初步接触</title><link>http://www.blogjava.net/realsmy/archive/2007/09/11/144189.html</link><dc:creator>久城</dc:creator><author>久城</author><pubDate>Tue, 11 Sep 2007 03:17:00 GMT</pubDate><guid>http://www.blogjava.net/realsmy/archive/2007/09/11/144189.html</guid><wfw:comment>http://www.blogjava.net/realsmy/comments/144189.html</wfw:comment><comments>http://www.blogjava.net/realsmy/archive/2007/09/11/144189.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/realsmy/comments/commentRss/144189.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/realsmy/services/trackbacks/144189.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/realsmy/archive/2007/09/11/144189.html'>阅读全文</a><img src ="http://www.blogjava.net/realsmy/aggbug/144189.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/realsmy/" target="_blank">久城</a> 2007-09-11 11:17 <a href="http://www.blogjava.net/realsmy/archive/2007/09/11/144189.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL进阶学习笔记</title><link>http://www.blogjava.net/realsmy/archive/2007/09/08/143562.html</link><dc:creator>久城</dc:creator><author>久城</author><pubDate>Sat, 08 Sep 2007 05:20:00 GMT</pubDate><guid>http://www.blogjava.net/realsmy/archive/2007/09/08/143562.html</guid><wfw:comment>http://www.blogjava.net/realsmy/comments/143562.html</wfw:comment><comments>http://www.blogjava.net/realsmy/archive/2007/09/08/143562.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/realsmy/comments/commentRss/143562.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/realsmy/services/trackbacks/143562.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 听了一堂SQL课，受益良多，做下笔记。对高手来说，是基础，对我来说，是进阶。：）&nbsp;&nbsp;<a href='http://www.blogjava.net/realsmy/archive/2007/09/08/143562.html'>阅读全文</a><img src ="http://www.blogjava.net/realsmy/aggbug/143562.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/realsmy/" target="_blank">久城</a> 2007-09-08 13:20 <a href="http://www.blogjava.net/realsmy/archive/2007/09/08/143562.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>这几天存储过程应用的点滴</title><link>http://www.blogjava.net/realsmy/archive/2007/08/14/136760.html</link><dc:creator>久城</dc:creator><author>久城</author><pubDate>Tue, 14 Aug 2007 11:01:00 GMT</pubDate><guid>http://www.blogjava.net/realsmy/archive/2007/08/14/136760.html</guid><wfw:comment>http://www.blogjava.net/realsmy/comments/136760.html</wfw:comment><comments>http://www.blogjava.net/realsmy/archive/2007/08/14/136760.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/realsmy/comments/commentRss/136760.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/realsmy/services/trackbacks/136760.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 最近在应用oracle的存储过程，积累点滴，有待指教。&nbsp;&nbsp;<a href='http://www.blogjava.net/realsmy/archive/2007/08/14/136760.html'>阅读全文</a><img src ="http://www.blogjava.net/realsmy/aggbug/136760.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/realsmy/" target="_blank">久城</a> 2007-08-14 19:01 <a href="http://www.blogjava.net/realsmy/archive/2007/08/14/136760.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决oracle登录小问题</title><link>http://www.blogjava.net/realsmy/archive/2007/07/11/129671.html</link><dc:creator>久城</dc:creator><author>久城</author><pubDate>Wed, 11 Jul 2007 10:52:00 GMT</pubDate><guid>http://www.blogjava.net/realsmy/archive/2007/07/11/129671.html</guid><wfw:comment>http://www.blogjava.net/realsmy/comments/129671.html</wfw:comment><comments>http://www.blogjava.net/realsmy/archive/2007/07/11/129671.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/realsmy/comments/commentRss/129671.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/realsmy/services/trackbacks/129671.html</trackback:ping><description><![CDATA[<p>开启ORACLE的时候，在登录用户名那步总是提示错误。一头雾水，经朋友指点才得以解决。原来是因为前几天把机器名修改了造成的。具体解决办法如下：<br><br>1.搜索你的oracle安装目录，找到这俩个文件 tnsnames.ora 和 listener.ora 记住就改这俩个文件就行了，还有一个大写的TNSNAMES.ORA不用管它。他们的路径如下：如 E:\oracle\ora92\network\admin&nbsp; 这是我的路径 你的肯定和我的不一样，但能找到这俩个文件就行了,他们在同一个目录里，编辑这俩个文件，把里面的Host= 的地方改为你的计算机名就行了。注意有多个，看仔细了。<span>或者改成IP,下次改了IP注意再修改要统一</span></p>
<p>2.如果这时登陆的话，肯定会提示你没有监听器，那是监听的服务没有开，到计算机的服务那</p>
<p>进入服务的方法：控制面板-〉管理工具-〉服务（俩个齿轮的那个图标），然后找到OracleOraHome92TNSListener这个服务，把它启动了，就好了。</p>
<img src ="http://www.blogjava.net/realsmy/aggbug/129671.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/realsmy/" target="_blank">久城</a> 2007-07-11 18:52 <a href="http://www.blogjava.net/realsmy/archive/2007/07/11/129671.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从SQL语言的分类谈COMMIT和ROLLBACK的用法 </title><link>http://www.blogjava.net/realsmy/archive/2007/04/23/113026.html</link><dc:creator>久城</dc:creator><author>久城</author><pubDate>Mon, 23 Apr 2007 12:12:00 GMT</pubDate><guid>http://www.blogjava.net/realsmy/archive/2007/04/23/113026.html</guid><wfw:comment>http://www.blogjava.net/realsmy/comments/113026.html</wfw:comment><comments>http://www.blogjava.net/realsmy/archive/2007/04/23/113026.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/realsmy/comments/commentRss/113026.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/realsmy/services/trackbacks/113026.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 数据库学的最烂...唉...从SQL开始学起...&nbsp;&nbsp;<a href='http://www.blogjava.net/realsmy/archive/2007/04/23/113026.html'>阅读全文</a><img src ="http://www.blogjava.net/realsmy/aggbug/113026.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/realsmy/" target="_blank">久城</a> 2007-04-23 20:12 <a href="http://www.blogjava.net/realsmy/archive/2007/04/23/113026.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PL/SQL 培训项目实践与练习(一) 整理笔记</title><link>http://www.blogjava.net/realsmy/archive/2006/09/05/67673.html</link><dc:creator>久城</dc:creator><author>久城</author><pubDate>Tue, 05 Sep 2006 03:32:00 GMT</pubDate><guid>http://www.blogjava.net/realsmy/archive/2006/09/05/67673.html</guid><wfw:comment>http://www.blogjava.net/realsmy/comments/67673.html</wfw:comment><comments>http://www.blogjava.net/realsmy/archive/2006/09/05/67673.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/realsmy/comments/commentRss/67673.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/realsmy/services/trackbacks/67673.html</trackback:ping><description><![CDATA[
		<p>
				<strong>题目：</strong>
				<br />
				<br />控制客户端应用程序对同一组数据库的访问权限。<br /><br /><strong>需求：<br /><br /></strong>业务数据是存储在数据库中一个SCOTT帐户下的一个表EMP。<br /><br />要求设计一种方法，客户端在登陆到数据库的时候，除了提供帐户名以及口令之外，还要提供一些其他的一些信息。系统可以根据这些信息，决定这个客户端能看到的EMP表中的特定部门工作的职员。<br /><br /><strong>方式：<br /><br /></strong>首先分析这个需求，简化这个需求<br /><br />利用已经学习到解决如何让一个帐户只看到一个表中一部分行，而其他部分看不到。这个时候要用到视图，多个帐户和表上的授权三个内容。<br />之后，分析这个解决方法的不足。<br /><br />然后进一步满足需求，如何让所有用户都登陆到同一个帐户上，然后还能看到SCOTT帐户下EMP表的不同行的数据。这个时候可以利用现有的其他知识，如角色的生效失效等。<br /><br />接下来，进一步提高要求，要求所有客户端都登陆到同一个帐户上，而且访问同一个视图，但这个视图可以根据客户端登陆时提供的信息，决定当前会话可以查看的数据。<br /><br />最后再讨论将这个例子放大到全体业务数据的方法，以及应用Oracle提供的其他功能（如VPD，Lavel Security等），进行其他改进的可能。<br /><br /><strong>目的：</strong>综合利用Oracle权限管理，帐户管理，视图，临时表，过程/函数的创建等技术，解决访问控制问题。<br /><br /><strong>相关知识理解笔记：<br /></strong><br /><em>临时表：</em><br />create global temporary table table_name(<br />  username varchar2(10)<br />  ......<br />);<br />客户端访问服务器端时，服务器端会自动给每个客户端分配一个setion,用以区别不用的客户端，道理就象这个样子，临时表的用处就在此，就象它会自动设置不同的客户端的权限一样，比如：<br />A在主机上建立一个临时表TEMP，B可以访问到这个表，A在TEMP上插入数据a，对于这个数据a，A可以SELECT到，但是B却不能。同样，B也在这个表上插入一个数据b，对于这个数据b，B可以SELECT到，而A却不能.<br /><br />PS：根据这个知识，我建立一个临时表，输入一些信息，根据这些信息的不同，我所建立的视图就不同，这样就可以完成本题关键部分。<br /><br /><em>视图</em><br /> create view view_name as select * from table_name where ...<br />视图是建立在表的基础上的，它只是完成表中一些数据的集体的体现.对于表的本身并不做任何修改。比如：<br />我有两个表：<br />create table talbe_person(id number,name varchar(20));<br />insert into table_person values(...,...);<br />create table table_name (name,varchar(20));<br />insert into table_name values(...);<br />现在我想查看table_person中名字符合table_name里的名字的人的相关信息，我可以以视图的方式实现：<br />create view view_person as select * from table_person where name in(select * from table_name);<br /><br /><strong>具体操作：<br /></strong><br />现系统已经存在表EMP。（其中有empno字段）<br /><br />--建立权限数据表，用来存储对每个客户端分配的不同权限<br />create table test_privileges (<br />  id       number(4),<br />  username varchar2(10),<br />  empno    number(4)<br />);<br /><br />--建立自增序列<br />create sequence seq_test_id start with 1 increment by 1;</p>
		<p>--插入数据，每一行都有一个username字段，用来区别不同的客户端..<br />insert into test_privileges (id,username,empno)<br />values (seq_test_id.nextval,'HR',7369);</p>
		<p>insert into test_privileges (id,username,empno)<br />values (seq_test_id.nextval,'HR',7499);</p>
		<p>insert into test_privileges (id,username,empno)<br />values (seq_test_id.nextval,'TEST03',7521);</p>
		<p>insert into test_privileges (id,username,empno)<br />values (seq_test_id.nextval,'TEST05',7566);<br />insert into test_privileges (id,username,empno)<br />values (seq_test_id.nextval,'TEST05',7900);<br />insert into test_privileges (id,username,empno)<br />values (seq_test_id.nextval,'TEST05',7902);<br />commit;<br /><br />--建立临时表，用来存储用户名，用来区别不同的客户端<br />create global temporary table t_test_info(<br />  username varchar2(10)<br />);<br /><br />--这里是关键，建立视图。<br />create view v_emp as <br />  select * from emp<br />  where empno in <br />  (select empno <br />   from test_privileges s,t_test_info d <br />   where s.username = d.username);<br /><br />--这样我每输入不同的用户名，之后<br />insert into t_test_info values('HR'); <br />--所看到的内容也就不同了<br />select * from v_emp;<br />insert into t_test_info values('TEST05');<br /> select * from v_emp;<br />insert into t_test_info values('TEST03'); <br />select * from v_emp;</p>
<img src ="http://www.blogjava.net/realsmy/aggbug/67673.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/realsmy/" target="_blank">久城</a> 2006-09-05 11:32 <a href="http://www.blogjava.net/realsmy/archive/2006/09/05/67673.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>