1:生成处理语句
Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 ;
2:alter system set deferred_segment_creation=false;
只能对新表起作用
20130613:
10g中的表用10的客户端导出来后,用11g的客户端导入到10g的库中 大字段会报错;用10g的客户端,导入到10g的服务器中正常
1: oracle 11g 导出,如果一个表中数据为空,导出时将不导出这张表;可以设置oracle参数修改,但只对新的表起作用;(今天把每个空白表多了一条数据)
2:oracle 11g中exp 导出的数据,在10g版本的imp中不能识别; 低版本导出的数据,高版本能够识别;
3:删除 用户 及用户的表数据
drop user dsfa cascade;
4:查看某个用户具有的表数据
Select * From USER_TABLES;
5: oracle 创建表空间
6: 如果一个表中包含clob字段,pl/sql能够导出成功,但是不能导入...包含clob的表需要用imp 命令导入
7: oracle exp imp 使用方法
exp 命令:
1 exp username/psw@TEST file=d:test.dmp full=y
2 exp username/psw@TEST file=d:test.dmp owner=(ly)
3 exp username/psw@TEST file= d:test.dmp tables=(grid1,grid2)
1 其中一是将 Test(与某一数据库对应的 oracle 服务名)数据库进行整体导出
2 将属于用户 ly 的所有表导出
3 将表 grid1,与 grid2 导出
imp 命令:
1 imp system/psw@TEST file=d:test.dmp
2 imp system/psw@TEST full=y file=d:test.dmp ignore=y
3 imp system/psw@TEST file=d:test.dmp tables=(grid1)
ignore=y 表示如果被导入的数据库中 某个表已经存在就忽略不导入那个表
3 表示只导入 grid1 这个表
cmd 下执行 用 exp/imp 远程操作数据库 对 ORACLE 数据库进行远程操作,假设数据库在 192.168.1.110 上,具体方法如下:
一、在客户端创建和服务端对应的服务名
方法1: 修改 tnsnames.ora 文件 加入远程服务器的命名:
TEST_ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.110)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )
方法 2: 在 oracle 客户端,打开 net manager。 创建一个服务命名 TEST_ORCL,主机 IP 为:192.168.1.110,服务名 orcl,端口 1521
二、测试远程服务器是否畅通
进入到 cmd 后,执行命令:tnsping TEST_ORCL。
三、远程操作数据库 导出
2:exp username/password@TEST_ORCL full=y file=bak_filepath
username 用户名,password 密码,TEST_ORCL 客服端服务名
bak_filepath 备份文件存放 的路径 导入:
1:imp username/password@TEST_ORCL file=bak_filepath full=y
3:imp username/password@TEST_ORCL file=bak_filepath fromuser=fromadmin touser=toadmin
username 用户名, password 密码,
TEST_ORCL 客服端服务名 bak_filepath 备份文件存放 的路径
fromadmin 备份数据的用户名 toadmin 还原数据库的用户名。