易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle操作系统认证

默认情况下,在Oracle的主机上(linux系统)的Oracle操作系统用户下,以sys用户登陆数据库时可以不用输入密码直接登录。实际上,只要是属于dba组(linux)或osdba组(windows)下,都可以不用密码进行登录。这是认证方式称为OS认证。
这种登录方式的控制,是通过$ORACLE_HOME/network/admin/sqlnet.ora中的:
SQLNET.AUTHENTICATION_SERVICES
参数来控制的。有三个值可取:
1、NTS。这个参数是主机操作系统是windows的时候专用的。当在windows上设置该参
数后,即可进行OS认证。需要注意的是,该参数是windows专用的。如果oracle是
装在unix类系统上,OS认证都会失败的。
2、NONE。表示不做操作系统认证,即要求输入密码。
3、ALL。即所有认证方式都可以。
所以要在主机上进行os认证直接登录sys as sysdba,只要设定为ALL或者不设定该参数(
即注释掉该行)就行了。
如果要禁止OS认证,则只要设置为NONE即可。
 
题外话:
关于OS认证的,其实一开始与remote_login_passwordfile混淆起来了。
1、OS认证是指主机上安装Oracle的用户的管理员登录认证方式。
2、当这个管理员尝试通过网络来登录Oracle DB时,将会失败。(以网络方式登录数据库,即使通过将非常不安全的参数remote_os_authent设置为true,操作系统认证也不会生效。)
要允许远程管理员sys登录数据库,则要求设置
remote_login_passwordfile = exclusive
然后创建passowrd file:
orapwd file=orapw$ORACLE_SID passwd=passwd entries=10 force=y
需要注意的是这里的password file文件命名需要符合特定的这个格式,如果命名不对,系统将会找不到这个密码文件,而产生:
08:38:36 idle> grant sysdba to sys;
grant sysdba to sys
*
ERROR at line 1:
ORA-01994: GRANT failed: password file missing or disabled
上面这个错误。也就导致了sysdba或者管理员用户不能远程登录数据库。
要检查是否已经将sys用户放入密码文件,可以查询:
08:49:04 idle> select * from v$pwfile_users;
USERNAME     SYSDBA          SYSOPER
---------------       ---------------   -------------------
SYS                    TRUE  &


相关文档:

oracle 进程 会话,游标,事务的关系

oracle 进程 会话,游标,事务的关系
如果在LINUX 下 是用TOP 可以看到正在跑的ORACLE 进程。ORACLE 除了后台进程外还有用户进程。
既是开启了并行,也是单独的进程。
PL/SQL DEVELOPER 里的多个查询窗口实际上是进程。
一个进程可以包含多个会话,当它们只能串行运行。比如在一个查询窗口中执行三个SELECT查询。
下面 ......

oracle练习(mldn视频课程)四

视图
创建新表:create table emp2 as select * from emp;
create view empv20 as select empno,ename,job,hiredate,deptno from emp where deptno=20 with check option;
语法:create or replace view 视图名称 as 子查询(修改之后的子查询)
替换视图(修改)
create or replace view empv20 as select empno,ename, ......

oracle job号使用

当用submit建JOB时,JOBID由系统自带SEQUENCE:sys.JOBSEQ生成。
如果一段时间后JOBID过大,可以DROP SEQUENCE sys.JOBSEQ;再重建
create sequence JOBSEQ
minvalue 1
maxvalue 999999999999
start with 1
increment by 1
cache 20;
来重新开始JOBID。
可以用下面语句更新已经建立的JOBID:
UPDATE sys.Job$
SE ......

oracle中移动表所在的表空间

移动表所在表空间:
      alter table table_name(表名) move tablespace  new_tablespace(新表空间)
用户拥有的存储过程:
     select object_name from user_objects where object_type='PROCEDURE'; ......

Oracle中序列sequence 用法

 1) 建立序列命令
    CREATE SEQUENCE [user.]sequence_name
    [increment by n]
    [start with n]
    [maxvalue n | nomaxvalue]
    [minvalue n | nominvalue];
    INCREMENT BY: 指定序列号之间的间隔 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号