Oracle

Posted yaolintao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle相关的知识,希望对你有一定的参考价值。

创建表空间(应用一般命名为*apas,用户一般命名为*apasuser)
create tablespace newapas nologging datafile ‘D:oracleproduct10.2.0oradataorcl ewapas.ora‘ 
size 1000m reuse autoextend on next 10m maxsize unlimited;

创建临时表空间
create temporary tablespace newapastemp tempfile ‘D:oracleproduct10.2.0oradataorcl ewapastemp.ora‘ size 10M;

创建用户并分配表空间并授权,注意,用户一定要建在你刚才建的表空间上。
CREATE USER oauser  PROFILE DEFAULT
    IDENTIFIED BY oauserpwd DEFAULT TABLESPACE oa
    TEMPORARY TABLESPACE TEMP
    ACCOUNT UNLOCK;
    
GRANT CONNECT TO oauser WITH ADMIN OPTION;
GRANT DBA TO oauser;

GRANT RESOURCE TO oauser;
GRANT CREATE ANY TABLE TO oauser;
GRANT INSERT ANY TABLE TO oauser;
GRANT SELECT ANY TABLE TO oauser;
GRANT UPDATE ANY TABLE TO oauser;
GRANT DELETE ANY TABLE TO oauser;
GRANT ALTER ANY TABLE TO oauser;
GRANT SELECT ANY SEQUENCE TO oauser;
GRANT ALTER ANY PROCEDURE TO oauser;
GRANT EXECUTE ANY PROCEDURE TO oauser;
GRANT DROP ANY TABLE TO oauser;

更改表空间大小:
ALTER DATABASE DATAFILE ‘E:oracleproduct10.1.0oradataorclLDRK.ORA‘ RESIZE 1000M

删除表空间
drop tablespace 表空间名 including contents;
然后再删掉原有目录下的文件。

删除用户
   drop user 用户 cascade;

导入数据

点击运行,输入CMD
输入cd(进入C盘根目录)
imp newapas/[email protected]    file=E:81617axdata80617axnewapas.dmp full=y             (newapas/newapas表示用户名和密码)    最后盘符表示要导出的位置

导出数据
点击运行,输入CMD
输入cd(进入C盘根目录)
本机:exp newapas/[email protected] file=E:81617axdata80617axnewapas.dmp 
远程:exp newapas/[email protected]_orcl file=E:81617axdata80617axnewapas.dmp


exp haapas/[email protected]_orcl file=d: ewapas.dmp 
exp haapasuser/[email protected]_orcl file=d:haapasuser.dmp

imp newsapas/[email protected]  file=d: ewapas.dmp full=y 
imp apasuer/[email protected]  file=d:haapasuser.dmp full=y

 

完全删除orale:

软件环境: 
1、Windows 10+ORACLE 8.1.7 
2、ORACLE安装路径为:C:ORACLE 
实现方法: 
1、 开始->设置->控制面板->管理工具->服务 
停止所有Oracle服务。 
2、 开始->程序->Oracle - OraHome81->Oracle Installation Products-> 
Universal Installer 
卸装所有Oracle产品,但Universal Installer本身不能被删除 
5、 运行regedit,选择HKEY_LOCAL_MACHINESOFTWAREORACLE,按del键删除这个入口。 
6、 运行regedit,选择HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices,滚动 
这个列表,删除所有Oracle入口。 
7、 运行refedit, 
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplication, 
删除所有Oracle入口。 
8、 开始->设置->控制面板->系统->高级->环境变量 
删除环境变量CLASSPATH和PATH中有关Oracle的设定 
9、 从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标 
10、 删除Program FilesOracle目录 
11、 重新启动计算机,重起后才能完全删除Oracle所在目录 
12、 删除与Oracle有关的文件,选择Oracle所在的缺省目录C:Oracle,删除这个入 
口目录及所有子目录,并从Windows 2000目录(一般为C:WINNT)下删除以下文 
件ORACLE.INI、oradim73.INI、oradim80.INI、oraodbc.ini等等。 
13、 WIN.INI文件中若有[ORACLE]的标记段,删除该段 
14、 如有必要,删除所有Oracle相关的ODBC的DSN 
15、 到事件查看器中,删除Oracle相关的日志 
说明: 
如果有个别DLL文件无法删除的情况,则不用理会,重新启动,开始新的安装, 
安装时,选择一个新的目录,则,安装完毕并重新启动后,老的目录及文件就可以删除掉了。

 


oracle创建用户和oracle导入导出命令

1.问题定义:我们在开发的时候使用的是局域网中的测试机上面的oracle数据库,由于需要将测试机上面的数据库备份到本地机器上面,便于不处于局域网环境中仍然可以继续开发,维护等。
2.步骤说明:
 1.启动oracle服务(oracle实例名为:orahnhj)
 2.创建本地帐户(username:keyword3,password:tlink1234)
 3.局域网数据库导出,导入到本地(局域网数据库实例名:217,username:keyword,password:tlink1234)

1.启动oracle服务
 开始 ->运行 ->cmd ->lsnrctl ->start ->exit
 net start oracleservice*** (***为安装oracle实例名,注意命令行后面无分号) 
例如:
 C:Documents and SettingsOwner>lsnrctl
 LSNRCTL for 32-bit Windows: Version 9.0.1.1.1 - Production on 10-6月 -2009 17:05
 Copyright (c) 1991, 2001, Oracle Corporation.  All rights reserved.
 欢迎来到LSNRCTL,请键入"help"以获得信息。
 LSNRCTL> start
 ~~~
 命令执行成功
 LSNRCTL> exit
 C:Documents and SettingsOwner>net start oracleserviceorahnhj
 OracleServiceORAHNHJ 服务正在启动 .......................
 OracleServiceORAHNHJ 服务已经启动成功。

2.创建本地帐户
 C:Documents and SettingsOwner>sqlplus
 SQL*Plus: Release 9.0.1.0.1 - Production on 星期三 6月 10 17:59:22 2009
 (c) Copyright 2001 Oracle Corporation.  All rights reserved.
 请输入用户名:  sys/[email protected] as sysdba
 连接到:
 Oracle9i Enterprise Edition Release 9.0.1.1.1 - Production
 With the Partitioning option
 JServer Release 9.0.1.1.1 - Production
 SQL> create user keyword3 identified by "tlink1234" default tablespace "TEST";
 用户已创建
 SQL> grant "CONNECT" to keyword3;
 授权成功。
 SQL> grant unlimited tablespace to keyword3;
 授权成功。
 SQL> conn keyword3/[email protected] -->表示创建用户成功且成功链接
 已连接。

3.局域网数据库导出,导入到本地
 D:>d:
 D:>exp keyword/[email protected] rows=y indexes=n compress=n buffer=65536 feedback=
 100000 file=keyword090610.dmp log=keyword090610.log
 ~~~ 一些执行记录,在本地磁盘(D:)可以找到D:keyword090610.dmp,D:keyword090610.log导出日志文件
 D:>imp keyword3/[email protected] fromuser=keyword touser=keyword3 rows=y index
 es=n commit=y buffer=65536 feedback=100000 ignore=n file=keyword090610.dmp log=k
 eyword090610_2.log
 ~~~ 一些执行记录,将本地磁盘(D:)D:keyword090610.dmp导入,生成D:keyword090610_2.log导入日志文件

4.最后修改工程中的数据源链接,例如spring bean方式:

Xml代码 
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">  
  <property name="driverClassName">  
   <value>oracle.jdbc.driver.OracleDriver</value>  
  </property>  
  <property name="url">  
   <!--<value>jdbc:oracle:thin:@192.168.0.217:1521:orcl</value>  
   --><value>jdbc:oracle:thin:@127.0.0.1:1521:orahnhj</value>  
  </property>  
  <property name="username">  
   <!--<value>keyword</value>  
   --><value>keyword3</value>  
  </property>  
  <property name="password">  
   <value>tlink1234</value>  
  </property>  
 </bean> 

 

15.不同账户表权限互相赋予表权限:
grant select,delete,update,insert on TIETONG_DATABASE to shangke_test   
                                                                           -----------------》使用这种方法hibernate配置文件要加<property name="hibernate.default_schema"  value="user"/> test表示账号名
grant select,delete,update,insert on GROUP_INFO to shangke_test

 

16.oracle账号a新建立的存储过程授权给b,例:  

      grant execute on a.SUNCCO_WEEKLY_SP_RECE10658621 to b

      grant execute on SHANGKE.SUNCCO_WEEKLY_SP_RECE10658621 to XINKEJI




























































































































以上是关于Oracle的主要内容,如果未能解决你的问题,请参考以下文章

OracleOracle中使用转义字符

OracleOracle中的常用操作

OracleOracle的内外连接

oracleoracle的基础入门

OracleOracle版本导入导出问题

OracleOracle索引