关于机器域名和ORACLE用户密码带有@的问题
1:带有域名的计算机在配置远程服务名的时候必须带有域名,否则登陆不会成功.而且在安装ORACLE 92的时候,还需要把SQLNET.ORA文件中的#SQLNET.AUTHENTICATION_SERVICES= (NTS)注释掉,既用密码文件认证2:如果一个用户的密码带有@,登陆的时候需要用双引号.CONN LOVE2008/"LOVE@T"[@more@]
关于错误修改PROPS$中字符集的解决方法
对于修改字符集来说通过修改PROPS$来实现修改字符集是一个不安全的做法,这个在EYGLE老大那里已经讲述了这个问题。如果是一个不重要的数据库的话,到是可以考虑用他来修改。在ITPUB中一个PUB友就遇到了一个问题,他通过修改PROPS$来修改字符集的时候,把字符集书写错误了。造成了数据库无法启动。然后各个斑竹们提出了这个问题的几种解决方法,我就在这里作个记录。备份重于一切。[@more@]
关于汉字和区位码
以前一直没有了解汉字和区位码之间的关系,以及和ASCII之间的情况。所以这个知识点自己也一直没有去研究过。通过CSDN上一个网友问了关于汉字随机产生的问题。所以自己在BAIDU上搜索了一下,稍微有了点了解。这里有一篇关于区位码和汉字之间的是一对一的,以及区位码和ASCII值间的关系。记录下来。这是摘录上面那篇文章的一段:区位码是与汉字一一对应的编码,用四位数字表示, 前两位从01 到94称区码,后两位从01到94称位码。 一个汉字的前一半是 ASCⅡ码为“160+区码”的字符,后一半是ASCⅡ码为“160+ 位码”的字符。例如:“刘”的区
windows下安装的一个小问题
CSDN上一个网友问了一个关于在WINDOWS上安装ORACLE的问题,所以作了下面一个小的总结:1:目录不能是中文目录2:出现如下错误时的解决方法:“您可能没有建立目录的适当权限或者磁盘已经没有空间,无法建立目录 c:/....” <1>右键单击我的电脑--〉高级--〉环境变量 <2> 将temp 和 tmp 的值改为c:/temp (其他目录也可以)3:如果出现下面的错误::“Error in writing to directory C:DOCUME~1chenlunLOCALS~1TempOraInstall2007-07-02_12-14-44PM.Please ensure that this directory is writavle and has atleast 32 MB
[转载]binary_integer
1>谈谈PLS_INTEGER类型PLS_INTEGER可以存储一个有符号的整形值,其精度范围和BINARY_INTEGER一样,是:-2^31~2^31。PLS_INTEGER和NUMBER比较起来,其优点是:1).占有较少的存储空间;2).可以直接进行算术运算(在NUMBER上不能直接进行算术运算,如果要计算,NUMBER必须先被转换成二进制)。所以在进行算术的时候PLS_INTEGER比NUMBER和BINARY_INTEGER快一些。PLS_INTEGER和BINARY_INTEGER区别: PLS_INTEGER进行的运算发生溢出的时候,会触发异常。但是当BINARY_INTEGER运算发生溢出时,如果可以指派给一个NUMBER变量(没有超出NUMBER的精
备忘录
1:复合索引branch block上存储几个列的信息(eagle_fan的文章)http://www.itpub.net/727474,1.html2:RAC中crs的svrctl 的使用(Gavin)http://www.cublog.cn/u/21174/showart.php?id=1696103:sqlplus小秘密(oldwain)http://www.itpub.net/424236,1.html 4:oem10g grid control 应用部署(alantany)http://alantany.itpub.net/post/120/1136345:字符集:http://www.blogjava.net/honolulu14/archive/2006/09/httphttp://www.itpub.net/276524,1.html6:rman备份,未使用catalog,控制文件丢失的解决办法 (fenng)http://www.dbanotes.ne
修改用户密码
这是一个非常有意思的东西。例如:假如我是SYS用户想要修改LOVE2008这个用户,完成我想要的事情后,在修改回去。方法如下:SQL> ALTER USER LOVE2008 IDENTIFIED BY VALUES '5A8BF425D3FDEDFE';[@more@]SQL> select password from dba_users where username='LOVE2008';PASSWORD------------------------------5A8BF425D3FDEDFESQL> ALTER USER LOVE2008 IDENTIFIED BY LOVE;用户已更改。SQL> CONN LOVE2008/LOVE2008ERROR:ORA-01017: invalid username/password; logon denied警告: 您不再连接到 ORACLE。SQL> CONN LOVE2
[转载]How Oracle Store Number internal
原文:http://www.eygle.com/archives/2005/12/how_oracle_stor.htmlOracle在数据库内部通过相应的算法转换来进行数据存储,本文简单介绍Oracle的Number型数值存储及转换.这个内容是为了回答留言板上的2119号问题.我们可以通过DUMP函数来转换数字的存储形式,一个简单的输出类似如下格式:SQL> select dump(1) from dual;DUMP(1)------------------Typ=2 Len=2: 193,2DUMP函数的输出格式类似:类型 <[长度]>,符号/指数位 [数字1,数字2,数字3,......,数字20]各位的含义如下:1.类型: Number型,Type=2 (类型代码可以从Oracle的文档
学习笔记(三)
1:windows下手工建立数据库2:WINDOWS下手动启动数据库3:临时表的学习4:SQLPLUS中的NEW_VAL的用法5:UNION中的ORDER BY [@more@]1:手工创建数据库1.1:准备初始化参数文件1.2:ORADIM创建实例。 (创建口令文件,创建服务) --假如实例名love1.3:$ORA_BASE变量指定的目录下的ADMIN子目录,建立一个love文件夹及子文件夹 (可以拷贝D:oracleora92adminsample文件夹下的内容到love子文件夹下)1.4:STARTUP NOMOUNT PFILE=D:ORACLEADMINLOVEPFILEINITLOVE.ORA'; 可以创建SPFILE:CREATE SPFILE FROM PFILE;1.5:准备创建数据文件和
[转载]延迟块清除
1:原文出自:什么是延迟块清除http://www.itpub.net/728948,1.htmlhttp://www.itpub.net/showthread.php?threadid=596002http://zhouwf0726.itpub.net/post/9689/272804NinGoo回复的内容:在oracle的block上都有活动事务的标志的,如果一个事务commit后,由于某些block在commit之前已经写回datafile,或者事务影响到的block数过多,则commit的时候只会清理undo segment header中的事务表信息,data block上的事务标志不会清除,在否则代价过高。那么在一些读取这些block时,需要将这些事务标志进行清除,就是延迟块清除2:另外一贴:没有
[转载]DUAL被DROP了
此文暂时没有测试过,转载SQL> create pfile=’d:pfile.bak’ from spfileSQL> shutdown immediate在d:pfile.bak文件中最后加入一条:replication_dependency_tracking = FALSE重新启动数据库:SQL> startup pfile=’d:pfile.bak’SQL> create table “sys”.”DUAL”( “DUMMY” varchar2(1) )pctfree 10 pctused 4;SQL> insert into dual values(‘X’);SQL> commit;SQL> Grant select on dual to Public;授权成功。SQL> select * from dual;D-XSQL> shutdown immediate数据库已经关闭。已经卸载数据库。ORA
OMS初次使用
原先一直都没有怎么去使用过EM(特别是OMS),以前用的使用EMC最多也就是以独立方式使用,因为还是喜欢SQLPLUS,EM给我的感觉就是一个字“慢”,所以一直也没有去研究过他,最近好奇就用下。结果没有想到配置OMS竟然还是比较麻烦的,还有原先NINGOO的关于EMCA的介绍,今天也知道这个到底是什么东东了。[@more@]NINGOO的关于EMCA的用法:http://ningoo.itpub.net/post/2149/226160WINDOWS下(V9i):1:首先需要配置资料库2:启动服务OracleOraHome92ManagementServer3:启动EM(OMS方式启动),输入主机名,SYSMAN登陆 SYSMAN/OEM_TEMP4
DB_CREATE_***参数
SQL> show parameter db_createNAME TYPE VALUE------------------------------------ ----------- -------------------------db_create_file_dest stringdb_create_online_log_dest_1 stringdb_create_online_log_dest_2 stringdb_create_online_log_dest_3 stringdb_create_online_log_dest_4 stringdb_create_online_log_dest_5 stringSQL> 这些参数是9i新增的[@more@]如果不指定这几个参数,会报错。SQL> create tab
重命名数据文件
1:ALTER TABLESPACE TABLESPACE_NAME OFFLINE;2:操作系统重命名文件3:ALTER TABLESPACE TABLESPACE_NAME DATAFILE RENAME 'd:oracleoradatalove2008.dbf' RENAME TO 'd:oracleoradatalovehlj.dbf';4:ALTER TABLESPACE TABLESPACE_NAME ONLINE;5:CREATE TABLESPACE TABLESPACE_NAME DATAFILE 'D:ORACLEORADBLOVE2008.DBF' REUSE;[@more@]测试用例:SQL> alter tablespace love2008 offline;表空间已更改。--操作系统修改数据文件名字SQL> select file_name from dba_data_files where tablEspace_name='LOVE2008';FILE_NAME-----
关于ROLE的IDNTIFIED CLAUSE
语法:CREATE ROLE role [ NOT IDENTIFIED | IDENTIFIED { BY password | USING [ schema. ] package | EXTERNALLY | GLOBALLY } ] ; 1:CREATE ROLE ROLE_NAME IDENTIFIED BY PWD; 之后要用SET ROLE来激活2: 角色和权限的生效时间[@more@]1>:创建ROLE带有IDENTIFIED 子句:SYS用户 SQL> revoke create table from love20082 ;撤销成功。SQL> create role vvv identified by vvv;角色已创建SQL> grant create table to vvv;授权成功。SQL
[转载]修改数据库名(不用ORACLE的工具)
在网上有这篇文章,我就写在自己BLOG上,留个记录(此文章我还没有测试过)http://www.manning-sandbox.com/thread.jspa?threadID=1690&tstart=120[@more@]Step 1. First of all, it is a good idea to backup the database.Step 2. Once you have backed up the datbaase, you can then dumpthe controlfile to trace. Issue the ALTER DATABASE BACKUPCONTROLFILE TO TRACE statement.Step 3. Shutdown the Database.Step 4. Edit the INIT.ORA file or CONFIG.ORChange the DB_NAME to the new DATABASE NAME:- DB_NAME = <new Dbna
修改归档方式
%sqlplus /nolog (启动sqlplus)SQL> conn / as sysdba (以DBA身份连接数据库)SQL> shutdown immediate; (立即关闭数据库)SQL> startup mount (启动实例并加载数据库,但不打开)SQL> alter database archivelog; (更改数据库为归档模式)SQL> alter database open; (打开数据库)SQL> alter system archive log start; (启用自动归档)SQL> exit (退出)[@more@]
触发器的管理
1:显示触发器信息2:禁止/启用个别触发器3:禁止/启用所有触发器4:重新编译触发器5:删除触发器[@more@]1:显示触发器信息select trigger_name,status from user_triggers where table_name = 'test';2:禁止/启用个别触发器alter trigger test_tri disable;alter trigger test_tri enable;3:禁止/启用所有触发器如果表上存在多个触发器,可以用ALTER TABLE来启用或禁止多个触发器alter table test disable all triggers;alter table test enable all triggers;4:重新编译触发器alter trigger test_tri compile;5:删除触发器drop trigger
netmanager的一些小的用法
1:<概要文件栏>相当于客户端2:<服务命名栏>栏的<服务名>项要和<监听器栏>中的<全局服务名>必须相同.(随便字符都可以)3:如果想要用主机名的形式解析必须要概要文件栏配置允许主机名解析conn love2008/love2008@"love2008"配置在host文件中于IP地址对应2:检查端口是否被占用[@more@]今天发现,在监听器的全局数据库名是任何字符都可以(只要是通过客户端的TNSNAME形式连接)。帖子地址:里面有些介绍http://www.itpub.net/750073.html2:检查端口是否被占用: netstat -a
oracle 9i 默认表空间的基础(转载)
原地址:http://blog.itpub.net/post/7242/394192. 默认临时表空间一旦被指定,将无法在改成PERMANET:3. 在删除默认临时表空间必须先重新指定默认临时表空间4. 默认临时表空间无法OFFLINE:[@more@]在9i之前,如果一个数据库用户没有被指定默认临时表空间,那么oracle就会使用system表空间作为该用户的临时表空间,这是很危险的。在9i里面,database可以被指定一个默认临时表空间。这样如果数据库用户没有被明确指定临时表空间,oracle 9i就会自动指定database的默认临时表空间作为该用户的临时表空间。 我们可以通过下面的语句来