ORA-01409 NOSORT option may not be used
Hi all,
We've got a range partitioned table, each partition resides in a different tablespace (locally managed) thus :
create tablespace abcblast_hit_test_data1
datafile '/export/data/oracle/HLDDEV05/abcblast_hit_test_data1.dbf'
size 2600m extent management local uniform size 2500m;
create tablespace abcblast_hit_test_data2
datafile '/export/data/oracle/HLDDEV05/abcblast_hit_test_data2.dbf'
size 2600m extent management local uniform size 2500m;
Two large SORTED files of data are sql*loaded into each partition, taking up ONE extent in each partition
I then try to create a non-unique index on the table using NOSORT and get the error ORA-01409 NOSORT option may not be used; rows are not in ascending order
... with the following reasoning :
For non-unique indexes the ROWID is considered part of the index key. This means that two rows that appear to be stored in ascending order may not be. If you create an index NOSORT, and two of the rows in the table have the same index values, but get split across two extents, the data block address of the first block in the second extent can be less than the data block address of the last block in the first extent. If these addresses are not in ascending order, the ROWIDs are not either. Since these ROWIDs are considered part of the index key, the index key is not in ascending order, and the create index NOSORT fails.
BUT the data for each partition DOES reside in one extent :
select partition_name, tablespace_name, extent_id, bytes
from dba_extents
where segment_name = 'ABCBLAST_HIT'
and segment_type = 'TABLE PARTITION';
PARTITION_NAME TABLESPACE_NAME EXTENT_ID BYTES
PART_01 ABCBLAST_HIT_TEST_DATA1 0 2621440000
PART_02 ABCBLAST_HIT_TEST_DATA2 0 2621440000
(Oracle 9.0.1 on Linux)
HELP !!!! Does this mean we can't use NOSORT when building indexes on partitioned tables ?!
(Note : if NOSORT is not used then a sort is performed which we are trying to avoid - final table will contain 1.6 billion rows and will consist of 50 partitions)
Hi ,
Still i am facing same error like. Can any body help me..
The following index(es) on table KA31CVLA.CITY were processed:
index KA31CVLA.CITY_PK was made unusable due to:
ORA-01409: NOSORT option may not be used; rows are not in ascending order
index KA31CVLA.CITY_UQ01 loaded successfully with 29761 keys
i have create one table CITY in user KA31CVLA.
CREATE TABLE CITY
CNTRY_CD VARCHAR2(2 BYTE) NOT NULL,
CITY_NM VARCHAR2(40 BYTE) NOT NULL,
SEQ_NBR NUMBER(10) NOT NULL,
POSTL_STT_EQNT_CD VARCHAR2(9 BYTE),
LATITUDE NUMBER(9,5) NOT NULL,
LONGITUDE NUMBER(9,5) NOT NULL
and then added primary constraints
ALTER TABLE CITY ADD CONSTRAINT KA31CVLA.CITY_PK PRIMARY KEY (CNTRY_CD, CITY_NM, SEQ_NBR)
after this default unique index created as below
CREATE UNIQUE INDEX KA31CVLA.CITY_PK ON KA31CVLA.CITY (CNTRY_CD, CITY_NM, SEQ_NBR)
after that i have added one more constraints is
CREATE UNIQUE INDEX KA31CVLA.CITY_UQ01 ON KA31CVLA.CITY (CITY_NM, POSTL_STT_EQNT_CD, CNTRY_CD, SEQ_NBR)
Now trying to load data to KA31CVLA.CITY table through SQLLDR
here is the command which i am executing to insert..
SQLLDR CONTROL=D:\GMVS\city.ctl, DATA=D:\GMVS\sorted_city.dat log=D:\GMVS\sorted_log.log USERID="KA31CVLA/KA31CVLA123" DIRECT=Y
Here is the control file details
options (direct=true)
unrecoverable
load data
truncate
into table KA31CVLA.city
sorted indexes (city_PK)
reenable disabled_constraints
fields terminated by "^"
trailing nullcols
(cntry_cd char,
city_nm char,
seq_nbr integer external,
postl_stt_eqnt_cd Char,
latitude integer external,
longitude integer external)
The total records insertd to table but i am getting above error in log files.
The following index(es) on table KA31CVLA.CITY were processed:
index KA31CVLA.CITY_PK was made unusable due to:
ORA-01409: NOSORT option may not be used; rows are not in ascending order
index KA31CVLA.CITY_UQ01 loaded successfully with 29761 keys
Similar Messages
-
"ORA-1715 : UNIQUE may not be used with a cluster index" but why?
"ORA-1715 : UNIQUE may not be used with a cluster index" but why and what "may" means here? Any comments will be welcomed, thank you and best regards;
show rel
release 1002000300
CREATE CLUSTER sc_srvr_id (
srvr_id NUMBER(10)) SIZE 1024;
SELECT cluster_name, tablespace_name, hashkeys,
degree, single_table FROM user_clusters;
CREATE UNIQUE INDEX idx_sc_srvr_id ON CLUSTER sc_srvr_id;
ERROR at line 1:
ORA-01715: UNIQUE may not be used with a cluster index
CREATE INDEX idx_sc_srvr_id ON CLUSTER sc_srvr_id;
SELECT index_name, index_type, tablespace_name
FROM user_indexes where index_name like '%SRVR%' ;
CREATE TABLE cservers (
srvr_id NUMBER(10),
network_id NUMBER(10),
status VARCHAR2(1),
latitude FLOAT(20),
longitude FLOAT(20),
netaddress VARCHAR2(15))
CLUSTER sc_srvr_id (srvr_id);
ALTER TABLE cservers add constraint pk_srvr_id primary key (srvr_id ) ;
SELECT index_name, index_type, tablespace_name
FROM user_indexes where index_name like '%SRVR%' ;
INDEX_NAME INDEX_TYPE
TABLESPACE_NAME
IDX_SC_SRVR_ID CLUSTER
USERS
PK_SRVR_ID NORMAL
USERSdo we really need another pkey index here?"May" has different meanings, one of which is:
(used to express opportunity or permission)
Metalink note 19067.1 says:
This is not permitted.
... which agrees with the above meaning of it.
Besides these, it does not make any sense to me to create a unique index on a cluster. You can have primary keys in the tables you include in the cluster, it depends on your business requirement. But why do you need a unique index on a cluster? -
Function 'myfunc' may not be used in SQL Options
<p>
Hello,
I have created a simple function in a packege for use in an update statement. The function is
FUNCTION myfnc(p1 IN t1.c1%TYPE)
RETURN VARCHAR2
IS
BEGIN
IF p1 = 3 THEN
RETURN 'A';
ELSE
RETURN 'B';
END IF;
END myfnc;
I use it in a procedure which exists in the same package as the function as follows
Update t1
set c1 = myfnc(c2);
I am getting the compliation error Function 'myfunc' may not be used in SQL.
There is no db manipulation going on and I have tried using
PRAGMA RESTRICT_REFERENCES (myfnc, WNDS, WNPS, RNDS, RNPS);
but to no avail.
One other thing is that I thought this was compiling OK but then I decided to put the function in the package specification so I could unit test it using a db call. Now if I drop and recreate the package without the declaration in the specification the compile error still occurs. Perhaps that's my mind playing tricks but maybe there is something here I am not aware of.
Any suggestions?
</p>Hi,
You found the solution.
Although it's allowed to say
Update t1
set c1 = local_var;in a package, where local_var is not defined outside of the procedure, let alone the package, and
although it's legal to say:
local_var = myfnc (some_other_var); inside the package where myfnc is a private function (included in the package body, but not in the package header), still
it is not legal to say:
Update t1
set c1 = myfnc (c2); If there is a problem with putting myfnc in the package header (for example, you don't want people calling it directly, for some reason), you can make it a stand-alone function, like Someoneelse did, or put in a different package, and give the owner of your first package (and no one else) EXECUTE privileges on it.
As William pointed out, if myfnc is really this simple, you might not need a function at all. -
Function name_function may not be used in SQL
Dear forums,
when i compiled my form that contain the function package, i got the error "Function <name_function> may not be used in SQL". But when i execute the function from sql plus, it works smoothly.
What's the solution ?
with great thanks,Hi Salim,
as far as I understand you you try to use a function that is stored in the form. The select statement is worked on the database where your function is not known. You have to create this function on the database as you did it for using in SQLPlus.
Regards,
Werner -
Function may not be use in SQL - PLS-00231
Here is my code,
-- Database 10g Enterprise Edition Release 10.2.0.2.0
declare
v1 varchar2(2000);
function test_func ( v2 varchar2) return varchar2
is
begin
return v2 || 'x' || v2;
end;
begin
-- ok
v1 := test_func('Hello');
--- Error PLS-00231: Function may not be used
--insert into xxxx values test_func(….
select test_func('World') into v1 from dual;
end;
I don’t want to define test_func in database as a stand-alone/package function. Is there any other way in 10G.
Thanks.Works for me...
SQL> select banner from v$version;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for Solaris: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
SQL> set serverout on
SQL> declare
2 v1 varchar2(2000);
3 function test_func ( v2 varchar2) return varchar2
4 is
5 begin
6 return v2 || 'x' || v2;
7 end;
8 begin
9 -- ok
10 v1 := test_func('Hello');
11 dbms_output.put_line (v1);
12 end;
13 /
HelloxHello
PL/SQL procedure successfully completed. -
Entity type "EJB-JAR" may not be used in public part "ejbjar_api"
Experts,
Can you please help me to identify why the error 'Entity type "EJB-JAR" may not be used in public part "ejbjar_api", unsupported purpose.' appears on NWDS while creating a project on a DC and how can this be resolved.
Thanks in advance
-LaveHi Jain,
is the error message that the public part is not found prefixed with [dcmake]? If yes that rather points in the direction that there is a problem with the metadata information. (PP name not correctly spelled, renamed after initial creation, perhaps even some problems with upper/lower-case letters depending on your platform.)
What SP are you using? The log looks like some rather old build plugins are used on a newer NWDI installation.
The warning from the [wdgen] task and the subsequent failure of the [wdminimizer] can be ignored. "ERROR: Non Fatal Error" is a bit quaint, but it really is not fatal. It just means that the minimizer didn't find the data required to operate. The [wdgen] warning means that the WebDynpro generator could not write the information. So the jar files in your public part are maybe a bit bigger than necessary but that's all.
Best regards,
Marc -
TBB1-Execute postings occurs an error *Ledger group 0L may not be used*
Hi everybody,
While trying to execute postings from a commercial paper occurs the following error
Ledger group 0L may not be used
Message no. FAGL_LEDGER_CUST102
Diagnosis
Ledger group &1 is assigned to another application.
I suspect that this is somehow related to Funds management influence, but I can not find the solution,
I really need to overcome this problem so i'll appreciate any help,
Thanks in advance,
DanielHi Prasad,
We created ledger groups in costumizing this issue was solved.
Thank you very much your help.
Regards,
Daniel -
hello
i am working for a MNC and i am trying to build my prduct in JDK1.5 and i am getting this error...
...release 1.5, 'enum' is a keyword, and may not be used as an identifier...
the probelm is that i cant go to 1.4 as my product suports only 1.5 and above ..
give me asolutin as fast as possible...hello
i am working for a MNC and i am trying to build my
prduct in JDK1.5 and i am getting this error...
...release 1.5, 'enum' is a keyword, and may not be
used as an identifier...
What am I missing? Don't use the 'enum' as a variable name! -
Hi master
Sir I have master detail report and I use one formula column and one place holder column in my report in master section
I use this code
function CF_1Formula return Date is
begin
if :chqdate is not null then
:cp_1 :=:chqdate;
else
:cp_1 :=:sdate;
end if;
end;
Sir when I run my report then system give me this error
REP-1272: Column CF_1 may not be used as break Column.
Please give me idea how I get report
Thank
aamirHello,
Break Order cannot be used for some Column Type :
http://www.oracle.com/webapps/online-help/reports/10.1.2/topics/htmlhelp_rwbuild_hs/rwcontxt/props/pi_col_break_order.htm
(CLOB is not explicitly specified, but the restriction for LONG and LONG RAW exists for CLOB too)
Regards -
Error "Ledger group 0L may not be used" - CO15
Dear guru,
When I want to save Production Order Confirmation via CO15, there is an error message :
Ledger group 0L may not be used
Message no. FAGL_LEDGER_CUST102
Diagnosis
Ledger group &1 is assigned to another application.
FYI, when I check tabel T881 (Ledger Master), there are two leading ledger : 0L and OL. It's very strange.
As far as I know, in standard SAP there is only one leading ledger, it is 0L.
I check in customizing (Ledger > Define Ledgers for General Ledger Accounting), there is only one ledger: OL (as leading ledger), so I untick Leading Ledger indicator for Ledger 0L directly on table T881, but the error message still appear.
How to solve this?
Thanks beforeHi Hanny Ali,
The message F5 670 is processed if there is a problem in account determination. The message means the account determination in the SD billing document does not work probably. This could also be caused by a wrong or incomplete customizing.
Please find note 146879 to check the customizing on this issue. From past messages, this problem is usually caused by a missing or incorrect customizing for the G/L account.
Please note that if it's a case of a cancellation document the field VBRK-SFAKN is filled. When this is filled the system does not carry out account determination. In debug you can remove this entry and the account determination will be revoked. This would resolve the issue.
Could you please review customizing setting VKOA if all the relevant information are being maintain correctly?
Please also review the notes:
-> 0216974 Error F5670 during release to accounting
-> 0113512 VF051 "Doc. & saved (error in accnt determination)
-> 1325446 SDBONT06: G/L accounts of rebate conditions are
I hope this answer your issue with error F5 670.
Best Regards,
Vanessa. -
ORA-01799: a column may not be outer-joined to a subquery
Hi,
How to solve this problem below?
and id2.invoice_line_id*(+)*=(select min(invoice_line_id)
from TW.invoice_detail
where invoice_id=239917
and (bl_amount_currency='USD' AND actual_amount_currency='VND'
OR bl_amount_currency='VND' AND actual_amount_currency='USD')
ERROR at line 150:
ORA-01799: a column may not be outer-joined to a subquery
Since there's an uncertain existence in id2, it needs to be outer-joined to that!
Bst Rgds,
HuaMinYou cant do a outer join on a sub query. Can you describe what are you trying to do?
-
ORA-39122: Unprivileged users may not perform REMAP_SCHEMA remappings
hi experts i m facing ORA-39122: Unprivileged users may not perform REMAP_SCHEMA remappings error while importing schema level backup the have below proviliges
CREATE USER T24EXP
IDENTIFIED BY VALUES 'A8BE03AC28E87FE6'
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
PROFILE DEFAULT
ACCOUNT UNLOCK;
GRANT CONNECT TO T24EXP;
GRANT RESOURCE TO T24EXP;
GRANT EXP_FULL_DATABASE TO T24EXP;
GRANT IMP_FULL_DATABASE TO T24EXP;
ALTER USER T24EXP DEFAULT ROLE ALL;
GRANT UNLIMITED TABLESPACE TO T24EXP;
GRANT READ, WRITE ON DIRECTORY SYS.DMP_EXP TO T24EXP;
GRANT READ, WRITE ON DIRECTORY SYS.DUMP_BKUP TO T24EXP;
GRANT READ, WRITE ON DIRECTORY SYS.SIT_DMP_EXP TO T24EXP;
what is the possible reason of getting this errorI also faced same problem.
After putting both datapump_exp_full_database & datapump_imp_full_database i could not remap schema & tablespace (I think IMPORT_FULL_DATABASE not a privilege it should be IMP_FULL_DATABASE ).
To resolve the problem I grant DBA to the user. (I think this is reasonable to give enough power to get access on other's schema & tablespace).
If anybody has better solution please inform.
-Obaid -
When I executed T-CODE FAGLB03 Display Balance(NEW), The system show the error message below.
Message no. FAGL_LEDGER_CUST101
Ledger 0L is assigned to application FI-GLF. You can only use ledgers that are assigned to application FI-PSM.
But my leading ledger is OL.
I don't know what's going on.
Who can tell me why? Thanks in advance.Hi:
Please go through the WIKI link , it will help you resolve the issue faced as it contains the corrective notes.
http://wiki.sdn.sap.com/wiki/display/ERPFI/DefinitionofLeadingLedgerforpublicsector+customers
Regards -
My OS is XP-x64.
The Firefox version I am on is 14.0.1 (July 2012, "FunnelCake").
The "C: \Documents and Setting\Downloads\" is the folder I used to try downloading the same file to via 2 different methods.
1) When this folder is set as the permanent download location, it works.
2) When I use the "Always ask me where.." download setting, and I select the same folder, the Firefox window completely disappears without any message at all !
I get the same result with (2) even if I already turned my VirusScan software off.
This same behavior persists after completely uninstalling and re-installing Firefox.Hi,
You can try to right-click and '''Reset''' the '''browser.download.lastDir''' key in [http://kb.mozillazine.org/About:config about:config].
[http://kb.mozillazine.org/About:config_entries about:config Entries] -
List AD accounts that have not been used for months?
Hello,
I use oldcmp.exe to show me what computers have not been used for months and I can disable them, but I wish to do the same for users Active Directory accounts, is this possible?
We use AD 2003
Thankssorry for slightly belated reply. I've used another version of this script that doesn't have the GUI interface on it, this will make it easier for you to run from a scheduled task.
copy the code and make the relevant changes to the top section of the script as the comments explain. This will send and email with a link to the report generated.
#Script designed to search AD for inactive user accounts, mark them as inactive and move them to a specific OU then disable them
#Script can be run in the following formats
# 1. Report only
# 2. Report and move account
# 3. Report, move and disable
#Uses quest powershell tools which can be downloaded from http://www.quest.com/powershell/activeroles-server.aspx
#Version 2.0
#Added email functionality
#Denis Cooper
#Setup script Variables
#Change the setting from True to false to alter the way the script runs (only one option can be true)
$ReportOnly = "True" #Generates a CSV file showing all inactive user accounts
$ReportandMove = "False" #Generates a CSV report, moves the users to a specific OU
$ReportMoveDisable = "False" #Generates a CSV report, moves the users to specific OU, and sets the description
#Set the period of inactivity in days
$InactiveFor = "90"
#Specify the OU to search for inactive users - us AD CN if searching enire AD
$SourceOU = "OU=Users,DC=MyDomain,DC=Int"
#Specify the destination OU to move inactive users to is using report and move or report move disable script options
$DestinationOU = "OU=Inactive Users,DC=MyDomain,DC=Int"
#Don't mark anyone with the the specified prefix in the description field to inactive - DND stands for Do Not Disable and is specified
#in the users account description field for accounts which may not be used to login so will show as inactive but that you don't want to disable
#must leave the * after the word for wildcard matching
$DescriptionPrefix = "DND*"
#Specify the description to set in the computer account on ReportMoveDisable option
$Description = "Account disabled due to inactivity on $Today"
#Specify the path to create the csv file (make sure the folder exists)
$ReportFile = "\\server\share\InactiveUsersReport.csv"
#Get todays date and store it in the $today variable
$Today = Get-Date
#Email Settings
$SMTPServer = "smtp-server-name" #replace this with your internal smtp server
$FromAddress = "[email protected]" #replace this with your from address
$ToAddress = "[email protected]" #replace this with your TO address
$CCAddress = "[email protected]" #replace this with your TO address
$Subject = "This is your subject line" #replace this with the subject line for the email
$MessageContent = "
Hello,
Please find a link to the latest report containing users that have been inactive for $inactivefor days
$ReportFile
Please take the appropriate action.
Thanks you,
IT
#NO CHANGES BELOW THIS LINE
Function SendEmail {
$messageParameters = @{
Subject = $subject
Body = $messagecontent
From = $fromaddress
TO = $ToAddress
CC = $CCAddress
SmtpServer = $SMTPServer
Send-MailMessage @messageParameters
#Generates a report showing inactive users
Function ReportOnly {
$inactiveUsers | Export-Csv $ReportFile
$count = $inactiveUsers.Count
Write-Host -ForegroundColor White "$count inactive users were found and are being processed"
SendEmail
Invoke-Item $ReportFile
#Generates report and moves accounts to desitnation OU
Function ReportandMove {
$inactiveUsers | Export-Csv $ReportFile
$count = $inactiveUsers.Count
Write-Host -ForegroundColor White "$count inactive users were found and are being processed"
Invoke-Item $ReportFile
$inactiveUsers | foreach {
Move-QADObject $_ -NewParentContainer $DestinationOU
#Generates report, moves accounts to destination OU, disables the account and sets the description
Function ReportMoveDisable {
$inactiveUsers | Export-Csv $ReportFile
$count = $inactiveUsers.Count
Write-Host -ForegroundColor White "$count inactive users were found and are being processed"
Invoke-Item $ReportFile
$inactiveUsers | foreach {
Disable-QADUser $_
Set-QADUser $_ -Description $Description
Move-QADObject $_ -NewParentContainer $DestinationOU
#Runs the script
#Finds all inactive user accounts which are in an enabled state and store them in the variable $inactiveusers
$inactiveUsers = Get-QADUser -SizeLimit 0 -SearchRoot $sourceOu -NotLoggedOnFor $InactiveFor -Enabled | Where-Object {$_.description -notlike $DescriptionPrefix}
#Checks which script to run
If (($ReportONly -eq "True") -and ($ReportandMove -eq "True" -or $ReportMoveDisable -eq "True")) {
Write-Host -ForegroundColor RED "Only one run condition is allowed, please set only one run value to True and the others to false"
Break
If ($ReportONly -ne "True" -and $ReportandMove -ne "True" -and $ReportMoveDisable -ne "True") {
Write-Host -ForegroundColor RED "No valid run condition was specified, please set only one run value to True and the others to false"
Break
If ($ReportONly -eq "True") {
Write-Host -Foregroundcolor Green "Script running in report only mode."
Write-Host -Foregroundcolor Green "Checking for accounts inactive for $inactivefor days in the OU $SourceOU"
Write-Host -Foregroundcolor Green "The report will open automatically once complete, or you can find it here $ReportFile"
ReportOnly
If ($ReportandMove -eq "True") {
Write-Host -Foregroundcolor Green "Script running in report and move mode."
Write-Host -Foregroundcolor Green "Checking for accounts inactive for $inactivefor days in the OU $SourceOU"
Write-Host -Foregroundcolor Green "The report will open automatically once complete, or you can find it here $ReportFile"
Write-Host -ForegroundColor Green "Any inactive accounts will be moved to this OU $destinationOU"
ReportAndMove
If ($ReportMoveDisable -eq "True") {
Write-Host -Foregroundcolor Green "Script running in report, move and disable mode."
Write-Host -Foregroundcolor Green "Checking for accounts inactive for $inactivefor days in the OU $SourceOU"
Write-Host -Foregroundcolor Green "The report will open automatically once complete, or you can find it here $ReportFile"
Write-Host -ForegroundColor Green "Any inactive accounts will be moved to this OU $destinationOU and disabled and their description updated"
ReportMoveDisable
This link should help you create a scheduled task to run the script
http://dmitrysotnikov.wordpress.com/2011/02/03/how-to-schedule-a-powershell-script/
Regards,
Denis Cooper
MCITP EA - MCT
Help keep the forums tidy, if this has helped please mark it as an answer
My Blog
LinkedIn:
Maybe you are looking for
-
URL Encoding and Decoding in OSB
Hi, Do we have out-of-box solution in OSB to decode XML which is URL encoded and encode XML to URL encoding. If so how can I do it. This might be basic question. I am unable to figure out. new to OSB. Thanks Sham.
-
Upgrading enterprise manager 10.2.0.4 to oem 11g
Hii.. I am a newbie to the oracle enterprise manager concept.I have been given a task to upgrade the existing oracle 10g oem to 11g.Could anyone please help me as to what are the steps involved in the same.The current oem 10g is running on aix 5l ver
-
Migration from AS/400 Platforms
Hello ev'ryone. We are interested about any experience on migrating from an AS/400 platform, to Oracle Technology. Thanks.
-
Cannot config EM from dbca with ORA-12541: TNS:no listener
Hi all, I am having a strange issue with Oracle Database. I have "Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production" running on a windows 7 system. Everything seems working: I can connect and do SQL operations. But my EM is
-
MS Project 2013 - finding solution
We are a company wishing to use Ms Project 2013 to help us in the management of our projects, and we prepared the purchase of the product by a 3-days training to learn the basics of the software. Most of the functions looked really helpful for us to