免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 858 | 回复: 0
打印 上一主题 下一主题

oracle 管理命令 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-22 08:54 |只看该作者 |倒序浏览

一.修改oracle字符集.

   准备修改。首先必须用sys连接。

1.修改sys密码.用其他dba权限的账户登陆后输入:alter user sys identified by 新密码;

2.连接刚刚修改的sys(要在登陆状态下),CONNECT SYS/密码 as sysdba;

二.开始修改:

SQL> shutdown immediate;
SQL> startup mount;
SQL> alter system enable restricted session;
SQL> alter system set job_queue_processes=0;
SQL> alter database open;
SQL> alter database character set internal_use UTF-8;--ZHS16GBK
SQL> shutdown immediate;
SQL> startup
      注意:如果没有大对象,在使用过程中进行语言转换没有什么影响,具体过程如下(切记设定的字符集必须是ORACLE支持,不然不能start)

  数据库服务器字符集 select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。

二.回收站:

Oracle 10G中有一个好功能,就是Recycle,这个东西可以帮助我们找回删除掉的Table,就像Windows的回收站一样,而且比Windows的回收站更高级,就是当表空间不够时,Oracle 会自动去清理回收站。

网上有一篇文章讲这个东西,大家可以参考:
http://hi.baidu.com/moses/blog/item/0d9a4b3659bd3edca3cc2bc3.html
这篇文章写得还不错,不过其中有些内容有误,比如清除回收站内的Table,应该用table的原名,而不是现在的名字。大家仔细看就可以发现。

清除的方法如下:
purge table origenal_tableName;
purge index origenal_indexName;

查询垃圾信息,可以用如下SQL语句:
SELECT t.object_name,t.type ,t.original_name FROM user_recyclebin t;

清空回收站:
PURGE recyclebin;
根本用不了上面那么复杂。呵呵。。。

另,删除Table不进入Recycle的方法:drop table tableName purge;

比如有以下误操作:

DROP TABLE drop_test;

    这个时候再用SELECT语句查询此表时,将会提示表或视图不存在。但可以用如下语句查询到这个表还在Oracle回收站中

SELECT * FROM user_recyclebin WHERE original_name=‘drop_test’;
那么现在就可以用如下语句进行恢复: FLASHBACK TABLE drop_test TO BEFORE DROP



您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP