导航:首页 > 程序命令 > oracledba命令

oracledba命令

发布时间:2022-07-11 00:42:39

1. 如何学习好Oracle DBA初学者指南

oracle是用命令行来控制的,而且主要是在linux下使用的。 一是要熟悉linux系统,二是要熟悉Oracle的DBA操作命令。 Oracle的使用分为DBA(数据库管理)和开发。 Oracle的DBA本身对计算机语言没有什么要求的

2. oracle 查看有哪些数据库的命令

查看那些库的话必须用dba权限登录。登陆后可以通过下面的方法来查看。
一、查看有哪些库,你的库理解不准确,应该准确来说是表空间,可以通过下面的命令来实现

SELECT Total.name "Tablespace Name",
Free_space, (total_space-Free_space) Used_space, total_space
FROM
(select tablespace_name, sum(bytes/1024/1024) Free_Space
from sys.dba_free_space
group by tablespace_name
) Free,
(select b.name, sum(bytes/1024/1024) TOTAL_SPACE
from sys.v_$datafile a, sys.v_$tablespace B
where a.ts# = b.ts#
group by b.name
) Total
WHERE Free.Tablespace_name = Total.name

二、查看有哪些表。

select table_name from dba_tables where owner='A';

3. 烦请达人介绍oracle中所有DBA_ , ALL_ , USER_开头的视图。

DBA视图示例如下:

dba_data_files

◆关于数据库文件的信息

dba_db_links

◆数据库中的所有数据库链路

dba_extents

◆数据库中包括所有分区

dba_free_space

◆所有表空间中自由分区

dba_indexes

◆数据库中所有索引的描述

dba_ind_columns

◆在所有表及聚族上压缩索引的列

dba_objects

◆数据库中所有的对象

dba_rollback_segs

◆回滚段的描述

dba_segments

◆为所有数据库段分配的存储空间

dba_sequences

◆数据库中所有顺序书的描述

dba_synonyms

◆数据库中所有同义词

dba_tables

◆数据库中所有表的描述

dba_tablespaces

◆数据库中所有表空间的描述

dba_tab_columns

◆所有表描述、视图及聚族的列

dba_tab_grants

◆数据库中对象所授的权限

dba_tab_privs

◆数据库中对象所授的权限

dba_ts_quotas

◆所有用户表空间限额

dba_users

◆关于数据库的所有用户信息

dba_views

◆数据库中所有视图

视图:USER_VIEWS

通过USER_VIEWS 数据字典视图,可以访问视图的基本查询,USER_VIEWS 数据字典视图包含10 列,其中主要的3 列如下:

View_Name 视图名

Text_Length 视图的基本查询的长度,以字符为单位

Text 视图使用的查询

其他列主要与对象视图和版本有关,稍后将在本节介绍。

注意:

本节只适用于传统视图。对于物化视图,详细内容见45.9 节。

Text 列的数据类型为LONG。当通过SQL*Plus 查询USER_VIEWS 视图时,这可能会产生问题,因为SQL*Plus 会截断LONG 数据。但是,截断的位置可以通过set long 命令改变。USER_VIEWS 视图提供恰当设置LONG 截断点的机制,下面的示例将介绍这个机制。

Text_Length 列显示视图的查询的长度。因此,SQL*Plus 的LONG 截断点必须为一个等于或大于视图的Text_Length 值的值。例如,下面的程序清单显示了View_Name 列为AGING、Text_Length 列为355 的视图。

select View_Name, Text_Length from USER_VIEWS where View_Name = 'AGING'; View_Name Text_Length ---------------- ------------- AGING 355 由于该视图的文本长度为355 个字符,因此可以用set long 命令将LONG 截断点至少增加到 355(默认值为80),以查看视图的查询的全部文本。

set long 355 然后,可以查询USER_VIEWS 视图,以获得视图的Text 列,使用的查询如下面的程序清单所示:

select Text from USER_VIEWS where View_Name = 'AGING'; 如果没有使用set long 命令,则输出结果将截断为80 个字符,并且没有任何消息说明为什么会截断。在查询其他视图前,应当重新检查视图的Text_Length 值。

注意:

可以从USER_TAB_COLUMNS 视图中查询视图的列定义,也可以用该视图查询表的列定义。

如果在视图中使用了列别名,并且列别名是视图的查询的一部分,那么视图信息的数据字典查询将得以简化。由于该视图查询的整个文本显示在USER_VIEWS 视图中,因此也将显示列别名。

可以使用下面的格式创建视图:

create view NEWSPAPER_VIEW (SomeFeature, SomeSection) as select Feature, Section from NEWSPAPER; 在create view 命令的开头部分列出的列名从查询中删除了列别名,从而防止通过 USER_VIEWS 视图查看它们。查看视图的列名的唯一方法是查询USER_TAB_COLUMNS 视图。如果列名在查询语句中, 则对于该查询和列名来说, 只需要查询一个数据字典视图(USER_VIEWS)即可。

例如,已知上例中创建的NEWSPAPER_VIEW 视图,如果查询USER_VIEWS 视图,就会看到:

select Text from USER_VIEWS where View_Name ='NEWSPAPER_VIEW'; TEXT --------------------------------------- select Feature, Section from NEWSPAPER 此查询没有显示用户赋予的新列名,因为没有将这些列名作为该视图查询的一部分。为使这些列名显示在USER_VIEWS 视图中,可以在该视图的查询中添加它们,以作为列别名:

create view NEWSPAPER_VIEW as select Feature SomeFeature, Section SomeSection from NEWSPAPER; 现在,如果查询USER_VIEWS 视图,则列别名将作为视图的查询文本的一部分显示出来:

select Text from USER_VIEWS where View_Name ='NEWSPAPER_VIEW'; TEXT ----------------------------------------------- select Feature SomeFeature, Section SomeSection from NEWSPAPER 为了支持对象视图,USER_VIEWS 视图包含下面的列:

Type_Text 该类型视图的type 子句

Type_Text_Length 该类型视图的type 子句的长度

OID_Text 该类型视图的WITH OID 子句

OID_Text_Length 该类型视图的WITH OID 子句的长度

View_Type_Owner 该类型视图的视图类型的所有者

View_Type 视图类型

关于对象视图和类型的详细信息,请参阅第38 章和第41 章。

ALL_VIEWS 视图列出了用户所拥有的全部视图以及授权用户(直接授权或者授权给PUBLIC)访问的视图。由于 ALL_VIEWS 视图包含多个用户的项,因此,除了本节前面列出的列外,它还包含一个Owner 列。DBA_VIEWS 视图列出了数据库中的全部视图,DBA_VIEWS 视图与ALL_VIEWS 视图有相同的列定义。

4. 如何把远程的oracle的数据库修改dba的密码

修改步骤如下:

1,使用sqlplus远程连接服务器(如要修改dba的密码必须有dba角色权限)

2,使用password命令修改.

3,重复输入密码。

5. chown oracle:dba /home/oracle

使用sysdba身份登录oracle,并执行一下命令(注意修改SCOTT用户名为需要授权使用的用户名,字母大写。并将最后一条语句的路径修改成附件存放的路径,一遍用户有权限读取该路径下的文件并能以附件形式发送)!

6. 怎么用命令行操作oracle数据库

众所周知,一般操作系统会提供定时执行任务的方法,例如:Unix平台上提供了让系统定时执行任务的命令Crontab。但是,对于某些需求,例如:一些对数据库表的操作,最为典型的是证券交易所每日收盘后的结算,它涉及大量的数据库表操作,如果仍然利用操作系统去定时执行,不仅需要大量的编程工作,而且还会出现用户不一致等运行错误,甚至导致程序无法执行。

一、分析问题

事实上,对于以上需求,我们可以利用数据库本身拥有的功能Job Queue(任务队列管理器)去实现。任务队列管理器允许用户提前调度和安排某一任务,使其能在指定的时间点或时间段内自动执行一次或多次,由于任务在数据库中被执行,所以执行效率很高。

任务队列管理器允许我们定制任务的执行时间,并提供了灵活的处理方式,还可以通过配置,安排任务在系统用户访问量少的时段内执行,极大地提高了工作效率。例如,对于数据库日常的备份、更新、删除和复制等耗时长、重复性强的工作,我们就可以利用任务队列管理器去自动执行以减少工作量。

目前,拥有此项功能的数据库有许多,最有代表性的是SQL Server 7.0、Oracle 8.0.5等。但是,要让任务队列管理器工作,还需要我们加以配置才能实现。SQL Server的功能配置是在一个图形化界面(GUI)中实现的,非常简单。利用OEM客户端管理工具,Oracle的配置也可以在一个图形界面中完成。然而大多数的用户更习惯于命令行的方式去操纵数据库。本文介绍如何通过命令行实现这种配置。

二、实现步骤

1.确保Oracle的工作模式允许启动任务队列管理器

Oracle定时执行“Job Queue”的后台程序是SNP进程,而要启动SNP进程,首先要确保整个系统的模式是可以启动SNP进程的,这需要以DBA的身份去执行如下命令:

svrmgrl> alter system enable restricted session;
或sql> alter system disenable restricted session;

利用如上命令更改系统的会话方式为disenable restricted,为SNP的启动创造条件。

2.确保Oracle的系统已经配置了任务队列管理器的启动参数

SNP的启动参数位于Oracle的初始化文件中,该文件放在$ORACLE_HOME/dbs路径下,如果Oracle的SID是myora8的话,则初始化文件就是initmyora8.ora,在文件中对SNP启动参数的描述部分如下:

job_queue_process=n
job_queue_interval=N

第一行定义SNP进程的启动个数为n。系统缺省值为0,正常定义范围为0~36,根据任务的多少,可以配置不同的数值。

第二行定义系统每隔N秒唤醒该进程一次。系统缺省值为60秒,正常范围为1~3600秒。事实上,该进程执行完当前任务后,就进入睡眠状态,睡眠一段时间后,由系统的总控负责将其唤醒。

如果该文件中没有上面两行,请按照如上配置添加。配置完成后,需要重新启动数据库,使其生效。注意:如果任务要求执行的间隔很短的话,N的配置也要相应地小一点。

3.将任务加入到数据库的任务队列中

调用Oracle的dbms_job包中的存储过程,将任务加入到任务队列中:

dbms_job.submit( job out binary_integer,
whatinarchar2,
next_date indate,
intervalinvarchar2,
no_parseinboolean)

其中:

●job:输出变量,是此任务在任务队列中的编号;

●what:执行的任务的名称及其输入参数;

●next_date:任务执行的时间;

●interval:任务执行的时间间隔。

下面详细讨论一下dbms_job.submit中的参数interval。严格地讲,interval是指上一次执行结束到下一次开始执行的时间间隔,当interval设置为null时,该job执行结束后,就被从队列中删除。假如我们需要该job周期性地执行,则要用‘sysdate+m’表示。

将任务加入到任务队列之前,要确定执行任务的数据库用户,若用户是scott, 则需要确保该用户拥有执行包dbms_job的权限;若没有,需要以DBA的身份将权利授予scott用户:

svrmgrl> grant execute on dbms_job to scott;

4.将要执行的任务写成存储过程或其他的数据库可执行的pl/sql程序段

例如,我们已经建立了一个存储过程,其名称为my_job,在sql/plus中以scott用户身份登录,执行如下命令:

sql> variable n number;
sql> begin
dbms_job.submit(:n‘my_job;’,sysdate,
‘sysdate+1/360’);
commit;
end;
/

系统提示执行成功。

Sql> print :n;

系统打印此任务的编号,例如结果为300。

如上,我们创建了一个每隔4分钟执行一次的任务号为300的任务。可以通过Oracle提供的数据字典user_jobs察看该任务的执行情况:

sql> select job,next_date,next_sec,failures,broken from user_jobs;

执行结果如下:


job next_date next_sec failures broken
300 2000/10/10 11:45:15 0 N

这表示任务号为300的任务,下一次将在2000/10/10 11:45:15执行,此任务的执行失败记录为0次。注意:当执行job出现错误时,Oracle将其记录在日志里,失败次数每次自动加1。当执行失败次数达到16时,Oracle就将该job标志为broken。此后,Oracle不再继续执行它,直到用户调用过程dbms_job.broken,重新设置为not broken,或强制调用dbms_job.run来重新执行它。

除了以上我们讨论的submit存储过程之外,Oracle还提供了其他许多存储过程来操作任务。例如:dbms_job.change 、 dbms_job.what、dbms_job.interval可以用来修改提交的任务。要想删除该任务,只需运行dbms_job.remove(n)即可,其中n为任务号。

7. 查看Oracle数据库DBA角色,以及如何去除用户的DBA权限

突然想查看数据库中哪些用户拥有DBA权限,于是网络了一下,找到了这一条语句:

查看
select * from dba_role_privs where granted_role='DBA'

注意:执行这一条语句需要执行者本来就要有DBA权限

另外如果要是想收回某用户的DBA权限则执行:

revoke dba from user_Name

8. Oracle10g:如何以DBA身份登陆SQL*Plus

如何进入JAZN命令环境 1.进入到目录$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus/ 2.确保java_HOME环境变量指向了正确的jdk(需要1.4以上)路径,可以使用oracle自带的jdk,位于$ORACLE_HOME/jdk 3.执行以下命令java -Djava.security.properties=$ORACLE_HOME/sqlplus/admin/iplus/provider -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password welcome -shell 其中realm=iSQL*Plus DBA,user=admin,这些可以从xml配置文件中看到,admin的默认密码是welcome,但是admin用户默认没有webDba权限,不能直接用于登陆isqlplus. 注意该命令一定要先进入第一步的目录后再执行,否则会报错oracle.security.jazn.JAZNRuntimeException: Configuration file "configjazn.xml" does not exist. Check your JAAS configuration settings.或者Realm [iSQL*Plus DBA] does not exist in system. 如果报以上的错误,请仔细检查你的当前目录是否和第一步中给出的目录完全一致 进入JAZN命令环境后,可以执行所有的任务: 1.新建用户ning,密码pass JAZN:> adser "iSQL*Plus DBA" ning pass 2.列出用户JAZN:> listusers iSQL*Plus DBA/admin iSQL*Plus DBA/ning JAZN:> listusers "iSQL*Plus DBA" admin ning 3.授予用户登陆isqlplus DBA的权限JAZN:> grantrole webDba "iSQL*Plus DBA" ning 4.撤销用户登陆isqlplus DBA的权限JAZN:> revokerole webDba "iSQL*Plus DBA" ning 5.删除用户JAZN:> remuser "iSQL*Plus DBA" ning 6.修改用户密码JAZN:> setpasswd "iSQL*Plus DBA" ning pass newpass 7.退出JAZN命令环境JAZN:> exit 假设上面我们创建了一个用户ning,密码为pass,并且已经授予webDba权限。

阅读全文

与oracledba命令相关的资料

热点内容
扑克牌睡眠解压 浏览:190
rc4算法流程图 浏览:157
胡萝卜解压方法 浏览:33
扫描pdf格式软件 浏览:876
程序员在银行开账户 浏览:516
android数据库下载 浏览:748
中午服务器崩溃怎么办 浏览:425
产品经理和程序员待遇 浏览:441
解忧程序员免费阅读 浏览:109
录像免压缩 浏览:508
总结所学过的简便算法 浏览:362
南昌哪些地方需要程序员 浏览:761
三台服务器配置IP地址 浏览:175
如何用命令方块连续对话 浏览:280
win7linux共享文件夹 浏览:304
命令符打开本地服务 浏览:601
android应用程序源码 浏览:705
安卓开发工程师简历怎么写 浏览:63
热水器水量服务器是什么意思 浏览:119
stk卫星编译 浏览:480