您的位置:首页 > 数据库 > Oracle

Oracle的几个使用问题

2005-02-20 19:49 639 查看
1、在Windows的服务中“OracleServiceWINSOM”服务的状态为“启动”,所能执行的任务也都是灰色的。Oracle没有正常的启动。

   解决:run:cmd

         svrmgrl

         connect internal/oracle

         shutdown immediate

         startup

2、导入,导出数据

   a、删除一个用户:

      drop user smartweb CASCADE

   b、创建一个用户:

      create user smartweb identified by smartweb

   c、给用户赋予权限:

      grant connect to smartweb

      grant resource to smartweb

      grant create session to smartweb

   d、连接:

      conn smartweb/smartweb

   e、导入:

      imp

3、查看oracle的版本

   select * from v$version

4、修改oracle中的Oracle Servlet Engine(OSE)所占的8080端口(TNSLSNR.exe)。

   安装Oracle 9i后8080端口被OSE占用,即tnslsnr.exe进程所占用。清除此端口方法:

   cd $ORACLE_HOME/jis/install

   sess_sh -u sys/change_on_install -role SYSDBA -s jdbc:oracle:oci8:@yhp

   $@serverendp.ssh

   $exit

5、imp时,出现的错误:不支持要求的字符集转换(从类型850到852)

   使用函数NLS_CHARSET_NAME即可获得该字符集:

   SQL> select nls_charset_name(1) from dual;

NLS_CHARSET_NAME(1)

-------------------

US7ASCII

可以知道该dmp文件的字符集为US7ASCII,如果需要把该dmp文件的字符集换成ZHS16GBK,则需要用NLS_CHARSET_ID获取该字符集的编号:

SQL> select nls_charset_id('zhs16gbk') from dual;

NLS_CHARSET_ID('ZHS16GBK')

--------------------------

852

把852换成16进制数,为354,把2、3字节的00 01换成03 54,即完成了把该dmp文件字符集从us7ascii到zhs16gbk的转化,这样,再把该dmp文件导入到zhs16gbk字符集的数据库就可以了。(注意,十进制数与十六进制之间的转换,想明白其中的道理)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: