跳至主要内容

博文

目前显示的是 十二月, 2007的博文

Oracle学习笔记20071227

管理角色 角色类似于部门,成员,某个部门需要有特殊的权限,而对应得员工就应该有相应的权限 对应语句 SQL>CREATE ROLE oe_clerk; SQL>CREATE ROLE hr_clerk IDENTIFIED BY bonus; SQL>CREATE ROLE hr_manager IDENTIFIED EXTERNALLY; 已经定义好的角色connect,resource,dba 这些权利提供了什么什么的协调性(backward compatibility) exp_full_database 管理进入的database imp_full_database 管理出去的database delete_catalog_role delete权限角色 execute_catalog_role execute执行权限角色 select_catalog_role select权限角色 修改角色 SQL>ALTER ROLE oe_clerk IDENTIFIED BY order; SQL>ALTER ROLE hr_clerk IDENTIFIED EXTERNALLY; SQL>ALTER ROLE hr_manager NOT IDENTIFIED; 分配角色: SQL>GRANT oe_clerk TO scott; SQL>GRANT hr_clerk TO hr_manager; SQL>GRANT hr_manager TO scott WITH ADMIN OPTION; 建立默认的角色: SQL>ALTER USER scott DEFAULT ROLE hr_clerk, oe_clerk; SQL>ALTER USER scott DEFAULT ROLE ALL; SQL>ALTER USER scott DEFAULT ROLE ALL EXCEPT hr_clerk; SQL>ALTER USER scott DEFAULT ROLE NONE; 运用角色(Application roles) SQL>CREATE ROLE admin_role IDENTIFIED USING hr.employee; admin_role就是一个应

Oracle学习笔记20071226

管理用户 首先需要了解data schemaSchema的对象:tables,triggers,constraints,indexes,views,sequences,stored program units,synonyms,user-defined data types,database links Schema是多个对象的集,一个用户建立了那么对应的schema也建立了,用户只能操作一个schema,用户名和schema经常被用于交换 一份creating users的确认表建立新的User通过数据库认证(Database Authentication) SQL>CREATE USER aaron IDENTIFIED BY soccer(PASSWORD)DEFAULT TABLESPACE data TEMPORARY TABLESPACE temp QUOTA 15m ON dataPASSWORD EXPIRE; 建立新的USER通过操作系统认证(Operating System Authentication) SQL>CREATE USER aaron IDENTIFIED EXTERNALLY(和数据库严重的不同点) DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE temp QUOTA 15m ON data PASSWORD EXPIRE; 修改User的Quota(限额) SQL>ALTER USER aaron QUOTA 0 ON USERS; 删除USER SQL>DROP USER aaron; 使用CASCADE删除所有的 SQL>DROP USER aaron CASCADE; 和USERS有关的表DBA_USERS和DBA_TS_QUOTAS 管理权限用户权限分为两种,一种是SYSTEM一种是OBJECT的SYSTEM对特殊DATABASE做一些特殊的动作。 OBJECT对特殊的OBJECT权利 系统特权(system privileges)有超过100个不同的权限,用any可以让权限签名到任何的schema上,grant是用来赋予权限的,revoke是收回权限的 SYSTEM的权限INDEX,TABLE,SESSION,TABLESPACE GRANT的权

Oracle学习笔记20071225

建立临时表从公共表中建立临时表 SQL>CREATE GLOBAL TEMPORARY TABLE hr.employees_temp AS SELECT * FROM hr.employees; 修改表的存贮参数 SQL>ALTER TABLE hr.employees PCTFREE 30 PCTUSED 50 STORAGE(NEXT 500K MINEXTENTS 2 MAXEXTENTS 100); 手动分配允许的extent SQL>ALTER TABLE hr.employees ALLOCATE EXTENT(SIZE 500K DATAFILE '/DISK3/DATA01.DBF'; 不分割表进行重组(Nonpartitioned Table Reorganization) SQL>ALTER TABLE hr.employees MOVE TABLESPACE data1; (上个礼拜五做这个重新分割移动表的时候,出现了错误,由于先前的错误导致了半灾难性的后果,所以对于目前来说整体的复习也是比较重要的。 例如这个语句,上次就可以写成SQL>ALTER TABLE A MOVE TABLESPACE atu;) 删除表(Truncating a Table) SQL>TRUNCATE TABLE hr.employees; 这个删除表的意思是删除表的所有行并不是所有表,包括所有索引,具体的语句可以在sql三合一中找到 删除表(Dropping a Table) SQL>DROP TABLE hr.department CASCADE CONSTRAINTS; 这个语句才是删除表,包括所有定义的语句。 删除列(Dropping a Column) SQL>ALTER TABLE hr.employees DROP COLUMN comments CASCADE CONSTRAINTS CHECKPOINT 1000; 使用UNUSED选项将comments设为unused,因为comments有constraints SQL>ALTER TABLE hr.employees SET UNUSED COLUMN comments CASCADE CONSTRAINTS; 删除unu

Oracle学习笔记20071224

移动data files tablespace类 首先需要将tablespace设置为offline,然后目标data files必须存在 然后使用: SQL>ALTER TABLESPACE userdata RENAME DATAFILE '/u01/oradata/userdata01.dbf' TO '/u01/oradata/userdata01.dbf'; database类 database必须mount,目标datafile必须存在 SQL>ALTER DATABASE RENAME FILE '/u01/oradata/system01.dbf'TO '/u03/oradata/system01.dbf'; 修改Tablespace的建立在Oracle的管理文件 SQL>ALTER SYSTEM SET db_create_file_dest = '/u01/oradata/db01'; 关于表 从逻辑结构来说分为oracle,extent,segment,tablespace,database 物理测试datafile,OS blocks segments的种类分为table,cluster,index,partition,index-organized table,index partition,undo segment,temporary segment,lob segment,nested table,bootstrap segment DATABASE BLOCK最小的单位的I/O,由一个或多个OS blocks组成,由tablespace creation建立,db_block_size是默认大小 管理DATA BLOCK有两种方法,一种自动,一种手动。 自动语法: SQL>CREATE TABLESPACE data02 DATAFILE '/u01oradata/data02.dbf' SIZE 5M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 64K SEGMENT SPACE MANAGEMENT AUTO; 手动语法需要用到PCTFREE,PCTUSED,FREELIST这几个参

Oracle学习笔记20071221

在建立datafile的时候设立自动增大MB的data files SQL>ALTER DATABASE DATAFILE '/u01/oradata/userdata02.dbf' SIZE 200MAUTOEXTEND ON NEXT 10M MAXSIZE 500M; 修改已有的DATAFILE SQL>ALTER DATABASE DATAFILE '/u03/oradata/userdata02.dbf' RESIZE 200M; 将Data Files加入Tablespace SQL>ALTER TABLESPACE app_data ADDDATAFILE'/u01/oradata/userdata03.dbf' SIZE 200M; ---------------------------------大名鼎鼎的分割线--------------------------------------------- 今天朋友问我 "‘任务管理器已被系统管理员停用’ 想问一下如何把任务管理器打开",先是以为是在管理服务里面,后来没找到google了一下,其实是在组策略下下面是解决方法: 方法一:使用组策略编辑器来设置禁止访问任务管理器 首先使用管理员级别的帐号登陆系统,然后在开始菜单的“运行”中输入:“Gpedit.msc”打开组策略编辑器。在组策略编辑器中找到“用户设置\管理模板\系统\Ctrl+Alt+Del选项”双击右侧的“删除任务管理器”(Remove Task Mangaer),打开如图2所示的“移除任务管理器”属性设置页面。选中“开启”(Enabled),点击“OK”则再也不能使用“Ctrl+Alt+Del”来打开任务管理器了。 方法二:使用用户限制来禁止访问任务管理器 上述方法虽然可以禁止访问任务管理器,但这种方法并不能禁止用户通过直接点击任务管理器的方法来打开,而且不能使用“Ctrl+Alt+Del”这个组合热键来打开任务管理器也会给我们正常使用造成不便。下面我们介绍通过使用用户限制来禁止非授权用户访问任务管理器的方法。在系统安装目录的“System32”目录下找到“TaskMgr.exe”,点击右键,选择“打开方式(Run as)”, 选中“下列用户”(The

Oracle学习笔记20071220

数据库启动是STARTUP, NOMOUNT - MOUNT - OPEN 我们启动数据库,便是并不挂载数据库示例: SQL>STARTUP NOMOUNT  然后可以使用 SQL>ALTER DATABASE MOUNT 来挂上数据库。 使用 SQL>STARTUP MOUNT 来启动数据库,并挂载上数据库,但是保持数据库的关闭状态。 稍后可以使用 SQL>ALTER DATABASE OPEN 来打开数据库。 还可以在数据库的启动过程中限制数据库的访问: SQL>STARTUP RESTRICT 来启动并装载打开数据库示例。 当然还可以在数据库的启动过程中限制数据库的访问: SQL>STARTUP RESTRICT 来启动并装载打开数据库示例。 稍后可以使用: SQL>ALTER SYSTEM DISABLE RESTRICTED SESSION 来取消数据库的受限制状态。 在数据库受限制的过程中,只有对数据库拥有CREATE SESSION权限的用户才能够连接到数据库。这种状态有利于对数据库进行备份,恢复,导入,导出等操作。 还有一个命令就是强迫数据库示例启动: SQL>STARTUP FORCE   二、改变数据库的状态: 1、当你只是启动数据库,但是并不有装数据库时,也即是使用:STARTUP NOMOUNT来启动数据库时,必须使用ALTER DATABASE MOUNT来装载数据库,并启动示例。 2、打开一个关闭的数据库: 当你只是装载了数据库,但是保持数据库关闭的情况,也即是使用: SQL>STARTUP MOUNT 来启动数据库时, 必须使用: SQL>ALTER DATABASE OPEN 来打开一个关闭的数据库。 3、以只读或者是可读可写的方法打开数据库。注意:可读可写是默认的操作:  SQL>ALTER DATABASE OPEN READ ONLY 恢复以: SQL>ALTER DATABASE OPEN READ WRITE 4、在使用过程中对数据库进行限制: SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION 取消限制:  SQL>ALTER SYSTEM DISABLE RESTRICTED SESSION   即可取消

投名状

昨天晚上实在无聊,就屁颠屁颠的去看了《投名状》,本来去奥斯卡的,发觉已经只有9点以后的场次,还特别的翘,我说那九点看了直接去看《集结号》首映算了,别人不愿意,那行,然后出来瞎晃悠,还好几个周围的电影院还近,去了胜利,人那还没上片,看来没希望,突然想去唱歌,行,反正金歌也进,就那么走过去吧,突然眼前豁然开朗,这不是西湖电影院么,一阵小跑,发觉上片,最近的场次还只有头牌了,虽然头牌脖子有点罩不住,但是至少看看片子还可以的。 网上大概了解了下《投名状》,陈可辛翻拍的《刺马》,加上了几个现代的演员。故事的大概是:姜午阳、赵二虎本为草莽,在一次争斗中与庞青云结识。三人惺惺相惜,结为异姓兄弟。不料日就生变,赵二虎的妻子莲生爱上了大哥庞青云,庞青云也对莲生心生爱慕。不久后,庞青云升为两江总督,欲望逐渐膨胀,变得心狠手辣。他的道德防线也逐渐崩溃,霸占莲生,还要对兄弟下手…… 剧情也就那么个回事情,其实故事梗概不然,一个从死人堆里爬出来的人,什么都失去过了 。已经改变了他的原有个性,他已经从开始就知道什么是他要的,而唯一觉得真是的就是老徐那一次,其实古时候也挺简单的,说得好就上了。只是一种人性做本质的释放。受苦挨饿无非就是为了有着一日飞黄腾达,为了生活隐姓埋名,别人都在抢军粮的时候什么都不做,唯一的只是在金城武快要被杀掉的时候救助,然后直接取了押送大将的首级。擒贼先擒王。。。。 而刘德华的出场也特别犀利,从他的眼神看出他已经被锻炼的很老练,已经是一个大将之才,错的地方就是信错了人,在后面苏州一役的时候,从为了一个被困一年的军队,只身一人去刺城主。被困一年无论对于城内还是城外都是极大的考验,心里防线都已经到了崩溃的边缘。而城主以他的解脱来换大众的解脱,这是很等的伟大,而战争是残酷的,不能收编的俘虏虽然答应了别人,可没有粮食来养活那么多人。敌军的气节也让人唏嘘不已。 刘德华的演绎的性格有情有义,到最后死也不认为是李连杰派人杀的他。李连杰演绎的则是在战场上全军覆没后,心里从此极大改变,为了目的不择手段,从始至终就是在利用刘和金,但也为曾经的战场情了矛盾,权还是义一直是在他的心理纠结着,当苏州一役,李看到刘走出城那种又喜又悲的感情时,看出了他心理是多的纠结。金城武么,唉,演技确实很好,但是角色赋予的他是个傻蛋的角色,只为了情谊,一心想挽回情谊,而在战场上也为了情谊能甘当敢死队,同时也为了情谊

关于tablespace和table

今天拿测试库做练习,想来该做点什么,那么就建个tablespace吧。 第一次输入 SQL>CREATE TABLESPACE username DATAFILE '/SERVER/ora9/oradata/ora9 ' SIZE 100M AUTOEXTEND ON NEXT 5M MAXSIZE 200M; (后面回想的,前面怎么做的我在putty上也找不到了,SELECT了一个语句不知道不刷到哪里去了)然后发觉username应该是自己的用户名(傻了,-______-)继续写了下面这条 SQL>CREATE TABLESPACE atu DATAFILE '/SERVER/ora9/oradata/ora9/atu.dbf ' SIZE 100M AUTOEXTEND ON NEXT 5M MAXSIZE 200M; 然后第一条就成了今天郁闷的关键,因为在本来ora9是已经存在的文档目录所有.dbf文件都存放在这个下。 当我自己在linux环境下检查的时候发觉同时存在,就rm掉了,回到sqlplus下 SQL>shutdown immedaite;时候出现以下问题 ORA-01116: error in opening database file 15 ORA-01110: data file 15: '/SERVER/ora9/oradata/ora9' ORA-27041: unable to open fileLinux Error: 2: No such file or directory 无解,求助领导。 SQL>select file_id,file_name,tablespace_name from dba_data_files; 1 /SERVER/ora9/oradata/ora9/system01.dbf SYSTEM 2 /SERVER/ora9/oradata/ora9/hyf.dbf HYF 3 /SERVER/ora9/oradata/ora9/cwmlite01.dbf CWMLITE 4 /SERVER/ora9/oradata/ora9/drsys01.dbf DRSYS 5 /SERVER/ora9/oradata/ora9/indx01.dbf IND

祭奠我得两年

此文祭典我的两年。两年过去了,从毕业开始第一份工作,从一个不懂事地孩子每天坐在那里不停地training with JDE/Oracle.不停的作sales man support.维持和客户间地关系,听他们的抱怨。听老板的抱怨,忍耐下来了。然后转去作night staff,从没人会到我开始作Team leader,开始管理5个人,每天重复重复的support,做好每天的update.唯一的快乐就是能和你聊天,看着你也不断地成长,从一个作技术什么都要问得女孩,到能够独当一面。很高兴能帮助你,因为我觉得大学四年终于能找到一个和我志趣相投的女孩了,当那一年你告诉我你和他分开以后,真的我感觉到一丝的希望。6月到了该回校的日子,到上海找了你一起返回,一路上有说有笑,虽然知道在机场来接你得是你的那个他。是你告诉我你和他已经分开,为什么我还是能看到你挽着他的手开心的走着,为什么我每次问你为什么地时候,你可以很方便地说一声别多想了。毕业那一天你告诉我我们只是朋友起,我知道了,我真是个不折不扣地傻瓜,你只是想找人抒发下没有人在身边的寂寞而已。而我当时因为别人地排挤光荣地失业了。 时间真是个很奇妙的东西。失业了还是继续做外贸,一个我至今不想提起的公司,不过让我学到了很多,知道无商不奸,知道可以把一个本应该留住的长期客户,很好地踹在一边,从来不排生产计划,想到什么作什么,每个客货都只做一笔定单,还能够美其名曰:缘分!知道什么是诚信不。 虽然期间还是你联系,但是少了,只是你不停地问我技术,我没有办法,因为我真的不知道。我只能硬着头皮GOOGLE,找一个适合的给你。真的很累,某一天你问地时候我说我不知道,你还是非常高兴地告诉我这是什么什么的时候,麻烦你也顾忌下我得感受。 因为一次和老板地争论,辞职了。休息了一个月,决定暂时不做外贸了,太心寒了。转向IT技术,遇到一个好经理,把能交的都在交,环境也不错,和同事相处的挺愉快的。大家周末打打球,吃吃饭,一起玩玩。感觉都不错。 而从你知道你又恋爱了,又分手了,又one night stand了,我只是笑笑。一天我问你,你为什么不自己争取幸福时,你告诉我你不是个主动的人,你做地那些不是主动的是什么。完全搞不懂呢怎么想得,曾经想再呢的生日问你那个两年前的一个承诺,我想算了吧。不可能捋。就那样过去吧