Oracle11g 常用命令


启动数据库

  1. startup;  

停止数据库

  1. SHUTDOWN IMMEDIATE  

远程连接数据库

  1. sqlplus /nolog  

  2. conn sys/sys@IP:1521/orainstance as sysdba  

也可以直接运行:

  1. dbstart //启动数据库脚本   

  2. dbshut  //停止数据库脚本   

  3.       

  4. 参考:  

  5.     STARTUP [FORCE][RESTRICT][NOMOUNT][MIGRATE][QUIET]  

  6.     [PFILE=]  

  7.     [MOUNT [EXCLUSIVE]  

  8.     OPEN   

  9.      

  10.   

  11.     SHUTDOWN   

3.用户管理

创建用户 

  1. create user "username" identified by "userpassword"   -- 引号不需要的。default tablespace 'myspace'

    注:后面可带表空间,默认为user表空间

    alter user username default tablespace anytablespace;   --修改某用户的表空间

    创建表空间

create tablespace myspace datafile 'F:\app\Administrator\oradata\orcl\myspace.dbf' size 100M; --或其它磁盘位置

 create tablespace hoteldata datafile 'D:\java\Oracle\product\10.1.0\oradata\zznorcl\hoteldata.dbf'size 200m autoextend on next 10m maxsize unlimited;

一般先创建表空间,在创建用户,创建用户时默认表空间选用刚创建的表空间。

 

创建序列(需要当前用户具备创建序列的权限:grant create sequence to "username"):

SQL> create sequence myfirstseq
   increment by 1
   start with 1
   nocycle;

序列已创建。

查看序列:select myseq.nextval from dual;   

查看当前序列:select myseq.currval from dual; --此句必须上述语句在当前session会话中之前已执行过,否则会报错。ORA-08002: 序列 MYFIRSTSEQ.CURRVAL 尚未在此会话中定义

 

引入外部脚本文件并执行:

SQL> conn pmp/pmp@gc
已连接。
SQL> @d:\0814.sql

sql>@c:\oracle\sql\create_table.txt

执行多个sql文件:

1.把所有的文件都放在同一个目录下,然后在命令行里执行命令:
                 c:>dir/b > d:/1.sql

 

删除用户  

  1. drop user “username” cascade;  

    注:cascade 参数是级联删除该用户所有对象,经常遇到如用户有对象而未加此参数则用户删不了的问题,所以习惯性的加此参数 

授权

  1. grant connect,resource,dba to "username"  

  2. grant create session to "username";   -- 授权用户登录权限

  3. grant create table to "username";   -- 授权用户建表权限

  4. grant unlimited tablespace to "username";  --授权用户使用不受限表空间,允许插入数据

  5. grant create sequence to "username";     --授权创建序列sequence,   select myseq.nextval from dual;

     或:grant create session,create table ,unlimited tablespace to "username";  -- 支持一起写

  1. revoke create table from "username";  --撤销用户的建表权限

  2. select from user_sys_privs;    --查看当前用户的权限,user_sys_privs是系统视图

    对象权限:每个用户(如当前用户:甲)的表由自己去管理,而不允许其他用户来管理,但是有时需要其他用户(如:乙)来进行管理,需要到当前用户cmd下进行授权。如下:

    1、grant select on "mytable" to 乙;  -- 查授权

    2、grant insert on "mytable" to 乙;  --增授权

    3、grant all on "mytable" to 乙    --增删改查全部一起授权  revoke all on "mytable" from 乙;

 

或者采用创建角色,授权角色后,再把用户分配该角色也是一样的效果,如:

create role myrole;

grant create session to myrole;

grant create table to myrole;  --unlimited tablespace 这个权限无法授予角色,因为权限太大了。

create user user1 identified by 123;

grant myrole to user1;    -- 同样效果。

 

查看当前用户的角色

  1. select from user_role_privs;  

  2. select from session_privs;   

查看当前用户的系统权限和表级权限

  1. select from user_sys_privs;  

  2. select from user_tab_privs;  

查询用户表

  1. select username from dba_users;   

修改用户口令

  1. alter user "username" identified by "password";   

显示当前用户

  1. show user;  

4.表及表空间

创建表空间    

  1. CREATE TABLESPACE data01 DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M;  

删除表空间    

  1. DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;  

修改表空间大小 

  1. alter database datafile '/path/NADDate05.dbf' resize 100M;  

增加表空间      

  1. ALTER TABLESPACE NEWCCS ADD DATAFILE '/u03/oradata/newccs/newccs04.dbf' SIZE 4896M;      

查询数据库文件

  1. select from dba_data_files;   

查询当前存在的表空间    

  1. select from v$tablespace;  

表空间情况    

  1. select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;  

查询表空间剩余空间    

  1. select tablespace_name,sum(bytes)/1024/1024 from dba_free_space group by tablespace_name;  

查看表结构    

  1. desc table;    --SQL> desc xcm.myfirsttable;

修改连接数:要重启数据库

 

  1. alter   system   set   processes=1000   scope=spfile;  

  2. shutdown   immediate;  

  3. startup;  

查看用户当前连接数

  1. select   count(*) from   sys.v_$session;  

  2. PL/SQL  

  3. [DECLARE  

  4.   

  5. BEGIN  

  6.   

  7. [EXCEPTION  

  8.  

  9. END  

  10.   

  11.   

  12. SET SERVEROUTPUT ON   //打开输出开关  

  13. BEGIN  

  14.     DBMS_OUTPUT.PUT_LINE('Hello world!');  //输出结果  

  15. END;  

 

查看表结构:desc mytable;

 

备份与恢复:

1、EXP备份

c:\> exp username/psw@sid   如:exp scott/tiger@orcl   后续有三种备份方式选择

指定备份文件名及路径

 

2、IMP恢复

c:\> imp username/psw@sid   如:imp scott/tiger@orcl   

指定恢复文件名及路径

 

注意:

IMP-00013: 只有 DBA 才能导入由其他 DBA 导出的文件
IMP-00000: 未成功终止导入


3、冷备份:直接拷贝物理文件dbf文件。貌似应该先停止服务  shutdown immediate

 

 

热备份操作时,日志文件均需要进行归档模式,

1、先查看:archive log list

2、置归档:语句为:alter system set log_archive_start=true scope=spfile

3、停止服务:shutdown immediate

4、启动服务:startup mount   --打开控制文件,但是不打开数据文件

5、alter database archivelog  -- 置数据库为归档模式

6、alter database open; -- 打开数据库

以上操作后,数据库为归档方式。然后可以做备份工作。

注 意:非归档模式下唯一的数据库恢复办法就是使用冷备份;当数据库运行在归档模式下,数据库恢复过程要求使用冷备份时,归档日志是必需的;不管是冷备份、热 备份,还是export备份;不管是unix平台,还是windows平台,都可以利用at命令来定时、自动执行上述备份策略;

参考:http://www.cnblogs.com/elegantok/archive/2009/03/31/1426290.html


oracle <wbr>11g <wbr>常用命令

其他:

1、set linesize 400;  设置sqlplus cmd 界面的数据显示宽度

2、java连接数据库:

           Class.forName("oracle.jdbc.driver.OracleDriver");
           Connection   conn DriverManager.getConnection("jdbc:oracle:thin:@//localhost:1521/orcl", "scott", "tiger");

需要加载oracle的jar包:ojdbc6.jar

3、图形资料

oracle逻辑结构示意图


oracle <wbr>11g <wbr>常用命令

oracle文件控制示意图

oracle <wbr>11g <wbr>常用命令

执行*.sql文件:

start  c:\mysql.sql
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值