2012年12月22日 星期六

找出目前有設定 存放 匯出資料的位置


SQL> SELECT * FROM dba_directories;                

OWNER                          DIRECTORY_NAME                     DIRECTORY_PATH
------------------------------ -------------------------------------------------------------------------
SYS                            ORACLE_OCM_CONFIG_DIR         /oracle/product/11.2.0/dbhome_1/

SYS                            DATA_PUMP_DIR                             /oracle/admin/dpdump/

SYS                            DMPDIR                                               /tmp/test

2012年12月21日 星期五

執行 expdp 時出現 UDE-00010 錯誤

執行 下面語法時出現,UDE-00010: multiple job modes requested, schema and tables.的錯誤訊息


指定匯出的路徑
SQL> CREATE DIRECTORY dmpdir AS '/test/log';

將指定好的匯出路徑給所要匯出資料的用戶(testacc)設定權限
SQL> GRANT READ,WRITE ON DIRECTORY dmpdir TO testacc;

expdp 匯出資料
ssh>expdp testacc/password SCHEMAS=testacc DIRECTORY=dmpdir TABLES=test_table DUMPFILE=test_table.dmp LOGFILE=test_table.log


解決方式:
這是因為 expdp 的 tables、schemas、full 這三個參數不能同時出現,而上面出現 SCHEMAS 和 TABLES,只要將其中一個拿掉即可

2012年12月19日 星期三

table rename

alter table system."test_table" rename to system."test_table_old"
=>會出現下面的錯誤

SQL 錯誤: ORA-14047: ALTER TABLE|INDEX RENAME 不可以與其他作業連結
14047. 00000 -  "ALTER TABLE|INDEX RENAME may not be combined with other operations"
*Cause:    ALTER TABLE or ALTER INDEX statement attempted to combine
           a RENAME operation with some other operation which is illegal
*Action:   Ensure that RENAME operation is the sole operation specified in
           ALTER TABLE or ALTER INDEX statement;

改成下面即可
alter table system."test_table" rename to "test_table_old"

2012年12月5日 星期三

InnoDB出現ERROR: the age of the last checkpoint is xxx

MySQL 的 Error log 出現:

InnoDB: ERROR: the age of the last checkpoint is 122123,
InnoDB: which exceeds the log group capacity 122123.
InnoDB: If you are using big BLOB or TEXT rows, you must set the
InnoDB: combined size of log files at least 10 times bigger than the
InnoDB: largest such row.


解決方式:
1.調大以下三個參數(vi my.cnf)
innodb_log_buffer_size
innodb_buffer_pool_size
innodb_log_file_size

2.shutdown mysql
ssh# mysqladmin shutdown -uroot -p
Enter password:

3.將 ib_logfile* 刪除
ssh# cd /var/db/mysql
ssh# rm ib_logfile0
ssh# rm ib_logfile1

4.start mysql
ssh# /usr/local/bin/mysqld_safe &