ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle 平时常用的命令!

Oracle 平时常用的命令!

原创 Linux操作系统 作者:mengzhaoliang 时间:2008-01-30 14:25:59 0 删除 编辑

1 Oracle 增加用户命令:
语法: Create user 用户 identified by 密码;
如下图:


2 删除用户:
Drop user mengzhaoliang;


3查看所有用户命令:
Select *  from  all_users;


4清屏命令:
Clear screen;


5:在cmd中切换到sqlplus命令:sqlplus  /nolog
   用管理员登陆  sql>connect system/mengzhaoliang as sysdba

6:在sqlplus启动Oracle
Sql>startup     (注:默认的方式是startup open)

7:在sqlplus关闭Oracle
Sql>shutdown   (注:默认的方式是shutdown normal)

Sql>shutdown immediate

8:用数据库管理员给新增的用户授予会话的权限,不然普通用户没发登陆数据库。
Sql>Grant Connect to meng  (注:meng为新增的用户)

如果给meng用户授予管理员的权限:sql>grant dba to meng


9.查询本用户所拥有的全部数据库表名。
SQL>SELECT table_name From user_tables;

10. 查询Oracle数据库的名字、创建日期。
先用管理员登陆
SQL>connect system/mengzhaoliang as sysdba
然后查询数据字典的表:
SQL>SELECT name,created,log_mode,open_mode from v$database;


11:查看Oracle数据库的计算机的主机名,Oracle数据库的实例名和数据库的版本。
SQL>SELECT host_name,instance_name,version from v$instance;

或者是 查询详细的数据库版本
SQL>SELECT * FROM v$version;

12:查询数据库的控制文件路径和名称
SQL>SELECT * FROM v$controlfile;
注:控制文件CONTROL01.CTL、联机重做日志文件REDO01.LOG和数据文件在同一个目录下面

或者是:
SQL> SELECT * FROM  v$parameter  WHERE name='control_files';

13:查询Oracle数据库的重做日志的配置信息。
SQL> select group#,members,bytes,status,archived from v$log;

14:查询每个重做日志文件所存放的具体位置:
SQL>SELECT * FROM v$logfile;

15:评估Oracle数据库的备份和恢复策略并确定归档文件的具体位置。
SQL>archive log list

16:查询Oracle数据库中到底有多少表空间以及每个表空间的状态。
SQL>SELECT tablespace_name,block_size,status,contents,logging  FROM dba_tablespaces;

17:每个表空间存在哪个磁盘上以及文件的名字等信息。
SQL>SELECT file_id,file_name,tablespace_name,status,bytes  FROM dba_data_files;

18:数据库上到底有多少用户和什么时候创建数据库的。
SQL> SELECT username,created  FROM dba_users;

19:得到控制文件中全部记录的相关信息。
SQL> SELECT type,record_size,records_total,records_used FROM v$controlfile_record_section;

或者:
SQL>SELECT type,record_size,records_total,records_used
FROM v$controlfile_record_section
WHERE type IN ('DATAFILE','TABLESPACE','REDO LOG');

20:控制文件的备份:
SQL>alter database backup controlfile to 'E:\DISK1\backup\control.bak';

21:把控制文件备份到其他的硬盘:
先关闭数据库:
SQL>shutdown immediate
备份控制文件到其他硬盘:(把不同的控制文件分配到不同的硬盘上)
SQL> host copy E:\ORACLE\PRODUCT\10.2.0\ORADATA\MZL\CONTROL01.CTL  F:\Disk1

22:获得数据库中有多少个重做日志组,每个组中有多少个成员及它们的大小和状态等信息。
SQL> select group#,sequence#,members,status,bytes,archived from v$log;


23:获得数据库中每个重做日志组的每个成员所在的目录和文件名及它们的状态等信息。
SQL>select * from v$logfile;

24:删除一组不需要的重做日志组。
SQL> alter database drop logfile group 4;

25:在每个重做日志组中添加一个成员。
SQL> alter database add logfile member
  2  'e:\disk3\redo01b.log' to group 1,
  3  'e:\disk3\redo02b.log' to group 2,
  4  'e:\disk3\redo03b.log' to group 3;

26:删除重做日志成员的命令:
如果删除首先应该使用ALTER SYSTEM SWITCH LOGFILE 命令切换。
SQL> alter system switch logfile
  2  ;

系统已更改。

SQL> alter database drop logfile member
  2  'e:\disk3\redo03b.log';

数据库已更改。

27: 如果数据库是开启的话,由于一个联机重做日志文件崩溃使得归档活动不能继续进行,最终导致数据库的挂起。此时可以使用ALTER DATABASE CLEAR LOGFILE 命令重新初始化联机重做日志文件:
SQL> alter database clear logfile group 3;

28:查询所有表空间信息命令:
SQL>select tablespace_name,block_size,extent_management,segment_space_management
 from dba_tablespaces;


29.启动和关闭isqlPlus
在cmd中,
>isqlplusctl start 

>isqlplusctl stop

30. 启动和关闭Database constol
>emctl start dbconsole

>emctl stop dbconsole

31. 更改共享池Shared Pool的大小
>ALTER SYSTEM SET SHARED_POOL_SIZE=32M;


32. 查询数据库的最大并发用户数量
>show parameter processes;

33. 目前数据库会话达到最大的并发数量
>select * from v$license;
字段sessions_highwater为最大的会话数

34 查看数据库的SID
>select name from v$database;

35 每个表空间占的百分比
SQL> select b.file_id,b.tablespace_name,b.bytes,
  2  (b.bytes-sum(nvl(a.bytes,0))),
  3  sum(nvl(a.bytes,0)),
  4  sum(nvl(a.bytes,0))/(b.bytes)*100
  5  from dba_free_space a,dba_data_files b
  6  where a.file_id=b.file_id
  7  group by b.tablespace_name,b.file_id,b.bytes
  8  order by b.file_id;

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12778571/viewspace-165728/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2008-01-30

  • 博文量
    335
  • 访问量
    2927089