42、凭证检索失败的决绝方法。
原因: 由于Oracle不能应用OS认证而导致凭证检索失败
解决办法:
(1).打开network/admin下的sqlnet.ora
修改SQLNET.AUTHENTICATION _SERVICES=(NONE)。
(2).启动Net8 configuration assistant-->选第三项本地网络服务名配置
-->删除...(删除原来的本地网络服务名)
(3).重复第二步
-->添加.. (新建本地网络服务名)
(4).restart oracle
注意:NTS是WinNT的认证方式
43、命令行编译存储过程
ALTER PROCEDURE procedure_name COMPILE;
44、关于如何建立数据库链接(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
45、Object Browser7.0中文版的破解方法
到OBJECT BROWSER的目录里,找到DeIsL1.isu文件,用记事本打开,看到的是乱码吧?没关系,将Stirling Technologies ,Inc 这个字符串前面的乱码去掉(如果有的话),让后在Stirling之前加一个空格(一定要加的),保存,退出,重新运行一下看看,虽然还有提示输入验证信息,但是不用管他,直接确定就行。是不是可以用了呢?保证好使。
46、错误号ORA-01536:space quota exceeded for table space 'ALCATEL'的解决办法
三个解决办法,任你选择:
(1) alter user USERNAME quota 100M on TABLESPACENAME;
(2) alter user USERNAME quota unlimited on TABLESPACENAME;
(3) grant unlimited tablespace to USERNAME;
47、如何在Oracle中捕获到SQL语句的全部操作内容
SELECT osuser, username, sql_text from v$session a, v$sqltext b
where a.sql_address =b.address order by address, piece;
48、ORACLE中如何实现自增字段:
(1)第一种方法
ORACLE一般的做法是同时使用序列和触发器来生成一个自增字段.
CREATE SEQUENCE SEQname
INCREMENT BY 1
START WITH 1
MAXVALUE 99999999
/
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;
(2)第二种方法:
CREATE OR REPLACE TRIGGER TR1
BEFORE INSERT ON temp_table
FOR EACH ROW
declare
com_num NUMBER;
BEGIN
SELECT MAX(ID) INTO COM_NUM FROM TEMP_TABLE;
:NEW.ID:=COM_NUM+1;
END TR1;
49、job的使用:
修改initsid.ora参数
job_queue_processes = 4 8i,9i (允许同时执行的JOB数)
job_queue_interval = 10 8i
job_queue_keep_connections=true 8i
DBMS_JOB.SUBMIT(:jobno,//job号
'your_procedure;',//要执行的过程
trunc(sysdate)+1/24,//下次执行时间
'trunc(sysdate)+1/24+1'//每次间隔时间
);
删除job:dbms_job.remove(jobno);
修改要执行的操作:dbms_job.what(jobno,what);
修改下次执行时间:dbms_job.next_date(job,next_date);
修改