oracle一点记录

  1. 查看数据库实例名(SERVICE_NAME):
    sql: select instance_name from v$instance;

     

  2. 如何知道oracle客户端是32位还是64的。windows下启动sqlplus, 看到是sqlplus32即32位,看到sqlplus即是64位。PL/SQL在64为客户端不可用,要换回32位的
  3. 查看自己操作过的sql语句历史记录:
    select  * from v$sql

     

  4. 复制一个表的内容到另一个表上面:
    insert into table(要插入数据的表) select * from table01(复制数据的表)

     另,创建一个新表跟旧表的结构一样而不复制数据(sqlserver下)

    select * into Admin_bak from Admin where 1 = 0
    Admin_bak :新表
    Admin:旧表

     

  5. 遇到数据库表空间不够用的解决方法如下,其中,app_data为表空间名称,目录路径为你的表空间路径,“APP03.DBF”为表空间文件,后面的03可以自己选择。 size的话只创建表空间大小,这个看情况而设置。
    ALTER TABLESPACE app_data ADD DATAFILE  'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M;

    关于如何查看表空间的相关资料,在网上找到了如下代码,出处忘了:

    select
    b.file_name 物理文件名,
    b.tablespace_name 表空间,
    b.bytes/1024/1024 大小M,
    (b.bytes-sum(nvl(a.bytes,0)))/1024/1024 已使用M,
    substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) 利用率
    from dba_free_space a,dba_data_files b
    where a.file_id=b.file_id
    group by b.tablespace_name,b.file_name,b.bytes
    order by b.tablespace_name

     

  6. 删除整个表的内容,效率比delete快,不做日志处理,后面不加delete
    truncate table tablename(表名称)

     

  7. 创建表空间语句
    CREATE TABLESPACE EDUTABLES DATAFILE
      'D:\app\Administrator\oradata\test\EDUTABLES01.DBF' size 32000M  AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED;
      

    更为详细的是

    CREATE TABLESPACE EDUTABLES DATAFILE
      ‘F:\app\Administrator\oradata\test\EDUTABLES01.DBF' SIZE 4596M AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED
    LOGGING
    ONLINE
    EXTENT MANAGEMENT LOCAL AUTOALLOCATE
    BLOCKSIZE 8K
    SEGMENT SPACE MANAGEMENT AUTO
    FLASHBACK ON;

    其中博客也说的得比较清楚:http://www.cnblogs.com/netsql/articles/1745978.html

  8. 在cmd下使用sqlplus登陆数据库,
    sqlplus "/as sysdba"
    alter user test(数据库用户) identified by oracle(新密码);

     

  9. oracle数据库密码修改(最好修改之前关掉所有连接数据库的程序,防止账户被锁定)
    alter user test identified by mi102;

    其中,test为数据库账户,mi102为要修改的数据库密码

posted @ 2014-05-17 18:37  白糖365  阅读(620)  评论(0编辑  收藏  举报