准备清理一些不再使用的旧表,但我希望能够在将内容从数据库中删除之前对其进行存档。
是否可以将表的内容导出到文件中?理想情况下,每个表一个文件。
答案 0 :(得分:9)
您可以使用Oracle的导出工具:exp
编辑:
exp name/pwd@dbname file=filename.dmp tables=tablename rows=y indexes=n triggers=n grants=n
答案 1 :(得分:0)
您可以使用Python和cx_Oracle模块轻松完成。 Python脚本将以CSV格式将数据提取到磁盘。
以下是使用Python / cx_Oracle连接Oracle的方法:
constr='scott/tiger@localhost:1521/ORCL12'
con = cx_Oracle.connect(constr)
cur = con.cursor()
获取数据后,您可以遍历Python列表并以CSV格式保存数据。
for i, chunk in enumerate(chunks(cur)):
f_out.write('\n'.join([column_delimiter.join(row[0]) for row in chunk]))
f_out.write('\n')
时使用了这种方法