How do you loop thru a list of files? For instance you want to archive than delete all pdf documents in the current directory : Bad practice : tar cvf f.tar *.pdf rm *.pdf There are multiple issue with the command above 1) new files could come during the tar, so the rm will delete […]
Author: Laurent Schneider
pstree in AIX
For those who do not want to download some linuxlike freeware on your aix box, use ps -T 🙂 ps -fT 2412672 UID PID PPID C STIME TTY TIME CMD oracle 2412672 1 0 Sep 05 – 0:00 /u01/app/oracle/product/OAS oracle 630956 2412672 0 Sep 05 – 6:11 \–/u01/app/oracle/prod oracle 1347672 630956 0 Sep 05 – […]
Large zip on Windows
I have never been a Microsoft fanatic nor an anti-microsoft terrorist, but today I could not believe that large compressed folders got corrupted in Windows ! I have send a relatively small zip file (5gb, peanuts) from AIX to Windows per sftp and in Windows Explorer, some files in the compressed folder (read zip) were […]
_optimizer_random_plan parameter
I was trying to find a workaround for a bug in 11.2.0.2 SELECT * FROM (SELECT 2 B FROM DUAL WHERE DUMMY = ‘Y’), (SELECT 3 C FROM DUAL WHERE DUMMY LIKE ‘%’) WHERE C = B(+); B C ———- ———- 2 3 ————————————————————————— | Id | Operation | Name | Rows | Bytes | […]
Ow yes it is a “c” !
Rumours about what would come after 8i (internet) 10g (grid) were around, but now it is official, there will be an Oracle Enterprise Manager 12c Read more : http://www.oracle.com/us/products/enterprise-manager/index.html And in the blogosphere http://orana.info
Oracle 11.2.0.3
Just installed Oracle 11gR2 patchset 2 on Solaris Sparc 64bit, it works like a charm, waiting for the AIX patchset impatiently https://updates.oracle.com/Orion/PatchDetails/process_form?patch_num=10404530
Duplicate table over database link
The old-style approach would be CREATE TABLE T AS SELECT * FROM T@L, where T is the table you want to duplicate and L the database link pointing to the remote database If you want to keep more info about the structure of t, the constraints, the indexes, you may use Datapump. Here it is… […]
Generate network graph from command line
I recently wrote on gnuplot, today I tried another command line utility to generate graphs, graphviz, version 2.24.0 on AIX5L. Pretty straightforward syntax : ( echo “digraph Emp {” sqlplus -s -L scott/tiger
On using ROWID
I have been challenged to assert the safety of rowid in a sql statement. Against all my beliefs, it is not safe to assume ROWID is consistent over one sql statement. If the ROWID changes, and you use ROWID in your query, you may get inconsistent results. Obviously I would not write such a post […]
Toad 11 is out!
OpenWorld season is open, while Oracle announced linux database appliance, Quest launched Toad11 ! I have been actively beta-testing toad 11 and I am excited to download it. 421Mb for the 11.0 Commercial installer, 41Mb for the READ-ONLY version 🙂
send graph per mail from sqlplus
How to send a graph with a single command from your database to your mail in Unix? I tried this (gnuplot is available for Solaris, AIX and most Unix derivates) : echo ‘ set hea off pages 0 feed off prom set title “salaries of EMP” prom unset key prom unset xtics prom unset xlabel […]
On the number of installed components
I recently posted about network fained fine grained security. More precisely, I posted about the new requirement to have XDB to be able to send a mail or do a nslookup on 11g. What option should you install on your database ? SQL> select COMP_NAME,VERSION from DBA_REGISTRY; COMP_NAME VERSION —————————————- ———- Oracle Database Catalog Views […]
how to run UTL_TCP, UTL_SMTP and the like in 11g
After we upgrade a db to 11g someone complained about an ORA-24248: XML DB extensible security not installed I thought, it should be easy to revert to 10g mechanism. Probably wrong after reading Marco : The default behavior for access control to network utility packages has been changed to disallow network operations to all nonprivileged […]
Do not upgrade 11.2.0.1 to 11.2.0.1
If you do run @?/rdbms/admin/catupgrd for an 11.2.0.1 Oracle Home on a 11.2.0.1, you may later realize some objects are missing (probably related to deferred segment creation). SQL> delete from t1 2 where id in ( 3 select ca.id from ca, p 4 where p.no_form like ‘%02.98’ 5 and p.id = ca.prod_id 6 ); delete […]
How to change the connection string of the Oracle Enterprise Manager Grid Control 11g repository
If you moved your repository to a new host and want to change the connection string, no need to drop it, no need to messup in the properties or xml files, simply read the doc http://download.oracle.com/docs/cd/E11857_01/em.111/e16790/ha_agent.htm#autoId13 emctl config oms -store_repos_details (-repos_host -repos_port -repos_sid | -repos_conndesc ) -repos_user [-repos_pwd ] [-no_check_db] Yes it works!
List of table and column privileges, including those via roles
I could not find this quickly enough in google so I wrote it myself. The list of table privileges, with a connect by subquery. COL roles FOR a60 COL table_name FOR a30 col privilege for a9 set lin 200 trims on pages 0 emb on hea on newp none SELECT * FROM ( SELECT CONNECT_BY_ROOT […]
Reduce the number of commits
“Oftentimes, a database administrator (DBA) simply looks at the symptoms and immediately starts changing the system to fix those symptoms” Op. Cit. Oracle Database Performance Tuning Guide 11g Release 2 (11.2) Ok, let’s do this 🙂 Finding Waits on event “log file sync” while performing COMMIT and ROLLBACK operations were consuming significant database time. Action […]
vi large files
Once upon a time a colleague asked me if there is a better editor than vi installed on my db server. Well, I was not really about arguing the benefit of ed (less memory usage, no useless error message). But one advantage of ed was (I believed) the ability to read large files $ vi […]
Number of primes below 1000
Do not expect a SQL answer there. My daughter (9) came from school with this question, and I suspect the expected homework was to google for an answer. I am pretty schocked of such practice, teacher encouraging google to do your homework are clearly not from my generation… Ok, back to the rules, pen and […]
nothing in user_segments
I wrote on deferred segment creation recently. Today I was looking for specific storage attributes that I used to find in user_segments. They are no longer here. Where are they then? test case : create table t(x clob) store (x) as securefile x (retention max storage(maxsize 8192000000)); Where do I find the retention max max_size […]
How to unload blob from the database?
There is more than one post on how to unload blob from the database, mostly in plsql with utl_file.put_raw (see note 330146.1) and with java with FileOutputStream (see note 247546.1) Unfortunately both are terribly slow due to the 32k limitation of put_raw in utl_file and due to a low “optimum buffer size” retrieved by myBlob.getBufferSize(), […]
The reasons why I always avoid to shutdown abort
It is a common practice to always shutdown abort the database before restarting and shutting in down immediate. This is because sometimes SHUTDOWN IMMEDIATE takes ages. For instance due to a huge transaction to be rollback. I do not like it. At all. First, chance exists that you won’t be able to start the database […]
On deferred segment creation
What’s deferred segment creation? It is a feature that saves lots of time by releases and lots of space if you have a -legacy- application with 10’000 tables and most of them are empty. When was it introduced ? Partly in 11.2.0.1 and partly in 11.2.0.2, depending on the object type. What’s the opposite ? […]
Datapump : table like ‘FOO%’ or like ‘BAR%’
Today I tried to put two like condition in an INCLUDE clause of datapump. I have the following tables SQL> select table_name from user_tables order by 1; TABLE_NAME —————————— AAA BAR1 *** BAR2 *** BLA FOO *** FOO1 *** GOZ and I want tables like BAR% and tables likes FOO% First try : $ expdp […]
On star transformation
How to configure a schema to support a star transformation query? This is one of the topic I am currently preparing for the OCM DBA 11g upgrade exam for 9i OCM’s. Let’s create a star schema with a fact table T1 and two dimension tables T2 and T3 : > create table t2(y number constraint […]
On implicit commit
An explicit commit is when you issue a COMMIT statement SQL> create table t(x number); Table created. SQL> insert into t values(1); 1 row created. SQL> commit; Commit complete. An implicit commit is when a commit is issued without your approval. ex: AUTOCOMMIT (default is OFF) SQL> set autoc on SQL> insert into t values(1); […]
sqlplus -prelim
If you cannot login to the database, for instance due to ORA-00020 maximum number of processes exceeded, then chance exists that you could use the -prelim option. Documented in note 121779.1 for sqlplus version 10.1 and later : In some cases, no connections are allowed on the instance (in some ORA-20 situations for example). As […]
CSV part 4, fast !!
I got some comments that my other csv solutions were slow to export gigabytes of data. One more try. thanks to the feedbacks, I provided a new version This could generate very large files in just a few minutes (instead of hours). I use bulk collect and utl_file to boost performance CREATE TYPE collist IS […]
on materialized view constraints
Oracle is pretty strong at enforcing constraint. Table for this blog post: create table t(x number primary key, y number); For instance if you alter table t add check (y insert into t values (1,2000); insert into t values (1,2000) Error at line 1 ORA-02290: check constraint (SCOTT.SYS_C0029609) violated I believe this code to be […]
On using Toad against a database
I got this question once again today in a previous post. What’s wrong by using Toad against a database? The worst case scenario: – some non-technical staff is clicking around in your production database with read-write access 🙁 The best-case scenario : – nobody has access to your database 🙂 Here is a short list […]
Troubleshoot ORA-10878
You will probably not hit this bug unless you perform some media recovery in 11.2.0.1/AIX. Ok. In case you hit ORA-10878: parallel recovery slave died unexpectedly during a DUPLICATE or a RESTORE command, you can disable parallel media recovery with _log_parallelism_max=1. The usual warning applies : do not use hidden parameter without guidance of Oracle […]