Quantcast
Channel: Toad for Oracle Forum - Recent Threads
Viewing all 4385 articles
Browse latest View live

RE: Compare of package source damaged

$
0
0

yes, I have checked hat.

Here are some screenshots of the compare config and the compare mismatch


Why You Should Avoid Hard Coding Schema Names In Source Code.

$
0
0

Afternoon All, this isn't a bug report or complaint, just some advice based on a trashed test database!

I was requested to run an import of a few tables, into a test system, for some pre-production testing that needed large amounts of data. The data were imported using impdp, and there were various REMAP_SCHEMA and REMAP_TABLESPACE settings within the impdp parameter file to ensure that the import placed the objects into a separate user from the main test user, as some other testing (not performance related) was going on that didn't want to be disturbed.

So the import was kicked off and as expected a few errors and warnings were raised due to roles and users etc, in production, that don't exist in test, plus a few triggers refused to compile without errors - due to missing sequences.

Suddenly, the test team started raising questions about why my user's triggers were invalid and causing their tests to fail with messages about the state of the trigger being invalid and it will not validate. (On the fly recompilation of the trigger failed, hence the messages.)

Looking into the situation, I noticed that the trigger code is like this:

create or replace trigger MYUSER.trigger_name
after insert or update
on TESTUSER.Table_name
...

While impdp has correctly remapped the trigger owner from the production username, to my username, it has not, and cannot do likewise for any source code (triggers, procedures, functions, packages, types, type bodies etc) which contains a hard coded schema name, so my user's trigger has been added to the test user's table, and because my trigger is broken, it broke the tests!

It would be an understatement to say that I was somewhat unpopular at this point!

So, as of now, anyone who adds the schema name to an object they own, is asking for trouble if that object can be imported into another schema name because it will invariable affect the original user's objects, and may break things in strange and unusual ways!

You are advised to carefully consider your settings in Toad at View->Toad Options, then Editor->Open/Save on the left side, Object Loading on the right side. I suspect that "never include" is best to avoid this situation, and warn the developers not to add the schema name to objects that belong to that schema.

RE: Why You Should Avoid Hard Coding Schema Names In Source Code.

$
0
0

Hi Norm,
Option to exclude that "feature" in scripts is nice way to get your point.

Also it ensures taht you should be in right schema when execution the script or, or as DBA (sysdba) are doing such a tasks from one DB to another I find schema name more than needed.
Brg
Damir

RE: Why You Should Avoid Hard Coding Schema Names In Source Code.

$
0
0

Morning Damir,

my problem was caused by the triggers on a table hard coding the schema name in the ON schema.table_name clause. BEcause, as the DBA, I was importing a dump file with remap_schema (and remap_tablespace) but because the trigger code hard coded the schema name, the invalid trigger in my schema, broke the testing because their inserts etc failed to execute my trigger.

That's the problem with hard coding the schema name. [:'(]

RE: Compare of package source damaged

$
0
0

Thanks I can reproduce that and have logged it.

RE: Compare of package source damaged

$
0
0

ugh.   I thought I reproduced it.  But now it behaves as it should.

Can you send me the 2 packages?

John.Dorlon@quest.com

Thanks.

RE: Can't download Frrware

$
0
0
You get the full trial version for 30 days, then it reverts to freeware after that.

Enjoy full Toad.

Cheers,
Norm. [TeamT]

Can't download Frrware

$
0
0

When I tried to download Limited Freeware Toad for Oracle, it is downloading "ToadForOracle_Trial_13.0.0.80_x86_En.msi".


RE: Compare of package source damaged

$
0
0

There is a secound comape mismatch.

I can send you the package sources, but please not over the comunity. Do you have a personal mail adress for me

RE: Compare of package source damaged

$
0
0

Hi Stefan,

  You can send it to me at john.dorlon@quest.com.   That is my work email address.  It will not go to the forum if you send it there.  

  Please also zip up your User Files folder and send that too.  It should be under something like:

  C:\Users\<user name>\AppData\Roaming\Quest Software\Toad for Oracle\13.0\User Files

Thanks,

-John

RE: Compare of package source damaged

$
0
0

Thanks Stefan,

I can reproduce it now.   There is a "select count(*) from ...." in there, and in your options you have it set to ignore stuff enclosed with (*  ..... *).   

If you turn off that option, I think it will compare as expected.   

-John

RE: Two minor foibles with Toad 13.0.0.80.

$
0
0

Foible #1 fixed for today's beta.

RE: Access Violation in QP5CA.dll

Access Violation in QP5CA.dll

$
0
0

Access violation at address 00000000240D32F8 in module 'QP5CA.dll'. Read of address FFFFFFFF815692A8

I have been getting this message on occasion.  I have learned, even though I can still do some things, if I try to compile my procedure, TOAD will lock.  So I copy the changed sources, and restart TOAD.  This has been happening since the upgrade to 13.0.0.80

RE: Two minor foibles with Toad 13.0.0.80.

$
0
0
Many thanks John.


Cheers,
Norm. [TeamT]


Database Health Check - Additional Checks?

$
0
0

I've been doing a few database health checks recently, and I've found Toads DB Health Check to be rather helpful. However, there are a couple of missing (in my opinion) useful checks that might be able to be added at some future point. These are:

  • Check that sequences have a decent sized cache_size to avoid contention on the dictionary. I normally look for about 20 in the cache, but perhaps this is too high for some, or too low for others, so perhaps 10-15 would be a good starting point?

  • Check that a file can be created (and hopefully deleted again) using UTL_FILE, for example, to access all the server paths defined in DBA_DIRECTORIES. This will ensure that they are all present. This might be difficult if the user executing said checks doesn't themselves have READ, WRITE access to the directories, but useful all the same. Perhaps a message could be displayed if the executing user is not the owner and/or doesn't have the required privileges.

  • If any rows in V$LOGFILE have a TYPE of 'STANDBY', then we should assume that this database is able to be run as a standby. To this end, check that the database is running in FORCED LOGGING and ARCHIVELOG mode - otherwise, we are not going to be of much use when we switch over.

  • Also, if any rows in V$LOGFILE have a TYPE of 'STANDBY', then if we have log file GROUPs defined, we should have as many STANDBY groups as we have ONLINE groups plus the count of rows from V$THREAD. In other words, because English doesn't come easy to a Scotsman, if there are 5 ONLINE groups and one row in V$THREAD, we should have 5+1=6 (No! Really?) STANDBY groups.

  • Alternatively, if there are STANDBY logs present, but no redo logfile groups present, then we should have as many STANDBY logs as we have ONLINE logs plus the number of rows in V$THREAD.

  • And finally, this one can be quite a nightmare, I've come across too any databases where a check constraint is defined as "CHECK column_name IN ('Y','N',NULL)" - which as we all know means that all bets are off, and any value at all can be stored in said column. What I normally do in SQL is:

create global temporary table check_constraints on commit preserve rows
as (
    -- SEARCH_CONITION is a LONG data type, hence the need for a table.
    select owner, table_name, constraint_name, to_lob(search_condition) as search_condition
    from dba_constraints
    where owner not in (select username from dba_user.daily_stats_exclusions)
    and table_name not like 'BIN$%'
    and constraint_type = 'C'
) ;

delete from check_constraints where upper(search_condition) not like '% IN %NULL%';
commit;

select count(*) from check_constraints;
select * from check_constraints;

truncate table check_constraints;
drop table check_constraints;

I obviously have a good look at what's left in the table before I truncate and drop  it - to see if any rows remaining are of the above listed and very broken construct.

RE: Toad Team Coding keeps trying to logon to obsolete Team Foundation Server instead of GIT. Git checkin won't work. How to turn it off?

$
0
0
So you're no longer using Team Coding on this particular DB at all?  You're only using a local GIT rep?  If I'm understanding this correctly, your next course of action should be to remove the Team Coding objects from your DB (installed into TOAD schema by default).  To do this, just login as a DBA and open the Team Coding Configuration window, first button on the toolbar.
 
If this button is not available, and Toad seems to be confused with an older version of TC, you can either use an older version, in your case 12, to remove the TC objects or remove them manually.
 

RE: Toad Team Coding keeps trying to logon to obsolete Team Foundation Server instead of GIT. Git checkin won't work. How to turn it off?

$
0
0

Hey Doug,

On the flip-side to what Brad mentioned, if you are using Git with a Team Coding installation on the database, it's also possible that you may have Team Foundation Server set up as your local VCS provider, which is separate from Team Coding's configuration on the database.  To check this, close out of all database connections, then click on Team Coding -> Configuration.  If Team Foundation Server is listed as the VCS, change it to "None" and press OK.  Then you can reconnect back to your database and you shouldn't receive the login prompts.

If this is the case, the reason you were seeing this is because the configuration screen loads both local and database-level Team Coding options.  And because of the way TFS' API's are written, Toad needs to query the TFS server to determine which version of TFS is being run.  That querying of the server causes TFS to show the built-in Windows Authentication login prompt.  This prompt is actually happening outside of Toad, but it prevents Toad from continuing until it's dealt with.

If this is the situation in your environment, feel free to give that a shot and let us know if that helps. 

-John

Toad Team Coding keeps trying to logon to obsolete Team Foundation Server instead of GIT. Git checkin won't work. How to turn it off?

$
0
0

Back in TOAD version 12, we piloted Team Foundation VCS and decided not to use it.  I went on to TOAD 13 beta and then installed TOAD 13.0.0.80 when it was released.

But it seems like the TOAD 13 installation reached back and grabbed remnants of the TEAM Foundation setup left in version 12??   I keep getting this popup screen saying "Connecting to teamfoundation....  Even though I cancel it, I can't seem to do checkins with my local Git repository.

Here's the Team Codiing output from one example case where I started Toad, linked to a DB server, and then clicked the Configure Team Coding icon in Team Coding Manager.

Thanks for any help you can give.

-- Doug

==============================================================================

Team Coding output - I assume that line 22 is where I clicked the Team Coding Config icon

....
11:12:26  ==================================================================
11:12:26  Method Name: VCS Command
11:12:26  Request:
11:12:26  git.exe status
11:12:26  Response:
11:12:26  On branch master
11:12:26  No commits yet
11:12:26  nothing to commit (create/copy files and use "git add" to track)
11:12:26  ==================================================================
11:12:26  ==================================================================
11:12:26  Method Name: VCS Command
11:12:26  Request:
11:12:26  git.exe status
11:12:26  Response:
11:12:26  On branch master
11:12:26  No commits yet
11:12:26  nothing to commit (create/copy files and use "git add" to track)
11:12:26  ==================================================================
11:13:42  ==================================================================
11:13:42  Method Name: GetRegistrationEntries
11:13:42  Request:
11:13:42  <?xml version="1.0"?>
11:13:42  <SOAP-ENV:Envelope xmlns:SOAP-ENV="schemas.xmlsoap.org/.../" xmlns:xsd="www.w3.org/.../XMLSchema" xmlns:xsi="www.w3.org/.../XMLSchema-instance"><SOAP-ENV:Body><GetRegistrationEntries xmlns="schemas.microsoft.com/.../SOAP-ENV:Envelope>
11:16:33  ==================================================================
11:16:33  Method Name: GetRegistrationEntries
11:16:33  Request:
11:16:33  <?xml version="1.0"?>
11:16:33  <SOAP-ENV:Envelope xmlns:SOAP-ENV="schemas.xmlsoap.org/.../" xmlns:xsd="www.w3.org/.../XMLSchema" xmlns:xsi="www.w3.org/.../XMLSchema-instance"><SOAP-ENV:Body><GetRegistrationEntries xmlns="schemas.microsoft.com/.../SOAP-ENV:Envelope>
11:16:33 Error: TFS GetRegistration Services Failed(double click for more information)

NOTE:  I assume this is where I clicked cancel on the logon screen

RE: Schema Browser - Shared DB Llink

Viewing all 4385 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>