知识大全 Oracle数据库开发的一些经验积累(二)
Posted 数据库
篇首语:丈夫清万里,谁能扫一室?本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle数据库开发的一些经验积累(二)相关的知识,希望对你有一定的参考价值。
Oracle数据库开发的一些经验积累(二) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
三 LINUX和UNIX下 转到操作系统下执行:kill spid (以上语句所查出的) ORACLE中检查表是否被锁的语句 SELECT A OWNER A OBJECT_NAME B XIDUSN B XIDSLOT B XIDSQN B SESSION_ID B ORACLE_USERNAME B OS_USER_NAME B PROCESS B LOCKED_MODE C MACHINE C STATUS C SERVER C SID C SERIAL# C PROGRAM FROM ALL_OBJECTS A V$LOCKED_OBJECT B SYS GV_$SESSION C WHERE ( A OBJECT_ID = B OBJECT_ID ) AND (B PROCESS = C PROCESS ) ORDER BY 杀掉 alter system kill session sid serial# ORACLE的登录问题 用户名和密码 可以直接输入 internal/oracle@serivce_name sys/change_on_install@serivce_name system/manager@serivce_name scott/tiger@serivce_name 注意 i中没有internal/oracle 如果选择典型安装则有 scott用户 如果自定义可以不安装 scott用户 如果是本机则可以省略@serivce_name oem:(ORACLE ENTERPRISE MANAGER) sysman/oem_temp 修改表的列名 Oracle i: alter table xxx rename column xx to yy; Oracle i & lower version connect sys/passed; update col$ set name=xx where obj#=对象id and name = 字段 (一般不要这样用 会造成意想不到的结果) 注 最好是删除再建立新的列 把用户模式对象所在的表空间移到新的表空间 ( ) create the new tablesapce ( ) alter user test default tablespace test_data; ( ) alter user test quota unlimited on test_data; ( ) alter table the_table_name move tablespace test_data; 生成脚本 select alter table ||tname|| move tablespace test_date; from tab where tabtype= TABLE ( ) rebuild the indexes; 使用OEM备份或者EXP的步骤 WIN 下 ( ) 控制面板――>管理工具―― >计算机管理――>本地用户和组――>用户――>新建用户sys和sysman(sys和sysman 的帐号要和登陆数据库的帐号相同) ( ).控制面板――>管理工具―― >本地安全策略――>本地策略――>用户权利指派――> 作为批处理作业登陆――>添加sys和sysman两个帐号 ( ).使用Enterprise Manager配置辅助工具 开始→程序→Oracle OraHome →Enterprise Manager→Configuration Assistant a 使用Configuration Assistant工具来创建一个新的资料档案库 ( ).控制面板――>管理工具―― > 服务 查看OracleOraHome ManagementServer是否启动 如果没有启动 则手动启动该服务 ( ).以sysman/oem_temp(default)登陆DBA Studio (第二个选项 登陆到Oracle Management Server) 立即修改密码为你刚才在NT下建的用户sysman的密码 ( ). 以sysman/ *** (bluesky) 从开始→程序→Oracle OraHome →Console 登陆到 控制台 在 系统→首选项→首选身份证明(我的首选身份设置如下 ) DEFAULT节点 name:sysman DEFAULT数据库 name:sys ( ). 在搜索/添加结点后 以sysman/ *** 登陆到该结点 以sys/ *** as sysdba登陆数据库(也就是在首选身份设置的结果) ( ). 在工具→备份管理→向导→预定义备份策略(自定义备份策略)→提交备份计划 ( ).从开始→程序→Oracle OraHome →Console 登陆到 控制台 查看活动(历史记录)可以看到你的备份是否成功 如果不成功 可以点击备份看明细 (我第一次也没成功 后来我修改系统的临时目录C:\\WINNT\\Temp→c:\\temp\\systmp 重新启动机器就ok了) 如何修改INTERNAL的口令 以下是oracle 的 i你可以仿照来做 ( ) 进入DOS下 ( ) 默认internal密码文件在c:\\orant\\database下 是隐藏属性 文件名称与数据库实例名有关 如默认ORACLE实例名为ORCL 则internal密码文件名为pwdorcl ora ( ) 建立新的internal密码文件 起个新名字为pwdora ora orapwd file=pwdora ora password=B entries= 注 password项一定要用大写 并且不要用单引号 ( ) 拷贝pwdora ora文件到c:\\orant\\database目录下 ( ) 运行regedit 修改口令文件指向 ( ) 找到HKEY_LOCAL_MACHINE\\SOFARE\\ORACLE项 定位ORA_ORCL_PWFILE子项 改变其值为c:\\orant\\database\\pwdora ora ( ) 关闭ORACLE数据库 重新启动 ( ) 进入svrmgr 服务程序 测试internal密码是否更改成功 凭证检索失败的决绝方法 原因: 由于Oracle不能应用OS认证而导致凭证检索失败 解决办法: ( ) 打开neork/admin下的sqlnet ora 修改SQLNET AUTHENTICATION _SERVICES=(NONE) ( ) 启动Net configuration assistant >选第三项本地网络服务名配置 >删除 (删除原来的本地网络服务名) ( ) 重复第二步 >添加 (新建本地网络服务名) ( ) restart oracle 注意 NTS是WinNT的认证方式 命令行编译存储过程 ALTER PROCEDURE procedure_name PILE; 关于如何建立数据库链接(DBlink) 可以通过建立客户机数据库网络服务名的办法 将服务器的名字或是IP地址设置为你需要连接的那个机器就行 如果你要在一个应用中连接它 现在做好上步工作 然后按如下处理 建立数据库连接 CREATE DATABASE LINK DBaseLinkName CONNECT TO UserName IDENTIFIED BY Password USING NetServiceName ; DBaseLinkName 是建立的数据连接名称 UserName 是可以连接到的用户名 Password 是可以连接到的用户的密码 NetServiceName 是可以连接的数据库网络服务名或是数据库名 查询建立数据连接的表实例 Select * From TableName@ DBaseLinkName; 注意 如果在CREATE DATABASE LINK DBaseLinkName CONNECT TO UserName IDENTIFIED BY Password USING NetServiceName ;中NetServiceName 是数据库名修改init ora中 global_names = true 否则global_names = false init ora中 global_names = false Object Browser 中文版的破解方法 到OBJECT BROWSER的目录里 找到DeIsL isu文件 用记事本打开 看到的是乱码吧?没关系 将Stirling Technologies Inc 这个字符串前面的乱码去掉(如果有的话) 让后在Stirling之前加一个空格(一定要加的) 保存 退出 重新运行一下看看 虽然还有提示输入验证信息 但是不用管他 直接确定就行 是不是可以用了呢?保证好使 错误号ORA :space quota exceeded for table space ALCATEL 的解决办法 三个解决办法 任你选择 ( ) alter user USERNAME quota M on TABLESPACENAME; ( ) alter user USERNAME quota unlimited on TABLESPACENAME; ( ) grant unlimited tablespace to USERNAME; 如何在Oracle中捕获到SQL语句的全部操作内容 SELECT osuser username sql_text from v$session a v$sqltext b where a sql_address =b address order by address piece; ORACLE中如何实现自增字段 ( )第一种方法 ORACLE一般的做法是同时使用序列和触发器来生成一个自增字段 CREATE SEQUENCE SEQname INCREMENT BY START WITH MAXVALUE / CREATE TRIGGER TRGname BEFORE INSERT ON table_name REFERENCING NEW AS :NEW FOR EACH ROW Begin SELECT SEQname NEXTVAL INTO :NEW FIELDname FROM DUAL; End; ( )第二种方法 CREATE OR REPLACE TRIGGER TR BEFORE INSERT ON temp_table FOR EACH ROW declare _num NUMBER; BEGIN SELECT MAX(ID) INTO _NUM FROM TEMP_TABLE; :NEW ID:=_NUM+ ; END TR ; job的使用 修改initsid ora参数 job_queue_processes = i i (允许同时执行的JOB数) job_queue_interval = i job_queue_keep_connections=true i DBMS_JOB SUBMIT(:jobno //job号 your_procedure; //要执行的过程 trunc(sysdate)+ / //下次执行时间 trunc(sysdate)+ / + //每次间隔时间 ); 删除job:dbms_job remove(jobno); 修改要执行的操作:dbms_job what(jobno what); 修改下次执行时间 dbms_job next_date(job next_date); 修改 cha138/Article/program/Oracle/201311/16627相关参考
过去我们一直使用的OLTP技术也许隐藏着许多严重的缺陷数据仓库的实现并不是一个简单的任务你会发现以前积累下来的丰富经验并不适合处理每个数据仓库的独特需求 下面列出的条款是你在实现数据仓库过程
Oracle数据库视图管理经验技巧 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 视图对于数据库
Oracle数据库系统使用经验六则 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! having子
Oracle平台应用数据库系统的设计与开发 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Ora
ORACLE数据库应用开发常见问题及排除 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 硬件平台
Java开发中使用Oracle数据库的注意事项 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 很
Java开发中使用Oracle数据库的一点提醒 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 很
ORACLE应用经验(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 谁正在访问数据库?
Oracle编程经验及维护点滴 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一在分布式数据库环
Oracle数据库常见问题答疑二 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 问利用QUERY